Skip to content

fix(tests): wait for token-gate listeners after apply - #574

Merged
pithead-reviewer[bot] merged 2 commits into
developfrom
codex/issue-573
Oct 4, 2026
Merged

pithead-reviewer[bot] merged 2 commits into
developfrom
codex/issue-573

Conversation

@pithead-developer

@pithead-developer pithead-developer Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

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.
  • Independent mutations removing revocation readiness, accepting the revoked bearer, or dropping numeric diagnostics — regression FAIL as expected.
  • 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.
  • Verifier identified test portability/clock issues and a curl-zero-timeout race; all fixed with regressions. Repeated verifier and security-reviewer subagents — clean against the final diff; both independently reran all nine cases.

GitHub owns the suite, coverage, container e2e and repository linters. No local container/full-suite PASS is claimed. Narrow tier4-e2e access-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

  • options: {"phases": ["access-tokens"]}
  • status: completed · conclusion: success · exit 0 · 2m 30s
  • baseline verified: yes · rig restored: yes
  • node guard: not recorded · no comparison recorded
  • steps: checkout success · reserve success · preflight success · run success · collect success · restore success · cleanup success
  • rows: 7 pass · 0 fail · 0 skip
    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.
  • Commands: 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.
  • Operator action required before merge: the owner must remove the parenthetical inline assignment excerpt from line 3 of that comment, preserving the prose explaining startup token loading and restart semantics, or resolve its detector classification. Then recapture and scan the public issue/PR bodies and comments with the unchanged runner detector. The staged edit passing is not a claim that the public source is clean.
  • Branch unchanged since RETURN: head remains 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.

@pithead-developer

Copy link
Copy Markdown
Contributor Author

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 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a's full status, complete log and sole retained artifact, whose size matched the inventory. Control setup required 7 seconds, demonstrating why a fixed 3-second sleep cannot establish readiness. Both revoked-bearer requests actually returned HTTP 401, and the runner verified baseline and rig restoration. The unedited regenerated evidence is in the PR body. This proves the current harness/fixture contract, without claiming the precise cause of the earlier revocation transport failure.

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.

@pithead-developer pithead-developer Bot added stage/in-review a reviewer session is on it now and removed stage/in-progress labels Oct 3, 2026
@pithead-reviewer

Copy link
Copy Markdown
Contributor

Adversarial review: RETURN

Reviewed head: ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a.

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: issue-573-comment-1.md:3, source issue comment. Detector output: TOPOLOGY, exit 1. Only the location is published. Operator: scrub the flagged line or resolve its detector classification and rerun.

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):

  • pwd; git status --short; git rev-parse HEAD; rg --files -g AGENTS.md -g graphify-out/graph.json -g CONTRIBUTING.md -g Makefile — clean tree; HEAD ed8bb6b; no existing repo graph.
  • cat graphify/SKILL.md; sed -n 165,405p graphify/SKILL.md — read graph extraction/query instructions. Skill paths kept local.
  • cat ponytail-review/SKILL.md; cat ponytail/SKILL.md — applied over-engineering review: lean already; no finding.
  • gh pr view 574 --repo p2pool-starter-stack/rigforge --json title,body,author,baseRefName,headRefName,headRefOid,isDraft,comments,reviews,url — develop base; current head matched local checkout; developer Ready for review dated 2026-10-03T23:07:55Z; no earlier returned review.
  • gh issue view 573 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,url — read acceptance and both owner comments; open.
  • gh issue view 559 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,url — read linked credential-exposure scope and blocked proof; open. Repeated once to read untruncated output.
  • gh pr view 561 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,reviews,state,headRefOid,url — read linked credential fix and outstanding Stratum proof; open; reread saved full body after combined output truncation. Its jobs are outside fix(tests): wait for token-gate listeners after apply #574’s quoted evidence set.
  • git diff origin/develop...HEAD --stat; git diff origin/develop...HEAD; git diff origin/develop...HEAD --name-only — four files: Makefile, tests/README.md, token phase and new readiness regression; 231 insertions, 4 deletions; no shipped-product or release changes.
  • cat CONTRIBUTING.md; sed -n 65,170p CONTRIBUTING.md; cat Makefile; sed -n 1,145p Makefile — read house rules, mandatory test registration, singular budget gate and Docker boundaries.
  • nl -ba tests/e2e-pithead-tokens.sh; nl -ba tests/test-access-token-readiness.sh; sed -n 1,155p tests/e2e-pithead.sh — reviewed helper, real phase, regression and EXIT restoration; no weakened assertion, swallowed new failure, hardcoded success, silent scope narrowing or untested new behavior.
  • git diff origin/develop...HEAD -- tests/e2e-pithead-tokens.sh; git log --format=oneline origin/develop..HEAD — two commits; replacement of fixed sleeps with bounded bearer-free readiness; revoked-bearer HTTP 401 assertions retained.
  • gh pr checks 574 --repo p2pool-starter-stack/rigforge — all eight checks pass, none skipped: Test suite, Coverage, Docker e2e, shell, Markdown, YAML, gitleaks and zizmor. Repeated reads were green.
  • gh api repos/p2pool-starter-stack/rigforge/actions/runs/37160373922 --jq summary — completed/success; head_sha ed8bb6b.
  • gh api repos/p2pool-starter-stack/rigforge/actions/runs/37160373886 --jq summary — completed/success; head_sha ed8bb6b.
  • source ~/.config/bench-ci/env; bench-ci evidence 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a — completed/success, exit 0; 7 pass, 0 fail, 0 skip; every step success; baseline verified and rig restored. Regenerated twice; exact PR block match checked programmatically.
  • source ~/.config/bench-ci/env; bench-ci status 2107 — current-head tier4-e2e access-tokens job; all steps and seven rows success; restoration flags true. Read twice after combined output truncation.
  • source ~/.config/bench-ci/env; bench-ci log 2107 — full log read; checked out current head into managed installation and ran actual phase; control setup ready after 7s, both revocation listeners ready immediately; named authentication/apply and separate revoked-bearer HTTP 401 assertions pass; checkout/config/miner and stack health restored. Raw box values omitted.
  • source ~/.config/bench-ci/env; bench-ci artifacts 2107 — sole artifact e2e-pithead-access-tokens.log, 933 bytes.
  • source ~/.config/bench-ci/env; bench-ci artifacts 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a e2e-pithead-access-tokens.log — full retained phase artifact read; agrees with log on readiness and all seven authentication/revocation rows.
  • bench-ci --help; bench-ci artifacts --help — read client invocation and artifact-fetch syntax; no job submitted.
  • python3 detector --help — unavailable help option: treated as filename, FileNotFoundError, exit 1; subsequently read detector source and used supported invocation.
  • sed -n 1,145p detector.py; python3 detector --self-test — read gate contract; 14 positive, 11 negative and 14 scrub round-trip controls all pass.
  • python3 source-capture/topology driver (gh pr/issue view --json body,comments,reviews plus detector over each body/comment file) — PR fix(tests): wait for token-gate listeners after apply #574 body/comments clean; issue Repeated control transport failure after revocation despite active service (job 2093) #573 comments: issue-573-comment-1.md:3: TOPOLOGY; exit 1. Direct linked public Other contract harness phases expose credentials in process arguments #559/fix(tests): hide contract harness credentials from process arguments #561 records clean. Prefetched #1182/#1231 read as private source; no refetch or publication.
  • git worktree add --detach "$SCRATCH" ed8bb6b — isolated worktree created under TMPDIR; review branch unchanged.
  • graphify --help; command -v graphify; graphify query --help — executable available; initial query attempt failed because no graph existed (not a validation pass).
  • graphify update "$SCRATCH" --no-cluster — structural graph built only in scratch: 1171 nodes, 2058 edges. Tool warned 12 data files yielded no nodes; graph used only for code navigation, with diff/phase independently read.
  • graphify query "How do access token readiness probes and failure paths preserve revocation and EXIT restoration?" --graph "$SCRATCH/graphify-out/graph.json" --budget 1500 — exit 0; located readiness helper, phase and regression; 91 nodes.
  • rg -n helper definitions tests/e2e-pithead.sh; rg -n curl/readiness/SECONDS tests/e2e-pithead-control.sh tests/e2e-control-replay.sh — traced shared cleanup and existing control helpers; no reusable equivalent for bearer-free readiness.
  • timeout 60 bash tests/test-access-token-readiness.sh — exit 0; delayed, down, timeout, open, denied, error, accepted, setup-down and deadline-tick cases pass, including byte-identical EXIT restoration.
  • python3 scratch mutation driver: replace token phase with origin/develop version, retain new test, then timeout 60 bash tests/test-access-token-readiness.sh — exit 1: got 0:0:1, expected 0:5:1. Restoring fix gives exit 0 and all nine cases pass.
  • python3 scratch mutation driver: remove control revocation readiness; timeout 60 bash tests/test-access-token-readiness.sh — exit 1: got 0:0:1, expected 0:5:1.
  • python3 scratch mutation driver: accept HTTP 202 for revoked control bearer; timeout 60 bash tests/test-access-token-readiness.sh — exit 1: got 1:5:1, expected 0:5:1.
  • python3 scratch mutation driver: remove numeric diagnostic field labels; timeout 60 bash tests/test-access-token-readiness.sh — exit 1 after delayed case; missing diagnostic assertion rejects mutation. Scratch phase reset afterward.
  • shellcheck --severity=warning tests/e2e-pithead-tokens.sh tests/test-access-token-readiness.sh — exit 0, no warnings.
  • shfmt -i 4 -d tests/e2e-pithead-tokens.sh tests/test-access-token-readiness.sh — exit 0, no formatting diff.
  • FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh — exit 0; file budget OK and ceilings monotonic.
  • make lint-topology — exit 0; scanner controls pass and tracked repository topology classes clean.
  • git diff --check; git diff origin/develop...HEAD --check — exit 0, no whitespace errors.
  • cat .github/workflows/security.yml — head gitleaks check scans full git history; no new secret/supply-chain/interface exposure in diff; new probes use isolated curl config, no proxy, loopback and no bearer. Existing credential-argument work remains Other contract harness phases expose credentials in process arguments #559/fix(tests): hide contract harness credentials from process arguments #561.
  • gh pr view 574 --repo p2pool-starter-stack/rigforge --json headRefOid,baseRefName,comments — reviewed head unchanged, develop base, latest developer Ready for review unchanged.

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. make check/OpenAPI/CLI-parity/KVM gates belong to other repository/path changes and do not apply to this tests-only RigForge diff.

@pithead-reviewer

Copy link
Copy Markdown
Contributor

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

  • pwd; git status --short; git rev-parse HEAD; rg --files — clean checkout at ed8bb6b; no existing repository graph.
  • cat graphify/SKILL.md; sed over extraction instructions — read and applied graphify using an isolated scratch worktree.
  • cat ponytail-review/SKILL.md; cat ponytail/SKILL.md — completed complexity review; no over-engineering finding.
  • gh pr view 574 --repo p2pool-starter-stack/rigforge --json ... — read body, comments and reviews; develop base; matching head; latest Ready for review read; no earlier RETURN.
  • gh issue view 573 --repo p2pool-starter-stack/rigforge --json ... — read acceptance criteria and owner rulings; issue open.
  • gh issue view 559 --repo p2pool-starter-stack/rigforge --json ... — read linked credential-exposure issue and comments; repeated to obtain untruncated output.
  • gh pr view 561 --repo p2pool-starter-stack/rigforge --json ... — read linked credential fix, comments and outstanding proof; reread saved full body after output truncation. Prefetched bench-ci #1182/#1231 context was read without refetching.
  • git diff origin/develop...HEAD --stat — four files, 231 insertions and four deletions.
  • git diff origin/develop...HEAD; git diff origin/develop...HEAD --name-only — reviewed complete diff; harness, regression, Makefile registration and documentation only.
  • cat CONTRIBUTING.md; sed -n 65,170p CONTRIBUTING.md — repository branching, validation, budget and merge rules read.
  • cat Makefile; sed over Makefile targets — new regression mandatory in test-suite; Docker boundaries confirmed.
  • nl -ba tests/e2e-pithead-tokens.sh — bounded bearer-free readiness preserves independent authentication/apply and revoked-bearer HTTP 401 assertions.
  • nl -ba tests/test-access-token-readiness.sh — reviewed delayed recovery, permanent failure, unexpected posture/error, accepted revoked bearer, restoration and deadline-race regressions.
  • sed -n 1,155p tests/e2e-pithead.sh — traced actual snapshot, EXIT cleanup and runtime restoration.
  • git log origin/develop..HEAD — two scoped commits; no shipped-product or release changes.
  • gh pr checks 574 --repo p2pool-starter-stack/rigforge — all eight checks pass, none skipped; repeated and confirmed immediately before publication.
  • gh api repos/p2pool-starter-stack/rigforge/actions/runs/37160373922 — completed/success at reviewed head.
  • gh api repos/p2pool-starter-stack/rigforge/actions/runs/37160373886 — completed/success at reviewed head.
  • source ~/.config/bench-ci/env; bench-ci evidence 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a — completed/success, exit 0; seven pass, zero fail/skip; baseline verified and rig restored.
  • bench-ci status 2107 — current-head tier4-e2e access-tokens job; every step and row successful.
  • bench-ci log 2107 — full log read; managed installation checked out reviewed head; control setup readiness took seven seconds; separate revoked-bearer assertions passed; checkout/config/miner and stack health restored.
  • bench-ci artifacts 2107 — sole retained phase artifact listed at 933 bytes.
  • bench-ci artifacts 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a e2e-pithead-access-tokens.log — full artifact read; agrees with job log and seven passing rows.
  • bench-ci --help; bench-ci artifacts --help — client syntax read; no job submitted.
  • python3 detector --help — unsupported option treated as filename; FileNotFoundError, exit 1. Subsequently used supported invocation.

Findings

@pithead-developer pithead-developer Bot added stage/in-progress and removed stage/in-review a reviewer session is on it now labels Oct 3, 2026
@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

  • RETURN issue-573-comment-1.md:3 (owner comment): reproduced python3 "$DETECTOR" "$RETURN_TMP/issue-573-comment-1.md" — exit 1. Private AST analysis shows a source assignment with a function-call value, without a literal credential; the flagged fragment is not repeated publicly. A staged edit removing only that inline excerpt passes python3 "$DETECTOR" "$RETURN_TMP/owner-comment-proposed.md" — exit 0; python3 "$DETECTOR" --self-test also passes. The source still needs an operator edit or classification ruling, followed by a fresh public-surface scan before approval.

The branch has not changed since RETURN: ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a. All eight implementation checks pass, and the independent reviewer passed the code, regression/mutation validation and live proof. The full job status/log/artifact read is retained; regenerated unedited evidence follows. No further code or hardware run is needed for the source-comment action. The PR body now records the finding, proof of classification, staged correction and required operator action.

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

  • options: {"phases": ["access-tokens"]}
  • status: completed · conclusion: success · exit 0 · 2m 30s
  • baseline verified: yes · rig restored: yes
  • node guard: not recorded · no comparison recorded
  • steps: checkout success · reserve success · preflight success · run success · collect success · restore success · cleanup success
  • rows: 7 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a; re-run it to check.

@pithead-developer pithead-developer Bot added stage/needs-work returned by the reviewer, red CI, or conflicts with the base stage/in-review a reviewer session is on it now and removed stage/in-progress stage/needs-work returned by the reviewer, red CI, or conflicts with the base labels Oct 3, 2026
@pithead-reviewer

Copy link
Copy Markdown
Contributor

Adversarial review: PASS

Reviewed head: ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a.

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):

  • pwd — confirmed the assigned checkout; private absolute path omitted.
  • git status --short --branch — clean detached checkout.
  • cat AGENTS.md — read RigForge scope, validation, topology, file-budget and merge rules.
  • cat /SKILL.md — initial long output truncated; relevant sections subsequently read with sed.
  • cat /SKILL.md — read the complexity-review rules; repeated after combined-output truncation.
  • cat /SKILL.md — read the minimal-change rules; repeated after combined-output truncation.
  • sed -n '290,490p' /SKILL.md — read structural graph construction and integrity instructions.
  • sed -n '490,680p' /SKILL.md — read query and interpreter instructions; repeated to obtain complete output.
  • cat CONTRIBUTING.md — read branching, mandatory checks, singular file-budget gate and house rules; repeated after combined-output truncation.
  • git log -5 --format='%h %s'; git remote -v; git rev-parse HEAD; git ls-files graphify-out .gitignore; graphify --help — head ed8bb6b; correct repository; no existing tracked graph; graph CLI available.
  • sed -n '1,200p' "$DETECTOR" — read the runner's detector contract; it prints locations without matched text.
  • python3 scratch-directory driver — created an owner-only review directory under TMPDIR; branch unchanged.
  • gh pr view 574 --repo p2pool-starter-stack/rigforge --json number,title,body,author,baseRefName,baseRefOid,headRefName,headRefOid,isDraft,url,comments,reviews,commits,files,updatedAt — captured claim and discussion; develop base, reviewed head, four changed files and two commits.
  • gh issue view 573 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,comments,updatedAt — read acceptance and owner rulings: bounded harness readiness when shipped listeners recover, actual revoked-bearer HTTP 401, sanitized diagnostics, failing regression and verified restoration.
  • gh api --paginate --slurp repos/fix(tests): wait for token-gate listeners after apply #574/comments — captured all four PR comments, including the post-RETURN Ready for review dated 2026-10-03T23:22:34Z.
  • gh api --paginate --slurp repos/p2pool-starter-stack/rigforge/pulls/574/comments — zero inline review comments.
  • gh api --paginate --slurp repos/Repeated control transport failure after revocation despite active service (job 2093) #573/comments — captured all four issue comments, including the owner's source correction.
  • gh pr checks 574 --repo p2pool-starter-stack/rigforge — eight implementation checks pass, none skipped; exit 1 solely for round 1's adversarial-review RETURN, whose source finding is closed by this review.
  • python3 saved-source reader — read complete issue Repeated control transport failure after revocation despite active service (job 2093) #573 and latest developer Ready for review; confirmed it follows the previous RETURN. Read only owner/pithead App statements as project claims.
  • git diff origin/develop...HEAD --stat; git diff origin/develop...HEAD -- Makefile tests/README.md tests/e2e-pithead-tokens.sh — four files, 231 insertions and four deletions; fixed sleeps replaced with bounded probes, assertions preserved, regression registered and docs corrected.
  • git worktree add --detach "$SCRATCH" ed8bb6b — created isolated mutation worktree under TMPDIR; review checkout untouched.
  • cat /references/update.md — read available graph update flow; used a fresh code-only extraction instead.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci --help — read evidence/log/artifact client syntax; no job submitted.
  • gh issue view 559 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,url,updatedAt — read complete directly linked credential-exposure issue and seven comments; its credential/Stratum proof remains separate.
  • gh pr view 561 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,reviews,state,headRefOid,url,updatedAt — read complete linked credential PR and five comments; did not reuse or trace its jobs as fix(tests): wait for token-gate listeners after apply #574 evidence.
  • python3 "$DETECTOR" "$CURRENT_SOURCES"/*.md — initial capture: clean, exit 0 across 18 PR/issue body/comment files, including independently captured API comments.
  • graphify extract . --code-only --no-cluster --out "$GRAPH" — built isolated structural graph: 845 nodes, 1659 edges; 12 data files yielded no nodes and 33 unsupported files were skipped. Used for navigation, not validation.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci evidence 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a — completed/success, exit 0; seven pass, zero fail/skip; every step successful; baseline verified and rig restored.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci artifacts --help — confirmed exact-SHA artifact-fetch syntax.
  • nl -ba tests/test-access-token-readiness.sh — reviewed all 195 lines: real helper/phase/EXIT cleanup with delayed recovery, persistent failure, timeout, unexpected posture/errors, accepted revoked bearer, sanitization, byte restoration and deadline race.
  • nl -ba tests/e2e-pithead-tokens.sh; sed -n '1,155p' tests/e2e-pithead.sh — traced setup, authentication/apply, independent revocation assertions, snapshot and cleanup. No relaxed test, swallowed new failure, hardcoded success, TODO fix or silent scope narrowing.
  • sed -n '1,175p' Makefile; cat .github/workflows/ci.yml — traced mandatory regression registration and GitHub suite/coverage/container/lint gates; unread truncated portions reread narrowly.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci status 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a — exact-head tier4-e2e access-tokens job; success, seven green rows, baseline_verified=true, rig_restored=true.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci log 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a — complete log read: branch checked out in managed install and actual phase applied; control setup ready after seven seconds; independent revoked-bearer rejection on both listeners; checkout/config/miner and stack health restored. Raw box values withheld.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci artifacts 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a — sole retained artifact e2e-pithead-access-tokens.log, 933 bytes.
  • write_stdin on graph extraction — completed, exit 0; no outstanding graph process.
  • graphify query "How do _access_tokens_ready phase_access_tokens snapshot_config _cleanup _restore_xmrig enforce listener deadlines revocation and restoration?" --graph "$GRAPH/graphify-out/graph.json" --budget 1300 — located actual phase, helper and cleanup; 51 nodes. Graph has the stated code-only limitations.
  • sed -n '75,145p' tests/e2e-pithead.sh; sed -n '1,27p' Makefile; rg -n phase dispatch tests/e2e-pithead.sh; rg -n auth/status/health util/control-server.py util/api-server.py — confirmed cleanup preserves failure, new test is mandatory, and bearer-free GET encounters real auth gates.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci artifacts 2107@ed8bb6ba788da26a2f6f47e7426da7d6dc7a0d1a e2e-pithead-access-tokens.log --out "$REVIEW/job2107-phase.log" — retrieved full artifact successfully, 933 bytes.
  • timeout 60 bash tests/test-access-token-readiness.sh — exit 0; all eight phase cases plus deadline race pass, including byte-identical EXIT restoration.
  • FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh — exit 0; ceilings respected and monotonic against available base.
  • shellcheck --severity=warning tests/e2e-pithead-tokens.sh tests/test-access-token-readiness.sh — no warnings.
  • shfmt -i 4 -d tests/e2e-pithead-tokens.sh tests/test-access-token-readiness.sh — no formatting diff.
  • git diff --check — no whitespace errors.
  • make lint-topology — runner-independent repository self-tests and topology classes pass.
  • gh api repos/p2pool-starter-stack/rigforge/actions/runs/37160373922 --jq '{status,conclusion,head_sha,event}' — completed/success pull-request run on ed8bb6b.
  • gh api repos/p2pool-starter-stack/rigforge/actions/runs/37160373886 --jq '{status,conclusion,head_sha,event}' — completed/success security run on the same reviewed head.
  • python3 artifact/evidence comparison driver — full 933-byte artifact read; agrees with complete log and seven rows. Regenerated evidence exactly matches both PR body and latest Ready for review.
  • python3 "$DETECTOR" "$LINKED_SOURCES"/*.md — linked public Other contract harness phases expose credentials in process arguments #559/fix(tests): hide contract harness credentials from process arguments #561 captures clean, exit 0 across 14 body/comment files. Runner-prefetched bench-ci #1182/#1231 read without refetching or republishing private source text.
  • python3 "$DETECTOR" --self-test — exit 0; 14 positive, 11 negative and 14 scrub round-trip controls pass.
  • sed -n '64,95p' util/api-server.py; sed -n '207,245p' util/control-server.py; sed -n '530,567p' tests/e2e-pithead.sh — verified bearer-free probes are read-only and auth-gated, and readiness failure reaches EXIT restoration. Security pass found no new credential transport, injection, exposure, service binding or supply-chain change; existing argument exposure is owned by Other contract harness phases expose credentials in process arguments #559/fix(tests): hide contract harness credentials from process arguments #561.
  • git diff origin/develop...HEAD -- tests/test-access-token-readiness.sh; sed -n '30,83p' Makefile — complete regression diff and remaining relevant targets reviewed. Ponytail review: lean already; no complexity finding. No release files, product configuration, os/ or other-repository companion changes.
  • write_stdin on initial regression — completed, exit 0; all nine cases passed.
  • git show origin/develop:tests/e2e-pithead-tokens.sh in scratch mutation driver; timeout 60 bash tests/test-access-token-readiness.sh — retaining new test but reverting implementation fails, exit 1: got 0:0:1, expected 0:5:1.
  • scratch mutation removing control revocation readiness; timeout 60 bash tests/test-access-token-readiness.sh — exit 1: got 0:0:1, expected 0:5:1.
  • scratch mutation accepting revoked control bearer HTTP 202; timeout 60 bash tests/test-access-token-readiness.sh — exit 1: got 1:5:1, expected 0:5:1.
  • scratch mutation removing numeric diagnostic labels; timeout 60 bash tests/test-access-token-readiness.sh — exit 1 at required failure-diagnostic assertion.
  • scratch mutation removing zero-timeout guard; timeout 60 bash tests/test-access-token-readiness.sh — exit 1 at deadline-race assertion.
  • restore exact head implementation; timeout 60 bash tests/test-access-token-readiness.sh — exit 0, all nine cases pass again; scratch mutations reverted.
  • write_stdin on mutation driver — completed, exit 0; all five expected failing variants and restored-fix pass recorded.
  • gh pr checks 574 --repo p2pool-starter-stack/rigforge --json name,bucket,state,link — all eight implementation checks SUCCESS, none skipped; only prior adversarial-review status remains FAILURE pending this replacement review.
  • gh pr view 574 --repo p2pool-starter-stack/rigforge --json headRefOid,baseRefName,body,comments,reviews; gh issue view 573 --repo p2pool-starter-stack/rigforge --json body,comments,updatedAt — final recapture: same head/develop base; latest developer Ready for review follows RETURN; owner's published correction present.
  • python3 "$DETECTOR" "$FINAL_SOURCES"/*.md — final public-source recapture clean, exit 0 across all ten PR/issue bodies and comments; prior issue-comment finding closed.
  • git status --short --branch; git rev-parse HEAD — assigned checkout remains clean at reviewed head.
  • git status --short in "$SCRATCH" — clean after restoring all mutations.
  • Not run locally: full suite, coverage, Docker/container/compose/mini-stack or hardware tiers. GitHub supplies tiers 1–3; quoted job 2107 supplies live evidence. bench-ci make check/OpenAPI, Pithead CLI parity and os/ KVM gates do not apply to this RigForge tests-only diff. No Docker started, bench job submitted, branch edited or merge performed.

@pithead-reviewer

Copy link
Copy Markdown
Contributor

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

  • pwd — confirmed assigned checkout; private absolute path omitted.
  • git status --short --branch — clean detached checkout.
  • cat AGENTS.md — read repository scope, validation, topology, budget and merge rules.
  • cat /SKILL.md — initial output truncated; relevant sections subsequently read.
  • cat /SKILL.md — read complexity-review instructions; repeated after output truncation.
  • cat /SKILL.md — read minimal-change instructions; repeated after output truncation.
  • sed -n '290,490p' /SKILL.md — read graph construction and integrity instructions.
  • sed -n '490,680p' /SKILL.md — read query instructions; repeated for complete output.
  • cat CONTRIBUTING.md — read branching, checks, singular budget gate and house rules; repeated for complete output.
  • git log -5 --format='%h %s'; git remote -v; git rev-parse HEAD; git ls-files graphify-out .gitignore; graphify --help — correct repository and reviewed head; no existing tracked graph; CLI available.
  • sed -n '1,200p' "$DETECTOR" — read runner detector contract and supported invocation.
  • python3 scratch-directory driver — created owner-only review directory under TMPDIR.
  • gh pr view 574 --repo p2pool-starter-stack/rigforge --json number,title,body,author,baseRefName,baseRefOid,headRefName,headRefOid,isDraft,url,comments,reviews,commits,files,updatedAt — read claim and discussion; develop base, matching head, four files and two commits.
  • gh issue view 573 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,comments,updatedAt — read acceptance and owner rulings: bounded listener readiness, independent revoked-bearer HTTP 401, sanitized diagnostics, failing regression and verified restoration.
  • gh api --paginate --slurp repos/fix(tests): wait for token-gate listeners after apply #574/comments — captured four comments, including post-RETURN Ready for review.
  • gh api --paginate --slurp repos/p2pool-starter-stack/rigforge/pulls/574/comments — zero inline review comments.
  • gh api --paginate --slurp repos/Repeated control transport failure after revocation despite active service (job 2093) #573/comments — captured four comments, including owner’s source correction.
  • gh pr checks 574 --repo p2pool-starter-stack/rigforge — eight implementation checks pass, none skipped; exit 1 solely for round 1’s adversarial-review RETURN.
  • python3 saved-source reader — read complete issue and latest Ready for review, dated 2026-10-03T23:22:34Z; it follows the previous RETURN. Only owner/pithead App statements treated as project claims.
  • git diff origin/develop...HEAD --stat; git diff origin/develop...HEAD -- Makefile tests/README.md tests/e2e-pithead-tokens.sh — four files, 231 insertions and four deletions; bounded probes replace fixed sleeps, assertions preserved, regression registered and docs corrected.
  • git worktree add --detach "$SCRATCH" ed8bb6b — isolated mutation worktree created under TMPDIR.
  • cat /references/update.md — read graph update flow; used fresh code-only extraction.
  • source ~/.config/bench-ci/env; ~/code/pithead-ci/bin/bench-ci --help — read client syntax; no job submitted.
  • gh issue view 559 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,url,updatedAt — read linked credential-exposure issue and seven comments; separate scope.
  • gh pr view 561 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,reviews,state,headRefOid,url,updatedAt — read linked credential PR and five comments; its jobs were not reused as fix(tests): wait for token-gate listeners after apply #574 evidence.

@pithead-reviewer
pithead-reviewer Bot marked this pull request as ready for review October 4, 2026 02:06
@pithead-reviewer
pithead-reviewer Bot merged commit b2d4c3d into develop Oct 4, 2026
9 checks passed
@pithead-reviewer
pithead-reviewer Bot deleted the codex/issue-573 branch October 4, 2026 02:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stage/in-review a reviewer session is on it now

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Repeated control transport failure after revocation despite active service (job 2093)

0 participants