Files
claude-code db2fba45e7
werkator build succeeded after 00:09
werkator/werkrevisor-statistics build succeeded after 00:47
werkator/release build succeeded after 00:16
werkrevisor 0.52.0: diagrams of PR Lens in the result comment (#121)
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>
2026-10-18 20:57:15 +02:00

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.