A commit status lost on a dead connection is sent once more (v1.41.6) #155

Merged
ai-reviewer merged 3 commits from claude-code/gitea-status-retry into main 2026-10-12 15:13:52 +02:00
Collaborator

werkcrappit PR#68 stayed pending: the final ai-review/gate status hit a pooled connection the proxy had closed ("HTTP/1.1 header parser received no bytes"), and publishStatus tried only once. An I/O error now gets one more attempt after 500 ms; HTTP error answers are not repeated.

See docs/prs/2026-10-12-PR#155-gitea-status-retry.md.

🤖 Generated with Claude Code

werkcrappit PR#68 stayed pending: the final `ai-review/gate` status hit a pooled connection the proxy had closed ("HTTP/1.1 header parser received no bytes"), and `publishStatus` tried only once. An I/O error now gets one more attempt after 500 ms; HTTP error answers are not repeated. See docs/prs/2026-10-12-PR#155-gitea-status-retry.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-code added 1 commit 2026-10-12 14:13:26 +02:00
A commit status lost on a dead connection is sent once more (v1.41.6)
werkator build succeeded after 04:22
ai-review/assessment human review required; a human approval unlocks the merge; review requested from mi; merge scheduled for when the checks succeed
ai-review/gate build succeeded after 00:46
b40bf2965e
werkcrappit PR#68 stayed pending: the final ai-review/gate status hit a
pooled connection the proxy had closed ("header parser received no bytes"),
and publishStatus tried only once. An I/O error now gets one more attempt
after 500 ms; HTTP error answers are not repeated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-code marked the pull request as ready for review 2026-10-12 14:18:30 +02:00
Collaborator
🟡 werkrevisor YELLOW for b40bf29, superseded by the result for fbbaf69

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW Error handling and recovery according to Jev: src/main/kotlin/de/hoennig/werkator/gitea/GiteaClient.kt (0.98); a human checks it, unless you revert the change because the task does not need it
  • YELLOW spec: docs/prs/2026-10-12-PR#155-gitea-status-retry.md Scenario#155.01 given_when_then_misused (0.65 > yellow_above = 0.6)
  • hint 2 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 build change(s) of low risk according to Jev: build.gradle.kts (weakens checks 0.03, risk 0.00, security 0.01)
  • hint 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (each larger than [review] max_full_file_chars = 80000): src/main/resources/templates/releases.html

Classifier

Unit Question Problem Confidence Verdict
docs/prs/2026-10-12-PR#155-gitea-status-retry.md Scenario#155.01 given_when_then_misused 0.65 – YELLOW

3 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 30673, calls 1, tokens in 29488 / out 4549 (reasoning included in out), duration 43.9 s, cost 0.0143 USD (reported), classifier `jev-1.13.0` calls 4, tokens in 3375, cost 0.0001 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 1, tokens in 31015 / out 164, cost 0.0040 USD (reported), build file judge `jev-1.13.0` calls 4, tokens in 5086, cost 0.0002 USD, phases: path_judge 0.3 s, classifier 0.2 s, context 4.5 s, model_review 38.5 s, config: defaults + host + repository (.werkrevisor.toml at main d59afa9).
Reviewed head `b40bf2965e329b697bcb6a05dbf29495d07a2e2e` against base `d59afa90933921d50fc8103557cd93e13b7e9a6b`, werkrevisor 0.36.1.
<!-- werkrevisor:b40bf2965e329b697bcb6a05dbf29495d07a2e2e --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:d4ad48d9180663f5961977eab65951d2,e85af7fb32216d5fa2fa324e91f10b1d,e7847ad5c1214d998509a3aa610d0bed,457bab05053b76e1527d1d0a5118bb67,54da4fc92262587a452a4d9a2e79929f,113552a9e69b70bb9e6be784568130f9,131346549efff94d9398a4cef8e3a67f,3bdbc58b3780b918684ef05ee9ea0dcb,c7fe99e070bc17b094700a570765ee7f,355c791d303c9aef81f6ce3f9c684632 --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>b40bf29</code>, superseded by <a href="http://git.javagil.de/mi/werkator/pulls/155#issuecomment-4642">the result for <code>fbbaf69</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** Error handling and recovery according to Jev: src/main/kotlin/de/hoennig/werkator/gitea/GiteaClient.kt (0.98); a human checks it, unless you revert the change because the task does not need it - **YELLOW** spec: docs/prs/2026-10-12-PR#155-gitea-status-retry.md Scenario#155.01 given_when_then_misused (0.65 > yellow_above = 0.6) - **hint** 2 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 build change(s) of low risk according to Jev: build.gradle.kts (weakens checks 0.03, risk 0.00, security 0.01) - **hint** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (each larger than [review] max_full_file_chars = 80000): src/main/resources/templates/releases.html ### Classifier | Unit | Question | Problem | Confidence | Verdict | |---|---|---|---|---| | docs/prs/2026-10-12-PR#155-gitea-status-retry.md Scenario#155.01 | given_when_then_misused | 0.65 | – | YELLOW | 3 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 30673, calls 1, tokens in 29488 / out 4549 (reasoning included in out), duration 43.9 s, cost 0.0143 USD (reported), classifier `jev-1.13.0` calls 4, tokens in 3375, cost 0.0001 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 1, tokens in 31015 / out 164, cost 0.0040 USD (reported), build file judge `jev-1.13.0` calls 4, tokens in 5086, cost 0.0002 USD, phases: path_judge 0.3 s, classifier 0.2 s, context 4.5 s, model_review 38.5 s, config: defaults + host + repository (.werkrevisor.toml at main d59afa9).<br> Reviewed head `b40bf2965e329b697bcb6a05dbf29495d07a2e2e` against base `d59afa90933921d50fc8103557cd93e13b7e9a6b`, werkrevisor 0.36.1. </sub> </details>
ai-reviewer scheduled this pull request to auto merge when all checks succeed 2026-10-12 14:19:23 +02:00
ai-reviewer requested review from mi 2026-10-12 14:19:23 +02:00
claude-code added 1 commit 2026-10-12 14:19:50 +02:00
Scenario#155.01 split into one scenario per outcome
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 01:53
werkator build succeeded after 02:55
fbbaf692f9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
🟡 werkrevisor YELLOW for fbbaf69, superseded by the result for ccaa15f

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW Error handling and recovery according to Jev: src/main/kotlin/de/hoennig/werkator/gitea/GiteaClient.kt (0.98); a human checks it, unless you revert the change because the task does not need it
  • hint 2 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 build change(s) of low risk according to Jev: build.gradle.kts (weakens checks 0.03, risk 0.00, security 0.01)
  • hint 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (each larger than [review] max_full_file_chars = 80000): src/main/resources/templates/releases.html
  • hint 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-12-PR#155-gitea-status-retry.md:81

Findings

  1. Unclear sentence at docs/prs/2026-10-12-PR#155-gitea-status-retry.md:81, severity unknown, counted as medium

    hint; Jev: real 0.72, severity 1.0 of 3

    Line 81 reads "The retry costs half a second on the calling thread, the watcher's for 'queued', and only on an I/O error." The phrase "the watcher's for 'queued'" is grammatically incomplete — likely meant "the watcher's thread for 'queued' [builds]" — and its connection to the surrounding clause is left for the reader to guess.

Classifier

6 of 6 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 30846, calls 1, tokens in 29656 / out 17278 (reasoning included in out), duration 109.6 s, cost 0.0296 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 5188, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1879, cost 0.0001 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 1, tokens in 31015 / out 95, cost 0.0004 USD (reported), build file judge `jev-1.13.0` calls 4, tokens in 5086, cost 0.0002 USD, phases: path_judge 0.3 s, classifier 0.4 s, context 4.7 s, model_review 103.3 s, finding_judge 0.3 s, config: defaults + host + repository (.werkrevisor.toml at main d59afa9).
Reviewed head `fbbaf692f972320680b2254dcc69b7a1336f38ae` against base `d59afa90933921d50fc8103557cd93e13b7e9a6b`, werkrevisor 0.36.1.
<!-- werkrevisor:fbbaf692f972320680b2254dcc69b7a1336f38ae --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:d4ad48d9180663f5961977eab65951d2,82b8eefca9591a59b5ada74a13b3fad7,e7847ad5c1214d998509a3aa610d0bed,457bab05053b76e1527d1d0a5118bb67,54da4fc92262587a452a4d9a2e79929f,113552a9e69b70bb9e6be784568130f9,131346549efff94d9398a4cef8e3a67f,3bdbc58b3780b918684ef05ee9ea0dcb,c7fe99e070bc17b094700a570765ee7f,607fa2bdddaa0fc5f0b726a124e17571 --> <!-- werkrevisor-folded --> <details><summary>🟡 werkrevisor YELLOW for <code>fbbaf69</code>, superseded by <a href="http://git.javagil.de/mi/werkator/pulls/155#issuecomment-4644">the result for <code>ccaa15f</code></a></summary> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** Error handling and recovery according to Jev: src/main/kotlin/de/hoennig/werkator/gitea/GiteaClient.kt (0.98); a human checks it, unless you revert the change because the task does not need it - **hint** 2 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 build change(s) of low risk according to Jev: build.gradle.kts (weakens checks 0.03, risk 0.00, security 0.01) - **hint** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (each larger than [review] max_full_file_chars = 80000): src/main/resources/templates/releases.html - **hint** 1 finding(s) of low severity or rated minor by Jev: docs/prs/2026-10-12-PR#155-gitea-status-retry.md:81 ### Findings 1. **Unclear sentence** at `docs/prs/2026-10-12-PR#155-gitea-status-retry.md:81`, severity unknown, counted as medium hint; Jev: real 0.72, severity 1.0 of 3 Line 81 reads "The retry costs half a second on the calling thread, the watcher's for 'queued', and only on an I/O error." The phrase "the watcher's for 'queued'" is grammatically incomplete — likely meant "the watcher's thread for 'queued' [builds]" — and its connection to the surrounding clause is left for the reader to guess. ### Classifier 6 of 6 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 30846, calls 1, tokens in 29656 / out 17278 (reasoning included in out), duration 109.6 s, cost 0.0296 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 5188, cost 0.0002 USD, finding judge `jev-1.13.0` calls 1, tokens in 1879, cost 0.0001 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 1, tokens in 31015 / out 95, cost 0.0004 USD (reported), build file judge `jev-1.13.0` calls 4, tokens in 5086, cost 0.0002 USD, phases: path_judge 0.3 s, classifier 0.4 s, context 4.7 s, model_review 103.3 s, finding_judge 0.3 s, config: defaults + host + repository (.werkrevisor.toml at main d59afa9).<br> Reviewed head `fbbaf692f972320680b2254dcc69b7a1336f38ae` against base `d59afa90933921d50fc8103557cd93e13b7e9a6b`, werkrevisor 0.36.1. </sub> </details>
claude-code added 1 commit 2026-10-12 14:23:21 +02:00
Clearer sentence on the cost of the retry in the PR-doc
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 00:58
werkator build succeeded after 03:02
ccaa15f974
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator

🟡 werkrevisor: YELLOW / HUMAN_REVIEW

Change kind: mixed.

Reasons

  • YELLOW Error handling and recovery according to Jev: src/main/kotlin/de/hoennig/werkator/gitea/GiteaClient.kt (0.98); a human checks it, unless you revert the change because the task does not need it
  • hint 2 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev
  • hint 1 build change(s) of low risk according to Jev: build.gradle.kts (weakens checks 0.03, risk 0.00, security 0.01)
  • hint 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (each larger than [review] max_full_file_chars = 80000): src/main/resources/templates/releases.html

Classifier

6 of 6 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 30862, calls 1, tokens in 29670 / out 3889 (reasoning included in out), duration 52.3 s, cost 0.0113 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 5202, cost 0.0002 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 1, tokens in 31015 / out 77, cost 0.0003 USD (reported), build file judge `jev-1.13.0` calls 4, tokens in 5086, cost 0.0002 USD, phases: path_judge 0.2 s, classifier 0.4 s, context 4.5 s, model_review 46.9 s, config: defaults + host + repository (.werkrevisor.toml at main d59afa9).
Reviewed head `ccaa15f974767295998826abf6afe5ef7bd2f679` against base `d59afa90933921d50fc8103557cd93e13b7e9a6b`, werkrevisor 0.36.1.
<!-- werkrevisor:ccaa15f974767295998826abf6afe5ef7bd2f679 --> <!-- werkrevisor-verdict:YELLOW --> <!-- werkrevisor-blocks:d4ad48d9180663f5961977eab65951d2,c1f8683c21db6bf99508867c18b380b2,e7847ad5c1214d998509a3aa610d0bed,457bab05053b76e1527d1d0a5118bb67,54da4fc92262587a452a4d9a2e79929f,113552a9e69b70bb9e6be784568130f9,131346549efff94d9398a4cef8e3a67f,3bdbc58b3780b918684ef05ee9ea0dcb,c7fe99e070bc17b094700a570765ee7f,607fa2bdddaa0fc5f0b726a124e17571 --> ## 🟡 werkrevisor: YELLOW / HUMAN_REVIEW Change kind: `mixed`. ### Reasons - **YELLOW** Error handling and recovery according to Jev: src/main/kotlin/de/hoennig/werkator/gitea/GiteaClient.kt (0.98); a human checks it, unless you revert the change because the task does not need it - **hint** 2 changed file(s) that neither weaken the checks, touch security nor show a risk category of jvm-spring-backend according to Jev - **hint** 1 build change(s) of low risk according to Jev: build.gradle.kts (weakens checks 0.03, risk 0.00, security 0.01) - **hint** 1 changed file was given to the AI as excerpt of the selected lines and 5 lines around each changed line, not in full (each larger than [review] max_full_file_chars = 80000): src/main/resources/templates/releases.html ### Classifier 6 of 6 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 30862, calls 1, tokens in 29670 / out 3889 (reasoning included in out), duration 52.3 s, cost 0.0113 USD (reported), classifier `jev-1.13.0` calls 6, tokens in 5202, cost 0.0002 USD, excerpt selection `openrouter/openai/gpt-6-luna` calls 1, tokens in 31015 / out 77, cost 0.0003 USD (reported), build file judge `jev-1.13.0` calls 4, tokens in 5086, cost 0.0002 USD, phases: path_judge 0.2 s, classifier 0.4 s, context 4.5 s, model_review 46.9 s, config: defaults + host + repository (.werkrevisor.toml at main d59afa9).<br> Reviewed head `ccaa15f974767295998826abf6afe5ef7bd2f679` against base `d59afa90933921d50fc8103557cd93e13b7e9a6b`, werkrevisor 0.36.1. </sub>
Collaborator

Codex review: not critical

The change adds one bounded retry of the same commit status after an I/O failure. It does not change authorization, credentials, status decisions, or CI gate requirements.

No findings.

This review only advises; it holds no merge.

Model `gpt-6-astra`, effort high, tokens in 175156 (cached 128768) / out 856, 40.0 s, 7 commands; reviewed head `ccaa15f974767295998826abf6afe5ef7bd2f679`.
<!-- werkrevisor-codex:ccaa15f974767295998826abf6afe5ef7bd2f679 --> <!-- werkrevisor-codex-critical:false --> <!-- werkrevisor-codex-unattached:0 --> <!-- werkrevisor-codex --> ## Codex review: not critical The change adds one bounded retry of the same commit status after an I/O failure. It does not change authorization, credentials, status decisions, or CI gate requirements. No findings. This review only advises; it holds no merge. <sub> Model `gpt-6-astra`, effort high, tokens in 175156 (cached 128768) / out 856, 40.0 s, 7 commands; reviewed head `ccaa15f974767295998826abf6afe5ef7bd2f679`. </sub>
mi approved these changes 2026-10-12 15:13:50 +02:00
ai-reviewer merged commit faa86e060b into main 2026-10-12 15:13:52 +02:00
ai-reviewer deleted branch claude-code/gitea-status-retry 2026-10-12 15:13:52 +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/werkator#155