See docs/prs for the PR document. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: #121 Co-authored-by: claude-code <claude-code@javagil.de>
1.4 KiB
Decisions
Decisions of werkrevisor that go beyond one PR. Entries are only added, never deleted; a deviation gets a new entry with its reason.
2026-10-18: Node.js in the base archive, for PR Lens
Context: the diagrams of PR#121 come from PR Lens, which is written in TypeScript and runs on Node.js. werkrevisor so far used only Python and the packages of the PR-Agent image.
Decision: the stage base of the Dockerfile adds Debian's nodejs and PR Lens,
pinned with tools/pr-lens/package-lock.json and the integrity of each package; npm stays in a build stage.
PR Lens runs as a child process with only the OpenRouter key in its environment.
Approved by the human on 2026-10-18.
Alternatives:
- Node.js in a container of its own: the werkdock sandbox on mih09 has no container engine.
- Node.js through nvm in the home of
mih09-werkator: the sandbox does not see it, and the toolchain home that it binds is writable by ordinary PR builds. - PR Lens ported to Python: no new runtime, but each new feature of PR Lens would need a port of its own.
- The review model draws the graph in the same call: PR-Agent answers in a fixed YAML format.
Consequences: the child can still read the environment of werkrevisor from /proc, since it runs as the same user;
a new version of PR Lens is a reviewed change of the lockfile and needs a new base archive on mih09 before its merge.