Each PR document states Version: major|minor|patch and its release notes; the build derives the version and the changelog from them, as werkregie PR#79 does.
Two open PRs no longer change the same lines for version and changelog.
Each PR document states `Version: major|minor|patch` and its release notes; the build derives the version and the changelog from them, as werkregie PR#79 does.
Two open PRs no longer change the same lines for version and changelog.
See docs/prs/2026-10-14-PR#70-derived-version.md.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
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
ORANGE changes that weaken the checks according to Jev: werkcrappit-pit/src/test/java/de/javagil/werkcrappit/pit/docs/VersionConsistencyTest.java (weakens checks 0.86)
YELLOW tests lost or disabled: werkcrappit-pit/src/test/java/de/javagil/werkcrappit/pit/docs/VersionConsistencyTest.java deleted
hint writing rules violated in the changed docs: AGENTS.md:77: line longer than 128 characters (135); docs/prs/2026-10-14-PR#70-derived-version.md:21: line longer than 128 characters (132)
Classifier
9 of 9 units passed all questions (1 PR document(s)).
Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 17256, calls 1, tokens in 16660 / out 19874 (reasoning included in out), duration 399.9 s, cost 0.0248 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6993, cost 0.0003 USD, build file judge `jev-1.13.0` calls 3, tokens in 5530, cost 0.0002 USD, phases: path_judge 0.2 s, classifier 0.6 s, context 0.2 s, model_review 398.4 s, config: defaults + host + repository (.werkrevisor.toml at main cb85e8e).
Reviewed head `27383fedb07f8c1e0504434b3f1e7e4d4027fd9f` against base `cb85e8e8ad0a25152a2e6bd89830b43fcc405016`, werkrevisor 0.41.2.
<!-- werkrevisor:27383fedb07f8c1e0504434b3f1e7e4d4027fd9f -->
<!-- werkrevisor-verdict:ORANGE -->
<!-- werkrevisor-blocks:8078cb2adada75363408598f91a42cef,f5d15f110ac6433c3c7f76e3de8ba9e0,0b287e039c75ffeefcddb76d701ac3e0,327cbdff4e62ecabb342115a093ec084,48b11a2db8928c8036427cdc4358068e,8cd29dac9e4da9f968f29dd38198d67b,07feb5fd1176223efb821d759d05f882,c6ffa293755d1c22e32163bb70224a23,d5a9bf1e87b7ef81dd047d628bf1be2a,ec47544cd715969d04045e2a1315ba1d,076090ddde71bdf1f11bd25d524a035c,dd019061a7c264c19507b49b247e0875,389ca75dd0b42496ef30e13d7c19ba9a,78fbacf403e4fa1bae586dc26394eb00,0cf5f0274f64e6481279b3fc711a08b3,304c492ae0ecf0fa82e748149aa80202,6f58b3e0900d41768e6f1b8dacde1c28 -->
<!-- werkrevisor-folded -->
<details><summary>🟠 werkrevisor ORANGE for <code>27383fe</code>, superseded by <a href="http://git.javagil.de/mi/werkcrappit/pulls/70#issuecomment-5869">the result for <code>cecf9fd</code></a></summary>
## 🟠 werkrevisor: ORANGE / FINDINGS
Change kind: `mixed`.
### Reasons
- **ORANGE** changes that weaken the checks according to Jev: werkcrappit-pit/src/test/java/de/javagil/werkcrappit/pit/docs/VersionConsistencyTest.java (weakens checks 0.86)
- **YELLOW** tests lost or disabled: werkcrappit-pit/src/test/java/de/javagil/werkcrappit/pit/docs/VersionConsistencyTest.java deleted
- **YELLOW** risky build changes according to Jev: build.gradle.kts (weakens checks 0.17, risk 1.91, security 0.02), tools/publish (weakens checks 0.22, risk 1.92, security 0.12)
- **hint** writing rules violated in the changed docs: AGENTS.md:77: line longer than 128 characters (135); docs/prs/2026-10-14-PR#70-derived-version.md:21: line longer than 128 characters (132)
### Classifier
9 of 9 units passed all questions (1 PR document(s)).
<sub>
Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 17256, calls 1, tokens in 16660 / out 19874 (reasoning included in out), duration 399.9 s, cost 0.0248 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6993, cost 0.0003 USD, build file judge `jev-1.13.0` calls 3, tokens in 5530, cost 0.0002 USD, phases: path_judge 0.2 s, classifier 0.6 s, context 0.2 s, model_review 398.4 s, config: defaults + host + repository (.werkrevisor.toml at main cb85e8e).<br>
Reviewed head `27383fedb07f8c1e0504434b3f1e7e4d4027fd9f` against base `cb85e8e8ad0a25152a2e6bd89830b43fcc405016`, werkrevisor 0.41.2.
</sub>
</details>
werkrevisor: ORANGE / FINDINGS for 27383fedb07f8c1e0504434b3f1e7e4d4027fd9f.
The result comment of werkrevisor holds the details.
werkrevisor: ORANGE / FINDINGS for `27383fedb07f8c1e0504434b3f1e7e4d4027fd9f`.
The result comment of werkrevisor holds the details.
<!-- werkrevisor-review:27383fedb07f8c1e0504434b3f1e7e4d4027fd9f -->
ai-review/assessment AI findings; a developer approval after checking them unlocks the merge; a human review request is pending; merge already scheduled
ORANGE changes that weaken the checks according to Jev: werkcrappit-pit/src/test/java/de/javagil/werkcrappit/pit/docs/VersionConsistencyTest.java (weakens checks 0.88)
ORANGE 1 finding(s) that Jev rates as probably real and severe: tools/publish:12
YELLOW tests lost or disabled: werkcrappit-pit/src/test/java/de/javagil/werkcrappit/pit/docs/VersionConsistencyTest.java deleted
werkrevisor: ORANGE / FINDINGS for cecf9fde997659f6495de1c3a208d653777a0819.
The result comment of werkrevisor holds the details.
werkrevisor: ORANGE / FINDINGS for `cecf9fde997659f6495de1c3a208d653777a0819`.
The result comment of werkrevisor holds the details.
<!-- werkrevisor-review:cecf9fde997659f6495de1c3a208d653777a0819 -->
Possible Script Failure, severity unknown, counted as medium (werkrevisor)
ORANGE; Jev: real 0.69, severity 2.6 of 3
The tools/publish script reads the version via ./gradlew --console=plain --no-daemon -q properties. In Gradle, the -q flag sets the log level to WARN, which suppresses LIFECYCLE-level output. The properties task emits its output via logger.lifecycle(), so with -q the script receives no stdout from Gradle and exits with "the build gives no version" — the next release cannot be published. The old approach (a sed on build.gradle.kts) was more robust and did not depend on Gradle's quiet-mode behavior. The author should verify locally that ./gradlew --console=plain --no-daemon -q properties still emits a version: … line in the Gradle version used by Werkator, and drop -q if it does not.
**Possible Script Failure**, severity unknown, counted as medium (werkrevisor)
ORANGE; Jev: real 0.69, severity 2.6 of 3
The `tools/publish` script reads the version via `./gradlew --console=plain --no-daemon -q properties`. In Gradle, the `-q` flag sets the log level to WARN, which suppresses LIFECYCLE-level output. The `properties` task emits its output via `logger.lifecycle()`, so with `-q` the script receives no stdout from Gradle and exits with "the build gives no version" — the next release cannot be published. The old approach (a `sed` on `build.gradle.kts`) was more robust and did not depend on Gradle's quiet-mode behavior. The author should verify locally that `./gradlew --console=plain --no-daemon -q properties` still emits a `version: …` line in the Gradle version used by Werkator, and drop `-q` if it does not.
Not a real case: properties writes to standard output, which -q keeps.
With the wrapper of this repository, Gradle 9.8.0, the exact command ./gradlew --console=plain --no-daemon -q properties | sed -n 's/^version: //p' prints 0.26.15 on this branch.
The sed on build.gradle.kts no longer works, since the file holds no version literal any more.
Not a real case: `properties` writes to standard output, which `-q` keeps.
With the wrapper of this repository, Gradle 9.8.0, the exact command `./gradlew --console=plain --no-daemon -q properties | sed -n 's/^version: //p'` prints `0.26.15` on this branch.
The `sed` on `build.gradle.kts` no longer works, since the file holds no version literal any more.
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.
Each PR document states
Version: major|minor|patchand its release notes; the build derives the version and the changelog from them, as werkregie PR#79 does.Two open PRs no longer change the same lines for version and changelog.
See docs/prs/2026-10-14-PR#70-derived-version.md.
🤖 Generated with Claude Code
🟠 werkrevisor ORANGE for
27383fe, superseded by the result forcecf9fd🟠 werkrevisor: ORANGE / FINDINGS
Change kind:
mixed.Reasons
Classifier
9 of 9 units passed all questions (1 PR document(s)).
Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 17256, calls 1, tokens in 16660 / out 19874 (reasoning included in out), duration 399.9 s, cost 0.0248 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6993, cost 0.0003 USD, build file judge `jev-1.13.0` calls 3, tokens in 5530, cost 0.0002 USD, phases: path_judge 0.2 s, classifier 0.6 s, context 0.2 s, model_review 398.4 s, config: defaults + host + repository (.werkrevisor.toml at maincb85e8e).Reviewed head `27383fedb07f8c1e0504434b3f1e7e4d4027fd9f` against base `cb85e8e8ad0a25152a2e6bd89830b43fcc405016`, werkrevisor 0.41.2.
werkrevisor: ORANGE / FINDINGS for
27383fedb07f8c1e0504434b3f1e7e4d4027fd9f.The result comment of werkrevisor holds the details.
@@ -75,1 +75,3 @@- Every PR adds its version to the top of `CHANGELOG.md`; a change that users do not notice is marked "Internal:".- The build derives the version from the PR documents, from the base version 0.26.14 on;for it, each Gradle run needs the full history and `origin/main`.- The release notes stand in the section "Release Notes" of the PR document; a change that users do not notice starts with "Internal:".Writing rule: line longer than 128 characters (135) (werkrevisor writing rule)
Fix the line, or reply why it stays, and resolve this comment.
@@ -0,0 +18,4 @@## Non-Goals- No Gradle plugin for the derivation; this is the second copy of the code of werkregie, the plugin follows with a third repository.Writing rule: line longer than 128 characters (132) (werkrevisor writing rule)
Fix the line, or reply why it stays, and resolve this comment.
@@ -75,1 +75,3 @@- Every PR adds its version to the top of `CHANGELOG.md`; a change that users do not notice is marked "Internal:".- The build derives the version from the PR documents, from the base version 0.26.14 on;for it, each Gradle run needs the full history and `origin/main`.- The release notes stand in the section "Release Notes" of the PR document;Fixed in
cecf9fd.@@ -0,0 +18,4 @@## Non-Goals- No Gradle plugin for the derivation; this is the second copy of the code of werkregie,Fixed in
cecf9fd.🟠 werkrevisor: ORANGE / FINDINGS
Change kind:
mixed.Reasons
Findings
tools/publish:12, severity unknown, counted as medium, ORANGE, as a line commentClassifier
9 of 9 units passed all questions (1 PR document(s)).
Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 17256, calls 1, tokens in 16661 / out 62408 (reasoning included in out), duration 328.8 s, cost 0.0799 USD (reported), classifier `jev-1.13.0` calls 9, tokens in 6994, cost 0.0003 USD, finding judge `jev-1.13.0` calls 1, tokens in 1513, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 5530, cost 0.0002 USD, phases: path_judge 0.3 s, classifier 0.6 s, context 0.2 s, model_review 326.9 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at maincb85e8e).Reviewed head `cecf9fde997659f6495de1c3a208d653777a0819` against base `cb85e8e8ad0a25152a2e6bd89830b43fcc405016`, werkrevisor 0.41.2.
werkrevisor: ORANGE / FINDINGS for
cecf9fde997659f6495de1c3a208d653777a0819.The result comment of werkrevisor holds the details.
@@ -11,2 +11,2 @@version="$(sed -n 's/^ version = "\(.*\)"$/\1/p' build.gradle.kts)"[ -n "$version" ] || { echo "no version found in build.gradle.kts" >&2; exit 1; }# the build derives the version from the PR documents (docs/agentic-workflow.md, "Versions")version="$(./gradlew --console=plain --no-daemon -q properties | sed -n 's/^version: //p')"Possible Script Failure, severity unknown, counted as medium (werkrevisor)
ORANGE; Jev: real 0.69, severity 2.6 of 3
The
tools/publishscript reads the version via./gradlew --console=plain --no-daemon -q properties. In Gradle, the-qflag sets the log level to WARN, which suppresses LIFECYCLE-level output. Thepropertiestask emits its output vialogger.lifecycle(), so with-qthe script receives no stdout from Gradle and exits with "the build gives no version" — the next release cannot be published. The old approach (asedonbuild.gradle.kts) was more robust and did not depend on Gradle's quiet-mode behavior. The author should verify locally that./gradlew --console=plain --no-daemon -q propertiesstill emits aversion: …line in the Gradle version used by Werkator, and drop-qif it does not.@@ -11,2 +11,2 @@version="$(sed -n 's/^ version = "\(.*\)"$/\1/p' build.gradle.kts)"[ -n "$version" ] || { echo "no version found in build.gradle.kts" >&2; exit 1; }# the build derives the version from the PR documents (docs/agentic-workflow.md, "Versions")version="$(./gradlew --console=plain --no-daemon -q properties | sed -n 's/^version: //p')"Not a real case:
propertieswrites to standard output, which-qkeeps.With the wrapper of this repository, Gradle 9.8.0, the exact command
./gradlew --console=plain --no-daemon -q properties | sed -n 's/^version: //p'prints0.26.15on this branch.The
sedonbuild.gradle.ktsno longer works, since the file holds no version literal any more.