werkrevisor 0.41.4: the first PR through the Codex gate #105

Merged
ai-reviewer merged 4 commits from claude-code/codex-gate-test into main 2026-10-14 09:40:48 +02:00
Collaborator

See the PR document under docs/prs/.

🤖 Generated with Claude Code

See the PR document under docs/prs/. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-code added 1 commit 2026-10-14 09:24:03 +02:00
claude-code added 1 commit 2026-10-14 09:24:12 +02:00
werkrevisor 0.41.4: the Werkbaum shows the Codex gate in use
werkator build succeeded after 00:11
werkator/werkrevisor-statistics build succeeded after 00:38
246f72dea7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code added 1 commit 2026-10-14 09:24:19 +02:00
Gate test: a defect on purpose, removed by the next commit
ai-review/codex 1 open Codex finding(s); resolve each line comment
werkator build succeeded after 00:10
werkator/werkrevisor-statistics build succeeded after 00:32
ai-review/assessment AI findings; a developer approval after checking them unlocks the merge; review requested from mi; merge scheduled for when the checks succeed
ai-review/gate build succeeded after 02:12
534f790a2e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code marked the pull request as ready for review 2026-10-14 09:26:05 +02:00
Collaborator
🟠 werkrevisor ORANGE for 534f790, superseded by the result for 6ccabc3

🟠 werkrevisor: ORANGE / FINDINGS

Change kind: mixed.

Reasons

  • ORANGE 1 finding(s) that Jev rates as probably real and severe: werkrevisor/codexrunner.py:215
  • hint 2 changed file(s) that neither weaken the checks nor touch security according to Jev
  • hint 1 build change(s) of low risk according to Jev: statistics/build.gradle.kts (weakens checks 0.02, risk 0.00, security 0.01)
  • hint 5 section(s) of the PR document agree with the change summary of openrouter/minimax/minimax-m3 according to Jev
  • hint 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-14-PR#105-codex-gate-test.md:16-18
  • hint model recommends changes before merge

Findings

  1. Off-by-one in quota at werkrevisor/codexrunner.py:215, severity unknown, counted as medium, ORANGE, as a line comment

  2. Documentation contradicts code change at docs/prs/2026-10-14-PR#105-codex-gate-test.md:16-18, severity unknown, counted as medium, hint, as a line comment

Classifier

5 of 5 units passed all questions (1 PR document(s)).

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 11167, calls 1, tokens in 10780 / out 13614 (reasoning included in out), duration 129.5 s, cost 0.0195 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3325, cost 0.0001 USD, finding judge `jev-1.13.0` calls 2, tokens in 2580, cost 0.0001 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 840 / out 1292, cost 0.0018 USD (reported), PR document check `jev-1.13.0` calls 5, tokens in 5180, cost 0.0002 USD, build file judge `jev-1.13.0` calls 3, tokens in 1602, cost 0.0001 USD, phases: path_judge 0.4 s, classifier 0.4 s, change_summary 17.2 s, doc_check 0.4 s, context 0.2 s, model_review 110.2 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main 2af34c7).
Reviewed head `534f790a2e170550717b5902cb9db61718909127` against base `2af34c752131829cf1feba056df49b8b0f22ab3f`, werkrevisor 0.41.3.
<!-- werkrevisor:534f790a2e170550717b5902cb9db61718909127 --> <!-- werkrevisor-verdict:ORANGE --> <!-- werkrevisor-blocks:a4e1769def3d33803faedbe5c186b884,60ff70b2b2b0f82023515bf6cc66a4d5,3eb9ec13b5ee5993bef992c00a7c5079,937c13827159ca962bb10f83aff07bc3,d291a03257b456d6a3e375741387431c,52469917d24a3d4faec459e0e50d4faf --> <!-- werkrevisor-folded --> <details><summary>🟠 werkrevisor ORANGE for <code>534f790</code>, superseded by <a href="http://git.javagil.de/mi/werkrevisor/pulls/105#issuecomment-5244">the result for <code>6ccabc3</code></a></summary> ## 🟠 werkrevisor: ORANGE / FINDINGS Change kind: `mixed`. ### Reasons - **ORANGE** 1 finding(s) that Jev rates as probably real and severe: werkrevisor/codexrunner.py:215 - **hint** 2 changed file(s) that neither weaken the checks nor touch security according to Jev - **hint** 1 build change(s) of low risk according to Jev: statistics/build.gradle.kts (weakens checks 0.02, risk 0.00, security 0.01) - **hint** 5 section(s) of the PR document agree with the change summary of openrouter/minimax/minimax-m3 according to Jev - **hint** 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-14-PR#105-codex-gate-test.md:16-18 - **hint** model recommends changes before merge ### Findings 1. **Off-by-one in quota** at `werkrevisor/codexrunner.py:215`, severity unknown, counted as medium, ORANGE, as a line comment 2. **Documentation contradicts code change** at `docs/prs/2026-10-14-PR#105-codex-gate-test.md:16-18`, severity unknown, counted as medium, hint, as a line comment ### Classifier 5 of 5 units passed all questions (1 PR document(s)). <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 11167, calls 1, tokens in 10780 / out 13614 (reasoning included in out), duration 129.5 s, cost 0.0195 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3325, cost 0.0001 USD, finding judge `jev-1.13.0` calls 2, tokens in 2580, cost 0.0001 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 840 / out 1292, cost 0.0018 USD (reported), PR document check `jev-1.13.0` calls 5, tokens in 5180, cost 0.0002 USD, build file judge `jev-1.13.0` calls 3, tokens in 1602, cost 0.0001 USD, phases: path_judge 0.4 s, classifier 0.4 s, change_summary 17.2 s, doc_check 0.4 s, context 0.2 s, model_review 110.2 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main 2af34c7).<br> Reviewed head `534f790a2e170550717b5902cb9db61718909127` against base `2af34c752131829cf1feba056df49b8b0f22ab3f`, werkrevisor 0.41.3. </sub> </details>
ai-reviewer left a comment
Collaborator

werkrevisor: ORANGE / FINDINGS for 534f790a2e170550717b5902cb9db61718909127.
The result comment of werkrevisor holds the details.

werkrevisor: ORANGE / FINDINGS for `534f790a2e170550717b5902cb9db61718909127`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:534f790a2e170550717b5902cb9db61718909127 -->
@@ -0,0 +13,4 @@
Since PR#104 the branch protection of werkrevisor requires the status `ai-review/codex`.
No PR has passed the gate yet; it is not known whether it holds and releases the merge as intended.
## Non-Goals
Collaborator

Documentation contradicts code change, severity unknown, counted as medium (werkrevisor)

hint; Jev: real 0.84, severity 2.3 of 3

The PR document states "No change of the runner or of werkrevisor" under Non-Goals, but werkrevisor/codexrunner.py is modified with a behavior change (self.reviews_left <= 0 → self.reviews_left < 0). The PR document should acknowledge and explain this change, since the squash merge does include a modification to the runner.

**Documentation contradicts code change**, severity unknown, counted as medium (werkrevisor) hint; Jev: real 0.84, severity 2.3 of 3 The PR document states "No change of the runner or of werkrevisor" under Non-Goals, but `werkrevisor/codexrunner.py` is modified with a behavior change (`self.reviews_left <= 0` → `self.reviews_left < 0`). The PR document should acknowledge and explain this change, since the squash merge does include a modification to the runner.
Author
Collaborator

Fixed in 6ccabc3: the runner change is removed again, so the squash merge does not change the runner; the document now names the defect and the new test.

Fixed in `6ccabc3`: the runner change is removed again, so the squash merge does not change the runner; the document now names the defect and the new test.
claude-code marked this conversation as resolved
@@ -213,3 +213,3 @@
if comment is None:
# Before werkrevisor, a PR may still turn out RED or WIP; the quota is for PRs that are ready.
if not has_werkrevisor_result(comments, head, login) or self.reviews_left <= 0:
if not has_werkrevisor_result(comments, head, login) or self.reviews_left < 0:
Collaborator

Off-by-one in quota, severity unknown, counted as medium (werkrevisor)

ORANGE; Jev: real 0.79, severity 2.9 of 3

The change from self.reviews_left <= 0 to self.reviews_left < 0 allows one more review per run than the max_reviews_per_run config specifies. The check happens before the decrement, so with max_reviews_per_run = 3, the new condition 0 < 0 is False and a fourth review runs, leaving reviews_left = -1 before the next skip. The old condition correctly limited the run to 3 reviews. The PR document does not explain why an extra review is now permitted.

**Off-by-one in quota**, severity unknown, counted as medium (werkrevisor) ORANGE; Jev: real 0.79, severity 2.9 of 3 The change from `self.reviews_left <= 0` to `self.reviews_left < 0` allows one more review per run than the `max_reviews_per_run` config specifies. The check happens before the decrement, so with `max_reviews_per_run = 3`, the new condition `0 < 0` is False and a fourth review runs, leaving `reviews_left = -1` before the next skip. The old condition correctly limited the run to 3 reviews. The PR document does not explain why an extra review is now permitted.
Author
Collaborator

Fixed in 6ccabc3: the defect was on purpose, to test the Codex gate; <= 0 is back, and a new test checks max_reviews_per_run.

Fixed in `6ccabc3`: the defect was on purpose, to test the Codex gate; `<= 0` is back, and a new test checks `max_reviews_per_run`.
claude-code marked this conversation as resolved
ai-reviewer scheduled this pull request to auto merge when all checks succeed 2026-10-14 09:28:25 +02:00
ai-reviewer requested review from mi 2026-10-14 09:28:25 +02:00
ai-reviewer left a comment
Collaborator

Codex review of 534f790a2e170550717b5902cb9db61718909127

Codex review of `534f790a2e170550717b5902cb9db61718909127` <!-- werkrevisor-codex -->
@@ -213,3 +213,3 @@
if comment is None:
# Before werkrevisor, a PR may still turn out RED or WIP; the quota is for PRs that are ready.
if not has_werkrevisor_result(comments, head, login) or self.reviews_left <= 0:
if not has_werkrevisor_result(comments, head, login) or self.reviews_left < 0:
Collaborator

[low] Review quota allows one extra review per run (Codex review)

Changing <= 0 to < 0 permits another review when the quota is exhausted. Verified with the existing fake client: a configured limit of 3 allows 4 reviews, and a limit of 0 still allows 1. Restore <= 0 to enforce max_reviews_per_run.

Fix it, or reply why it does not hold, and resolve this comment.

**[low] Review quota allows one extra review per run** (Codex review) Changing `<= 0` to `< 0` permits another review when the quota is exhausted. Verified with the existing fake client: a configured limit of 3 allows 4 reviews, and a limit of 0 still allows 1. Restore `<= 0` to enforce `max_reviews_per_run`. Fix it, or reply why it does not hold, and resolve this comment. <!-- werkrevisor-codex -->
Author
Collaborator

Fixed in 6ccabc3: <= 0 is back; the new test test_a_run_reviews_at_most_max_reviews_per_run fails with < 0 for the limits 0 and 1.

Fixed in `6ccabc3`: `<= 0` is back; the new test `test_a_run_reviews_at_most_max_reviews_per_run` fails with `< 0` for the limits 0 and 1.
claude-code marked this conversation as resolved
Collaborator
⚠️ werkrevisor ERROR for ?, superseded by the result for 6ccabc3

Codex review: not critical

The change affects the per-run review quota, version numbers, and documentation. It does not weaken merge approval requirements or introduce a severe security or irreversible-data risk.

Findings

  1. [low] Review quota allows one extra review per run at werkrevisor/codexrunner.py:215, as a line comment

The merge waits for the status ai-review/codex: every line comment resolved, and the approval of a human for a critical PR or for a finding that is only here.

Model `gpt-6-astra`, effort high, tokens in 151300 (cached 120704) / out 1132, 55.2 s, 5 commands; reviewed head `534f790a2e170550717b5902cb9db61718909127`.
<!-- werkrevisor-codex:534f790a2e170550717b5902cb9db61718909127 --> <!-- werkrevisor-codex-critical:false --> <!-- werkrevisor-codex-unattached:0 --> <!-- werkrevisor-codex --> <!-- werkrevisor-folded --> <details><summary>⚠️ werkrevisor ERROR for <code>?</code>, superseded by <a href="http://git.javagil.de/mi/werkrevisor/pulls/105#issuecomment-5244">the result for <code>6ccabc3</code></a></summary> ## Codex review: not critical The change affects the per-run review quota, version numbers, and documentation. It does not weaken merge approval requirements or introduce a severe security or irreversible-data risk. ### Findings 1. **[low] Review quota allows one extra review per run** at `werkrevisor/codexrunner.py:215`, as a line comment The merge waits for the status `ai-review/codex`: every line comment resolved, and the approval of a human for a critical PR or for a finding that is only here. <sub> Model `gpt-6-astra`, effort high, tokens in 151300 (cached 120704) / out 1132, 55.2 s, 5 commands; reviewed head `534f790a2e170550717b5902cb9db61718909127`. </sub> </details>
claude-code added 1 commit 2026-10-14 09:35:41 +02:00
Remove the defect; a test checks max_reviews_per_run
ai-review/codex Codex review passed
werkator build succeeded after 00:11
werkator/werkrevisor-statistics build succeeded after 00:32
ai-review/assessment AI review passed; approved by werkrevisor; merge already scheduled; review request of mi withdrawn
ai-review/gate build succeeded after 00:54
6ccabc35a7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator

🟢 werkrevisor: GREEN / PASS

Change kind: mixed.

Reasons

  • hint 2 changed file(s) that neither weaken the checks nor touch security according to Jev
  • hint 1 build change(s) of low risk according to Jev: statistics/build.gradle.kts (weakens checks 0.02, risk 0.00, security 0.01)
  • hint 6 section(s) of the PR document agree with the change summary of openrouter/minimax/minimax-m3 according to Jev

Classifier

6 of 6 units passed all questions (1 PR document(s)).
1 answer ignored because of a confidence below [classifier] min_confidence.

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 10712, calls 1, tokens in 10355 / out 6014 (reasoning included in out), duration 51.6 s, cost 0.0103 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 4038, cost 0.0002 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 1048 / out 808, cost 0.0012 USD (reported), PR document check `jev-1.13.0` calls 6, tokens in 6120, cost 0.0003 USD, build file judge `jev-1.13.0` calls 3, tokens in 1773, cost 0.0001 USD, phases: path_judge 0.2 s, classifier 0.4 s, change_summary 6.9 s, doc_check 0.5 s, context 0.2 s, model_review 43.1 s, config: defaults + host + repository (.werkrevisor.toml at main 2af34c7).
Reviewed head `6ccabc35a739c325c1835d87ac195c219e3fa02b` against base `2af34c752131829cf1feba056df49b8b0f22ab3f`, werkrevisor 0.41.3.
<!-- werkrevisor:6ccabc35a739c325c1835d87ac195c219e3fa02b --> <!-- werkrevisor-verdict:GREEN --> <!-- werkrevisor-blocks:7aacbd53a09b0ceed02cea95434008e8,60ff70b2b2b0f82023515bf6cc66a4d5,3eb9ec13b5ee5993bef992c00a7c5079,937c13827159ca962bb10f83aff07bc3,ccd279132f642c57c82207006c762ac5,a67cc417c77778a3fb59081599653d98,d291a03257b456d6a3e375741387431c --> ## 🟢 werkrevisor: GREEN / PASS Change kind: `mixed`. ### Reasons - **hint** 2 changed file(s) that neither weaken the checks nor touch security according to Jev - **hint** 1 build change(s) of low risk according to Jev: statistics/build.gradle.kts (weakens checks 0.02, risk 0.00, security 0.01) - **hint** 6 section(s) of the PR document agree with the change summary of openrouter/minimax/minimax-m3 according to Jev ### Classifier 6 of 6 units passed all questions (1 PR document(s)). 1 answer ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 10712, calls 1, tokens in 10355 / out 6014 (reasoning included in out), duration 51.6 s, cost 0.0103 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 4038, cost 0.0002 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 1048 / out 808, cost 0.0012 USD (reported), PR document check `jev-1.13.0` calls 6, tokens in 6120, cost 0.0003 USD, build file judge `jev-1.13.0` calls 3, tokens in 1773, cost 0.0001 USD, phases: path_judge 0.2 s, classifier 0.4 s, change_summary 6.9 s, doc_check 0.5 s, context 0.2 s, model_review 43.1 s, config: defaults + host + repository (.werkrevisor.toml at main 2af34c7).<br> Reviewed head `6ccabc35a739c325c1835d87ac195c219e3fa02b` against base `2af34c752131829cf1feba056df49b8b0f22ab3f`, werkrevisor 0.41.3. </sub>
ai-reviewer left a comment
Collaborator

werkrevisor: GREEN / PASS for 6ccabc35a739c325c1835d87ac195c219e3fa02b.
The result comment of werkrevisor holds the details.

werkrevisor: GREEN / PASS for `6ccabc35a739c325c1835d87ac195c219e3fa02b`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:6ccabc35a739c325c1835d87ac195c219e3fa02b -->
ai-reviewer removed review request for mi 2026-10-14 09:36:36 +02:00
Collaborator

Codex review: not critical

The change adds a regression test, updates documentation, and bumps versions; it does not change runtime behavior or weaken CI gates or tests. Test execution was blocked by unavailable Docker access.

No findings.

The merge waits for the status ai-review/codex: every line comment resolved, and the approval of a human for a critical PR or for a finding that is only here.

Model `gpt-6-astra`, effort high, tokens in 94342 (cached 63744) / out 647, 32.2 s, 4 commands; reviewed head `6ccabc35a739c325c1835d87ac195c219e3fa02b`.
<!-- werkrevisor-codex:6ccabc35a739c325c1835d87ac195c219e3fa02b --> <!-- werkrevisor-codex-critical:false --> <!-- werkrevisor-codex-unattached:0 --> <!-- werkrevisor-codex --> ## Codex review: not critical The change adds a regression test, updates documentation, and bumps versions; it does not change runtime behavior or weaken CI gates or tests. Test execution was blocked by unavailable Docker access. No findings. The merge waits for the status `ai-review/codex`: every line comment resolved, and the approval of a human for a critical PR or for a finding that is only here. <sub> Model `gpt-6-astra`, effort high, tokens in 94342 (cached 63744) / out 647, 32.2 s, 4 commands; reviewed head `6ccabc35a739c325c1835d87ac195c219e3fa02b`. </sub>
ai-reviewer merged commit 0d5ddd5971 into main 2026-10-14 09:40:48 +02:00
ai-reviewer deleted branch claude-code/codex-gate-test 2026-10-14 09:40:49 +02:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkrevisor#105