werkrevisor 0.23.0: Jev compares the PR document with a change summary of an economy model #47

Merged
ai-reviewer merged 7 commits from pr-doc-comparison into main 2026-10-08 13:42:29 +02:00
Collaborator

See the PR document.

🤖 Generated with Claude Code

See [the PR document](docs/prs/2026-10-08-PR%2347-pr-doc-vs-change-summary.md). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-code added 1 commit 2026-10-08 12:40:30 +02:00
PR#47: PR document for the comparison of PR document and change summary
werkator build succeeded after 00:09
werkator/werkrevisor-statistics build succeeded after 00:27
342e241a8e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi added 1 commit 2026-10-08 12:57:00 +02:00
PR#47: narrow the comparison to what the prototype measurement separates
werkator build succeeded after 00:09
werkator/werkrevisor-statistics build succeeded after 00:28
52bb58b13f
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi added 1 commit 2026-10-08 12:59:03 +02:00
PR#47: red scenario tests for the comparison of PR document and change summary
werkator build failed after 00:09
werkator/werkrevisor-statistics build succeeded after 00:26
1225665983
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code marked the pull request as ready for review 2026-10-08 13:04:14 +02:00
mi added 1 commit 2026-10-08 13:04:15 +02:00
werkrevisor 0.23.0: Jev compares the PR document with a change summary of an economy model
werkator build succeeded after 00:09
werkator/werkrevisor-statistics build succeeded after 00:33
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 02:26
e4f5ba2074
An optional host section [doc_check] lets an economy model summarize the diff without the
PR documents; Jev compares each section with the summary. A contradicting test claim gives
ORANGE, other contradictions give hints, both as line comments at the section heading.
The statistics service counts the summary as LLM cost and the comparison as Jev cost.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
🟡 werkrevisor YELLOW for e4f5ba2, superseded by the result for 482df58

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.03 given_when_then_misused (0.61 > yellow_above = 0.6)
  • YELLOW spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Measurement' hard_to_understand (0.50 > yellow_above = 0.5)
  • YELLOW spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Follow-up PRs' hard_to_understand (0.52 > yellow_above = 0.5)
  • hint 10 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.02)
  • hint 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py
  • hint 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file)

Classifier

Unit Question Problem Confidence Verdict
docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.03 given_when_then_misused 0.61 – YELLOW
docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Measurement' hard_to_understand 0.50 0.48 YELLOW
docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Follow-up PRs' hard_to_understand 0.52 0.53 YELLOW

11 of 14 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 65123, calls 1, tokens in 62848 / out 22949 (reasoning included in out), duration 144.5 s, cost 0.0371 USD (reported), classifier `jev-1.13.0` calls 14, tokens in 12025, cost 0.0005 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 667, cost 0.0034 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14239, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).
Reviewed head `e4f5ba207456064909133564a138fff962f43db1` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0.
<!-- werkrevisor:e4f5ba207456064909133564a138fff962f43db1 --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>e4f5ba2</code>, superseded by <a href="http://git.javagil.de/mi/werkrevisor/pulls/47#issuecomment-1946">the result for <code>482df58</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.03 given_when_then_misused (0.61 > yellow_above = 0.6) - **YELLOW** spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Measurement' hard_to_understand (0.50 > yellow_above = 0.5) - **YELLOW** spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Follow-up PRs' hard_to_understand (0.52 > yellow_above = 0.5) - **hint** 10 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.02) - **hint** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py - **hint** 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file) ### Classifier | Unit | Question | Problem | Confidence | Verdict | |---|---|---|---|---| | docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.03 | given_when_then_misused | 0.61 | – | YELLOW | | docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Measurement' | hard_to_understand | 0.50 | 0.48 | YELLOW | | docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md section 'Follow-up PRs' | hard_to_understand | 0.52 | 0.53 | YELLOW | 11 of 14 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 65123, calls 1, tokens in 62848 / out 22949 (reasoning included in out), duration 144.5 s, cost 0.0371 USD (reported), classifier `jev-1.13.0` calls 14, tokens in 12025, cost 0.0005 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 667, cost 0.0034 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14239, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).<br> Reviewed head `e4f5ba207456064909133564a138fff962f43db1` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0. </sub> </details>
ai-reviewer scheduled this pull request to auto merge when all checks succeed 2026-10-08 13:06:52 +02:00
ai-reviewer requested review from mi 2026-10-08 13:06:52 +02:00
mi added 1 commit 2026-10-08 13:07:49 +02:00
PR#47: clearer scenario 47.03, measurement and follow-ups
werkator build succeeded after 00:12
werkator/werkrevisor-statistics build succeeded after 00:30
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 05:16
482df58886
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
🟡 werkrevisor YELLOW for 482df58, superseded by the result for bca1a88

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.06 given_when_then_misused (0.65 > yellow_above = 0.6)
  • hint 10 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 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py
  • hint 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file)
  • hint 1 finding(s) of low severity or rated minor by Jev: werkrevisor/doccheck.py:94-95

Findings

  1. Greedy JSON regex at werkrevisor/doccheck.py:94-95, severity unknown, counted as medium, hint, as a line comment

Classifier

Unit Question Problem Confidence Verdict
docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.06 given_when_then_misused 0.65 – YELLOW

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

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 65590, calls 1, tokens in 63286 / out 22217 (reasoning included in out), duration 313.2 s, cost 0.0244 USD (reported), classifier `jev-1.13.0` calls 14, tokens in 12019, cost 0.0005 USD, finding judge `jev-1.13.0` calls 1, tokens in 1304, cost 0.0001 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 766, cost 0.0006 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14239, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).
Reviewed head `482df58886fbfa72fd1303f0b9601ffd8139dd5d` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0.
<!-- werkrevisor:482df58886fbfa72fd1303f0b9601ffd8139dd5d --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>482df58</code>, superseded by <a href="http://git.javagil.de/mi/werkrevisor/pulls/47#issuecomment-1951">the result for <code>bca1a88</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** spec: docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.06 given_when_then_misused (0.65 > yellow_above = 0.6) - **hint** 10 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** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py - **hint** 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file) - **hint** 1 finding(s) of low severity or rated minor by Jev: werkrevisor/doccheck.py:94-95 ### Findings 1. **Greedy JSON regex** at `werkrevisor/doccheck.py:94-95`, severity unknown, counted as medium, hint, as a line comment ### Classifier | Unit | Question | Problem | Confidence | Verdict | |---|---|---|---|---| | docs/prs/2026-10-08-PR#47-pr-doc-vs-change-summary.md Scenario#47.06 | given_when_then_misused | 0.65 | – | YELLOW | 13 of 14 units passed all questions (1 PR document(s)). 6 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 65590, calls 1, tokens in 63286 / out 22217 (reasoning included in out), duration 313.2 s, cost 0.0244 USD (reported), classifier `jev-1.13.0` calls 14, tokens in 12019, cost 0.0005 USD, finding judge `jev-1.13.0` calls 1, tokens in 1304, cost 0.0001 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 766, cost 0.0006 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14239, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).<br> Reviewed head `482df58886fbfa72fd1303f0b9601ffd8139dd5d` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0. </sub> </details>
ai-reviewer left a comment
Collaborator

werkrevisor: YELLOW / HUMAN_REVIEW for 482df58886fbfa72fd1303f0b9601ffd8139dd5d.
The result comment of werkrevisor holds the details.

werkrevisor: YELLOW / HUMAN_REVIEW for `482df58886fbfa72fd1303f0b9601ffd8139dd5d`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:482df58886fbfa72fd1303f0b9601ffd8139dd5d -->
@@ -0,0 +91,4 @@
def parse_summary(answer):
"""A summary without a usable list of changes gives no basis for a comparison."""
match = re.search(r"\{.*\}", answer or "", re.S)
Collaborator

Greedy JSON regex, severity unknown, counted as medium (werkrevisor)

hint; Jev: real 0.67, severity 2.2 of 3

parse_summary uses the greedy pattern r"\{.*\}" with re.S, so an answer like {"a": 1} {"changes": [...]} is captured as one string and rejected by json.loads, leaving the comparison out with a hint. The prompt asks for a single JSON object, so this is unlikely, but a non-greedy match or a json.JSONDecoder().raw_decode would be safer and is a one-line change.

**Greedy JSON regex**, severity unknown, counted as medium (werkrevisor) hint; Jev: real 0.67, severity 2.2 of 3 `parse_summary` uses the greedy pattern `r"\{.*\}"` with `re.S`, so an answer like `{"a": 1} {"changes": [...]}` is captured as one string and rejected by `json.loads`, leaving the comparison out with a hint. The prompt asks for a single JSON object, so this is unlikely, but a non-greedy match or a `json.JSONDecoder().raw_decode` would be safer and is a one-line change.
Author
Collaborator

Fixed: parse_summary now parses the whole answer as JSON first; only an answer wrapped in prose or a code fence falls back to the outermost braces. A test with braces inside the strings covers it.

Fixed: `parse_summary` now parses the whole answer as JSON first; only an answer wrapped in prose or a code fence falls back to the outermost braces. A test with braces inside the strings covers it.
claude-code marked this conversation as resolved
mi added 1 commit 2026-10-08 13:14:42 +02:00
PR#47: parse a pure JSON summary first; clearer scenario 47.06
werkator build succeeded after 00:09
werkator/werkrevisor-statistics build succeeded after 00:27
ai-review/assessment AI review passed; approved by werkrevisor; merge already scheduled; review request of mi withdrawn
ai-review/gate build succeeded after 11:36
bca1a88b87
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
🟢 werkrevisor GREEN for bca1a88, superseded by the result for 4c04a61

🟢 werkrevisor: GREEN / PASS

Change kind: mixed.

Reasons

  • hint 10 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 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py
  • hint 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file)

Classifier

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

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 65784, calls 1, tokens in 63476 / out 13049 (reasoning included in out), duration 693.9 s, cost 0.0321 USD (reported), classifier `jev-1.13.0` calls 14, tokens in 12073, cost 0.0005 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 1076, cost 0.0008 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14340, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).
Reviewed head `bca1a88b87ecab7231bd9ca56a6607c79e7e7a10` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0.
<!-- werkrevisor:bca1a88b87ecab7231bd9ca56a6607c79e7e7a10 --> <!-- werkrevisor-verdict:GREEN --> <!-- werkrevisor-folded --> <details><summary>🟢 werkrevisor GREEN for <code>bca1a88</code>, superseded by <a href="http://git.javagil.de/mi/werkrevisor/pulls/47#issuecomment-1956">the result for <code>4c04a61</code></a></summary> ## 🟢 werkrevisor: GREEN / PASS Change kind: `mixed`. ### Reasons - **hint** 10 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** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py - **hint** 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file) ### Classifier 14 of 14 units passed all questions (1 PR document(s)). 6 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 65784, calls 1, tokens in 63476 / out 13049 (reasoning included in out), duration 693.9 s, cost 0.0321 USD (reported), classifier `jev-1.13.0` calls 14, tokens in 12073, cost 0.0005 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 1076, cost 0.0008 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14340, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).<br> Reviewed head `bca1a88b87ecab7231bd9ca56a6607c79e7e7a10` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0. </sub> </details>
ai-reviewer approved these changes 2026-10-08 13:26:16 +02:00
Dismissed
ai-reviewer left a comment
Collaborator

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

werkrevisor: GREEN / PASS for `bca1a88b87ecab7231bd9ca56a6607c79e7e7a10`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:bca1a88b87ecab7231bd9ca56a6607c79e7e7a10 -->
ai-reviewer removed review request for mi 2026-10-08 13:26:16 +02:00
mi added 1 commit 2026-10-08 13:37:02 +02:00
Merge origin/main into pr-doc-comparison
werkator build succeeded after 00:11
werkator/werkrevisor-statistics build succeeded after 00:27
ai-review/assessment AI review passed; approved by werkrevisor; merge already scheduled
ai-review/gate build succeeded after 05:18
4c04a61a1e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi dismissed ai-reviewer's review 2026-10-08 13:37:02 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

Collaborator

🟢 werkrevisor: GREEN / PASS

Change kind: mixed.

Reasons

  • hint 10 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 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py
  • hint 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file)
  • hint the model review failed: Exception: Failed to generate prediction with any model of ['openrouter/minimax/minimax-m3']. Attempts: openrouter/minimax/minimax-m3: APIError: Empty content in model response (finish_reason: length) (advisory: Jev judged every changed file)

Classifier

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

Usage: model `openrouter/minimax/minimax-m3`, LLM failed (Exception), tokens counted before the call 66315, duration 315.1 s, cost unknown, classifier `jev-1.13.0` calls 14, tokens in 12073, cost 0.0005 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 806, cost 0.0006 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14340, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).
Reviewed head `4c04a61a1ee74f2246495d21dafd94072bec484b` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0.
<!-- werkrevisor:4c04a61a1ee74f2246495d21dafd94072bec484b --> <!-- werkrevisor-verdict:GREEN --> ## 🟢 werkrevisor: GREEN / PASS Change kind: `mixed`. ### Reasons - **hint** 10 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** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (all full files together would exceed [review] max_full_files_chars = 160000): werkrevisor/config.py - **hint** 2 changed files were given to the AI only as diff, not in full, so it could not check them against the rest of their file (all full files together would exceed [review] max_full_files_chars = 160000, and no excerpt fits the limits either): werkrevisor/excerpt.py, werkrevisor/report.py (advisory: Jev judged every changed file) - **hint** the model review failed: Exception: Failed to generate prediction with any model of ['openrouter/minimax/minimax-m3']. Attempts: openrouter/minimax/minimax-m3: APIError: Empty content in model response (finish_reason: length) (advisory: Jev judged every changed file) ### Classifier 14 of 14 units passed all questions (1 PR document(s)). 6 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM failed (Exception), tokens counted before the call 66315, duration 315.1 s, cost unknown, classifier `jev-1.13.0` calls 14, tokens in 12073, cost 0.0005 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 3, tokens in 24232 / out 806, cost 0.0006 USD (reported), build file judge `jev-1.13.0` calls 11, tokens in 14340, cost 0.0006 USD, config: defaults + host + repository (.werkrevisor.toml at main 1e35334).<br> Reviewed head `4c04a61a1ee74f2246495d21dafd94072bec484b` against base `1e353345fe9094cfa681366100320d3bfe1568f2`, werkrevisor 0.22.0. </sub>
ai-reviewer left a comment
Collaborator

werkrevisor: GREEN / PASS for 4c04a61a1ee74f2246495d21dafd94072bec484b.
The result comment of werkrevisor holds the details.

werkrevisor: GREEN / PASS for `4c04a61a1ee74f2246495d21dafd94072bec484b`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:4c04a61a1ee74f2246495d21dafd94072bec484b -->
ai-reviewer merged commit 2b3e383ebd into main 2026-10-08 13:42:29 +02:00
ai-reviewer deleted branch pr-doc-comparison 2026-10-08 13:42:29 +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#47