werkrevisor reviews werkcrappit #45

Merged
ai-reviewer merged 3 commits from claude-code/werkrevisor into main 2026-10-07 12:53:22 +02:00
Collaborator

See docs/prs/2026-10-07-PR#45-werkrevisor.md.

🤖 Generated with Claude Code

See docs/prs/2026-10-07-PR#45-werkrevisor.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-code added 2 commits 2026-10-07 12:34:15 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
werkrevisor rules in .werkrevisor.toml; AGENTS.md describes the pull-request workflow and the writing style
werkator build succeeded after 02:43
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 03:37
751e76c29c
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mi force-pushed claude-code/werkrevisor from 12f3f46c96 to 751e76c29c 2026-10-07 12:34:16 +02:00 Compare
claude-code marked the pull request as ready for review 2026-10-07 12:34:26 +02:00
Collaborator
🟠 werkrevisor ORANGE for 751e76c, superseded by the result for 09a6e73

🟠 werkrevisor: ORANGE / FINDINGS

Change kind: mixed.

Reasons

  • ORANGE 1 finding(s) that Jev rates as probably real and severe: .werkrevisor.toml:32-33
  • YELLOW risky paths changed: .werkrevisor.toml (built in)
  • YELLOW model reports a security concern
  • hint 2 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-07-PR#45-werkrevisor.md:24-27, docs/prs/2026-10-07-PR#45-werkrevisor.md:10
  • hint model recommends merge with caution

Findings

  1. [medium] secret_scan_exclude comment contradicts the setting at .werkrevisor.toml:32-33, ORANGE, as a line comment

  2. [medium] "Afterwards" section of the PR document is unclear at docs/prs/2026-10-07-PR#45-werkrevisor.md:24-27, hint, as a line comment

  3. [low] Awkward English in the problem statement at docs/prs/2026-10-07-PR#45-werkrevisor.md:10, hint, as a line comment

Classifier

4 of 4 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 10875, calls 1, tokens in 10534 / out 24379 (reasoning included in out), duration 214.1 s, cost 0.0259 USD (reported), classifier `jev-1.13.0` calls 4, tokens in 2801, cost 0.0001 USD, finding judge `jev-1.13.0` calls 2, tokens in 2766, cost 0.0001 USD, config: defaults + host.
Reviewed head `751e76c29c3dcc94df9e811e8994479aa9934dd8` against base `22c49c58f2ca8d7eba1a14abdbee586e673bb54e`, werkrevisor 0.21.1.
<!-- werkrevisor:751e76c29c3dcc94df9e811e8994479aa9934dd8 --> <!-- werkrevisor-verdict:ORANGE --> <!-- werkrevisor-folded --> <details><summary>🟠 werkrevisor ORANGE for <code>751e76c</code>, superseded by <a href="http://git.javagil.de/mi/werkcrappit/pulls/45#issuecomment-1853">the result for <code>09a6e73</code></a></summary> ## 🟠 werkrevisor: ORANGE / FINDINGS Change kind: `mixed`. ### Reasons - **ORANGE** 1 finding(s) that Jev rates as probably real and severe: .werkrevisor.toml:32-33 - **YELLOW** risky paths changed: .werkrevisor.toml (built in) - **YELLOW** model reports a security concern - **hint** 2 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-07-PR#45-werkrevisor.md:24-27, docs/prs/2026-10-07-PR#45-werkrevisor.md:10 - **hint** model recommends merge with caution ### Findings 1. **[medium] secret_scan_exclude comment contradicts the setting** at `.werkrevisor.toml:32-33`, ORANGE, as a line comment 2. **[medium] "Afterwards" section of the PR document is unclear** at `docs/prs/2026-10-07-PR#45-werkrevisor.md:24-27`, hint, as a line comment 3. **[low] Awkward English in the problem statement** at `docs/prs/2026-10-07-PR#45-werkrevisor.md:10`, hint, as a line comment ### Classifier 4 of 4 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 10875, calls 1, tokens in 10534 / out 24379 (reasoning included in out), duration 214.1 s, cost 0.0259 USD (reported), classifier `jev-1.13.0` calls 4, tokens in 2801, cost 0.0001 USD, finding judge `jev-1.13.0` calls 2, tokens in 2766, cost 0.0001 USD, config: defaults + host.<br> Reviewed head `751e76c29c3dcc94df9e811e8994479aa9934dd8` against base `22c49c58f2ca8d7eba1a14abdbee586e673bb54e`, werkrevisor 0.21.1. </sub> </details>
ai-reviewer left a comment
Collaborator

werkrevisor: ORANGE / FINDINGS for 751e76c29c3dcc94df9e811e8994479aa9934dd8.
The result comment of werkrevisor holds the details.

werkrevisor: ORANGE / FINDINGS for `751e76c29c3dcc94df9e811e8994479aa9934dd8`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:751e76c29c3dcc94df9e811e8994479aa9934dd8 -->
@@ -0,0 +29,4 @@
"/build.gradle.kts", "werkcrappit-*/build.gradle.kts", "/settings.gradle.kts", "/gradle/**", "/gradle.properties",
]
secret_scan = true
# Test data holds fake passwords; private keys and the real key formats stay flagged there too.
Collaborator

[medium] secret_scan_exclude comment contradicts the setting (werkrevisor)

ORANGE; Jev: real 0.67, severity 2.7 of 3

Line 32 of .werkrevisor.toml reads "Test data holds fake passwords; private keys and the real key formats stay flagged there too", claiming that private keys and real key formats stay under secret scanning in test data. The secret_scan_exclude setting on line 33 is ["**/src/test/**", "**/src/functionalTest/**"], which excludes every file under those directories from secret scanning. The two statements disagree: a real .pem or private key committed into src/test/resources/ will not be detected. Either the comment is misleading, or the exclude is too broad. I have not read werkrevisor's own source, so it is possible the tool has a separate always-scan list for key files that overrides the exclude; if so, the comment is correct and the config is fine, but the visible comment and config are not in sync.

**[medium] secret_scan_exclude comment contradicts the setting** (werkrevisor) ORANGE; Jev: real 0.67, severity 2.7 of 3 Line 32 of `.werkrevisor.toml` reads "Test data holds fake passwords; private keys and the real key formats stay flagged there too", claiming that private keys and real key formats stay under secret scanning in test data. The `secret_scan_exclude` setting on line 33 is `["**/src/test/**", "**/src/functionalTest/**"]`, which excludes every file under those directories from secret scanning. The two statements disagree: a real `.pem` or private key committed into `src/test/resources/` will not be detected. Either the comment is misleading, or the exclude is too broad. I have not read werkrevisor's own source, so it is possible the tool has a separate always-scan list for key files that overrides the exclude; if so, the comment is correct and the config is fine, but the visible comment and config are not in sync.
Author
Collaborator

The comment was correct: in files of secret_scan_exclude, werkrevisor still flags real key formats (private keys, AWS key ids, hsak_ and sk-or-v1- keys), see the werkrevisor README on secret_scan_exclude; only generic assignments such as password = "..." are ignored there.
Clarified in 09a6e73: the comment now names the key formats that still count.

The comment was correct: in files of `secret_scan_exclude`, werkrevisor still flags real key formats (private keys, AWS key ids, `hsak_` and `sk-or-v1-` keys), see the werkrevisor README on `secret_scan_exclude`; only generic assignments such as `password = "..."` are ignored there. Clarified in 09a6e73: the comment now names the key formats that still count.
claude-code marked this conversation as resolved
@@ -0,0 +7,4 @@
Since werkrevisor PR#41, werkrevisor reviews the pull requests of werkcrappit.
Its rules for werkcrappit are in the werkrevisor repository, so a change of them is not visible here,
and nobody of werkcrappit has to approve it.
Collaborator

[low] Awkward English in the problem statement (werkrevisor)

hint

Line 10 reads "and nobody of werkcrappit has to approve it." "Nobody of werkcrappit" is not idiomatic English; the natural phrasing is "no one from werkcrappit" or "nobody in werkcrappit". The phrase sits in the first paragraph a reviewer reads, so it weakens the clarity of the problem statement.

**[low] Awkward English in the problem statement** (werkrevisor) hint Line 10 reads "and nobody of werkcrappit has to approve it." "Nobody of werkcrappit" is not idiomatic English; the natural phrasing is "no one from werkcrappit" or "nobody in werkcrappit". The phrase sits in the first paragraph a reviewer reads, so it weakens the clarity of the problem statement.
Author
Collaborator

Fixed in 09a6e73: "no one from werkcrappit".

Fixed in 09a6e73: "no one from werkcrappit".
claude-code marked this conversation as resolved
@@ -0,0 +21,4 @@
`.werkrevisor.toml` checks the writing style's limits of 128 characters per line and 5 sentences per paragraph.
- No change to the plugins, no new version.
## Afterwards
Collaborator

[medium] "Afterwards" section of the PR document is unclear (werkrevisor)

hint; Jev: real 0.78, severity 1.4 of 3

The "## Afterwards" section (lines 24-27 of the PR document) says the host config of werkcrappit "keeps only the part of the host, like config/werkrevisor.toml of werkrevisor". "The part of the host" is vague; the intended meaning seems to be "the host-specific part (model, budget, gate, engine)". The comparison to werkrevisor's own config/werkrevisor.toml does not state what should or should not live in werkcrappit's host config. The classifier also flagged this section as hard to understand (uncertain). The sentence should list concretely what the host config keeps and what it leaves to .werkrevisor.toml.

**[medium] "Afterwards" section of the PR document is unclear** (werkrevisor) hint; Jev: real 0.78, severity 1.4 of 3 The "## Afterwards" section (lines 24-27 of the PR document) says the host config of werkcrappit "keeps only the part of the host, like `config/werkrevisor.toml` of werkrevisor". "The part of the host" is vague; the intended meaning seems to be "the host-specific part (model, budget, gate, engine)". The comparison to werkrevisor's own `config/werkrevisor.toml` does not state what should or should not live in werkcrappit's host config. The classifier also flagged this section as hard to understand (uncertain). The sentence should list concretely what the host config keeps and what it leaves to `.werkrevisor.toml`.
Author
Collaborator

Fixed in 09a6e73: the section lists what the host config keeps: model, budget, gate, engine and the Jev endpoint.

Fixed in 09a6e73: the section lists what the host config keeps: model, budget, gate, engine and the Jev endpoint.
claude-code marked this conversation as resolved
ai-reviewer scheduled this pull request to auto merge when all checks succeed 2026-10-07 12:38:08 +02:00
ai-reviewer requested review from mi 2026-10-07 12:38:08 +02:00
mi added 1 commit 2026-10-07 12:38:44 +02:00
review: the secret-scan comment names the key formats that count in test data; PR#45 doc wording
werkator build succeeded after 02:16
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 12:10
09a6e73b2a
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
Collaborator

Review round answered in 09a6e73: the secret-scan finding was a misreading, the comment now says it explicitly; both doc hints fixed. All threads resolved. The PR changes .werkrevisor.toml and therefore waits for the approval of @mi in any case.

Review round answered in 09a6e73: the secret-scan finding was a misreading, the comment now says it explicitly; both doc hints fixed. All threads resolved. The PR changes `.werkrevisor.toml` and therefore waits for the approval of @mi in any case.
Collaborator

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW risky paths changed: .werkrevisor.toml (built in)
  • hint the model review failed: TimeoutError: review exceeded 720 seconds (advisory: Jev judged every changed file)

Classifier

4 of 4 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 failed (TimeoutError), tokens counted before the call 10975, duration 726.1 s, cost unknown, classifier `jev-1.13.0` calls 4, tokens in 2807, cost 0.0001 USD, config: defaults + host.
Reviewed head `09a6e73b2a5fdc1b67c47be3acba99f67aadaa49` against base `22c49c58f2ca8d7eba1a14abdbee586e673bb54e`, werkrevisor 0.21.1.
<!-- werkrevisor:09a6e73b2a5fdc1b67c47be3acba99f67aadaa49 --> <!-- werkrevisor-verdict:YELLOW --> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** risky paths changed: .werkrevisor.toml (built in) - **hint** the model review failed: TimeoutError: review exceeded 720 seconds (advisory: Jev judged every changed file) ### Classifier 4 of 4 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 failed (TimeoutError), tokens counted before the call 10975, duration 726.1 s, cost unknown, classifier `jev-1.13.0` calls 4, tokens in 2807, cost 0.0001 USD, config: defaults + host.<br> Reviewed head `09a6e73b2a5fdc1b67c47be3acba99f67aadaa49` against base `22c49c58f2ca8d7eba1a14abdbee586e673bb54e`, werkrevisor 0.21.1. </sub>
mi approved these changes 2026-10-07 12:53:21 +02:00
ai-reviewer merged commit b640b7d5c6 into main 2026-10-07 12:53:22 +02:00
ai-reviewer deleted branch claude-code/werkrevisor 2026-10-07 12:53:23 +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/werkcrappit#45