werkrevisor 0.13.0: mechanical file changes skip the model #11

Merged
mi merged 9 commits from claude-code/mechanical-changes-skip-model into main 2026-10-05 19:28:32 +02:00
Collaborator

werkrevisor 0.13.0: mechanical file changes skip the model.

  • A file is mechanical only if every changed line is a pure rename, a whitespace change (not in whitespace-significant files) or an import line of a known language; it goes neither into the diff nor into the full files for the model.
  • A PR of only mechanical files is GREEN-eligible without a model call; hard rules still apply.
  • Additional changes: the example host configs match mih09 (mode = "combined", token_count_factor = 1.55); an unknown change kind in a changed .werkrevisor.toml gives YELLOW, not RED.

Details: the PR document under docs/prs/.

🤖 Generated with Claude Code

werkrevisor 0.13.0: mechanical file changes skip the model. - A file is mechanical only if every changed line is a pure rename, a whitespace change (not in whitespace-significant files) or an import line of a known language; it goes neither into the diff nor into the full files for the model. - A PR of only mechanical files is GREEN-eligible without a model call; hard rules still apply. - Additional changes: the example host configs match mih09 (`mode = "combined"`, `token_count_factor = 1.55`); an unknown change kind in a changed `.werkrevisor.toml` gives YELLOW, not RED. Details: the PR document under `docs/prs/`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-code added 8 commits 2026-10-05 19:24:59 +02:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A changed file whose every changed line is an import, a whitespace change or a rename
is left out of the PR-Agent prompt and the full files, does not count for the coverage check,
and is listed in one line of the comment.
A PR of such files alone gets the change kind mechanical_only and can become GREEN without a model call.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The example configs allow mechanical_only.
werkprobe, werkrevisor and hsadmin-ng use engine mode combined and token_count_factor 1.55,
measured on werkrevisor PR#10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A package move across many files needs no AI judgement, so it does not make a PR too large.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The installed 0.12.0 would reject mechanical_only; a follow-up PR adds it after the deploy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
an unknown change kind in a changed .werkrevisor.toml gives YELLOW, not RED
ai-review/assessment AI findings; a developer approval after checking them unlocks the merge; review requested from mi
werkator build succeeded after 00:23
ai-review/gate build succeeded after 00:23
ccad3614c1
A newer werkrevisor may know it, as it may know an unknown key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code marked the pull request as ready for review 2026-10-05 19:24:59 +02:00
Collaborator

🟠 werkrevisor: ORANGE / FINDINGS

Change kind: mixed.

Reasons

  • YELLOW test changes are not purely additive: tests/fakes.py:170 changes an existing test line, tests/test_classifier.py:67 changes an existing test line, tests/test_classifier.py:71 removes a test or assertion and 13 more
  • YELLOW change kind 'mixed' (main code, tests, other files, docs); AI-approvable are only: docs only, tests only added, docs and tests, refactoring with unchanged tests, feature with purely additive tests, harmless files only
  • YELLOW risky paths changed: config/hsadmin-ng.toml (config/), config/werkprobe.toml (config/), config/werkrevisor.toml (config/**) and 1 more
  • YELLOW spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 hard_to_read (0.60 > yellow_above = 0.5)
  • YELLOW spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 hard_to_read (0.54 > yellow_above = 0.5)
  • ORANGE spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 vague_then (0.92 > red_above = 0.85)
  • YELLOW 9 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 = 120000): tests/test_rules.py, tests/test_token_count.py, werkrevisor/cli.py and 6 more
  • YELLOW no AI review: the PR needs 115477 input tokens (74501 counted with o200k_base × [model] token_count_factor = 1.55), more than the limit of 80000 derived from [budget] max_usd_per_review = 0.40

Classifier

Unit Question Problem Confidence Verdict
docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 hard_to_read 0.60 0.76 YELLOW
docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 hard_to_read 0.54 0.45 YELLOW
docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 vague_then 0.92 – ORANGE

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

Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (too large), tokens counted before the call 115477, duration 19.7 s, no model call, cost 0 USD, classifier `jev-1.13.0` calls 20, tokens in 18550, cost 0.0008 USD, config: defaults + host + repository (.werkrevisor.toml at base fcab521).
Reviewed head `ccad3614c19948967d1f07aa548a8bb5f7b45c10` against base `fcab52151f1c9b803c4d4ff8bffde3a924411cfd`, werkrevisor 0.12.0.
<!-- werkrevisor:ccad3614c19948967d1f07aa548a8bb5f7b45c10 --> <!-- werkrevisor-verdict:ORANGE --> ## 🟠 werkrevisor: ORANGE / FINDINGS Change kind: `mixed`. ### Reasons - **YELLOW** test changes are not purely additive: tests/fakes.py:170 changes an existing test line, tests/test_classifier.py:67 changes an existing test line, tests/test_classifier.py:71 removes a test or assertion and 13 more - **YELLOW** change kind 'mixed' (main code, tests, other files, docs); AI-approvable are only: docs only, tests only added, docs and tests, refactoring with unchanged tests, feature with purely additive tests, harmless files only - **YELLOW** risky paths changed: config/hsadmin-ng.toml (config/**), config/werkprobe.toml (config/**), config/werkrevisor.toml (config/**) and 1 more - **YELLOW** spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 hard_to_read (0.60 > yellow_above = 0.5) - **YELLOW** spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 hard_to_read (0.54 > yellow_above = 0.5) - **ORANGE** spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 vague_then (0.92 > red_above = 0.85) - **YELLOW** 9 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 = 120000): tests/test_rules.py, tests/test_token_count.py, werkrevisor/cli.py and 6 more - **YELLOW** no AI review: the PR needs 115477 input tokens (74501 counted with o200k_base × [model] token_count_factor = 1.55), more than the limit of 80000 derived from [budget] max_usd_per_review = 0.40 ### Classifier | Unit | Question | Problem | Confidence | Verdict | |---|---|---|---|---| | docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 | hard_to_read | 0.60 | 0.76 | YELLOW | | docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 | hard_to_read | 0.54 | 0.45 | YELLOW | | docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.11 | vague_then | 0.92 | – | ORANGE | 18 of 20 units passed all questions (1 PR document(s)). 7 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (too large), tokens counted before the call 115477, duration 19.7 s, no model call, cost 0 USD, classifier `jev-1.13.0` calls 20, tokens in 18550, cost 0.0008 USD, config: defaults + host + repository (.werkrevisor.toml at base fcab521).<br> Reviewed head `ccad3614c19948967d1f07aa548a8bb5f7b45c10` against base `fcab52151f1c9b803c4d4ff8bffde3a924411cfd`, werkrevisor 0.12.0. </sub>
ai-reviewer requested review from mi 2026-10-05 19:25:31 +02:00
claude-code added 1 commit 2026-10-05 19:26:34 +02:00
docs: Scenario#11.11 states the size limit and an observable Then, as Jev asked
ai-review/assessment human review required; a human approval unlocks the merge; a human review request is pending
werkator build succeeded after 00:07
ai-review/gate build succeeded after 00:08
28567bcb9e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW test changes are not purely additive: tests/fakes.py:170 changes an existing test line, tests/test_classifier.py:67 changes an existing test line, tests/test_classifier.py:71 removes a test or assertion and 13 more
  • YELLOW change kind 'mixed' (main code, tests, other files, docs); AI-approvable are only: docs only, tests only added, docs and tests, refactoring with unchanged tests, feature with purely additive tests, harmless files only
  • YELLOW risky paths changed: config/hsadmin-ng.toml (config/), config/werkprobe.toml (config/), config/werkrevisor.toml (config/**) and 1 more
  • YELLOW spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 hard_to_read (0.60 > yellow_above = 0.5)
  • YELLOW spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.13 hard_to_read (0.52 > yellow_above = 0.5)
  • YELLOW 9 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 = 120000): tests/test_rules.py, tests/test_token_count.py, werkrevisor/cli.py and 6 more
  • YELLOW no AI review: the PR needs 115462 input tokens (74491 counted with o200k_base × [model] token_count_factor = 1.55), more than the limit of 80000 derived from [budget] max_usd_per_review = 0.40

Classifier

Unit Question Problem Confidence Verdict
docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 hard_to_read 0.60 0.75 YELLOW
docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.13 hard_to_read 0.52 0.52 YELLOW

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

Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (too large), tokens counted before the call 115462, duration 6.2 s, no model call, cost 0 USD, classifier `jev-1.13.0` calls 20, tokens in 18613, cost 0.0008 USD, config: defaults + host + repository (.werkrevisor.toml at base fcab521).
Reviewed head `28567bcb9eab45407f82913c1f061f3a6a88ebb5` against base `fcab52151f1c9b803c4d4ff8bffde3a924411cfd`, werkrevisor 0.12.0.
<!-- werkrevisor:28567bcb9eab45407f82913c1f061f3a6a88ebb5 --> <!-- werkrevisor-verdict:YELLOW --> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** test changes are not purely additive: tests/fakes.py:170 changes an existing test line, tests/test_classifier.py:67 changes an existing test line, tests/test_classifier.py:71 removes a test or assertion and 13 more - **YELLOW** change kind 'mixed' (main code, tests, other files, docs); AI-approvable are only: docs only, tests only added, docs and tests, refactoring with unchanged tests, feature with purely additive tests, harmless files only - **YELLOW** risky paths changed: config/hsadmin-ng.toml (config/**), config/werkprobe.toml (config/**), config/werkrevisor.toml (config/**) and 1 more - **YELLOW** spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 hard_to_read (0.60 > yellow_above = 0.5) - **YELLOW** spec: docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.13 hard_to_read (0.52 > yellow_above = 0.5) - **YELLOW** 9 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 = 120000): tests/test_rules.py, tests/test_token_count.py, werkrevisor/cli.py and 6 more - **YELLOW** no AI review: the PR needs 115462 input tokens (74491 counted with o200k_base × [model] token_count_factor = 1.55), more than the limit of 80000 derived from [budget] max_usd_per_review = 0.40 ### Classifier | Unit | Question | Problem | Confidence | Verdict | |---|---|---|---|---| | docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.04 | hard_to_read | 0.60 | 0.75 | YELLOW | | docs/prs/2026-10-05-PR#11-mechanical-changes-skip-the-model.md Scenario#11.13 | hard_to_read | 0.52 | 0.52 | YELLOW | 18 of 20 units passed all questions (1 PR document(s)). 7 answers ignored because of a confidence below [classifier] min_confidence. <sub> Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (too large), tokens counted before the call 115462, duration 6.2 s, no model call, cost 0 USD, classifier `jev-1.13.0` calls 20, tokens in 18613, cost 0.0008 USD, config: defaults + host + repository (.werkrevisor.toml at base fcab521).<br> Reviewed head `28567bcb9eab45407f82913c1f061f3a6a88ebb5` against base `fcab52151f1c9b803c4d4ff8bffde3a924411cfd`, werkrevisor 0.12.0. </sub>
mi merged commit d778c113e9 into main 2026-10-05 19:28:32 +02:00
mi deleted branch claude-code/mechanical-changes-skip-model 2026-10-05 19:28:32 +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#11