A Go toolchain without known vulnerabilities (0.13.1) #16

Merged
ai-reviewer merged 10 commits from claude-code/go-toolchain into main 2026-10-20 16:49:05 +02:00
Collaborator

werkdock builds with a fixed Go toolchain without known vulnerabilities; see the PR document under docs/prs/.

🤖 Generated with Claude Code

werkdock builds with a fixed Go toolchain without known vulnerabilities; see the PR document under docs/prs/. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-code marked the pull request as ready for review 2026-10-20 15:09:41 +02:00
Collaborator
🟠 werkrevisor ORANGE for de892ef, superseded by the result for 69785ca

🟠 werkrevisor: ORANGE / FINDINGS

Change kind: mixed.

Reasons

  • ORANGE 2 finding(s) that Jev rates as probably real and severe: go.mod:5, docs/werkdock.werkbaum:42-43
  • YELLOW risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md)
  • YELLOW risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.88, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.78, security 0.02)
  • hint 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:25
  • hint model recommends changes before merge

Findings

  1. [medium] Unpinned Toolchain at go.mod:5, ORANGE, as a line comment

  2. [medium] Rollout Pending at docs/werkdock.werkbaum:42-43, ORANGE, as a line comment

  3. [low] Bootstrap Minimum at docs/prs/2026-10-20-PR#16-go-toolchain.md:25, hint, as a line comment

Classifier

5 of 5 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 11900, calls 1, tokens in 11607 / out 21184 (reasoning included in out), duration 187.4 s, cost 0.0289 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3616, cost 0.0002 USD, finding judge `jev-1.13.0` calls 2, tokens in 3113, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2256, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.4 s, context 0.2 s, model_review 186.0 s, finding_judge 0.3 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).
Reviewed head `de892ef5666cd28caaab3f2349698d39c3f6927b` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1.
<!-- werkrevisor:de892ef5666cd28caaab3f2349698d39c3f6927b --> <!-- werkrevisor-verdict:ORANGE --> <!-- werkrevisor-blocks:ee23673ebd053dbd81ae336ec9413244,b128239530b57ec0e3cb2a19411dee45,dd6eb3b3018327b7b1796e57f0a31ab0,86246f89d84eb856187c03d9e83a2b6c,18027d2ef887cb6e88243b5b12f0c95f,34a5944379ef68eee33a2862835a0aee,b408ac3ad7dc1bd4aa764e2f00b4c281,2e74ee5def6d65aa33ea50dd9d686a76,28b28ecdb1c203288b5388231a4ddade,43e97af7b632688ff431f7ec5a56b1e9,ce9a1eea7ece6d37f63becd98314f5d9 --> <!-- werkrevisor-folded --> <details><summary>🟠 werkrevisor ORANGE for <code>de892ef</code>, superseded by <a href="http://git.javagil.de/mi/werkdock/pulls/16#issuecomment-6637">the result for <code>69785ca</code></a></summary> ## 🟠 werkrevisor: ORANGE / FINDINGS Change kind: `mixed`. ### Reasons - **ORANGE** 2 finding(s) that Jev rates as probably real and severe: go.mod:5, docs/werkdock.werkbaum:42-43 - **YELLOW** risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md) - **YELLOW** risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.88, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.78, security 0.02) - **hint** 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:25 - **hint** model recommends changes before merge ### Findings 1. **[medium] Unpinned Toolchain** at `go.mod:5`, ORANGE, as a line comment 2. **[medium] Rollout Pending** at `docs/werkdock.werkbaum:42-43`, ORANGE, as a line comment 3. **[low] Bootstrap Minimum** at `docs/prs/2026-10-20-PR#16-go-toolchain.md:25`, hint, as a line comment ### Classifier 5 of 5 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 11900, calls 1, tokens in 11607 / out 21184 (reasoning included in out), duration 187.4 s, cost 0.0289 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3616, cost 0.0002 USD, finding judge `jev-1.13.0` calls 2, tokens in 3113, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2256, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.4 s, context 0.2 s, model_review 186.0 s, finding_judge 0.3 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).<br> Reviewed head `de892ef5666cd28caaab3f2349698d39c3f6927b` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1. </sub> </details>
ai-reviewer left a comment
Collaborator

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

werkrevisor: ORANGE / FINDINGS for `de892ef5666cd28caaab3f2349698d39c3f6927b`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:de892ef5666cd28caaab3f2349698d39c3f6927b -->
@@ -0,0 +22,4 @@
- `go.mod` names the toolchain go1.26.10, the newest Go on 2026-10-20.
The `go` line stays at 1.22, the oldest language version the code needs.
A Go older than go1.26.10 switches to it by `GOTOOLCHAIN=auto`, the default;
Collaborator

[low] Bootstrap Minimum (werkrevisor)

hint

Automatic toolchain switching is implemented only by Go 1.21 and later. A user starting from Go 1.20 receives an unsupported go.mod or unknown-directive error rather than downloading Go 1.26.10, so the statement that any older Go switches automatically needs an explicit bootstrap-version qualification.

**[low] Bootstrap Minimum** (werkrevisor) hint Automatic toolchain switching is implemented only by Go 1.21 and later. A user starting from Go 1.20 receives an unsupported `go.mod` or unknown-directive error rather than downloading Go 1.26.10, so the statement that any older Go switches automatically needs an explicit bootstrap-version qualification.
Author
Collaborator

Fixed in 69785ca: the PR document says that the go 1.22 line needs Go 1.22 or newer to start the build, and only such a Go switches.

Fixed in `69785ca`: the PR document says that the `go 1.22` line needs Go 1.22 or newer to start the build, and only such a Go switches.
claude-code marked this conversation as resolved
@@ -41,2 +40,3 @@
- [^] #workflow.checks: Licenses in each build, vulnerabilities per branch and of main each night (S)
" werkdock PR#15: go-licenses and govulncheck.
- [ ] #workflow.toolchain: Build with a Go toolchain without known vulnerabilities, and roll it out to mih09 (S) :#workflow.checks
- [x] #workflow.toolchain: Build with a Go toolchain without known vulnerabilities, and roll it out to mih09 (S) :#workflow.checks
Collaborator

[medium] Rollout Pending (werkrevisor)

ORANGE; Jev: real 0.79, severity 3.0 of 3

This item includes rollout to mih09, but the PR document says the binary is copied and the services are restarted only after merge, while the current mih09 binary still uses Go 1.22.2. Marking the item complete prematurely closes an outstanding manual deployment and can leave the API services running the known-vulnerable toolchain. Keep it pending until rollout or split source-toolchain completion from deployment.

**[medium] Rollout Pending** (werkrevisor) ORANGE; Jev: real 0.79, severity 3.0 of 3 This item includes rollout to mih09, but the PR document says the binary is copied and the services are restarted only after merge, while the current mih09 binary still uses Go 1.22.2. Marking the item complete prematurely closes an outstanding manual deployment and can leave the API services running the known-vulnerable toolchain. Keep it pending until rollout or split source-toolchain completion from deployment.
Author
Collaborator

Stays: in this plan [x] means "merged, not yet deployed" (header of docs/werkdock.werkbaum and docs/agentic-workflow.md, "The Plan in Werkbaum"); the node turns [^] after the rollout to mih09, which the PR document lists as the step after the merge.

Stays: in this plan `[x]` means "merged, not yet deployed" (header of docs/werkdock.werkbaum and docs/agentic-workflow.md, "The Plan in Werkbaum"); the node turns `[^]` after the rollout to mih09, which the PR document lists as the step after the merge.
claude-code marked this conversation as resolved
go.mod Outdated
@@ -2,2 +2,4 @@
go 1.22
toolchain go1.26.10
Collaborator

[medium] Unpinned Toolchain (werkrevisor)

ORANGE; Jev: real 0.65, severity 2.6 of 3

A toolchain directive is not an exact pin: when the host Go is newer than go1.26.10, the Go command keeps that local toolchain, and tools/check-licenses preserves the same selection. Such builds are not made with the measured toolchain and conflict with the PR's fixed-toolchain guarantee. Enforce GOTOOLCHAIN=go1.26.10 in release and CI builds, or describe the directive as only a minimum-version requirement.

**[medium] Unpinned Toolchain** (werkrevisor) ORANGE; Jev: real 0.65, severity 2.6 of 3 A `toolchain` directive is not an exact pin: when the host Go is newer than `go1.26.10`, the Go command keeps that local toolchain, and `tools/check-licenses` preserves the same selection. Such builds are not made with the measured toolchain and conflict with the PR's fixed-toolchain guarantee. Enforce `GOTOOLCHAIN=go1.26.10` in release and CI builds, or describe the directive as only a minimum-version requirement.
Author
Collaborator

Fixed in 69785ca as a description: go1.26.10 is the minimum toolchain. A newer Go carries its fixes, and tools/vulncheck checks the Go that actually builds, in each branch and each night; an exact pin would block a newer Go without a security reason.

Fixed in `69785ca` as a description: go1.26.10 is the minimum toolchain. A newer Go carries its fixes, and tools/vulncheck checks the Go that actually builds, in each branch and each night; an exact pin would block a newer Go without a security reason.
claude-code marked this conversation as resolved
ai-reviewer scheduled this pull request to auto merge when all checks succeed 2026-10-20 15:12:58 +02:00
ai-reviewer requested review from mi 2026-10-20 15:12:58 +02:00
Collaborator
🟡 werkrevisor YELLOW for 69785ca, superseded by the result for e813858

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md)
  • YELLOW risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.86, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.75, security 0.02)
  • hint 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:35

Findings

  1. Doc/code mismatch at docs/prs/2026-10-20-PR#16-go-toolchain.md:35, severity unknown, counted as medium

    hint; Jev: real 0.82, severity 2.0 of 3

    The PR document states "tools/check-licenses now runs go-licenses on the toolchain of go.mod", but the script does the opposite: it sets GOTOOLCHAIN=$(go env GOVERSION), which forces go-licenses to run on the local Go (e.g., 1.24.4 in the CI image), bypassing the toolchain go1.26.10 directive in go.mod. The script's own comment speaks of "the toolchain that builds the module" and the surrounding paragraph explains that go-licenses was failing because it pulled in 1.26.10's stdlib; the lead sentence as written is misleading and contradicts the code.

Classifier

5 of 5 units passed all questions (1 PR document(s)).

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 11819, calls 1, tokens in 11512 / out 18134 (reasoning included in out), duration 236.1 s, cost 0.0252 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3671, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1902, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.5 s, context 0.3 s, model_review 234.4 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).
Reviewed head `69785ca8ba16b4474ac3a74b48b1d1260db47b11` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1.
<!-- werkrevisor:69785ca8ba16b4474ac3a74b48b1d1260db47b11 --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:21c29f49497ae3352cfa8899fd9784f9,65d0cfd3fe4cd470b6394a400296c172,dd6eb3b3018327b7b1796e57f0a31ab0,86246f89d84eb856187c03d9e83a2b6c,18027d2ef887cb6e88243b5b12f0c95f,34a5944379ef68eee33a2862835a0aee,b408ac3ad7dc1bd4aa764e2f00b4c281,2e74ee5def6d65aa33ea50dd9d686a76,28b28ecdb1c203288b5388231a4ddade,43e97af7b632688ff431f7ec5a56b1e9,78c11cb815a8e9e2f04974eacae2084b --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>69785ca</code>, superseded by <a href="http://git.javagil.de/mi/werkdock/pulls/16#issuecomment-6642">the result for <code>e813858</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md) - **YELLOW** risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.86, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.75, security 0.02) - **hint** 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:35 ### Findings 1. **Doc/code mismatch** at `docs/prs/2026-10-20-PR#16-go-toolchain.md:35`, severity unknown, counted as medium hint; Jev: real 0.82, severity 2.0 of 3 The PR document states "`tools/check-licenses` now runs go-licenses on the toolchain of `go.mod`", but the script does the opposite: it sets `GOTOOLCHAIN=$(go env GOVERSION)`, which forces go-licenses to run on the local Go (e.g., 1.24.4 in the CI image), bypassing the `toolchain go1.26.10` directive in `go.mod`. The script's own comment speaks of "the toolchain that builds the module" and the surrounding paragraph explains that go-licenses was failing because it pulled in 1.26.10's stdlib; the lead sentence as written is misleading and contradicts the code. ### Classifier 5 of 5 units passed all questions (1 PR document(s)). <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 11819, calls 1, tokens in 11512 / out 18134 (reasoning included in out), duration 236.1 s, cost 0.0252 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3671, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1902, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.5 s, context 0.3 s, model_review 234.4 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).<br> Reviewed head `69785ca8ba16b4474ac3a74b48b1d1260db47b11` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1. </sub> </details>
mi approved these changes 2026-10-20 15:22:31 +02:00
Dismissed
Collaborator
🟠 werkrevisor ORANGE for e813858, superseded by the result for cf83fd4

🟠 werkrevisor: ORANGE / FINDINGS

Gate: the approval of mi came before this result; review requested again, please approve again after reading it; merge already scheduled.

Change kind: mixed.

Reasons

  • ORANGE 1 finding(s) that Jev rates as probably real and severe: docs/risk-analysis.md:58-61
  • YELLOW risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md)
  • YELLOW risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.86, security 0.02), tools/check-licenses (weakens checks 0.07, risk 1.76, security 0.02)
  • YELLOW model reports a security concern: Pending rollout: merging does not replace or restart the mih09 binary, so the existing go1.22.2 API service retains its known standard-library vulnerabilities until the documented manual copy and service restart are completed.
  • hint 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:23-27
  • hint model recommends changes before merge

Findings

  1. [medium] Pending Rollout at docs/risk-analysis.md:58-61, ORANGE, as a line comment

  2. [low] Incorrect Minimum at docs/prs/2026-10-20-PR#16-go-toolchain.md:23-27

    hint

    A Go toolchain directive names a suggested, not minimum, toolchain. The same paragraph says a newer Go builds with itself, while GOTOOLCHAIN=local can also let an older Go build; calling go1.26.10 the minimum therefore overstates the guarantee and may lead source builders to overlook builds made with an older vulnerable standard library. Describe it as the default-selected toolchain or enforce the intended minimum.

Classifier

5 of 5 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 11988, calls 1, tokens in 11692 / out 18820 (reasoning included in out), duration 146.1 s, cost 0.0261 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3703, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1833, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.5 s, context 0.2 s, model_review 144.5 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).
Reviewed head `e81385827423f3f7ac19c9a3384333c36734f695` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1.
<!-- werkrevisor:e81385827423f3f7ac19c9a3384333c36734f695 --> <!-- werkrevisor-verdict:ORANGE --> <!-- werkrevisor-blocks:21c29f49497ae3352cfa8899fd9784f9,09b0689c750b7b8db0620eee510f7e4d,dd6eb3b3018327b7b1796e57f0a31ab0,86246f89d84eb856187c03d9e83a2b6c,18027d2ef887cb6e88243b5b12f0c95f,34a5944379ef68eee33a2862835a0aee,b408ac3ad7dc1bd4aa764e2f00b4c281,2e74ee5def6d65aa33ea50dd9d686a76,28b28ecdb1c203288b5388231a4ddade,43e97af7b632688ff431f7ec5a56b1e9,78c11cb815a8e9e2f04974eacae2084b --> <!-- werkrevisor-folded --> <details><summary>🟠 werkrevisor ORANGE for <code>e813858</code>, superseded by <a href="http://git.javagil.de/mi/werkdock/pulls/16#issuecomment-6656">the result for <code>cf83fd4</code></a></summary> ## 🟠 werkrevisor: ORANGE / FINDINGS Gate: the approval of mi came before this result; review requested again, please approve again after reading it; merge already scheduled. Change kind: `mixed`. ### Reasons - **ORANGE** 1 finding(s) that Jev rates as probably real and severe: docs/risk-analysis.md:58-61 - **YELLOW** risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md) - **YELLOW** risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.86, security 0.02), tools/check-licenses (weakens checks 0.07, risk 1.76, security 0.02) - **YELLOW** model reports a security concern: Pending rollout: merging does not replace or restart the mih09 binary, so the existing go1.22.2 API service retains its known standard-library vulnerabilities until the documented manual copy and service restart are completed. - **hint** 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:23-27 - **hint** model recommends changes before merge ### Findings 1. **[medium] Pending Rollout** at `docs/risk-analysis.md:58-61`, ORANGE, as a line comment 2. **[low] Incorrect Minimum** at `docs/prs/2026-10-20-PR#16-go-toolchain.md:23-27` hint A Go `toolchain` directive names a suggested, not minimum, toolchain. The same paragraph says a newer Go builds with itself, while `GOTOOLCHAIN=local` can also let an older Go build; calling go1.26.10 the minimum therefore overstates the guarantee and may lead source builders to overlook builds made with an older vulnerable standard library. Describe it as the default-selected toolchain or enforce the intended minimum. ### Classifier 5 of 5 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 11988, calls 1, tokens in 11692 / out 18820 (reasoning included in out), duration 146.1 s, cost 0.0261 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3703, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1833, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.5 s, context 0.2 s, model_review 144.5 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).<br> Reviewed head `e81385827423f3f7ac19c9a3384333c36734f695` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1. </sub> </details>
ai-reviewer left a comment
Collaborator

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

werkrevisor: ORANGE / FINDINGS for `e81385827423f3f7ac19c9a3384333c36734f695`. The result comment of werkrevisor holds the details. <!-- werkrevisor-review:e81385827423f3f7ac19c9a3384333c36734f695 -->
@@ -56,3 +56,3 @@
| a new third-party Go dependency | standard library only; a dependency needs an RFC (RFC 0001) |
Open risks:
Open risk:
Collaborator

[medium] Pending Rollout (werkrevisor)

ORANGE; Jev: real 0.60, severity 2.8 of 3

The PR removes the deployed binary's old-toolchain vulnerabilities from the open risks before the rollout occurs. Repository policy and the PR's own solution defer installation and service restarts until after merge, so werkdock-api-*.service still serves the vulnerable go1.22.2 binary until those manual steps finish. Retain an explicit pending-deployment risk until the rollout is confirmed.

**[medium] Pending Rollout** (werkrevisor) ORANGE; Jev: real 0.60, severity 2.8 of 3 The PR removes the deployed binary's old-toolchain vulnerabilities from the open risks before the rollout occurs. Repository policy and the PR's own solution defer installation and service restarts until after merge, so `werkdock-api-*.service` still serves the vulnerable go1.22.2 binary until those manual steps finish. Retain an explicit pending-deployment risk until the rollout is confirmed.
Author
Collaborator

Fixed in cf83fd4: the open risks name the manual rollout; until it is done, mih09 runs the previous binary, on 2026-10-20 one of go1.22.2.

Fixed in `cf83fd4`: the open risks name the manual rollout; until it is done, mih09 runs the previous binary, on 2026-10-20 one of go1.22.2.
claude-code marked this conversation as resolved
ai-reviewer requested review from mi 2026-10-20 15:25:59 +02:00
claude-code dismissed mi's review 2026-10-20 15:26:46 +02:00
Reason:

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

Collaborator
🟡 werkrevisor YELLOW for cf83fd4, superseded by the result for e9701fe

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md)
  • YELLOW risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.88, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.79, security 0.02)
  • hint 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:14

Findings

  1. Subject-Verb Disagreement at docs/prs/2026-10-20-PR#16-go-toolchain.md:14, severity unknown, counted as medium

    hint; Jev: real 0.70, severity 1.0 of 3

    In the "Problem" section, the sentence "Which ones depends on the Go that builds werkdock, since go.mod names none." has a plural subject ("Which ones") paired with the singular verb "depends", and reads as if a complement such as "are called" is missing ("Which ones [are called] depends..."). The reader must reconstruct the intended clause, so the wording should be tightened (e.g. "Which ones are called depends on the Go that builds werkdock" or "They depend on the Go that builds werkdock").

Classifier

5 of 5 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 12022, calls 1, tokens in 11707 / out 12837 (reasoning included in out), duration 171.4 s, cost 0.0189 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3753, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1992, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.4 s, context 0.2 s, model_review 169.7 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).
Reviewed head `cf83fd4b4d95813f2da8ec1646cc7f962f25a891` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1.
<!-- werkrevisor:cf83fd4b4d95813f2da8ec1646cc7f962f25a891 --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:2bfdc84b2344bb31aa71328a5a4f68be,a513778d9088fae58bcaf8f5438a0f83,dd6eb3b3018327b7b1796e57f0a31ab0,d8b551b16e5725efd1aa68ee15bc3319,34a5944379ef68eee33a2862835a0aee,b408ac3ad7dc1bd4aa764e2f00b4c281,2e74ee5def6d65aa33ea50dd9d686a76,28b28ecdb1c203288b5388231a4ddade,43e97af7b632688ff431f7ec5a56b1e9,78c11cb815a8e9e2f04974eacae2084b --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>cf83fd4</code>, superseded by <a href="http://git.javagil.de/mi/werkdock/pulls/16#issuecomment-6673">the result for <code>e9701fe</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md) - **YELLOW** risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.88, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.79, security 0.02) - **hint** 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-20-PR#16-go-toolchain.md:14 ### Findings 1. **Subject-Verb Disagreement** at `docs/prs/2026-10-20-PR#16-go-toolchain.md:14`, severity unknown, counted as medium hint; Jev: real 0.70, severity 1.0 of 3 In the "Problem" section, the sentence "Which ones depends on the Go that builds werkdock, since `go.mod` names none." has a plural subject ("Which ones") paired with the singular verb "depends", and reads as if a complement such as "are called" is missing ("Which ones [are called] depends..."). The reader must reconstruct the intended clause, so the wording should be tightened (e.g. "Which ones are called depends on the Go that builds werkdock" or "They depend on the Go that builds werkdock"). ### Classifier 5 of 5 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 12022, calls 1, tokens in 11707 / out 12837 (reasoning included in out), duration 171.4 s, cost 0.0189 USD (reported), classifier `jev-1.13.0` calls 5, tokens in 3753, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1992, cost 0.0001 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.3 s, classifier 0.4 s, context 0.2 s, model_review 169.7 s, finding_judge 0.2 s, config: defaults + host + repository (.werkrevisor.toml at main c30be8b).<br> Reviewed head `cf83fd4b4d95813f2da8ec1646cc7f962f25a891` against base `c30be8b44192e002aa0d85609154283830d93a5a`, werkrevisor 0.54.1. </sub> </details>
claude-code changed title from A Go toolchain without known vulnerabilities (0.12.2) to A Go toolchain without known vulnerabilities (0.13.1) 2026-10-20 15:43:21 +02:00
claude-code added 10 commits 2026-10-20 15:43:22 +02:00
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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Built with the older Go of the build image, it took the standard library of go1.26.10 for packages without module info.

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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 0.13.1 after the rebase onto 0.13.0; the plan marks the Dockerfile build of PR#14 as merged
werkator build succeeded after 00:06
werkator/dependencies build succeeded after 00:06
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:39
e9701feabf
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code force-pushed claude-code/go-toolchain from 737ee6df81 to e9701feabf 2026-10-20 15:43:22 +02:00 Compare
Collaborator

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md)
  • YELLOW risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.85, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.77, security 0.02)
  • hint 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev

Classifier

6 of 6 units passed all questions (1 PR document(s)).

Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 13152, calls 1, tokens in 12772 / out 29192 (reasoning included in out), duration 336.5 s, cost 0.0388 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 4397, cost 0.0002 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.2 s, classifier 0.4 s, context 0.2 s, model_review 335.2 s, config: defaults + host + repository (.werkrevisor.toml at main 7504b97).
Reviewed head `e9701feabf79063cdfd563da8555b99b4d81f22f` against base `7504b97235d0ac1be84c73369e0f629a02bd672a`, werkrevisor 0.54.1.
<!-- werkrevisor:e9701feabf79063cdfd563da8555b99b4d81f22f --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:2659e353a1a5c18b87c766d100a33fde,2b0b1f6426ae2cc298d93a32826a7d28,dd6eb3b3018327b7b1796e57f0a31ab0,d8b551b16e5725efd1aa68ee15bc3319,62188eaa95ef786de04e0021950be6b3,5e87eedee6c337584083cafbdc39d2b1,34a5944379ef68eee33a2862835a0aee,b408ac3ad7dc1bd4aa764e2f00b4c281,75821651a7f3bea84e5cc3a46f3d28d7,28b28ecdb1c203288b5388231a4ddade,01a864f478d5a5f94665e30267477168,78c11cb815a8e9e2f04974eacae2084b --> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** risky paths changed: docs/risk-analysis.md (docs/risk-analysis.md) - **YELLOW** risky build changes according to Jev: go.mod (weakens checks 0.04, risk 1.85, security 0.02), tools/check-licenses (weakens checks 0.08, risk 1.77, security 0.02) - **hint** 1 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev ### Classifier 6 of 6 units passed all questions (1 PR document(s)). <sub> Usage: model `openrouter/minimax/minimax-m3`, LLM done, tokens counted before the call 13152, calls 1, tokens in 12772 / out 29192 (reasoning included in out), duration 336.5 s, cost 0.0388 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 4397, cost 0.0002 USD, build file judge `jev-1.13.0` calls 3, tokens in 2253, cost 0.0001 USD, phases: path_judge 0.2 s, classifier 0.4 s, context 0.2 s, model_review 335.2 s, config: defaults + host + repository (.werkrevisor.toml at main 7504b97).<br> Reviewed head `e9701feabf79063cdfd563da8555b99b4d81f22f` against base `7504b97235d0ac1be84c73369e0f629a02bd672a`, werkrevisor 0.54.1. </sub>
mi approved these changes 2026-10-20 16:49:03 +02:00
ai-reviewer merged commit 03312d484e into main 2026-10-20 16:49:05 +02:00
ai-reviewer deleted branch claude-code/go-toolchain 2026-10-20 16:49:05 +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/werkdock#16