werkrevisor 0.9.0: deterministic writing rules for changed docs, and jev-eval with the config layers of the review.
Changed Markdown lines are checked against the AGENTS.md writing style: one sentence per line, line length, sentences per paragraph. Violations give ORANGE; the model still runs.
The unreliable Jev question about the writing rules is removed.
werkrevisor 0.9.0: deterministic writing rules for changed docs, and jev-eval with the config layers of the review.
- Changed Markdown lines are checked against the AGENTS.md writing style: one sentence per line, line length, sentences per paragraph. Violations give ORANGE; the model still runs.
- The unreliable Jev question about the writing rules is removed.
- `tools/jev-eval` reads defaults < host < repository config.
Details: the PR document under `docs/prs/`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Only added or changed lines of Markdown docs and PR documents count.
A violation gives ORANGE with one aggregated reason; the model still reviews the PR.
The new section [writing] is required and may be set by the repository config.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In the jev-eval measurement it flagged all 34 sections, so it did not tell good from bad text.
The countable writing rules are now checked deterministically.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
--repo-config puts a repository config on top of the host config, with the same rules as the review;
the default is .werkrevisor.toml in the current directory, --no-repo-config uses the host config alone.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
YELLOW test changes are not purely additive: tests/test_classifier.py:197 removes a test or assertion
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
YELLOW risky paths changed: .werkrevisor.toml (built in), config/hsadmin-ng.toml (config/), config/werkprobe.toml (config/) and 1 more
RED the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (invalid .werkrevisor.toml), duration 0.2 s, no model call, cost 0 USD, config: defaults + host + repository (.werkrevisor.toml at base 667cbe9).
Reviewed head `678985fefabf879c43818fb6ebb4ff91c6cd6e55` against base `667cbe94bec1f7bd82379f1cf2d8f376a3b50412`, werkrevisor 0.8.0.
<!-- werkrevisor:678985fefabf879c43818fb6ebb4ff91c6cd6e55 -->
<!-- werkrevisor-verdict:RED -->
## 🔴 werkrevisor: RED / CHANGES_REQUIRED
Change kind: `mixed`.
### Reasons
- **YELLOW** test changes are not purely additive: tests/test_classifier.py:197 removes a test or assertion
- **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
- **YELLOW** risky paths changed: .werkrevisor.toml (built in), config/hsadmin-ng.toml (config/**), config/werkprobe.toml (config/**) and 1 more
- **RED** the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
<sub>
Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (invalid .werkrevisor.toml), duration 0.2 s, no model call, cost 0 USD, config: defaults + host + repository (.werkrevisor.toml at base 667cbe9).<br>
Reviewed head `678985fefabf879c43818fb6ebb4ff91c6cd6e55` against base `667cbe94bec1f7bd82379f1cf2d8f376a3b50412`, werkrevisor 0.8.0.
</sub>
werkrevisor: RED / CHANGES_REQUIRED for 678985fefabf879c43818fb6ebb4ff91c6cd6e55.
the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Details: #6 (comment)
werkrevisor: RED / CHANGES_REQUIRED for `678985fefabf879c43818fb6ebb4ff91c6cd6e55`.
- the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Details: http://git.javagil.de/mi/werkrevisor/pulls/6#issuecomment-834
<!-- werkrevisor-review:678985fefabf879c43818fb6ebb4ff91c6cd6e55 -->
YELLOW test changes are not purely additive: tests/test_classifier.py:197 removes a test or assertion
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
YELLOW risky paths changed: .werkrevisor.toml (built in), config/hsadmin-ng.toml (config/), config/werkprobe.toml (config/) and 1 more
RED the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (invalid .werkrevisor.toml), duration 0.2 s, no model call, cost 0 USD, config: defaults + host + repository (.werkrevisor.toml at base 667cbe9).
Reviewed head `3da203c5106ad337ef4384076b69f1387e8df5ce` against base `667cbe94bec1f7bd82379f1cf2d8f376a3b50412`, werkrevisor 0.8.0.
<!-- werkrevisor:3da203c5106ad337ef4384076b69f1387e8df5ce -->
<!-- werkrevisor-verdict:RED -->
## 🔴 werkrevisor: RED / CHANGES_REQUIRED
Change kind: `mixed`.
### Reasons
- **YELLOW** test changes are not purely additive: tests/test_classifier.py:197 removes a test or assertion
- **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
- **YELLOW** risky paths changed: .werkrevisor.toml (built in), config/hsadmin-ng.toml (config/**), config/werkprobe.toml (config/**) and 1 more
- **RED** the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
<sub>
Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (invalid .werkrevisor.toml), duration 0.2 s, no model call, cost 0 USD, config: defaults + host + repository (.werkrevisor.toml at base 667cbe9).<br>
Reviewed head `3da203c5106ad337ef4384076b69f1387e8df5ce` against base `667cbe94bec1f7bd82379f1cf2d8f376a3b50412`, werkrevisor 0.8.0.
</sub>
werkrevisor: RED / CHANGES_REQUIRED for 3da203c5106ad337ef4384076b69f1387e8df5ce.
the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Details: #6 (comment)
werkrevisor: RED / CHANGES_REQUIRED for `3da203c5106ad337ef4384076b69f1387e8df5ce`.
- the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Details: http://git.javagil.de/mi/werkrevisor/pulls/6#issuecomment-837
<!-- werkrevisor-review:3da203c5106ad337ef4384076b69f1387e8df5ce -->
mi
merged commit 2c41b912f4 into main2026-10-05 16:37:00 +02:00
mi
deleted branch claude-code/deterministic-writing-rules2026-10-05 16:37:00 +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.
werkrevisor 0.9.0: deterministic writing rules for changed docs, and jev-eval with the config layers of the review.
tools/jev-evalreads defaults < host < repository config.Details: the PR document under
docs/prs/.🤖 Generated with Claude Code
🔴 werkrevisor: RED / CHANGES_REQUIRED
Change kind:
mixed.Reasons
- YELLOW test changes are not purely additive: tests/test_classifier.py:197 removes a test or assertion
- 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
- YELLOW risky paths changed: .werkrevisor.toml (built in), config/hsadmin-ng.toml (config/), config/werkprobe.toml (config/) and 1 more
- RED the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (invalid .werkrevisor.toml), duration 0.2 s, no model call, cost 0 USD, config: defaults + host + repository (.werkrevisor.toml at base667cbe9).Reviewed head `678985fefabf879c43818fb6ebb4ff91c6cd6e55` against base `667cbe94bec1f7bd82379f1cf2d8f376a3b50412`, werkrevisor 0.8.0.
werkrevisor: RED / CHANGES_REQUIRED for
678985fefabf879c43818fb6ebb4ff91c6cd6e55.Details: #6 (comment)
🔴 werkrevisor: RED / CHANGES_REQUIRED
Change kind:
mixed.Reasons
- YELLOW test changes are not purely additive: tests/test_classifier.py:197 removes a test or assertion
- 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
- YELLOW risky paths changed: .werkrevisor.toml (built in), config/hsadmin-ng.toml (config/), config/werkprobe.toml (config/) and 1 more
- RED the changed .werkrevisor.toml is invalid: .werkrevisor.toml: unknown section [writing]; after the merge every review would end with ERROR
Usage: model `openrouter/anthropic/claude-sonnet-5.5`, LLM skipped (invalid .werkrevisor.toml), duration 0.2 s, no model call, cost 0 USD, config: defaults + host + repository (.werkrevisor.toml at base667cbe9).Reviewed head `3da203c5106ad337ef4384076b69f1387e8df5ce` against base `667cbe94bec1f7bd82379f1cf2d8f376a3b50412`, werkrevisor 0.8.0.
werkrevisor: RED / CHANGES_REQUIRED for
3da203c5106ad337ef4384076b69f1387e8df5ce.Details: #6 (comment)