Files
werkrevisor/docs/prs/2026-10-14-PR#104-codex-gate-werkrevisor.md
claude-code 2af34c7521
werkator build succeeded after 00:11
werkator/werkrevisor-statistics build succeeded after 00:32
werkrevisor 0.41.3: the Codex review holds the merge on werkrevisor (#104)
Co-authored-by: claude-code <claude-code@javagil.de>
2026-10-14 08:46:05 +02:00

45 lines
1.7 KiB
Markdown

# PR#104: The Codex Review Holds the Merge on werkrevisor
> **WARNING:** This document describes only the change applied in this PR.
> It may already be outdated once the next PR is merged.
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
## Related Links
- [PR#88](2026-10-11-PR#88-codex-runner.md): the runner and `[codex] mode`.
- [PR#89](2026-10-11-PR#89-codex-advise-werkrevisor.md): `advise` on werkrevisor.
## Problem
werkrevisor is the merge gate of all werk repositories and reviews its own PRs.
A change that weakens the gate is then reviewed by the weakened gate.
The Codex review is independent of werkrevisor;
in `advise` it found real defects that werkrevisor missed, e.g. in PR#90 and PR#91.
The user chose werkrevisor as the first repository with `gate`.
## Non-Goals
- No `gate` in other repositories; werkator stays on `advise`.
- No change of the runner.
## Solution
- `.werkrevisor.toml`: `[codex] mode = "gate"`.
- Werkbaum: `#model.codex.gated`, `gate` in werkrevisor.
- Version 0.41.3.
The runner reads the mode at the head of `main`, so this PR itself is not held by `ai-review/codex`.
Steps of the human after the merge, in this order:
1. Wait until the runner has set `ai-review/codex` on the open PRs, at most 5 minutes.
2. Add `ai-review/codex` to the required status checks of `main`, e.g. with
`tools/branch-protection https://git.javagil.de/mi/werkrevisor main --contexts ai-review/codex --approvers ai-reviewer,mi`,
first with `--dry-run`: the tool keeps the required contexts, but also sets its other fields.
With the workstation off, a werkrevisor PR waits with the status `pending`.
## Open Questions
None.