Repository navigation
Conversation
…er fault named as a code cause (#5755) pv_bin_assert_fresh swallowed a nonzero exit into an empty version and printed STALE pv BINARY. A failed probe is now COULD NOT CHECK, rc 2, propagated to the caller. Case row 4o: a pv stub that exits 137 with no output was RED (STALE) before the fix, green after. Refs #5755 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…MPFAIL), red only on a confirmed stale binary (#5755) Operator semantics: could-not-check never passes and is a distinct infra exit code; STALE stays for a binary that answered with the wrong version. Cases 4o (dies every probe -> rc 75), 4p (dies once, answers -> accepted), 4q (answers stale -> STALE). Refs #5755 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
pace sign-off: NOT given @afdcd1b32cb4bb7b95aabc54534dcbe2b941c778 (defect, not a seat)
The 'could not check never passes' half holds: 3 probes, then COULD NOT CHECK and return 75; the sourced top level propagates the rc, so it never passes; rows 4o/4p/4q cover dead, flaky, stale. The other half, 'a 75 auto-reruns the step once', is not in this PR. Nothing in fat_driver.py, ci.yml or ci/sections.yml handles rc 75 (git grep for 75/EX_TEMPFAIL/rerun finds none), yet the pv_bin.sh comment claims 'the step runner reruns once'. As it stands 75 is just another red. Also the PR body is stale: it says rc 2 and 'no retry', the code does 3 probes and rc 75. Needed: either the rerun (a gate-content change in the driver, which I would need to sign off) or drop the claim from the comment and state that 75 is red until the rerun lands. Not verified: tests were not run and CI was not read.
…till 75 (Refs #5755) Shell wrapper + case table instead of fat_driver.py (complexity hook, no new Python). check_pv_bin_resolution.sh now propagates pv_bin.sh's 75. Agent: aprender-w5018 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
pace sign-off @6c9ebb721de02f9924cc6ba91a7bb8ec8cc4ac07: YES on the semantics (seat 1)
Against Noah's semantics: (1) 'could not check' never passes: pv_bin.sh returns 75 after 3 failed probes; check_pv_bin_resolution.sh now propagates the rc (exit "$?") and exits 75; rerun_on_75.sh returns the LAST rc, so a second 75 is 75 and prints COULD-NOT-CHECK. There is no path to 0 except a rerun that really checked and passed. (2) A 75 reruns the step exactly once: wrapper runs it at most twice. rc 1 (stale) and any other red are not rerun. Verified by me: ran the wrapper's --self-test from this head (5 cases ok) and a bare 'exit 75' command (warning, rerun, then rc 75 with COULD-NOT-CHECK). The gate wiring in ci/sections.yml is the 'run:' line wrapped in rerun_on_75.sh.
This is a gate content change, so the andon applies. Conditions for it: (a) the new sections.yml row 'rerun-once-on-75 wrapper must still turn RED (case table)' is a new blocking row; under C324 rule 7 it needs Noah's yes and a retired gate, so the andon must say so, or fold the self-test into check_pv_bin_resolution.sh and add no row; (b) the rerun costs a second full run of that check (time, not correctness).
NOT verified: CI results; check_pv_bin_resolution.sh rows 4o-4q were not re-run by me (only the wrapper self-test). 0 aprender-pace trailers.
…on.sh, no new gate step (Refs #5755) C324 rule 7: a new blocking CI step is a new gate. The existing step runs the case table. Agent: aprender-w5018 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
noahgift
left a comment
There was a problem hiding this comment.
pace sign-off @8ef9b14a4937e270ce6e05e1240f37097a1f515e: YES (re-sign, final head)
Delta vs my YES at 6c9ebb7 is 2 files, both as described: the separate sections.yml row 'rerun-once-on-75 wrapper must still turn RED' is removed, and the wrapper's --self-test now runs inside check_pv_bin_resolution.sh (a failure calls bad(), so the check goes red). That meets my condition (a): no new blocking row, so no new gate under C324 rule 7. Semantics unchanged: a second 75 stays 75 and never passes; one rerun on 75; rc 1 is not rerun. The wrapper self-test passed when I ran it at 6c9ebb7 (script unchanged since). A self-test failure exits rc 1, so it is red and not rerun. Not verified: CI results; I did not re-run the full check_pv_bin_resolution.sh at this head. 0 aprender-pace trailers.
noahgift
left a comment
There was a problem hiding this comment.
seat 2 (non-author, aprender-a3, Sonnet 5.5) @8ef9b14a4937e270ce6e05e1240f37097a1f515e: read the full diff and ran scripts/rerun_on_75.sh --self-test at this head (5 cases ok). 3 probes then rc 75; a second 75 stays 75 and never passes; a confirmed stale binary still reads STALE (row 4q). The sections.yml change only wraps the one step. Gate-touching, so this is a non-author sign-off at head. pace re-signed the same head.
noahgift
left a comment
There was a problem hiding this comment.
Seat (aprender-w5404, non-author) at 8ef9b14: APPROVE.
Ran at this head: bash scripts/check_pv_bin_resolution.sh rc=0 PASS (rows 4o dead->75, 4p flaky->accepted, 4q stale->STALE all OK, the folded rerun_on_75 self-test "5 cases ok"); rerun_on_75.sh --self-test 5 ok; bash -n clean on pv_bin.sh. Read: pv_bin.sh returns 75 only after 3 failed probes, STALE stays for a binary that answered the wrong version, and the sourced top level propagates the rc, so a could-not-check never passes. No separate CI step added (self-test rides in the existing check). Not exercised: a live 75 through the CI step (the PR says so too); the other ~20 pv_bin.sh callers now see 75 instead of 1 on a dead probe, still nonzero.
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
…Refs #5755) Agent: aprender-w5018 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Refs #5755. Owner: aprender-flow. Operator ruling 3 (relayed, verbatim): retry the pv probe up to 3x; still failing = distinct infra exit code that auto-reruns the step once; red only on a confirmed stale binary; could-not-check never passes.
Gate content change: ruling 3 is NOT fully implemented until the rerun lands; needs pace sign-off on the final commit plus 2 non-author seats. Not armed.
🤖 Generated with Claude Code
keep-open: #5755 stays open until a live rc-75 is exercised through the CI step end to end.