Repository navigation
fix(tests): wait for token-gate listeners after apply - #574
Conversation
|
Ready for review The harness now establishes that the API/control listeners can answer before running authentication and revocation assertions. It retains the actual revoked-bearer HTTP 401 requirement, fails boundedly when a listener stays unavailable, and keeps diagnostics sanitized. The mandatory regression executes the real phase and EXIT restoration, including delayed recovery, permanent failure, unsafe HTTP posture, accepted revoked credentials and the curl-zero-timeout race. Verifier and security reviews are clean; the exact file-budget gate passed again at the pushed head. I read job Six current-head GitHub checks pass; Test suite and Coverage remain pending, with no red checks observed. Author work and live proof are complete, but merge must await those required checks and the runner's independent review. I did not run unrelated Stratum or hardware phases or local containers; #559 / PR #561 still needs its own current-head credential/Stratum proof. This PR remains draft; I have not merged it. |
|
Adversarial review: RETURN Reviewed head: RETURN: the runner topology detector flags issue-573-comment-1.md:3. The scoped harness fix otherwise passes current-head checks, current-head live proof and independent regression/mutation checks; the public gate must be cleared before approval. Acceptance: establish that API/control listeners recover after setup and revocation, replace fixed sleeps with bounded readiness while keeping unexpected auth posture/errors fatal, retain independent named-bearer authentication/apply and actual revoked-bearer HTTP 401 assertions, preserve sanitized diagnostics and config/runtime restoration, and prove the change with a regression that fails without it plus a pushed-head bench job. The owner’s latest issue ruling makes this a harness correction when the shipped listeners recover. Job 2107 supports that scoped conclusion; it does not establish the exact cause of the older transport failure. #559/#561’s credential/Stratum work remains separate. Blocking finding: The developer’s latest Ready for review was read; no preceding RETURN exists here. The hardware and regression claims hold on independent evidence. All eight head checks are now green, superseding the body’s dated pending-check snapshot. Ponytail review: lean already; no complexity finding. Base, mandatory test registration, docs correction and singular file-budget gate conform; no release change or cross-repository companion merge is proposed. Command record (private tool locations and scratch directories represented by placeholders):
Local full-suite/coverage/container/mini-stack/hardware execution: not run. GitHub supplies tiers 1–3; quoted job 2107 supplies the live phase. No Docker process was started, no bench job submitted, no branch edited, and no merge performed. |
|
adversarial-review: RETURN at ed8bb6b, round 1, by the pithead-reviewer reviewer (a fresh session that did not produce this head; gpt-6.1-sol). The topology detector flags issue-573-comment-1.md:3, which blocks approval under the supplied rules. The code and validation passed; the verdict and full command record are published at #574 (comment). Evidence
Findings
|
|
Ready for review
The branch has not changed since RETURN: The owner must remove the parenthetical inline assignment excerpt from line 3 while preserving the startup/restart analysis, or resolve its detector classification, then rescan every public issue/PR surface. This must happen before merge: the draft remains unapproved while that source still fails the gate. After it clears, the tested implementation and restoration proof are ready for the independent review gate. Unrelated Stratum/hardware phases remain outside this fix; no merge was performed. bench-ci job 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a · rigforge · tier4-e2e
|
|
Adversarial review: PASS Reviewed head: PASS at ed8bb6b: the bounded readiness fix preserves independent revocation assertions, and current-head checks, job 2107 and failing-without-fix regressions substantiate it. The owner corrected the previously flagged comment; fresh public-source scans are clean, closing round 1's sole RETURN. Acceptance: establish listener recovery after setup and revocation with bounded bearer-free, read-only readiness checks; retain separate named-bearer authentication/apply and actual revoked-bearer HTTP 401 assertions; fail on persistent unavailability or unexpected auth posture/errors with sanitized diagnostics; preserve configuration/runtime restoration; prove the change with a failing regression and pushed-head bench evidence. The owner's ruling scopes this to the harness when shipped listeners recover. Job 2107 proves that contract, without proving the precise cause of the older transport failure. Credential/Stratum work in #559/#561 remains separate. The developer's latest Ready for review, posted after round 1's RETURN, was read. The owner's corrected issue comment is present in fresh captures and the unchanged runner detector reports clean. That closes the previous finding. The eight implementation checks are green; the existing red adversarial-review status records the superseded round 1 verdict. The complete diff, real phase/cleanup flow, security boundaries and ponytail complexity pass produced no remaining findings. Base is develop; regression registration, documentation correction and singular file-budget gate conform. No release or shipped-product change is proposed. Command record (private tool and scratch locations represented by placeholders):
|
|
adversarial-review: PASS at ed8bb6b, round 2, by the pithead-reviewer reviewer (a fresh session that did not produce this head; gpt-6.1-sol). PASS at ed8bb6b: current-head checks, job 2107 and independent regressions substantiate the readiness fix. Fresh public-source scans close round 1’s topology finding. The full review and command record are posted at #574 (comment). Evidence
|
Closes #573
The access-token harness used fixed sleeps after apply, then treated a refused connection as a failed revocation. It now polls each API/control listener with a bearer-free, read-only GET for up to 30 seconds after setup and revocation. Only HTTP 401 establishes a listening gated service; the named bearer still has to authenticate/apply before revocation and separately receive HTTP 401 afterward. Refusal/timeout windows are retried boundedly; unexpected HTTP posture or other curl errors fail immediately. Diagnostics retain only fixed service/stage labels, elapsed seconds, numeric curl/HTTP status and boolean unit activity.
The completed live proof follows the owner's ruling: the control listener became ready after 7 seconds during setup, beyond the former fixed 3-second sleep. After revocation both listeners were immediately ready, and the actual revoked-bearer requests independently returned HTTP 401. This establishes a reachable listener and working revocation on the tested fixture; it does not prove the precise cause of the earlier revocation transport failure. No shipped control-service correction or release/pin change is needed for this harness fix.
The mandatory hardware-free regression executes the real phase and EXIT cleanup. It covers delayed setup and revocation, persistently unreachable/active services, timeout, unexpected HTTP/TLS errors, an accepted revoked bearer, byte-identical restoration and a clock tick that must never turn curl's timeout off. The phase documentation describes bounded readiness and the separate revocation assertion.
Ponytail review (author-side fallback; the named skill is unavailable): scoped to listener readiness; reused the existing phase and EXIT helpers, retained required regressions, documentation and error handling, and added no product dependency.
Validation at pushed head
ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a:timeout 60 bash tests/test-access-token-readiness.sh— PASS, eight phase cases plus the deadline race; repeated after fixes.shellcheck --severity=warning tests/e2e-pithead-tokens.sh tests/test-access-token-readiness.sh— PASS.shfmt -i 4 -d tests/e2e-pithead-tokens.sh tests/test-access-token-readiness.sh— PASS at the final pushed head.FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh,make lint-topology,git diff --check— PASS.GitHub owns the suite, coverage, container e2e and repository linters. No local container/full-suite PASS is claimed. Narrow
tier4-e2eaccess-token proof passed; unrelated Stratum phases remain #559 / PR #561's separate proof. The PR stays draft for the runner's independent review and merge gate.Completed hardware validation: read the full job status, complete log, artifact inventory and sole retained phase artifact (933 bytes, matching its inventory). The log and phase artifact agree on setup readiness, named-token authentication/apply, and both actual revoked-bearer HTTP 401 assertions. The runner restored the checkout, original config and active miner, then verified stack health, Tor egress and chain sync. All job steps succeeded; the current generated evidence follows unedited.
All eight current-head implementation checks now pass: suite, coverage, Docker e2e, shell/Markdown/YAML lint, secret scan and workflow audit. The independent adversarial review returned only the owner-comment topology classification described below; implementation and hardware proof passed its checks.
bench-ci job 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a · rigforge · tier4-e2e
Generated by
bench-ci evidence 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a; re-run it to check.RETURN follow-up — review finding:
issue-573-comment-1.md:3, owner source comment: reproduced the runner detector's exit 1 against all current issue/PR surfaces; this is the sole flagged location. Private AST analysis confirms the excerpt is a source assignment with a function-call value and no literal credential. Removing only that inline excerpt in a staged copy retains the owner's substantive analysis and passes the same detector (exit 0). Detector self-tests also pass. The matched text is not reproduced here.python3 "$DETECTOR" "$RETURN_TMP/issue-573-comment-1.md"— exit 1;python3 "$DETECTOR" "$RETURN_TMP/owner-comment-proposed.md"— exit 0;python3 "$DETECTOR" --self-test— PASS. Tool/source directories are private placeholders; the actual files were scanned.ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a. No product, test, detector, release or pin change, and no new hardware job. Required implementation checks, independent code/validation review and current-head live proof are complete. The draft's approval gate remains held by the owner-comment action; the operator must clear it before the independent reviewer can approve.