werkrevisor 0.42.0: a weakened merge gate waits for the human #107

Merged
ai-reviewer merged 3 commits from claude-code/gate-weakened-category into main 2026-10-14 12:19:17 +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 10:30:18 +02:00
PR document: a weakened merge gate waits for the human
werkator build succeeded after 00:11
werkator/werkrevisor-statistics build succeeded after 00:33
5aeeaf25a7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code added 1 commit 2026-10-14 10:31:48 +02:00
werkrevisor 0.42.0: the risk category gate_weakened
ai-review/codex Codex review: a human approval of the head unlocks the merge
werkator build succeeded after 00:11
werkator/werkrevisor-statistics build succeeded after 00:40
ai-review/assessment human review required; a human approval unlocks the merge; review requested from mi; merge scheduled for when the checks succeed
ai-review/gate build succeeded after 04:07
2a68633662
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code marked the pull request as ready for review 2026-10-14 10:33:08 +02:00
Collaborator
🟡 werkrevisor YELLOW for 2a68633, superseded by the result for 60fa494

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW risky paths changed: .werkrevisor.toml (built in)
  • YELLOW spec: docs/prs/2026-10-14-PR#107-gate-weakened-category.md section 'Follow-up PRs' hard_to_understand (0.60 > yellow_above = 0.5)
  • 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 9 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: tests/test_risk.py:61-74

Findings

  1. Missing boundary test at tests/test_risk.py:61-74, severity unknown, counted as medium, hint, as a line comment

Classifier

Unit Question Problem Confidence Verdict
docs/prs/2026-10-14-PR#107-gate-weakened-category.md section 'Follow-up PRs' hard_to_understand 0.60 0.60 YELLOW

8 of 9 units passed all questions (1 PR document(s)).
3 answers ignored because of a confidence below [classifier] min_confidence.

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 14343, calls 1, tokens in 13824 / out 19659 (reasoning included in out), duration 244.2 s, cost 0.0277 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6866, cost 0.0003 USD, finding judge `jev-1.13.0` calls 1, tokens in 1901, cost 0.0001 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 1402 / out 903, cost 0.0015 USD (reported), PR document check `jev-1.13.0` calls 9, tokens in 11060, cost 0.0005 USD, build file judge `jev-1.13.0` calls 3, tokens in 1889, cost 0.0001 USD, phases: path_judge 0.4 s, classifier 0.7 s, change_summary 10.8 s, doc_check 0.7 s, context 0.2 s, model_review 230.8 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main 643c04c).
Reviewed head `2a686336629ef2c7794ff48b5cf8e4f0c2205587` against base `643c04c9f8f5668416ede8d2c71529bb8a6d4cb4`, werkrevisor 0.41.5.
<!-- werkrevisor:2a686336629ef2c7794ff48b5cf8e4f0c2205587 --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:6ec8b628832cc43b289dda072c281096,d7b03132c0d89343f65463364704de6d,c07cbf38aee2648de33a3f420198a216,f317315d648bb7d45b127b374b1f3a5a,308e85256dac28ffdf5f4906dc11a537,220f648dfa4a716286e45527b4453068,a7c792d103a725343cd3807b96865e0b,1bf4b849b6eafddc3d0e596e381fa5fb --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>2a68633</code>, superseded by <a href="http://git.javagil.de/mi/werkrevisor/pulls/107#issuecomment-5298">the result for <code>60fa494</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** risky paths changed: .werkrevisor.toml (built in) - **YELLOW** spec: docs/prs/2026-10-14-PR#107-gate-weakened-category.md section 'Follow-up PRs' hard_to_understand (0.60 > yellow_above = 0.5) - **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** 9 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: tests/test_risk.py:61-74 ### Findings 1. **Missing boundary test** at `tests/test_risk.py:61-74`, severity unknown, counted as medium, hint, as a line comment ### Classifier | Unit | Question | Problem | Confidence | Verdict | |---|---|---|---|---| | docs/prs/2026-10-14-PR#107-gate-weakened-category.md section 'Follow-up PRs' | hard_to_understand | 0.60 | 0.60 | YELLOW | 8 of 9 units passed all questions (1 PR document(s)). 3 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 14343, calls 1, tokens in 13824 / out 19659 (reasoning included in out), duration 244.2 s, cost 0.0277 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6866, cost 0.0003 USD, finding judge `jev-1.13.0` calls 1, tokens in 1901, cost 0.0001 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 1402 / out 903, cost 0.0015 USD (reported), PR document check `jev-1.13.0` calls 9, tokens in 11060, cost 0.0005 USD, build file judge `jev-1.13.0` calls 3, tokens in 1889, cost 0.0001 USD, phases: path_judge 0.4 s, classifier 0.7 s, change_summary 10.8 s, doc_check 0.7 s, context 0.2 s, model_review 230.8 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main 643c04c).<br> Reviewed head `2a686336629ef2c7794ff48b5cf8e4f0c2205587` against base `643c04c9f8f5668416ede8d2c71529bb8a6d4cb4`, werkrevisor 0.41.5. </sub> </details>
ai-reviewer left a comment
Collaborator

werkrevisor: YELLOW / HUMAN_REVIEW for 2a686336629ef2c7794ff48b5cf8e4f0c2205587.
The result comment of werkrevisor holds the details.

werkrevisor: YELLOW / HUMAN_REVIEW for `2a686336629ef2c7794ff48b5cf8e4f0c2205587`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:2a686336629ef2c7794ff48b5cf8e4f0c2205587 -->
@@ -57,6 +58,21 @@ class RiskCategoriesTest(unittest.TestCase):
f"Transaction integrity, very likely according to Jev: {APP} (1.00); "
"lower the risk, or revert the change because the task does not need it")
def test_werkrevisor_holds_a_weakened_gate_for_the_human(self):
Collaborator

Missing boundary test, severity unknown, counted as medium (werkrevisor)

hint; Jev: real 0.65, severity 2.0 of 3

The new test exercises the verdict for 0.84 (above threshold) and 0.68 (below threshold), but does not cover the boundary at 0.75 itself. The PR document specifies the trigger at "at 0.75 or more" (inclusive), so without a third case at 0.75 the inclusivity of the threshold is not directly verified.

**Missing boundary test**, severity unknown, counted as medium (werkrevisor) hint; Jev: real 0.65, severity 2.0 of 3 The new test exercises the verdict for 0.84 (above threshold) and 0.68 (below threshold), but does not cover the boundary at 0.75 itself. The PR document specifies the trigger at "at 0.75 or more" (inclusive), so without a third case at 0.75 the inclusivity of the threshold is not directly verified.
Author
Collaborator

Fixed in 60fa494: the test also checks 0.75 (YELLOW) and 0.74 (GREEN).

Fixed in `60fa494`: the test also checks 0.75 (YELLOW) and 0.74 (GREEN).
claude-code marked this conversation as resolved
ai-reviewer scheduled this pull request to auto merge when all checks succeed 2026-10-14 10:37:17 +02:00
ai-reviewer requested review from mi 2026-10-14 10:37:17 +02:00
Collaborator
⚠️ werkrevisor ERROR for ?, superseded by the result for 60fa494

Codex review: critical

This changes the merge-gate policy that determines when human approval is required. Incorrect classifier wording or thresholds could let weakened gates merge automatically, and the mocked tests cannot establish real classifier reliability.

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 175644 (cached 134912) / out 902, 41.0 s, 5 commands; reviewed head `2a686336629ef2c7794ff48b5cf8e4f0c2205587`.
<!-- werkrevisor-codex:2a686336629ef2c7794ff48b5cf8e4f0c2205587 --> <!-- werkrevisor-codex-critical:true --> <!-- 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/107#issuecomment-5298">the result for <code>60fa494</code></a></summary> ## Codex review: critical This changes the merge-gate policy that determines when human approval is required. Incorrect classifier wording or thresholds could let weakened gates merge automatically, and the mocked tests cannot establish real classifier reliability. 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 175644 (cached 134912) / out 902, 41.0 s, 5 commands; reviewed head `2a686336629ef2c7794ff48b5cf8e4f0c2205587`. </sub> </details>
claude-code added 1 commit 2026-10-14 11:09:41 +02:00
The threshold 0.75 is tested at its boundary; the follow-up names werkator PR#159
ai-review/codex Codex review passed
werkator build succeeded after 00:35
werkator/werkrevisor-statistics build succeeded after 01:10
ai-review/assessment human review required; a human approval unlocks the merge; a human review request is pending; merge already scheduled
ai-review/gate build succeeded after 07:09
60fa494925
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW risky paths changed: .werkrevisor.toml (built in)
  • 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 9 section(s) of the PR document agree with the change summary of openrouter/minimax/minimax-m3 according to Jev

Classifier

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

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 14434, calls 1, tokens in 13911 / out 15094 (reasoning included in out), duration 421.7 s, cost 0.0223 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6916, cost 0.0003 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 1433 / out 708, cost 0.0012 USD (reported), PR document check `jev-1.13.0` calls 9, tokens in 11587, cost 0.0005 USD, build file judge `jev-1.13.0` calls 3, tokens in 1899, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.7 s, change_summary 10.1 s, doc_check 0.6 s, context 0.3 s, model_review 408.9 s, config: defaults + host + repository (.werkrevisor.toml at main 643c04c).
Reviewed head `60fa4949250918b583d362ca5f9d48bc649681c5` against base `643c04c9f8f5668416ede8d2c71529bb8a6d4cb4`, werkrevisor 0.41.5.
<!-- werkrevisor:60fa4949250918b583d362ca5f9d48bc649681c5 --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:6ec8b628832cc43b289dda072c281096,1245def39421e8e728866d0fb377a550,a8ad9fffba7ebb8e268b2ad6d629ecd6,f317315d648bb7d45b127b374b1f3a5a,308e85256dac28ffdf5f4906dc11a537,220f648dfa4a716286e45527b4453068,4a95e7c8898a99853a2b6a1a1957f711,1bf4b849b6eafddc3d0e596e381fa5fb --> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** risky paths changed: .werkrevisor.toml (built in) - **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** 9 section(s) of the PR document agree with the change summary of openrouter/minimax/minimax-m3 according to Jev ### Classifier 9 of 9 units passed all questions (1 PR document(s)). 4 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 14434, calls 1, tokens in 13911 / out 15094 (reasoning included in out), duration 421.7 s, cost 0.0223 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6916, cost 0.0003 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 1433 / out 708, cost 0.0012 USD (reported), PR document check `jev-1.13.0` calls 9, tokens in 11587, cost 0.0005 USD, build file judge `jev-1.13.0` calls 3, tokens in 1899, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.7 s, change_summary 10.1 s, doc_check 0.6 s, context 0.3 s, model_review 408.9 s, config: defaults + host + repository (.werkrevisor.toml at main 643c04c).<br> Reviewed head `60fa4949250918b583d362ca5f9d48bc649681c5` against base `643c04c9f8f5668416ede8d2c71529bb8a6d4cb4`, werkrevisor 0.41.5. </sub>
mi approved these changes 2026-10-14 11:19:33 +02:00
Dismissed
Collaborator

Codex review: critical

This changes the merge-gate configuration that decides when human approval is required. Errors in the classifier question or threshold could miss weakened gates, and the mocked tests cannot establish real classifier accuracy.

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 248546 (cached 200064) / out 1259, 51.8 s, 11 commands; reviewed head `60fa4949250918b583d362ca5f9d48bc649681c5`.
<!-- werkrevisor-codex:60fa4949250918b583d362ca5f9d48bc649681c5 --> <!-- werkrevisor-codex-critical:true --> <!-- werkrevisor-codex-unattached:0 --> <!-- werkrevisor-codex --> ## Codex review: critical This changes the merge-gate configuration that decides when human approval is required. Errors in the classifier question or threshold could miss weakened gates, and the mocked tests cannot establish real classifier accuracy. 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 248546 (cached 200064) / out 1259, 51.8 s, 11 commands; reviewed head `60fa4949250918b583d362ca5f9d48bc649681c5`. </sub>
mi approved these changes 2026-10-14 12:17:58 +02:00
ai-reviewer merged commit f3208f2e21 into main 2026-10-14 12:19:17 +02:00
ai-reviewer deleted branch claude-code/gate-weakened-category 2026-10-14 12:19:17 +02:00
Sign in to join this conversation.
No Reviewers
No labels
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkrevisor#107