Skip to content

test: capture timer refresh timings during thermal apply (#546) - #547

Merged
pithead-reviewer[bot] merged 6 commits into
developfrom
agent/546-timer-refresh-diagnostics
Sep 30, 2026
Merged

pithead-reviewer[bot] merged 6 commits into
developfrom
agent/546-timer-refresh-diagnostics

Conversation

@pithead-developer

@pithead-developer pithead-developer Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Closes #546

The control harness captures real timer-driven helper timings and timer/service state around authenticated thermal apply in the mining workload. It retains the service policy and normal feed publication, requires the changed ceiling in a newer direct summary within 90 seconds, and restores the original timer state and configuration through the reserved job’s cleanup.

Current candidate: 541b48f404693e6ada262a1cfebc8809af1e7e5a.

Round-3 RETURN corrections:

  • tests/e2e-refresh-window.sh:43 explicitly records measurement-export failure and continues cleanup before returning nonzero. A successful refresh in the unfiltered journal no longer hides failed export.
  • tests/e2e-pithead-control.sh:51 allocates a fresh secured response file immediately before thermal POST, fails before POST when allocation fails, and removes the file after reading the change identifier. It no longer writes through the removed DONATION response pathname.
  • The regression modules now cover conditional exporter failure with completed cleanup, substitution of the removed response pathname without sentinel overwrite, response-file permissions and allocation failure without thermal POST. tests/README.md corrects the documented response-file and export-error behavior.

The operator retained the earlier diagnostic scope, supported pairing and private linked-history channel; those findings remain closed. Since RETURN, only these two harness corrections, their regressions and the existing documentation were changed. Production refresh logic, versions, dependencies and budgets are unchanged.

Ponytail review: one export-status guard and one fresh native allocation close the two findings; no extra abstraction or dependency, and no test, validation, error handling or documentation requirement was cut.

Validation on the corrected implementation:

  • Native macOS focused checks used export PATH="/usr/bin:/bin:/usr/sbin:/sbin:$PATH", selecting /bin/bash, /usr/bin/sed, /bin/date, /usr/bin/grep and /usr/bin/awk.
  • Both new regressions were added before changing the pre-fix harness from 8941031b05d62050acb6d4fd1b4e7369920a504f. bash tests/test-refresh-profile.sh exited 1: the failed exporter incorrectly reported successful diagnostics. bash tests/test-refresh-window-control.sh exited 1; the independently executed substituted case reported sentinel overwrite. These are expected RED results, not passing checks.
  • After the fixes, bash tests/test-refresh-profile.sh and bash tests/test-refresh-window-control.sh both PASS, exit 0, with those native tools. The latter executes the substitution/permissions and allocation-failure/no-POST assertions as well as the existing freshness and bearer-argument checks. The verifier independently reran both modules successfully.
  • export PATH="$TMPDIR/rigforge-546-native-tools:/usr/bin:/bin:/usr/sbin:/sbin:$PATH" (installed Bash 5.3.15 with native sed/date), then timeout 2700 make test-suite — completed PASS: 2,305 passed, zero failed, exit 0, including the final assertion summary, on the corrected implementation/current head.
  • shellcheck --severity=warning tests/e2e-refresh-window.sh tests/e2e-pithead-control.sh tests/test-refresh-profile.sh tests/test-refresh-window-control.sh and shfmt -i 4 -d on those same four files (3.14.1) — PASS.
  • FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh, make lint-topology, make lint-md, and git diff --check — PASS.
  • Verifier and security reviewer reviewed the five-file correction: both clean. The runner’s separate adversarial status on this head is still required before merge.
  • gh pr checks 547 --repo p2pool-starter-stack/rigforge: all eight current-head Actions checks PASS, including Test suite, Coverage, Docker e2e and the lint/security checks. No older-head result is used as proof of the new corrections.

The native Bash 3.2 aggregate defect remains owned by #549. Its runtime parser error and misleading zero exit without final assertions are NOT PASS. Neither earlier reviewer aggregate is counted as PASS: round 1 was incomplete; round 2’s GNU-sed/Darwin run failed and its native rerun was terminated. Previously completed Bash 5.3 aggregates and bench jobs are historical evidence, not proof of this new head’s corrections.

Exact-commit discovery with bench-ci tiers --repo rigforge --commit 541b48f404693e6ada262a1cfebc8809af1e7e5a confirms connect and control are selectable. The CLI’s hidden phase display remains tracked separately in bench-ci#996; the exact-commit API response supplies the phase list. Fresh priority-10 idempotent job 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a completed successfully with phases=["connect","control"]. I read bench-ci status, bench-ci log and bench-ci artifacts using that full reference, including the entire log and both connect/control artifacts. Connect established mining and an accepted share; control completed authenticated DONATION and thermal apply on the same reserved worker. The thermal ceiling appeared in a newer direct summary after five seconds. The export contains 21 complete refreshes lasting 1.441–1.959 seconds and three unfinished helper spans retained when collection stopped the service, as documented in tests/README.md:40. Timer/service state was captured across the five-minute window. The job verifies its baseline and configuration/service restoration, and all lifecycle steps succeeded. This passes the corrected head’s paired hardware gate; it does not establish recurrence or attribute the historical slow refresh.

Historical jobs 1879/1884 validated control-only collection; 1888/1903 supplied the operator-approved mining/control pairing with successful baseline verification and restoration. Their complete status, logs and artifacts were read in prior sessions. They showed short refreshes and normal timer dispatch, not the historical roughly 65-second failure. The approved full linked-history source snapshots remain available privately to the local reviewer; no private source data, raw artifacts or credential transfer is published.

Historical recurrence/slow-operation attribution, unrelated hardware phases and long-duration stress were not established. #540 and draft #541 remain open for the historical mechanism and production fix. No injected delay, local container or manual hardware run is claimed. The current head is ready for a separate adversarial review; earlier Ready comments refer to earlier heads.

bench-ci job 1879@049f837301edb9f2170a8be2e939c82145b1778f · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 17s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f; re-run it to check.

bench-ci job 1884@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 18s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1888@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 21s
  • 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 1888@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1903@8941031b05d62050acb6d4fd1b4e7369920a504f · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 14s
  • 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 1903@8941031b05d62050acb6d4fd1b4e7369920a504f; re-run it to check.

bench-ci job 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 12s
  • 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 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a; re-run it to check.

@pithead-developer pithead-developer Bot added this to the v2 - appliance milestone Sep 30, 2026
@pithead-developer pithead-developer Bot added stage/in-progress stage/bench-testing its issue waits on a queued or running tier-4 bench job and removed stage/in-progress stage/bench-testing its issue waits on a queued or running tier-4 bench job labels Sep 30, 2026
@pithead-developer pithead-developer Bot added stage/bench-testing its issue waits on a queued or running tier-4 bench job stage/in-progress and removed stage/in-progress stage/bench-testing its issue waits on a queued or running tier-4 bench job labels Sep 30, 2026
@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

PR #547 completes #546's ruled diagnostic harness work on 0bbedc773adf073c43d6758032bcff437f57f18d: real timer-driven helper timings and service state around thermal apply, safe restoration of the original timer state, and control authentication without bearer tokens in process arguments.

All eight GitHub checks pass. Current-head job 1884@0bbedc773adf073c43d6758032bcff437f57f18d passed its control rows with verified baseline and rig restoration; its complete status, log and artifact were reviewed, and unedited generated evidence is in the body. Hardware-free regressions cover the failure and cleanup boundaries. Verifier and security reviews are clean, including the verifier's final evidence review.

The run observed normal short refreshes rather than the historical slowdown. Queue routing does not guarantee the original affected fixture, and unrelated hardware phases and long-duration stress were not exercised because this PR adds bounded control diagnostics. #540 / draft #541 remain open for failure-mechanism attribution and the production fix. This draft is ready for the separate reviewer session; no merge was performed.

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

Copy link
Copy Markdown
Contributor

{
"verdict": "RETURN",
"summary": "Acceptance requires timer-driven helper timings and service state in the affected workload, through the supported queue with verified baseline and restoration. PR #547 proves bounded diagnostics on the current head, but leaves the candidate/affected-workload pairing unresolved; three linked claim sources are also inaccessible to this reviewer.",
"evidence": [
"pwd; git status --short; git branch --show-current; git rev-parse HEAD — clean detached checkout at 0bbedc7; local path withheld.",
"rg --files for repository instructions and build targets; cat CONTRIBUTING.md Makefile — read the repository rules, dependency-free targets and singular file-budget gate.",
"git remote -v; git log -5 --oneline; git show-ref --verify refs/remotes/origin/develop — verified repository identity, the two PR commits and the develop reference.",
"Tool/skill discovery and rg for ponytail — skill unavailable; performed the requested simplification pass directly. No unnecessary dependency, abstraction or configuration machinery found.",
"gh pr view 547 --repo p2pool-starter-stack/rigforge --json title,body,author,baseRefName,headRefName,headRefOid,commits,comments,reviews,files,isDraft,url — read complete claim and latest Ready for review; base develop, current head matches checkout, nine changed files, no earlier review on this PR.",
"gh issue view 546 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,url — read the requested affected-fixture pairing and architect ruling; root-cause acceptance for #540 remains open.",
"gh issue view 540 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,url — read producer-defect history and its reproduction prerequisite.",
"gh pr view 541 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,reviews,files,headRefOid,url — read the unproven production hypothesis and outstanding attribution finding; not accepted as proof for #547.",
"gh issue view 760 --repo p2pool-starter-stack/bench-ci --json title,body,author,comments,url — failed: Could not resolve to an issue or pull request with the number of 760.",
"gh issue view 867 --repo p2pool-starter-stack/bench-ci --json title,body,author,comments,url — failed: Could not resolve to an issue or pull request with the number of 867.",
"gh issue view 979 --repo p2pool-starter-stack/bench-ci --json title,body,author,comments,url — failed: Could not resolve to an issue or pull request with the number of 979.",
"gh issue view 760/867/979 --repo p2pool-starter-stack/bench-ci --comments (three separate retries) — each failed with the same unresolved-issue error.",
"gh api repos/p2pool-starter-stack/bench-ci/issues/760 — HTTP 403: Resource not accessible by integration.",
"gh api repos/p2pool-starter-stack/bench-ci/issues/867 — HTTP 403: Resource not accessible by integration.",
"gh api repos/p2pool-starter-stack/bench-ci/issues/979 — HTTP 403: Resource not accessible by integration.",
"gh api repos//issues/546/comments --paginate — confirmed the ruling and relevant comments come from the runner's pithead-* Bot identities.",
"gh api repos/p2pool-starter-stack/rigforge/pulls/547/comments --paginate — zero inline review comments.",
"git diff a509635..HEAD --; git diff a509635..HEAD --numstat — inspected all nine changed files; no production, VERSION, CHANGELOG, dependency or budget changes.",
"nl -ba on the profiler, lifecycle helper, control phase and cleanup; sed on tests/run.sh and refresh implementation; cat systemd refresh templates — traced dispatch, authentication, publication, cleanup and test wiring. No relaxed tests, hardcoded success, TODO substitute or swallowed diagnostic failure found.",
"git diff a509635..HEAD -- tests/README.md — documentation describes the bounded diagnostic and its attribution limits.",
"gh pr checks 547 --repo p2pool-starter-stack/rigforge — eight passing checks; no skipped or pending check.",
"gh run view 36692380281 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs — current head; all six CI jobs and their steps succeeded, including suite, Docker e2e and coverage.",
"gh run view 36692380557 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs — current head; secret scan and workflow audit succeeded.",
"source ~/.config/bench-ci/env; bench-ci --help; bench-ci artifacts --help — inspected supported read-only evidence commands; no tier submitted or run manually.",
"source ~/.config/bench-ci/env; bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f — exact match to PR block: success, four pass, zero fail/skip, baseline verified and rig restored. Historical commit does not cover later changes.",
"source ~/.config/bench-ci/env; bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d — exact match to PR block: current head, success, four pass, zero fail/skip, baseline verified and rig restored.",
"bench-ci status 1879 (repeated with id@sha) — completed success on the quoted older commit; all seven lifecycle steps succeeded.",
"bench-ci log 1879 (repeated with id@sha) — downloaded and examined all 1,605 lines; branch checkout in the reserved install tree and successful restoration recorded.",
"bench-ci artifacts 1879 — sole artifact e2e-pithead-control.log listed.",
"bench-ci artifacts 1879@049f837301edb9f2170a8be2e939c82145b1778f e2e-pithead-control.log --out — downloaded 106,125 bytes; examined all 1,575 lines.",
"bench-ci status 1884 (repeated with id@sha) — completed success on current head; all seven lifecycle steps succeeded.",
"bench-ci log 1884 (repeated with id@sha) — downloaded and examined all 1,605 lines; tested branch deployed in the reserved install tree, baseline verified and restoration succeeded.",
"bench-ci artifacts 1884 — sole artifact e2e-pithead-control.log listed.",
"bench-ci artifacts 1884@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-control.log --out — downloaded 106,331 bytes; examined all 1,575 lines.",
"Python analysis of both complete logs/artifacts and PR evidence blocks — each has 21 successful refreshes and 357 paired begin/end events; 61 state observations. Job 1879 durations 1.427722–1.450284 seconds, freshness 15 seconds; job 1884 durations 1.433939–1.461632 seconds, freshness 11 seconds. Failure-marker matches were only '0 failed'. These runs did not reproduce the historical delay.",
"make test — did not pass: topology/budget gates succeeded, then shellcheck was unavailable (Error 127).",
"FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh — PASS.",
"git diff --check (repeated) — PASS, no whitespace errors.",
"bash tests/test-refresh-profile.sh — PASS.",
"bash tests/test-refresh-window-control.sh — PASS.",
"Minimal-PATH bash tests/test-refresh-profile.sh — PASS with Python and xxd absent.",
"Minimal-PATH bash tests/test-refresh-window-control.sh — initial attempt produced no PASS during local resource pressure; explicit rerun PASS, exit 0. A separate diagnostic fresh-case attempt failed because its scratch directory was absent; not counted as test evidence.",
"git worktree add --detach HEAD; git restore --source=a509635 on non-test harness/docs files; remove the two newly introduced harness helpers — reverted the implementation only in a scratch worktree, preserving new unit tests.",
"bash tests/test-refresh-profile.sh in the without-fix scratch worktree — expected failure, exit 127; absent profiler cannot satisfy the test.",
"bash tests/test-refresh-window-control.sh in the without-fix scratch worktree — expected failure, exit 1; old phase lacks the required thermal window behavior.",
"shellcheck --version; shfmt --version — ShellCheck 0.11.0 located; initial formatter 3.13.1, then repository-pinned 3.14.1 located.",
"make lint with located tools — topology/budget gates passed; whole-tree ShellCheck was terminated after prolonged local resource pressure, so make lint did not pass.",
"shellcheck --severity=warning on all eight changed shell files — PASS using 0.11.0.",
"shfmt -i 4 -d $(git ls-files '*.sh') — PASS using 3.14.1.",
"make test-suite — stopped after more than 35 minutes without completion; NOT PASS. Head GitHub suite is independently green.",
"Local ps/tail diagnostics; terminate only this review's unfinished ShellCheck and test-suite process tree — recorded local resource pressure and incomplete checks; no hardware or container workload started by this review.",
"Runner detect-topology.py at the supplied location — unavailable in this environment; located the runner-owned detector elsewhere. Its --help attempt also failed because it treats that argument as a filename.",
"python3 detect-topology.py --self-test — PASS: 14 positive controls, 11 negative controls, 14 scrub round-trips.",
"python3 detect-topology.py over PR #547 body/comments/reviews and issue #546 body/comments — clean, exit 0; no inline comments to scan.",
"python3 detect-topology.py over linked #540/#541 bodies and comments — clean, exit 0.",
"git status --porcelain; git rev-parse HEAD at close-out — reviewed checkout unchanged at 0bbedc7.",
"Not run: local Docker, coverage containers, integration/hardware tiers, or bench-ci make check. Docker/hardware evidence was read remotely; bench-ci's repository-specific check is inapplicable to this RigForge PR."
],
"private_note": null,
"findings": [
{
"severity": "return",
"where": "gh pr view 547 --repo p2pool-starter-stack/rigforge --json body,comments; gh issue view 546 --repo p2pool-starter-stack/rigforge --json body,comments",
"what": "The issue and architect ruling require the candidate in the affected workload, or an equivalent reproduction establishing the same failure mechanism. The body instead says automatic routing does not guarantee the original affected fixture, and both quoted jobs show only normal short refreshes. No queued pairing support or equivalent-mechanism evidence is supplied. Add that supported path and quoted evidence, or obtain an explicit project ruling narrowing #546's acceptance before claiming it closes #546; keeping #540 open does not resolve the pairing prerequisite."
},
{
"severity": "return",
"where": "gh api repos/p2pool-starter-stack/bench-ci/issues/760; gh api repos/p2pool-starter-stack/bench-ci/issues/867; gh api repos/p2pool-starter-stack/bench-ci/issues/979",
"what": "All three linked issues return 'Resource not accessible by integration (HTTP 403)'; gh issue view also cannot resolve them. The required linked claim-history review is incomplete. Provide reviewer access or project-authorized readable copies of the relevant issue bodies, comments and rulings, then rerun the review."
},
{
"severity": "note",
"where": "make test; make lint; make test-suite",
"what": "Local aggregate checks did not pass: initial missing ShellCheck, subsequently terminated whole-tree lint, and a suite stopped without completion after more than 35 minutes. Focused current-head tests/lint, the singular budget gate, topology scans and all eight head GitHub checks passed; no local container or hardware check is claimed."
}
]
}

@pithead-reviewer

Copy link
Copy Markdown
Contributor

adversarial-review: RETURN at 0bbedc7, round 1, by the pithead-reviewer reviewer (a fresh session that did not produce this head; gpt-6.1-sol).

Acceptance requires timer-driven diagnostics in the affected workload through the supported queue, with verified baseline and restoration. Current-head checks and bench job 1884 pass, but the candidate/affected-workload pairing remains unresolved, and three linked claim sources are inaccessible to this reviewer.

Evidence

  • pwd; git status --short; git branch --show-current; git rev-parse HEAD — clean detached checkout at 0bbedc7; local path withheld.
  • rg --files; cat CONTRIBUTING.md Makefile — read repository instructions, verification targets and the singular file-budget requirement.
  • git remote -v; git log -5 --oneline; git show-ref --verify refs/remotes/origin/develop — verified repository identity, PR commits and develop reference.
  • Tool and filesystem discovery for ponytail — skill unavailable; performed its simplification pass directly. No unnecessary dependency, abstraction or configuration machinery found.
  • gh pr view 547 --repo p2pool-starter-stack/rigforge --json title,body,author,baseRefName,headRefName,headRefOid,commits,comments,reviews,files,isDraft,url — read complete claim and latest Ready for review. Base develop; head matches checkout; nine changed files; no earlier review on this PR.
  • gh issue view 546 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,url — read requested affected-fixture pairing and architect ruling; api-refresh stops refreshing the enriched feed after a max_temp_c control-apply (seen twice on the bench rig) #540's root-cause acceptance remains open.
  • gh issue view 540 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,url — read producer-defect history and reproduction prerequisite.
  • gh pr view 541 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,reviews,files,headRefOid,url — read production hypothesis and outstanding attribution finding; not accepted as validation for test: capture timer refresh timings during thermal apply (#546) #547.
  • gh issue view 760 --repo p2pool-starter-stack/bench-ci --json title,body,author,comments,url — failed: Could not resolve to an issue or pull request with the number of 760.
  • gh issue view 867 --repo p2pool-starter-stack/bench-ci --json title,body,author,comments,url — failed: Could not resolve to an issue or pull request with the number of 867.
  • gh issue view 979 --repo p2pool-starter-stack/bench-ci --json title,body,author,comments,url — failed: Could not resolve to an issue or pull request with the number of 979.
  • gh issue view 760 --repo p2pool-starter-stack/bench-ci --comments — same unresolved-issue error.
  • gh issue view 867 --repo p2pool-starter-stack/bench-ci --comments — same unresolved-issue error.
  • gh issue view 979 --repo p2pool-starter-stack/bench-ci --comments — same unresolved-issue error.
  • gh api repos/p2pool-starter-stack/bench-ci/issues/760 — HTTP 403: Resource not accessible by integration.
  • gh api repos/p2pool-starter-stack/bench-ci/issues/867 — HTTP 403: Resource not accessible by integration.
  • gh api repos/p2pool-starter-stack/bench-ci/issues/979 — HTTP 403: Resource not accessible by integration.
  • gh api repos/RigForge #540 needs a queued diagnostic on the original stale-feed fixture #546/comments --paginate — confirmed relevant comments and ruling come from the runner's pithead-* Bot identities.
  • gh api repos/p2pool-starter-stack/rigforge/pulls/547/comments --paginate — zero inline review comments.
  • git diff a509635..HEAD --; git diff a509635..HEAD --numstat — reviewed all nine changed files; no production, VERSION, CHANGELOG, dependency or budget changes.
  • nl -ba on profiler, lifecycle helper, control phase and cleanup; sed on test wiring and refresh implementation; cat systemd refresh templates — traced dispatch, authentication, publication and cleanup. No relaxed tests, hardcoded success, TODO substitute or swallowed diagnostic failure found.
  • git diff a509635..HEAD -- tests/README.md — documentation describes bounded diagnostics and attribution limits.
  • gh pr checks 547 --repo p2pool-starter-stack/rigforge — eight passing checks; none skipped or pending.
  • gh run view 36692380281 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs — current head; all six CI jobs and their steps succeeded, including suite, Docker e2e and coverage.
  • gh run view 36692380557 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs — current head; secret scan and workflow audit succeeded.

Findings

  • [return] gh pr view 547 --repo p2pool-starter-stack/rigforge --json body,comments; gh issue view 546 --repo p2pool-starter-stack/rigforge --json body,comments: The issue and architect ruling require the candidate in the affected workload, or an equivalent reproduction establishing the same failure mechanism. The body says automatic routing does not guarantee the original affected fixture, and both quoted jobs show only normal short refreshes. No queued pairing support or equivalent-mechanism evidence is supplied. Add the supported path and quoted evidence, or obtain an explicit project ruling narrowing RigForge #540 needs a queued diagnostic on the original stale-feed fixture #546's acceptance before claiming closure; keeping api-refresh stops refreshing the enriched feed after a max_temp_c control-apply (seen twice on the bench rig) #540 open does not resolve this prerequisite.
  • [return] gh api repos/p2pool-starter-stack/bench-ci/issues/760; gh api repos/p2pool-starter-stack/bench-ci/issues/867; gh api repos/p2pool-starter-stack/bench-ci/issues/979: All three linked issues return 'Resource not accessible by integration (HTTP 403)'; gh issue view also cannot resolve them. Required claim-history review is incomplete. Provide reviewer access or project-authorized readable copies of the relevant bodies, comments and rulings, then rerun review.
  • [note] make test; make lint; make test-suite: Local aggregate checks did not pass: initial missing ShellCheck, terminated whole-tree lint, and an unfinished suite stopped after more than 35 minutes. Focused tests/lint, singular budget gate, topology scans and all eight current-head GitHub checks passed.

@pithead-developer pithead-developer Bot added stage/question its issue has a question pending stage/in-progress and removed stage/in-review a reviewer session is on it now stage/question its issue has a question pending labels Sep 30, 2026
@pithead-developer

Copy link
Copy Markdown
Contributor Author

RETURN follow-up: the operator retained affected-workload acceptance and authorized one discovered connect,control job on the existing candidate. Job 1888@0bbedc773adf073c43d6758032bcff437f57f18d is queued at priority 10: connect establishes mining, then control captures thermal-apply diagnostics on the same reserved worker. Generated evidence is in the updated body; completion is still required.

The approved private linked-history context has been refreshed for the local reviewer. No branch changes were needed. Readiness remains withdrawn until the paired job's complete evidence is inspected; the subsequent Ready for review comment will answer each RETURN finding. The CLI discovery display omission is filed separately as bench-ci#996 and does not prevent the authorized phases from being accepted.

@pithead-developer pithead-developer Bot added stage/bench-testing its issue waits on a queued or running tier-4 bench job stage/in-progress and removed stage/in-progress stage/bench-testing its issue waits on a queued or running tier-4 bench job labels Sep 30, 2026
@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

  • RETURN — affected-workload pairing: followed the operator's retained acceptance and authorized route. Exact-commit bench-ci tiers --repo rigforge --commit 0bbedc773adf073c43d6758032bcff437f57f18d discovers connect/control; priority-10 idempotent job 1888@0bbedc773adf073c43d6758032bcff437f57f18d runs them in order on the same reserved candidate worker. Its full status, log and two artifacts confirm Stratum connection/share acceptance before control, real timer-driven helper events and successful restoration. Relevant instructions: tests/README.md:40; code: tests/e2e-pithead.sh:172, tests/e2e-pithead-control.sh:47, tests/e2e-refresh-window.sh:24. The unedited evidence follows; this passing run establishes the approved workload test, not recurrence or the historical cause.
  • RETURN — inaccessible linked history: refreshed complete read-only snapshots of bench-ci#760/#867/#979 through the operator-approved private runner review context, retaining comments, authors, source URLs and retrieval time. The local reviewer can read the approved context without a new token or public disclosure. Private source contents and topology are excluded from this comment and PR body.
  • NOTE — incomplete local aggregate checks: the body explicitly keeps the reviewer's make test, terminated whole-tree lint and unfinished make test-suite as non-passing local checks. This resume reran bash tests/test-refresh-profile.sh, bash tests/test-refresh-window-control.sh and FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh, all PASS. gh pr checks 547 --repo p2pool-starter-stack/rigforge confirmed eight Actions checks passed on bench-tested head 0bbedc773adf073c43d6758032bcff437f57f18d. New docs-only head checks are pending; the runner must confirm them and record its separate review before merge.

Since RETURN, the branch adds one docs-only commit, d086161520bbc613f442c72482c406d36d9c3bad: tests/README.md:40 now requires connect/control for affected-workload acceptance and calls control-only runs diagnostic-only. make lint-md passed with zero errors. git diff 0bbedc773adf073c43d6758032bcff437f57f18d..HEAD changes only that README, so job 1888 tested identical harness/product code; no redundant hardware job was submitted for prose. The other changes are the supported workload proof, refreshed authorized private history, and corrected PR claims. Final verifier evidence/documentation review is clean; prior security review remains clean for the unchanged executable code. This draft is ready for the runner's separate re-review and current-head Actions gate before merge; no merge was performed.

Job 1888 observed 21 completed refreshes at 1.463–1.606 seconds and the changed ceiling in a fresh summary after 15 seconds. No historical slow pass was captured; #540 / draft #541 remain open for root-cause attribution. Unrelated hardware phases and long-duration stress were not run because #546 asks for bounded workload diagnostics.

bench-ci job 1879@049f837301edb9f2170a8be2e939c82145b1778f · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 17s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f; re-run it to check.

bench-ci job 1884@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 18s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1888@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 21s
  • 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 1888@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

  • Round-2 portability finding: tests/e2e-refresh-window.sh:43 now uses the requested sed -nE / event=(begin|end) form with the same strict schema. With export PATH="/usr/bin:/bin:/usr/sbin:/sbin:$PATH", bash tests/test-refresh-profile.sh fails on the uncorrected d086161520bbc613f442c72482c406d36d9c3bad commit and passes on the corrected head; bash tests/test-refresh-window-control.sh also passes. The export assertion at tests/test-refresh-profile.sh:54 is the regression that catches the original failure. These checks use native macOS Bash, sed, date, grep and awk.
  • Aggregate-evidence finding: neither earlier reviewer aggregate is counted as PASS. The current-head fully native Bash 3.2 aggregate stopped before final assertions despite exit 0, so it is explicitly NOT PASS; its pre-existing fixture defect is filed as Native Bash 3.2 refresh fixture aborts the suite while make exits 0 #549 (tests/test-api-refresh-liveness.sh:44). With installed Bash 5.3 and native sed/date selected by export PATH="$TMPDIR/rigforge-546-native-tools:/usr/bin:/bin:/usr/sbin:/sbin:$PATH", timeout 2700 make test-suite completed with 2,305 passed, zero failed, exit 0 and the final assertion summary. Both new modules independently pass under native Bash 3.2.
  • Current-head CI/bench finding: all eight checks from gh pr checks 547 --repo p2pool-starter-stack/rigforge pass. Completed paired job 1903 below exercises the corrected head through the supported queue; bench-ci status, bench-ci log and bench-ci artifacts using 1903@8941031b05d62050acb6d4fd1b4e7369920a504f were read in full, including both artifacts. Mining/accepted share precedes authenticated control and real timer dispatch on the same reserved worker; fixed-schema helper timings are paired and successful, with baseline and restoration verified. This covers the harness path at tests/e2e-pithead-control.sh:47 and the documented pairing in tests/README.md:40.
  • Prior pairing/history-access findings stay closed: the corrected candidate has fresh connect,control evidence, and the authorized full linked-history snapshots were refreshed locally without material changes. The local reviewer has the approved source context; private bodies, topology and raw artifacts remain private.

Since RETURN, the branch gained the one-line filter correction plus a merge of develop’s unrelated proxy-diagnostics update. Head is 8941031b05d62050acb6d4fd1b4e7369920a504f. Focused ShellCheck/shfmt, the exact singular file-budget gate, topology lint and git diff --check pass; verifier and security review are clean.

The requested diagnostic is covered by native red/green tests, a completed aggregate, green Actions and a restored real-workload run on this head. Historical slow-refresh recurrence/attribution and unrelated hardware phases or long-duration stress were not established; #540 and draft #541 remain open. The PR is ready for the independent head review required before merge.

bench-ci job 1879@049f837301edb9f2170a8be2e939c82145b1778f · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 17s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f; re-run it to check.

bench-ci job 1884@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 18s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1888@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 21s
  • 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 1888@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1903@8941031b05d62050acb6d4fd1b4e7369920a504f · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 14s
  • 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 1903@8941031b05d62050acb6d4fd1b4e7369920a504f; re-run it to check.

@pithead-reviewer

Copy link
Copy Markdown
Contributor

adversarial-review: RETURN at 8941031b05d62050acb6d4fd1b4e7369920a504f, round 3, by a separate reviewer session.

{
  "verdict": "RETURN",
  "summary": "RETURN at 8941031b05d62050acb6d4fd1b4e7369920a504f: #546 requires real timer-driven diagnostics during mining and thermal apply, with reservation, baseline verification and restoration; the current-head evidence satisfies that diagnostic scope and closes the earlier findings. The diff still reuses an unlinked privileged response pathname and reports diagnostic success after export failure; both paths were reproduced with hardware-free probes.",
  "evidence": [
    "pwd \u2014 confirmed the supplied local checkout; local path withheld.",
    "git status --short \u2014 clean at start and at final confirmation.",
    "git rev-parse HEAD \u2014 8941031b05d62050acb6d4fd1b4e7369920a504f.",
    "git branch --show-current \u2014 detached reviewer checkout.",
    "cat graphify/SKILL.md \u2014 read the graph-first review workflow; graph output kept in scratch storage.",
    "cat ponytail-review/SKILL.md \u2014 applied the requested diff simplification pass; no unnecessary dependency, abstraction, configuration knob or scaffolding found.",
    "cat ponytail/SKILL.md \u2014 applied the minimum-change rules.",
    "test -f graphify-out/graph.json && graphify query <review-question> \u2014 exit 1: graph absent; no query ran.",
    "cat AGENTS.md CONTRIBUTING.md Makefile \u2014 read develop-base, portability, hardware reservation, topology and singular budget rules.",
    "gh pr view 547 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt,headRefOid,baseRefName,headRefName,files,commits,reviews \u2014 read the complete body, all comments, earlier RETURNs and latest Ready for review; develop base and matching head.",
    "gh issue view 546 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt \u2014 acceptance is real timer-driven helper timings and service/timer observations during authenticated thermal apply in the approved mining workload, using reservation, baseline verification and restoration. Historical mechanism remains with #540/#541.",
    "cat <authorized-private-question> \u2014 read the operator-approved connect/control pairing; no private source text published.",
    "python3 detect-topology.py --help \u2014 failed because this detector treats --help as a filename; corrected invocation used below.",
    "git diff origin/develop...HEAD --stat \u2014 nine changed files, 365 insertions and six deletions.",
    "git diff origin/develop...HEAD --name-only \u2014 only harness, unit-test and test-documentation files; no production, version, changelog, dependency or budget change.",
    "command -v graphify \u2014 installed CLI available.",
    "graphify --help \u2014 read supported scratch-output and query options.",
    "gh issue view 540 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt \u2014 read direct linked producer-defect history; cause attribution remains open.",
    "gh pr view 541 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt,headRefOid,files \u2014 read direct linked production hypothesis and all comments; no companion fix acceptance inferred from #547.",
    "gh issue view 549 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt \u2014 read the separately filed pre-existing Apple Bash aggregate fixture defect.",
    "Python read of authorized linked snapshots and runner-prefetched context \u2014 read bench-ci#760/#867/#979/#996 with provenance, states, timestamps and trusted authorship; no required source UNAVAILABLE, no recursive job tracing or different credential used.",
    "gh api repos/p2pool-starter-stack/rigforge/issues/546/comments --paginate \u2014 all claim/ruling comments are pithead-developer or pithead-architect Bot identities.",
    "gh api repos/p2pool-starter-stack/rigforge/pulls/547/comments --paginate \u2014 zero inline review comments.",
    "gh api repos/p2pool-starter-stack/rigforge/pulls/547/reviews --paginate \u2014 zero review bodies; earlier verdicts were issue comments and were read.",
    "graphify extract . --code-only --out <private-scratch> --max-workers 2 \u2014 exit 0; 745 nodes, 1,483 edges, 52 communities. Non-code files excluded; 12 files yielded no nodes. Reviewed checkout untouched.",
    "graphify query <control/profile/caller-question> --graph <scratch-graph> --budget 1500 \u2014 exit 0; traced phase_control, lifecycle and suite relationships, then read their source.",
    "git diff origin/develop...HEAD -- <all-nine-changed-files> \u2014 reviewed every changed hunk; no relaxed/deleted assertion, hardcoded success, TODO substitute, silent scope reduction or production fix disguised as diagnostics. Two newly reproduced failure paths are findings below.",
    "nl -ba <new-regression-modules/control-phase>; sed <harness/production-refresh/source ranges>; cat systemd/rigforge-api-refresh.service.template systemd/rigforge-api-refresh.timer.template \u2014 traced authentication, timer dispatch, helper wrappers, atomic publication, cleanup, test wiring and retained service policy.",
    "rg -n <refresh-helper-and-test-wiring-patterns> rigforge.sh tests/run.sh \u2014 confirmed both new modules are wired into the dependency-free suite.",
    "rg -n refresh_profile_(start|state|finish)|_control_curl tests \u2014 reviewed 35 caller references, including conditional cleanup contexts.",
    "gh pr checks 547 --repo p2pool-starter-stack/rigforge --json name,state,bucket,link,workflow \u2014 eight SUCCESS checks at both initial and final inspection; none pending, failed or skipped.",
    "gh run view 36729138088 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs \u2014 success on 8941031b05d62050acb6d4fd1b4e7369920a504f; all six CI jobs and every step succeeded, including suite, Docker e2e and coverage.",
    "gh run view 36729138053 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs \u2014 success on 8941031b05d62050acb6d4fd1b4e7369920a504f; secret scan and workflow audit, including every step, succeeded.",
    "source ~/.config/bench-ci/env \u2014 used the authorized environment for read-only runner commands.",
    "bench-ci --help \u2014 read evidence/status/log/artifact commands; no tier submitted or run manually.",
    "bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 exact match to the PR block: completed success, exit 0, 4 pass/0 fail/0 skip, baseline verified and rig restored. Historical evidence; not substituted for current-head proof.",
    "bench-ci status 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 quoted commit and all seven lifecycle steps confirmed successful; full private status read.",
    "bench-ci log 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 read the complete log (1605 lines); tested checkout, control and restoration confirmed; all failure-word matches were zero-failure summaries.",
    "bench-ci artifacts 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 listed the control artifact.",
    "bench-ci artifacts 1879@049f837301edb9f2170a8be2e939c82145b1778f \"106125  e2e-pithead-control.log\" --out <private-file> \u2014 reviewer parser initially included the size column; 404 not_found. Correct named fetch follows; this was not a bench fault.",
    "bench-ci artifacts 1879@049f837301edb9f2170a8be2e939c82145b1778f e2e-pithead-control.log --out <private-file> \u2014 exit 0; downloaded and read the complete artifact (106125 bytes).",
    "bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 exact match to the PR block: completed success, exit 0, 4 pass/0 fail/0 skip, baseline verified and rig restored. Historical evidence; not substituted for current-head proof.",
    "bench-ci status 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 quoted commit and all seven lifecycle steps confirmed successful; full private status read.",
    "bench-ci log 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 read the complete log (1605 lines); tested checkout, control and restoration confirmed; all failure-word matches were zero-failure summaries.",
    "bench-ci artifacts 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 listed the control artifact.",
    "bench-ci artifacts 1884@0bbedc773adf073c43d6758032bcff437f57f18d \"106331  e2e-pithead-control.log\" --out <private-file> \u2014 reviewer parser initially included the size column; 404 not_found. Correct named fetch follows; this was not a bench fault.",
    "bench-ci artifacts 1884@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-control.log --out <private-file> \u2014 exit 0; downloaded and read the complete artifact (106331 bytes).",
    "bench-ci evidence 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 exact match to the PR block: completed success, exit 0, 7 pass/0 fail/0 skip, baseline verified and rig restored. Historical evidence; not substituted for current-head proof.",
    "bench-ci status 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 quoted commit and all seven lifecycle steps confirmed successful; full private status read.",
    "bench-ci log 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 read the complete log (1615 lines); tested checkout, control and restoration confirmed; all failure-word matches were zero-failure summaries.",
    "bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 listed both connect/control artifacts.",
    "bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d \"342  e2e-pithead-connect.log\" --out <private-file> \u2014 reviewer parser initially included the size column; 404 not_found. Correct named fetch follows; this was not a bench fault.",
    "bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-connect.log --out <private-file> \u2014 exit 0; downloaded and read the complete artifact (342 bytes).",
    "bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d \"106958  e2e-pithead-control.log\" --out <private-file> \u2014 reviewer parser initially included the size column; 404 not_found. Correct named fetch follows; this was not a bench fault.",
    "bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-control.log --out <private-file> \u2014 exit 0; downloaded and read the complete artifact (106958 bytes).",
    "bench-ci evidence 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 exact match to the PR block: completed success, exit 0, 7 pass/0 fail/0 skip, baseline verified and rig restored. Current-head proof.",
    "bench-ci status 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 quoted commit and all seven lifecycle steps confirmed successful; full private status read.",
    "bench-ci log 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 read the complete log (1614 lines); tested checkout, control and restoration confirmed; all failure-word matches were zero-failure summaries.",
    "bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 listed both connect/control artifacts.",
    "bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \"342  e2e-pithead-connect.log\" --out <private-file> \u2014 reviewer parser initially included the size column; 404 not_found. Correct named fetch follows; this was not a bench fault.",
    "bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f e2e-pithead-connect.log --out <private-file> \u2014 exit 0; downloaded and read the complete artifact (342 bytes).",
    "bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \"105675  e2e-pithead-control.log\" --out <private-file> \u2014 reviewer parser initially included the size column; 404 not_found. Correct named fetch follows; this was not a bench fault.",
    "bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f e2e-pithead-control.log --out <private-file> \u2014 exit 0; downloaded and read the complete artifact (105675 bytes).",
    "Python full-log/artifact analysis \u2014 each quoted control artifact contains 21 successful refreshes, 714 strict-schema events paired into 357 durations, no unmatched event or nonzero return, and 61 state observations. Jobs 1888 and 1903 establish accepted-share mining before control; control-only jobs do not. Current-head timing/freshness claims match; no historical slow-refresh attribution established.",
    "bench-ci tiers --repo rigforge --commit 8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 discovery succeeds but CLI hides phase choices, as reported in linked bench-ci#996. Current-head accepted connect/control options and executed phases independently confirmed in job 1903.",
    "export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH; bash tests/test-refresh-profile.sh \u2014 native Apple Bash/sed/date regression PASS, exit 0.",
    "export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH; bash tests/test-refresh-window-control.sh \u2014 native Apple Bash/sed/date control regression PASS, exit 0.",
    "git worktree add --detach <head-scratch> HEAD \u2014 clean scratch checkout created.",
    "git worktree add --detach <without-fix-scratch> HEAD \u2014 independent scratch checkout created.",
    "git worktree add --detach <native-red-scratch> HEAD \u2014 independent scratch checkout created.",
    "git merge-base origin/develop HEAD \u2014 selected the base for implementation-only removal.",
    "git restore --source=<merge-base> -- tests/e2e-pithead.sh tests/e2e-pithead-control.sh tests/README.md in scratch; unlink the two added harness helpers there \u2014 removed non-test implementation while preserving the new tests; reviewed branch untouched.",
    "git restore --source=d086161520bbc613f442c72482c406d36d9c3bad -- tests/e2e-refresh-window.sh in native-red scratch \u2014 restored only the broken exporter.",
    "Native bash tests/test-refresh-profile.sh in native-red scratch \u2014 expected exit 1 at the exported helper-event assertion. Current-head native execution above passes, closing round-2 portability finding.",
    "Native bash tests/test-refresh-profile.sh in without-fix scratch \u2014 expected exit 127; preserved new regression rejects absent implementation.",
    "Native bash tests/test-refresh-window-control.sh in without-fix scratch \u2014 expected exit 1; preserved new regression rejects old control behavior.",
    "command -v bash sed date shellcheck shfmt timeout gitleaks; bash --version; shellcheck --version; shfmt --version \u2014 initial PATH had GNU sed, Bash 5.3.15, ShellCheck 0.11.0 and shfmt 3.13.1. Explicit native tools and pinned formatter used for completed checks.",
    "FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh in clean head scratch \u2014 PASS; every over-target file has a ceiling, no growth beyond it, budget monotonic.",
    "make lint in clean head scratch with shfmt 3.13.1 \u2014 exit 2 from formatter-version differences; not PASS. Topology, budget and ShellCheck completed; pinned rerun follows.",
    "gh release download v3.14.1 --repo mvdan/sh --pattern shfmt_v3.14.1_darwin_arm64 --dir <private-tool-dir> \u2014 exit 0; obtained repository-pinned formatter without altering the checkout.",
    "<downloaded-shfmt> --version \u2014 v3.14.1.",
    "make lint in clean head scratch with ShellCheck 0.11.0/shfmt 3.14.1 \u2014 PASS, exit 0; topology controls/gate, file-budget controls/gate, whole-tree ShellCheck and formatting all completed.",
    "PATH=<scratch-native-tools>:/usr/bin:/bin:/usr/sbin:/sbin:$PATH timeout 2700 make test-suite in clean head scratch \u2014 completed PASS, exit 0; installed Bash 5.3.15 with native sed/date, final summary 2,305 passed and zero failed.",
    "/bin/bash <base-fixture-extraction> \u2014 reproduced #549 on unchanged develop fixture: runtime command-substitution syntax error and unbound variable despite exit 0; explicitly not PASS.",
    "/opt/homebrew/bin/bash <same-base-fixture-extraction> \u2014 fixture executes without the native runtime parser error. New modules independently pass under native Bash; #549 is pre-existing and out of this diff.",
    "git diff --check \u2014 PASS.",
    "gitleaks version \u2014 8.30.1.",
    "gitleaks git --log-opts=<merge-base>..HEAD --redact --no-banner --report-path <private-file> \u2014 PASS, exit 0; four PR commits scanned, no leaks.",
    "bash <hardware-free-export-failure-probe> \u2014 expected regression exit 1: stubbed sed returns 7, but refresh_profile_finish returns 0 with no exported helper records. Finding at tests/e2e-refresh-window.sh:43.",
    "bash <same-export-probe-with-scratch-guard> \u2014 PASS, exit 0: adding || rc=1 makes refresh_profile_finish return 1 while cleanup still runs. Branch not edited.",
    "TEST_WINDOW_DIR=<private-case> bash <hardware-free-response-reuse-probe> fresh \u2014 expected regression exit 1: substituting the deleted response pathname overwrites a sentinel through the thermal request. Finding at tests/e2e-pithead-control.sh:51.",
    "curl -sS -o <scratch-output-symlink> file://<scratch-input> \u2014 exit 0; native curl follows the output symlink and changes the sentinel, independently confirming the fixture writer behavior. No network or rig involved.",
    "TEST_WINDOW_DIR=<private-case> bash <same-response-probe-with-fresh-mktemp> fresh \u2014 PASS, exit 0; fresh allocation before thermal POST preserves the sentinel. Branch not edited.",
    "python3 detect-topology.py --self-test \u2014 PASS: 14 positive controls, 11 negatives, 14 scrub round-trips.",
    "python3 detect-topology.py <PR-547-body/comments and issue-546-body/comments> \u2014 clean, exit 0; repeated with complete review/inline surfaces after fetching them, also clean.",
    "python3 detect-topology.py <direct-linked-540/541 material> \u2014 clean, exit 0.",
    "python3 detect-topology.py <direct-linked-549 material> \u2014 clean, exit 0.",
    "gh pr view 547 --repo p2pool-starter-stack/rigforge --json headRefOid,updatedAt \u2014 final head remains 8941031b05d62050acb6d4fd1b4e7369920a504f.",
    "git status --porcelain on reviewed checkout and clean head scratch \u2014 both empty after verification; no branch edit, local Docker, manual rig work, bench submission or merge."
  ],
  "findings": [
    {
      "severity": "return",
      "where": "tests/e2e-refresh-window.sh:43",
      "what": "The exporter failure is swallowed. refresh_profile_finish runs in conditional contexts, so an unchecked sed failure does not abort it; the later success grep reads the unfiltered journal. A hardware-free probe with sed returning 7 produced finish rc=0 and no exported helper records. Propagate export failure (the scratch || rc=1 fix returns failure while preserving cleanup) and add that failure-path regression."
    },
    {
      "severity": "return",
      "where": "tests/e2e-pithead-control.sh:51",
      "what": "The thermal POST reuses resp after line 32 unlinks its securely allocated file, leaving the pathname available for substitution during the intervening wait. A hardware-free substituted-path probe overwrote a sentinel, and native curl independently followed the same output symlink. This root-run harness must retain its secured response file or allocate a fresh mktemp before the thermal POST; the latter made the probe pass. Add a regression for replacement of the removed pathname."
    },
    {
      "severity": "note",
      "where": "tests/test-api-refresh-liveness.sh:44 / rigforge#549",
      "what": "The unchanged develop fixture reproduces the native Bash 3.2 runtime parser failure and misleading zero exit. It is already tracked in #549; no native aggregate PASS is inferred. Both new modules pass natively and the completed Bash 5.3/native-sed/date aggregate passes."
    }
  ]
}

@pithead-reviewer

Copy link
Copy Markdown
Contributor

adversarial-review: RETURN at 8941031, round 3, by the pithead-reviewer reviewer (a fresh session that did not produce this head; gpt-6.1-sol).

RETURN at 8941031: the current-head evidence satisfies #546’s diagnostic scope and closes the earlier findings. Two reproduced failure paths remain: the thermal request reuses a deleted privileged response pathname, and diagnostic export failure still reports success.

Evidence

  • pwd — confirmed the supplied checkout; local path withheld.
  • git status --short — clean at start and final confirmation.
  • git rev-parse HEAD — 8941031.
  • git branch --show-current — detached reviewer checkout.
  • cat graphify/SKILL.md — applied graph-first review; graph output kept in scratch storage.
  • cat ponytail-review/SKILL.md — applied simplification review; no unnecessary dependency, abstraction, configuration knob or scaffolding found.
  • cat ponytail/SKILL.md — applied minimum-change rules.
  • test -f graphify-out/graph.json && graphify query — exit 1: graph absent; no query ran.
  • cat AGENTS.md CONTRIBUTING.md Makefile — read develop-base, portability, reservation, topology and singular file-budget rules.
  • gh pr view 547 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt,headRefOid,baseRefName,headRefName,files,commits,reviews — read complete body, all comments, earlier RETURNs and latest Ready for review; develop base and matching head.
  • gh issue view 546 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt — acceptance requires real timer-driven helper timings and timer/service observations during authenticated thermal apply in the approved mining workload, with reservation, baseline verification and restoration. Historical cause attribution remains with api-refresh stops refreshing the enriched feed after a max_temp_c control-apply (seen twice on the bench rig) #540/perf(api): avoid per-core processes in refresh (#540) #541.
  • cat — read the approved connect/control pairing; private source text withheld.
  • python3 detect-topology.py --help — failed because the detector treats --help as a filename; corrected invocation follows.
  • git diff origin/develop...HEAD --stat — nine changed files, 365 insertions and six deletions.
  • git diff origin/develop...HEAD --name-only — harness, unit-test and test-documentation changes only; no production, version, changelog, dependency or budget change.
  • command -v graphify — installed CLI available.
  • graphify --help — read scratch-output and query options.
  • gh issue view 540 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt — read linked producer-defect history; cause attribution remains open.
  • gh pr view 541 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt,headRefOid,files — read linked production hypothesis and all comments; its acceptance is not inferred from test: capture timer refresh timings during thermal apply (#546) #547.
  • gh issue view 549 --repo p2pool-starter-stack/rigforge --json number,title,body,author,comments,url,state,updatedAt — read the separately filed pre-existing Apple Bash fixture defect.
  • Python read of authorized linked snapshots and runner-prefetched context — read bench-ci#760/#867/#979/#996 with provenance, states, timestamps and trusted authorship; no required source UNAVAILABLE, recursive job tracing or credential change.
  • gh api repos/RigForge #540 needs a queued diagnostic on the original stale-feed fixture #546/comments --paginate — claim and ruling comments confirmed as pithead-developer or pithead-architect Bot identities.
  • gh api repos/p2pool-starter-stack/rigforge/pulls/547/comments --paginate — zero inline review comments.
  • gh api repos/p2pool-starter-stack/rigforge/pulls/547/reviews --paginate — zero review bodies; earlier verdicts were issue comments and were read.
  • graphify extract . --code-only --out --max-workers 2 — exit 0; 745 nodes, 1,483 edges, 52 communities. Non-code files excluded; 12 files yielded no nodes. Reviewed checkout untouched.

Findings

  • [return] tests/e2e-refresh-window.sh:43: Exporter failure is swallowed. Conditional callers disable errexit, the sed status is unchecked, and the later success grep reads the unfiltered journal. A hardware-free probe with sed returning 7 produced finish rc=0 without exported helper records. Propagate export failure while preserving cleanup; the scratch || rc=1 correction passes. Add this failure-path regression.
  • [return] tests/e2e-pithead-control.sh:51: The thermal POST reuses resp after line 32 unlinks its securely allocated file, leaving the pathname available for substitution during the intervening wait. A hardware-free substituted-path probe overwrote a sentinel; native curl independently followed the output symlink. Retain the secured response file or allocate a fresh mktemp before the thermal POST. Fresh allocation made the probe pass; add a replacement-path regression.
  • [note] tests/test-api-refresh-liveness.sh:44 / rigforge#549: The unchanged develop fixture reproduces the native Bash runtime parser failure and misleading zero exit, already tracked in Native Bash 3.2 refresh fixture aborts the suite while make exits 0 #549. No native aggregate PASS is inferred. Both new modules pass natively; the completed Bash 5.3/native-sed/date aggregate passes.

@pithead-developer pithead-developer Bot added stage/question its issue has a question pending stage/in-progress and removed stage/in-review a reviewer session is on it now stage/question its issue has a question pending labels Sep 30, 2026
@pithead-developer pithead-developer Bot added stage/bench-testing its issue waits on a queued or running tier-4 bench job stage/in-progress and removed stage/in-progress stage/bench-testing its issue waits on a queued or running tier-4 bench job labels Sep 30, 2026
@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

Current head: 541b48f404693e6ada262a1cfebc8809af1e7e5a. Since the round-3 RETURN, the branch adds the export-status guard, fresh thermal-response allocation, regressions and the corresponding documentation correction. No code changed after the queued job.

  • Export failure: tests/e2e-refresh-window.sh:43 now records failed export while completing cleanup. tests/test-refresh-profile.sh:68 exercises the conditional caller: native bash tests/test-refresh-profile.sh failed before the fix and passed afterward, including cleanup assertions.
  • Response pathname substitution: tests/e2e-pithead-control.sh:51 creates a fresh secured file before thermal POST and removes it afterward. tests/test-refresh-window-control.sh:106 plants the old-path substitution and verifies the sentinel stays unchanged and the new response has mode 600. Native bash tests/test-refresh-window-control.sh failed before the fix and passed afterward; allocation failure also prevents POST. tests/README.md:39 documents export failure and secured response handling.
  • Portable filter: the strict sed -nE schema remains in tests/e2e-refresh-window.sh:43; both focused regression modules pass with native macOS sed/date/Bash. The earlier portable-filter finding remains fixed.
  • Aggregate evidence: with installed Bash 5.3.15 and native sed/date selected, timeout 2700 make test-suite completed with 2,305 passed, zero failed and exit 0. Focused ShellCheck/shfmt, make lint-topology, make lint-md, git diff --check and FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh passed. The native Bash 3.2 aggregate defect is owned by Native Bash 3.2 refresh fixture aborts the suite while make exits 0 #549; its zero exit without final assertions is NOT PASS. Neither earlier reviewer aggregate is counted as PASS.
  • Pairing: full bench-ci status, bench-ci log and both artifacts for 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a were read. Connect established mining and an accepted share before control on the same reserved worker. Control captured timer/service state and helper timings; thermal apply appeared in a newer summary after five seconds. Baseline verification and restoration succeeded. The exact generated evidence follows.
  • Linked history: the project-authorized local source snapshots and answered ruling remain available for the separate local reviewer. The pairing and history-access findings remain closed under the operator’s ruling; no private source content or raw artifact is published.

All eight required current-head Actions checks pass (gh pr checks 547 --repo p2pool-starter-stack/rigforge). The verifier and security reviewer found no gaps in the five-file correction. The PR is ready for separate review because the two returned failure modes have red/green regressions, the supported suite completed, and the corrected head passed the paired hardware job with restoration. #540 and draft #541 remain open: this run showed short refreshes, not the historical slow-refresh mechanism. Unrelated hardware phases and long-duration stress were not tested. Independent adversarial approval on this head remains required before merge.

bench-ci job 1879@049f837301edb9f2170a8be2e939c82145b1778f · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 17s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f; re-run it to check.

bench-ci job 1884@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["control"]}
  • status: completed · conclusion: success · exit 0 · 7m 18s
  • 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: 4 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1888@0bbedc773adf073c43d6758032bcff437f57f18d · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 21s
  • 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 1888@0bbedc773adf073c43d6758032bcff437f57f18d; re-run it to check.

bench-ci job 1903@8941031b05d62050acb6d4fd1b4e7369920a504f · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 14s
  • 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 1903@8941031b05d62050acb6d4fd1b4e7369920a504f; re-run it to check.

bench-ci job 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a · rigforge · tier4-e2e

  • options: {"phases": ["connect", "control"]}
  • status: completed · conclusion: success · exit 0 · 8m 12s
  • 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 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a; re-run it to check.

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

Copy link
Copy Markdown
Contributor

adversarial-review: PASS at 541b48f404693e6ada262a1cfebc8809af1e7e5a, by a separate reviewer session.

{
  "verdict": "PASS",
  "summary": "PASS at 541b48f404693e6ada262a1cfebc8809af1e7e5a: #546 requires real timer-driven subsecond helper timings and timer/service state around authenticated thermal apply in the approved connect/control mining workload, with reservation, verified baseline and restoration. The earlier findings now have red/green proof; current-head Actions, the 2,305-assertion local suite and job 1911 hold. This approves the diagnostic harness; historical slow-refresh attribution and the production fix remain open in #540/#541.",
  "evidence": [
    "pwd \u2014 reviewed the runner checkout locally; absolute path withheld.",
    "git status --short --branch (repeated) \u2014 clean detached checkout; reviewed files unchanged.",
    "cat graphify/SKILL.md (including its extraction instructions) \u2014 read and applied graphify; source location withheld.",
    "cat ponytail/SKILL.md \u2014 read the minimal-change review rules; source location withheld.",
    "cat ponytail-review/SKILL.md \u2014 applied the requested diff simplification pass: lean already; no dependency, speculative abstraction, configuration knob or unnecessary machinery to cut.",
    "rg --files -g AGENTS.md -g CONTRIBUTING.md -g graph.json -g Makefile \u2014 found repository instructions and targets; no existing code graph.",
    "cat AGENTS.md CONTRIBUTING.md \u2014 read portability, develop-base, release boundaries, verification and singular file-budget rules.",
    "git rev-parse HEAD \u2014 541b48f404693e6ada262a1cfebc8809af1e7e5a, matching the PR head.",
    "git diff --stat origin/develop...HEAD \u2014 nine harness/test/documentation files; 417 additions and six deletions; no production, version, dependency or budget changes.",
    "gh pr view 547 --repo p2pool-starter-stack/rigforge --json title,body,author,baseRefName,headRefName,headRefOid,commits,comments,reviews,files,isDraft,state,url (repeated and saved privately) \u2014 read the complete body, all eleven comments and latest Ready for review dated 2026-09-30T16:13:52Z; develop base and matching head. Earlier RETURN findings were read.",
    "gh issue view 546 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url (repeated and saved privately) \u2014 read the diagnostic acceptance and subsequent rulings; historical root-cause acceptance remains with #540/#541.",
    "cat [authorized private answered question] \u2014 read the approved exact-commit connect/control pairing and linked-history channel; contents withheld.",
    "Python read of [authorized linked snapshots] plus runner-prefetched context \u2014 read bench-ci#760/#867/#979/#996 with source URLs, updatedAt, states and trusted authors; none UNAVAILABLE. No recursive job tracing or credential change.",
    "gh issue view 540 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url \u2014 read body and all comments; producer defect remains open.",
    "gh pr view 541 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url \u2014 read body and all comments; production latency hypothesis and attribution remain open; no companion approval inferred.",
    "gh issue view 549 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url \u2014 read body and all comments; pre-existing native Bash aggregate-fixture failure remains separately owned.",
    "gh api repos/p2pool-starter-stack/rigforge/issues/546/comments --paginate \u2014 eleven comments; ruling/claim authors are runner pithead-* Bot identities.",
    "gh api repos/p2pool-starter-stack/rigforge/pulls/547/comments --paginate \u2014 zero inline review comments.",
    "gh api repos/p2pool-starter-stack/rigforge/pulls/547/reviews --paginate \u2014 zero review bodies.",
    "gh api repos/p2pool-starter-stack/rigforge/issues/547/comments --paginate \u2014 eleven issue comments; pithead-developer and pithead-reviewer Bot identities.",
    "Python extraction of PR bodies, comments and direct references \u2014 retained complete private review sources; inspected each earlier Ready/RETURN and the new responses without accepting unrelated-account claims.",
    "python3 detect-topology.py --help \u2014 failed: the detector treats --help as a filename (FileNotFoundError); corrected to its supported file arguments.",
    "sed reads of detect-topology.py \u2014 confirmed file/stdin input and --self-test interface.",
    "python3 detect-topology.py [PR body, every PR comment, issue #546 body and every issue comment] \u2014 clean, exit 0; private absolute detector/source locations withheld.",
    "python3 detect-topology.py [linked #540 body/comments] \u2014 clean, exit 0.",
    "python3 detect-topology.py [linked #541 body/comments] \u2014 clean, exit 0.",
    "python3 detect-topology.py [linked #549 body/comments] \u2014 clean, exit 0.",
    "python3 detect-topology.py --self-test \u2014 fourteen positive, eleven negative and fourteen scrub round-trip controls passed.",
    "graphify --help \u2014 read scratch-output and query options.",
    "graphify extract . --code-only --out [private scratch] --max-workers 2 \u2014 exit 0; 748 nodes, 1,487 edges, 52 communities; twelve data fixtures produced no nodes. Non-code docs were read directly; checkout unchanged.",
    "graphify query \"How do phase_control, refresh_profile_start and refresh_profile_finish collect and restore timer diagnostics?\" --graph [private graph] --budget 1300 \u2014 exit 0; found 81 related nodes, budget-limited output; traced source directly.",
    "git diff origin/develop...HEAD -- (whole diff and bounded per-file reads) \u2014 reviewed all nine files. No relaxed/deleted assertions, stub success, TODO replacement, hidden scope reduction or unresolved failure path found; documentation states collection and attribution limits.",
    "git diff origin/develop...HEAD --numstat \u2014 confirmed nine-file scope.",
    "git diff 8941031b05d62050acb6d4fd1b4e7369920a504f..HEAD --stat \u2014 five correction files, 56 additions/four deletions; export guard, secured response allocation, regressions and documentation.",
    "nl/sed reads of tests/e2e-pithead.sh, tests/test-e2e-gate-fail-closed.sh, tests/README.md and Makefile \u2014 traced reservation, dispatch, failure/EXIT cleanup, configuration/runtime restoration and unit-test wiring.",
    "rg on refresh helpers, BASH_SOURCE, unit settings and suite wiring; sed on rigforge.sh api_refresh; cat systemd/rigforge-api-refresh.service.template \u2014 real publication path retained, with existing idle priority and timeout; profiler logs fixed names/timestamps only.",
    "gh pr checks 547 --repo p2pool-starter-stack/rigforge (repeated) \u2014 all eight checks pass, none skipped or pending.",
    "gh run view 36738716370 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs \u2014 exact head 541b48f404693e6ada262a1cfebc8809af1e7e5a; suite, Docker e2e, coverage and all three lint jobs and every step succeeded.",
    "gh run view 36738716202 --repo p2pool-starter-stack/rigforge --json headSha,conclusion,event,jobs \u2014 exact head 541b48f404693e6ada262a1cfebc8809af1e7e5a; gitleaks and zizmor and every step succeeded.",
    "source [local bench environment]; bench-ci evidence 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 exact match to pasted block: completed success, exit 0, 4 pass/zero fail/zero skip, baseline verified and rig restored. Historical only; does not cover later code.",
    "source [local bench environment]; bench-ci status 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 completed success on the quoted commit; all seven lifecycle steps succeeded, baseline_verified=true and rig_restored=true.",
    "source [local bench environment]; bench-ci log 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 downloaded and inspected all 1605 lines; submitted SHA checked out in the reserved install tree, selected phases executed, checkout and rig restored.",
    "source [local bench environment]; bench-ci artifacts 1879@049f837301edb9f2170a8be2e939c82145b1778f \u2014 one control artifact.",
    "source [local bench environment]; bench-ci artifacts 1879@049f837301edb9f2170a8be2e939c82145b1778f e2e-pithead-control.log --out [private file] \u2014 exit 0; all 1575 lines inspected: four control passes, real timer/helper records and state observations.",
    "source [local bench environment]; bench-ci evidence 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 exact match to pasted block: completed success, exit 0, 4 pass/zero fail/zero skip, baseline verified and rig restored. Historical only; does not cover later code.",
    "source [local bench environment]; bench-ci status 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 completed success on the quoted commit; all seven lifecycle steps succeeded, baseline_verified=true and rig_restored=true.",
    "source [local bench environment]; bench-ci log 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 downloaded and inspected all 1605 lines; submitted SHA checked out in the reserved install tree, selected phases executed, checkout and rig restored.",
    "source [local bench environment]; bench-ci artifacts 1884@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 one control artifact.",
    "source [local bench environment]; bench-ci artifacts 1884@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-control.log --out [private file] \u2014 exit 0; all 1575 lines inspected: four control passes, real timer/helper records and state observations.",
    "source [local bench environment]; bench-ci evidence 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 exact match to pasted block: completed success, exit 0, 7 pass/zero fail/zero skip, baseline verified and rig restored. Historical only; does not cover later code.",
    "source [local bench environment]; bench-ci status 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 completed success on the quoted commit; all seven lifecycle steps succeeded, baseline_verified=true and rig_restored=true.",
    "source [local bench environment]; bench-ci log 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 downloaded and inspected all 1615 lines; submitted SHA checked out in the reserved install tree, selected phases executed, checkout and rig restored.",
    "source [local bench environment]; bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d \u2014 two artifacts, connect/control.",
    "source [local bench environment]; bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-connect.log --out [private file] \u2014 exit 0; all seven lines read: mining connection and accepted share, three passes.",
    "source [local bench environment]; bench-ci artifacts 1888@0bbedc773adf073c43d6758032bcff437f57f18d e2e-pithead-control.log --out [private file] \u2014 exit 0; all 1575 lines inspected: four control passes, real timer/helper records and state observations.",
    "source [local bench environment]; bench-ci evidence 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 exact match to pasted block: completed success, exit 0, 7 pass/zero fail/zero skip, baseline verified and rig restored. Historical only; does not cover later code.",
    "source [local bench environment]; bench-ci status 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 completed success on the quoted commit; all seven lifecycle steps succeeded, baseline_verified=true and rig_restored=true.",
    "source [local bench environment]; bench-ci log 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 downloaded and inspected all 1614 lines; submitted SHA checked out in the reserved install tree, selected phases executed, checkout and rig restored.",
    "source [local bench environment]; bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f \u2014 two artifacts, connect/control.",
    "source [local bench environment]; bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f e2e-pithead-connect.log --out [private file] \u2014 exit 0; all seven lines read: mining connection and accepted share, three passes.",
    "source [local bench environment]; bench-ci artifacts 1903@8941031b05d62050acb6d4fd1b4e7369920a504f e2e-pithead-control.log --out [private file] \u2014 exit 0; all 1575 lines inspected: four control passes, real timer/helper records and state observations.",
    "source [local bench environment]; bench-ci evidence 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a \u2014 exact match to pasted block: completed success, exit 0, 7 pass/zero fail/zero skip, baseline verified and rig restored. Current-head gate.",
    "source [local bench environment]; bench-ci status 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a \u2014 completed success on the quoted commit; all seven lifecycle steps succeeded, baseline_verified=true and rig_restored=true.",
    "source [local bench environment]; bench-ci log 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a \u2014 downloaded and inspected all 1624 lines; submitted SHA checked out in the reserved install tree, selected phases executed, checkout and rig restored.",
    "source [local bench environment]; bench-ci artifacts 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a \u2014 two artifacts, connect/control.",
    "source [local bench environment]; bench-ci artifacts 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a e2e-pithead-connect.log --out [private file] \u2014 exit 0; all seven lines read: mining connection and accepted share, three passes.",
    "source [local bench environment]; bench-ci artifacts 1911@541b48f404693e6ada262a1cfebc8809af1e7e5a e2e-pithead-control.log --out [private file] \u2014 exit 0; all 1584 lines inspected: four control passes, real timer/helper records and state observations.",
    "bench-ci artifacts --help \u2014 read supported exact-reference download interface; no job submitted.",
    "Initial Python artifact-download wrapper \u2014 failed before downloading anything (TypeError joining a Path and string); corrected wrapper downloaded all eight quoted artifacts successfully.",
    "Python analysis of all five complete statuses/logs/artifacts \u2014 evidence blocks match; measurement schemas and begin/end duration arithmetic hold, all completed helper statuses zero. Job 1911 has 21 complete refreshes at 1.441\u20131.959 seconds, three unfinished helper spans retained at cleanup, 61 timer/service snapshots and the thermal value in a newer summary after five seconds. No historical slowdown reproduced.",
    "bench-ci tiers --repo rigforge --commit 541b48f404693e6ada262a1cfebc8809af1e7e5a \u2014 exit 0; CLI hides selectable phases, the known bench-ci#996 display defect.",
    "head/rg/sed on installed bench-ci client \u2014 traced its GET /tiers query and targets-only display; read-only inspection, no runner changes.",
    "Python call through bench_ci.client.request GET /tiers for rigforge@541b48f404693e6ada262a1cfebc8809af1e7e5a \u2014 HTTP 200; exact-commit selectable.phases includes connect and control. Raw response retained privately.",
    "command -v bash shellcheck shfmt timeout jq; bash --version; shellcheck --version; shfmt --version \u2014 installed Bash 5.3.15, ShellCheck 0.11.0, initial formatter 3.13.1; native focused checks explicitly selected Bash 3.2 and native sed/date.",
    "PATH=[native macOS tools]:$PATH bash tests/test-refresh-profile.sh \u2014 PASS, exit 0, including portable filter, export-error cleanup, fresh secured response, substitution and allocation-failure/no-POST assertions as applicable.",
    "PATH=[native macOS tools]:$PATH bash tests/test-refresh-window-control.sh \u2014 PASS, exit 0, including portable filter, export-error cleanup, fresh secured response, substitution and allocation-failure/no-POST assertions as applicable.",
    "git worktree add --detach [scratch without-correction] HEAD \u2014 clean scratch at the reviewed head; original checkout untouched.",
    "git restore --source=8941031b05d62050acb6d4fd1b4e7369920a504f --worktree -- [five non-test harness/docs files], in scratch \u2014 reverted implementation corrections while keeping current tests.",
    "Native bash tests/test-refresh-profile.sh in without-correction scratch \u2014 expected RED, exit 1: \"failed exporter unexpectedly reported successful diagnostics\".",
    "Native bash tests/test-refresh-window-control.sh in without-correction scratch \u2014 expected RED, exit 1.",
    "Native bash tests/test-refresh-window-control.sh substituted in without-correction scratch \u2014 expected RED, exit 1: \"substituted response pathname overwrote sentinel\".",
    "git worktree add --detach [scratch without-harness] HEAD \u2014 clean second scratch; original checkout untouched.",
    "git restore --source=origin/develop --worktree -- [five non-test harness/docs files], in scratch \u2014 removed the diagnostic implementation while retaining new regression modules.",
    "Native bash tests/test-refresh-profile.sh in without-harness scratch \u2014 expected RED, exit 127; required profiler absent.",
    "Native bash tests/test-refresh-window-control.sh in without-harness scratch \u2014 expected RED, exit 1; base control lacks required window behavior.",
    "make test with Bash 5.3/native sed/date \u2014 exit 2 at lint because installed shfmt 3.13.1 disagrees with repository-pinned formatting; suite not run by this attempt. Not PASS; correct-tool checks below replace it.",
    "ls [known native-tool shim directory]; command -v go; ls [candidate local formatter] \u2014 existing Bash/date/sed shims and Go located; candidate formatter absent. Private paths withheld.",
    "go run mvdan.cc/sh/v3/cmd/shfmt@v3.14.1 -i 4 -d [all tracked shell files] \u2014 PASS, exit 0; repository-pinned formatter, no repo dependency change.",
    "make lint using ShellCheck 0.11.0 and a scratch wrapper for shfmt 3.14.1 \u2014 PASS, exit 0: topology self-test/gate, file-budget self-test/gate, whole-tree ShellCheck and formatter.",
    "timeout 2700 make test-suite with installed Bash 5.3.15 and native sed/date \u2014 completed PASS, exit 0; final assertion summary 2,305 passed and zero failed.",
    "FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh \u2014 PASS, exit 0; singular freeze check, every ceiling monotonic.",
    "git diff --check \u2014 PASS, exit 0; no whitespace errors.",
    "make lint-md \u2014 PASS, exit 0; 25 files, zero errors.",
    "make lint-yaml \u2014 unavailable locally, exit 2: \"yamllint: No such file or directory\". No YAML changed; exact-head Actions yaml lint succeeded. Not a local PASS.",
    "make lint-actions \u2014 PASS, exit 0.",
    "Python extraction of #549 bounded fixture; native Bash 3.2 execution \u2014 reproduced syntax error near *NextElapse* and \"n: unbound variable\" while exit was zero; NOT PASS.",
    "Installed Bash 5.3 execution of the same #549 bounded fixture \u2014 exit 0, prints n/a; confirms the pre-existing native-runtime distinction.",
    "rg on .github/workflows/security.yml \u2014 gitleaks scans full history with fetch-depth=0; current-head security Actions succeeded.",
    "command -v gitleaks; command -v yamllint \u2014 gitleaks available; yamllint absent.",
    "gitleaks git --log-opts=origin/develop..HEAD --redact --no-banner --report-format json --report-path [private report] \u2014 PASS, five commits scanned, no leaks.",
    "Static security pass over new profiler, runtime override and curl wrapper \u2014 fixed-name eval inputs, guarded drop-in creation, measurement whitelist, bearer via stdin and fresh mode-600 response allocation; no introduced secret, listener expansion, injection or unpinned dependency.",
    "gh pr view 547 --repo p2pool-starter-stack/rigforge --json headRefOid,body,comments,updatedAt \u2014 head, body and comments unchanged before publication.",
    "Not run: local Docker, container/compose integration, manual rig commands or bench tiers. Head Actions and quoted job 1911 supply those gates. Bench-ci make check and Pithead CLI/OpenAPI parity do not apply to this RigForge-only harness diff.",
    "python3 detect-topology.py [public review draft] \u2014 clean, exit 0; private_note and raw sources excluded.",
    "gh pr checks 547 --repo p2pool-starter-stack/rigforge (final repeat) \u2014 eight passes, no skipped or pending check.",
    "gh pr view 547 --repo p2pool-starter-stack/rigforge --json headRefOid,body,comments (final repeat) \u2014 reviewed head/body/comments unchanged.",
    "git status --porcelain (final repeat) \u2014 clean; branch files untouched.",
    "gh api --method POST repos/p2pool-starter-stack/rigforge/statuses/541b48f404693e6ada262a1cfebc8809af1e7e5a -f state=success -f context=adversarial-review \u2014 refused: gh: refused: sessions do not write commit statuses or check runs (the runner posts the review verdict); runner must record this independent verdict on the reviewed SHA."
  ],
  "findings": [
    {
      "severity": "note",
      "where": "tests/test-api-refresh-liveness.sh:44 / #549",
      "what": "The pre-existing Apple Bash 3.2 fixture still emits a runtime parser error while returning zero. This was reproduced separately and never counted as PASS; both new modules pass natively and the completed Bash 5.3/native-sed/date suite passes."
    },
    {
      "severity": "note",
      "where": "tests/README.md:47 / #540 / #541",
      "what": "The paired current-head run demonstrates diagnostic collection and restoration, with short refreshes. It does not reproduce or identify the historical slow-refresh mechanism; keep production-fix acceptance open."
    }
  ]
}

@pithead-reviewer

Copy link
Copy Markdown
Contributor

adversarial-review: PASS at 541b48f, round 4, by the pithead-reviewer reviewer (a fresh session that did not produce this head; gpt-6.1-sol).

PASS at 541b48f: #546 requires real timer-driven helper timings and timer/service state around authenticated thermal apply in the approved mining workload, with verified reservation, baseline and restoration. The returned findings have red/green proof; all eight head checks, the 2,305-assertion local suite and exact-head job 1911 pass. The review is posted on the PR; historical slow-refresh attribution and the production fix remain open in #540/#541.

Evidence

  • pwd — reviewed the runner checkout locally; absolute path withheld.
  • git status --short --branch, repeated — clean detached checkout; reviewed files unchanged.
  • cat graphify/SKILL.md and extraction instructions — read and applied graphify.
  • cat ponytail/SKILL.md — read the minimal-change rules.
  • cat ponytail-review/SKILL.md — applied the requested simplification pass; no unnecessary machinery to cut.
  • rg --files -g AGENTS.md -g CONTRIBUTING.md -g graph.json -g Makefile — found repository instructions and targets; no existing code graph.
  • cat AGENTS.md CONTRIBUTING.md — read portability, develop-base, release boundaries, verification and singular file-budget rules.
  • git rev-parse HEAD — 541b48f, matching the PR head.
  • git diff --stat origin/develop...HEAD — nine harness/test/documentation files; 417 additions and six deletions; no production, version, dependency or budget changes.
  • gh pr view 547 --repo p2pool-starter-stack/rigforge --json title,body,author,baseRefName,headRefName,headRefOid,commits,comments,reviews,files,isDraft,state,url, repeated — read complete body, eleven comments and latest Ready for review dated 2026-09-30T16:13:52Z; develop base and matching head. Read earlier RETURN findings.
  • gh issue view 546 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url, repeated — read acceptance and subsequent rulings; historical root-cause acceptance remains with api-refresh stops refreshing the enriched feed after a max_temp_c control-apply (seen twice on the bench rig) #540/perf(api): avoid per-core processes in refresh (#540) #541.
  • cat [authorized private answered question] — read approved exact-commit connect/control pairing and linked-history channel; contents withheld.
  • Python read of authorized linked snapshots and runner-prefetched context — read bench-ci#760/#867/#979/#996 with provenance, timestamps, states and trusted authors; none UNAVAILABLE. No recursive job tracing or credential change.
  • gh issue view 540 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url — read body and all comments; producer defect remains open.
  • gh pr view 541 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url — read body and all comments; production hypothesis and attribution remain open. No companion approval inferred.
  • gh issue view 549 --repo p2pool-starter-stack/rigforge --json title,body,author,comments,state,updatedAt,url — read the separately owned native Bash fixture defect.
  • gh api repos/RigForge #540 needs a queued diagnostic on the original stale-feed fixture #546/comments --paginate — eleven comments; claim/ruling authors are runner pithead-* Bot identities.
  • gh api repos/p2pool-starter-stack/rigforge/pulls/547/comments --paginate — zero inline review comments.
  • gh api repos/p2pool-starter-stack/rigforge/pulls/547/reviews --paginate — zero review bodies.
  • gh api repos/test: capture timer refresh timings during thermal apply (#546) #547/comments --paginate — eleven comments; pithead-developer and pithead-reviewer Bot identities.
  • Python extraction of bodies, comments and direct references — retained complete private sources; inspected earlier Ready/RETURN comments and new responses.
  • python3 detect-topology.py --help — failed with FileNotFoundError because --help is treated as a filename; corrected invocation follows.
  • sed reads of detect-topology.py — confirmed file/stdin input and --self-test interface.
  • python3 detect-topology.py [PR body/comments and issue RigForge #540 needs a queued diagnostic on the original stale-feed fixture #546 body/comments] — clean, exit 0.
  • python3 detect-topology.py [linked api-refresh stops refreshing the enriched feed after a max_temp_c control-apply (seen twice on the bench rig) #540 body/comments] — clean, exit 0.

Findings

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.

RigForge #540 needs a queued diagnostic on the original stale-feed fixture

0 participants