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
[gate] max_red_rounds counts the earlier heads in a row with RED; from the limit on, a new RED
stays RED, gets the reason red_escalated and requests the human reviewers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
werkrevisor: ORANGE / FINDINGS for c65c02c741f21a6d8bb841b2730df6246228b365.
The result comment of werkrevisor holds the details.
werkrevisor: ORANGE / FINDINGS for `c65c02c741f21a6d8bb841b2730df6246228b365`.
The result comment of werkrevisor holds the details.
<!-- werkrevisor-review:c65c02c741f21a6d8bb841b2730df6246228b365 -->
Inconsistent escalation note, severity unknown, counted as medium (werkrevisor)
ORANGE; Jev: real 0.85, severity 2.7 of 3
In _gate (non-approval mode) the return value of _request_for_escalation is discarded, so the published result comment never mentions the escalation. In _approval_gate the note is concatenated into the GateDecision and ends up in the result comment. With yellow_gate = "block" or "pass_with_review_request" the reviewer who gets the Gitea request still has to open the PR to learn that the bot escalated, while a host on yellow_gate = "approval" sees it inline.
**Inconsistent escalation note**, severity unknown, counted as medium (werkrevisor)
ORANGE; Jev: real 0.85, severity 2.7 of 3
In `_gate` (non-approval mode) the return value of `_request_for_escalation` is discarded, so the published result comment never mentions the escalation. In `_approval_gate` the note is concatenated into the `GateDecision` and ends up in the result comment. With `yellow_gate = "block"` or `"pass_with_review_request"` the reviewer who gets the Gitea request still has to open the PR to learn that the bot escalated, while a host on `yellow_gate = "approval"` sees it inline.
Fixed: without the approval gate, the escalation note now becomes the gate note too, so the result comment says "Gate: escalated to …" in every mode; _gate also gets the redactor. test_without_the_approval_gate_the_escalation_is_named_too covers yellow_gate = "block".
Fixed: without the approval gate, the escalation note now becomes the gate note too, so the result comment says "Gate: escalated to …" in every mode; _gate also gets the redactor. test_without_the_approval_gate_the_escalation_is_named_too covers yellow_gate = "block".
claude-code marked this conversation as resolved
ai-reviewer
scheduled this pull request to auto merge when all checks succeed 2026-10-08 21:33:21 +02:00
ai-reviewer
requested review from mi 2026-10-08 21:33:21 +02:00
werkrevisor: GREEN / PASS for cc72ceee3e79cc6415bab7f8771a6c7757498bf8.
The result comment of werkrevisor holds the details.
werkrevisor: GREEN / PASS for `cc72ceee3e79cc6415bab7f8771a6c7757498bf8`.
The result comment of werkrevisor holds the details.
<!-- werkrevisor-review:cc72ceee3e79cc6415bab7f8771a6c7757498bf8 -->
ai-reviewer
removed review request for mi 2026-10-08 21:35:56 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
See the PR document.
🤖 Generated with Claude Code
🟠 werkrevisor ORANGE for
c65c02c, superseded by the result forcc72cee🟠 werkrevisor: ORANGE / FINDINGS
Change kind:
mixed.Reasons
Findings
werkrevisor/cli.py:545-548, severity unknown, counted as medium, ORANGE, as a line commentClassifier
8 of 8 units passed all questions (1 PR document(s)).
Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 51992, calls 1, tokens in 50298 / out 14641 (reasoning included in out), duration 108.8 s, cost 0.0326 USD (reported), classifier `jev-1.13.0` calls 8, tokens in 6303, cost 0.0003 USD, finding judge `jev-1.13.0` calls 1, tokens in 1622, cost 0.0001 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 3006 / out 1261, cost 0.0024 USD (reported), PR document check `jev-1.13.0` calls 8, tokens in 12146, cost 0.0005 USD, build file judge `jev-1.13.0` calls 6, tokens in 4865, cost 0.0002 USD, phases: path_judge 0.5 s, classifier 0.5 s, change_summary 10.9 s, doc_check 0.6 s, context 0.3 s, model_review 95.5 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main1 answer ignored because of a confidence below [classifier] min_confidence.
f542c11).Reviewed head `c65c02c741f21a6d8bb841b2730df6246228b365` against base `f542c11c44b3636311bf7b996daef1094282c725`, werkrevisor 0.28.1.
werkrevisor: ORANGE / FINDINGS for
c65c02c741f21a6d8bb841b2730df6246228b365.The result comment of werkrevisor holds the details.
@@ -525,1 +542,4 @@def _gate(config, pr, gitea, result, publish, redactor=lambda text: text):if result.verdict not in HUMAN_UNLOCKABLE:Inconsistent escalation note, severity unknown, counted as medium (werkrevisor)
ORANGE; Jev: real 0.85, severity 2.7 of 3
In
_gate(non-approval mode) the return value of_request_for_escalationis discarded, so the published result comment never mentions the escalation. In_approval_gatethe note is concatenated into theGateDecisionand ends up in the result comment. Withyellow_gate = "block"or"pass_with_review_request"the reviewer who gets the Gitea request still has to open the PR to learn that the bot escalated, while a host onyellow_gate = "approval"sees it inline.Fixed: without the approval gate, the escalation note now becomes the gate note too, so the result comment says "Gate: escalated to …" in every mode; _gate also gets the redactor. test_without_the_approval_gate_the_escalation_is_named_too covers yellow_gate = "block".
🟢 werkrevisor: GREEN / PASS
Change kind:
mixed.Reasons
Classifier
8 of 8 units passed all questions (1 PR document(s)).
Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 52986, calls 1, tokens in 51255 / out 14656 (reasoning included in out), duration 68.1 s, cost 0.0329 USD (reported), classifier `jev-1.13.0` calls 8, tokens in 6303, cost 0.0003 USD, change summary `openrouter/minimax/minimax-m3` via Minimax calls 1, tokens in 3360 / out 1532, cost 0.0025 USD (reported), PR document check `jev-1.13.0` calls 8, tokens in 11906, cost 0.0005 USD, build file judge `jev-1.13.0` calls 6, tokens in 5234, cost 0.0002 USD, phases: path_judge 0.5 s, classifier 0.5 s, change_summary 12.8 s, doc_check 0.5 s, context 0.3 s, model_review 53.3 s, config: defaults + host + repository (.werkrevisor.toml at main1 answer ignored because of a confidence below [classifier] min_confidence.
f542c11).Reviewed head `cc72ceee3e79cc6415bab7f8771a6c7757498bf8` against base `f542c11c44b3636311bf7b996daef1094282c725`, werkrevisor 0.28.1.
werkrevisor: GREEN / PASS for
cc72ceee3e79cc6415bab7f8771a6c7757498bf8.The result comment of werkrevisor holds the details.