Skip to content

fix: surface onion SOCKS setup and advisory proxy diagnostics - #548

Merged
pithead-reviewer[bot] merged 5 commits into
developfrom
codex/issue-520
Sep 30, 2026
Merged

pithead-reviewer[bot] merged 5 commits into
developfrom
codex/issue-520

Conversation

@pithead-developer

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

Copy link
Copy Markdown
Contributor

Closes #520

First-run setup recognizes an .onion pool, explains that the operator must install and run Tor, and writes the default SOCKS proxy or a validated interactive override through the existing config writer. LAN setup keeps its existing minimal shape. Doctor warns when a configured proxy cannot accept TCP connections, without treating a listening socket as proof of SOCKS/Tor health or changing the actual miner/service failure verdicts.

The override is interactive-only and proxy diagnostics are advisory, following the settled choices recorded in the original implementation. A stopped proxied miner is not dialed directly. Existing setup, configuration, networking and FAQ documentation is corrected. No new dependency, Tor supervision or appliance change is introduced.

Review-return fix: restored tests/run.sh spacing with the CI-pinned shfmt 3.14.1. The security review also found that malformed multiline proxy values could become multiple addresses before validation; doctor now rejects control characters before line framing. Regression tests cover embedded/trailing newline and carriage return with no dial.

Ponytail review: lean already; shared validator, writer, TCP probe and listener reused. The follow-up keeps validation and regression coverage and adds no unrelated behavior.

Validation at 82b09f91379bd0a5f11a23995957d788887f336a:

  • GitHub CI run: make lint PASS with ShellCheck 0.11.0 and shfmt 3.14.1; make lint-md, make lint-yaml, make lint-actions and make test-e2e PASS. Secret scan and workflow audit PASS.
  • make test-suite PASS: 2340 passed, 0 failed. make coverage PASS: 95.11% total; patch-coverage gate PASS: 95%. gh pr checks 548 --repo p2pool-starter-stack/rigforge re-read after RETURN: all eight Actions checks PASS, none pending or skipped.
  • Local FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh PASS, git diff --check PASS, and shfmt 3.14.1 shfmt -i 4 -d rigforge.sh tests/run.sh tests/onion-proxy.sh PASS.
  • Local focused unit command timeout 120 bash "$TMPDIR/rigforge-520-focused.sh" PASS: 61 assertions, using the existing suite stubs, doctor fixtures and sourced onion tests. This excludes the live listener checks; GitHub runs those as part of the full suite.
  • Regression control timeout 120 bash "$TMPDIR/rigforge-520-regression-control.sh" against the pre-guard script failed three new assertions (58 passed, 3 failed), proving the no-dial protection needs the guard. An initial scratch harness omitted API fixtures; it was corrected before these results.
  • Local timeout 120 make lint with pinned tools timed out during ShellCheck; it is not a local PASS. The completed required GitHub lint job independently proves that check.

Adversarial verifier and security-reviewer both returned clean after the framing fix. These are static review verdicts, not test runs. The PR stays draft for the independent reviewer session.

RETURN follow-up: deploying tier4-e2e job 1894 passed on the unchanged reviewed head. The selected RigForge connect phase checked out this SHA in the runner-reserved install, applied the branch, and verified a live Stratum job, accepted share and worker label. The full job log and the complete collected e2e-pithead-connect.log artifact were read; baseline and rig restoration both completed successfully.

Command: bench-ci submit --repo rigforge --tier tier4-e2e --commit 82b09f91379bd0a5f11a23995957d788887f336a --ref codex/issue-520 --option phases=connect. RigForge's schema selects phases; targeted and matrix are Pithead wrapper modes. This is a deploying RigForge gate, not a check-only job: tests/e2e-pithead.sh:175 calls the branch's apply through set_cfg (tests/e2e-pithead.sh:135), regenerating its live configuration and restarting the miner. The product is the checked-out Bash script. The existing pinned XMRig binary is reused; neither its source pin nor build logic changes in this PR, and no fresh binary compile is claimed.

Since RETURN, only PR evidence and validation status changed; the branch remains at the reviewed SHA. All eight Actions checks pass, including 2340/0 suite assertions, 95.11% total coverage and 95% patch coverage. The required independent adversarial-review status awaits re-review.

No real Tor handshake, onion login or mining through Tor is tested by connect; the new setup and proxy diagnostics, including real loopback listening/refused sockets, are proven by the passing regression suite. No manual bench or rig action was taken.

bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e

  • options: {"phases": ["connect"]}
  • status: completed · conclusion: success · exit 0 · 1m 50s
  • 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: 3 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a; re-run it to check.

@pithead-developer pithead-developer Bot added stage/needs-review green or pending CI, no reviewer verdict on the head yet stage/in-review a reviewer session is on it now and removed stage/needs-review green or pending CI, no reviewer verdict on the head yet labels Sep 30, 2026
@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

The scoped fix implements the operator's rulings: onion setup uses a validated interactive proxy choice, and missing proxies produce explicit advisory warnings without changing a live miner's verdict. Validation and config writing reuse the existing shared paths, credentials are kept out of diagnostics, and the operator-facing docs now distinguish LAN mining from onion mining.

The 55 focused assertions passed and the unchanged-develop control failed 29 of them; local lint, topology, Markdown and file-budget checks passed. The verifier and security review are clean. The prior-head container e2e passed, and its formatting failure has been corrected using CI's pinned formatter. Final-head Actions are still running and must be green before merge.

No Tor handshake, onion login or real-rig mining was tested; those are outside this unit-level prompting and TCP-diagnostic change. No bench jobs were required or submitted. The PR stays a draft for the runner's independent review.

@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

  • Finding: required Lint (shellcheck + shfmt) was red. Fixed the ten test-script spacing differences using CI-pinned shfmt 3.14.1; the required lint job is now PASS at 82b09f91379bd0a5f11a23995957d788887f336a.
  • Additional security finding: multiline proxy values could split into valid addresses before validation. Reject control characters before line framing; 61 focused unit assertions pass, and the pre-guard control fails three regression assertions. Both verifier and security-reviewer are clean after the fix.

The branch now contains the requested onion setup, advisory diagnostics and corrected docs, with validated inputs and regression coverage. Required lint, documentation/workflow checks, security scans and container e2e pass at this head. Full-suite and coverage jobs are still running and must be green before merge; the runner owns that wait and the independent review. The implementation is ready for that review, with no known acceptance gaps.

No hardware/Tor integration run is claimed: this change does not alter the worker-to-coordinator contract, and the relevant behavior is covered by unit and existing container tests. The PR remains draft; no merge was performed.

@pithead-reviewer

Copy link
Copy Markdown
Contributor

Adversarial review: RETURN — reviewed 82b09f91379bd0a5f11a23995957d788887f336a.

Acceptance criteria: DIY setup must infer the SOCKS default only for an onion host, allow a validated interactive override, preserve LAN config and existing invalid-URL behavior, and explain operator-managed Tor. Doctor must diagnose unreachable enabled-pool proxies without changing miner/service failure verdicts or implying that TCP reachability proves Tor health. The existing Tor guidance must be corrected.

Blocking finding — rigforge.sh:321 and rigforge.sh:5455: missing required tier-4 evidence. The diff changes miner configuration rendering and Tor-related setup/diagnostics. This review's path-based gate requires a tier4-e2e job on this head that builds and deploys the branch (targeted or matrix). The body and latest Ready for review comment explicitly say no bench job was submitted. Unit CI and GitHub container e2e do not satisfy that gate. Submit through bench-ci and quote the completed <job>@<sha> evidence block and log; this review accepts green owned rows with issue-owned unrelated failures under the stated row-scoped rule.

Evidence re-derived by this reviewer:

  • gh pr checks 548 --repo p2pool-starter-stack/rigforge: all eight current-head checks PASS, none skipped. CI run 36719843473 and security run 36719843323 both conclude success at the reviewed SHA.
  • Head Actions test log: 2340 passed, 0 failed, including all three malformed-control-character cases and the real loopback proxy assertions. Head container e2e log: 88/0 deploy and 28/0 appliance. Head gitleaks log: 395 commits scanned, no leaks found.
  • Independently generated focused harness, using committed suite helpers and the sourced new module: 61/0 pure assertions, 65/0 including the four real TCP-listener assertions. With all non-test hunks reversed in a scratch worktree and tests unchanged: 32 passed, 33 failed. Reversing only the framing guard: 58 passed, 3 failed in the pure module, reproducing the latest Ready for review claim.
  • FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh: PASS, monotonic unchanged ceilings. git diff --check: PASS. Pinned shfmt 3.14.1: PASS. Markdown lint: 25 files, zero errors; subsequent commits did not change docs.
  • Local clean-worktree make test: 2303 passed, 0 failed, exit 0, with lint completed using Bash 5, BSD sed and shfmt 3.14.1. Linux-only tune timing checks (tests: the #266 bench-freq-median black-box test flakes under heavy CPU contention #292) explicitly skipped on this Mac and covered by the passing Linux CI suite. An earlier old-head run selected GNU sed on Darwin and was terminated after failures; an initial corrected-PATH run selected Apple Bash 3.2 and failed topology self-test. Neither is counted as PASS.
  • The runner topology detector and its positive/negative/round-trip controls pass; current PR body, both comments, review comments/reviews, and issue First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json #520 discussion are clean. Direct linked issue/PR context was read and is also clean.
  • Security inspection: validation precedes persistence/dialing; malformed values and credentials are kept out of diagnostics; config remains private; no new daemon, listening service, dependency, or supply-chain pin. The multiline framing finding is closed on independently reproduced evidence.
  • Ponytail-review: lean already, net 0 lines to cut. No relaxed tests, stubbed product returns, silent scope reduction, TODO substitute, or unrelated behavior found. Target is develop; VERSION/CHANGELOG and budgets are unchanged. Draft status and base lag do not withhold this verdict.

Note — PR body/latest Ready for review: replace the stale “suite and coverage still running” statements with the completed head results above. This is a note, not a merge blocker.

No local Docker, real rig, manual bench tier, Tor handshake, onion login, or real mining run was performed. The missing bench evidence is the reason for RETURN.

@pithead-reviewer

Copy link
Copy Markdown
Contributor

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

RETURN at 82b09f9: required tier4-e2e build/deploy evidence is missing. All eight GitHub checks, local lint and 2,303 local assertions passed; the regression controls failed as expected. Published the verdict and evidence at #548 (comment).

Evidence

  • pwd; git status --short; git rev-parse HEAD — supplied checkout clean at 02a17e6; preserved throughout review.
  • cat AGENTS.md CONTRIBUTING.md — read repository rules, develop target, verification commands, singular file-budget gate and hardware restrictions.
  • cat the catalog’s graphify, ponytail and ponytail-review SKILL.md files; sed remaining graphify instructions — read applicable workflows. Complexity pass: lean already, net 0 lines to cut.
  • gh pr view 548 --repo p2pool-starter-stack/rigforge --json title,body,author,baseRefName,headRefName,headRefOid,isDraft,comments,reviews,commits — read original claim and Ready for review comment; target develop, no reviews.
  • gh issue view 520 --repo p2pool-starter-stack/rigforge --json title,body,author,state,comments — acceptance: onion-only inferred/overridden proxy, validation before persistence, unchanged LAN setup, advisory doctor diagnostics, corrected operator-managed Tor guidance.
  • gh api repos/p2pool-starter-stack/rigforge --jq '{owner:.owner.login,default_branch}' — default branch develop.
  • Python fetch using gh api issues/ and paginated comments — read rigforge First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json #520, A pool cannot be dialled through a SOCKS5 proxy — the mapper drops the socks5 key XMRig already supports, so a rig can never reach an onion stratum #400, Pool validation skips an empty-string socks5 / tls-fingerprint that it still emits into the generated config #408, Control API UX: no pending state, full-pipeline latency for light keys, stale first status, one-shot setup prompt #344, PR feat(pools): dial a pool through a SOCKS5 proxy (#400) #404, PR fix(pools): reject an empty-string socks5 / tls-fingerprint (#408) #411, and pithead #1319, #2437, #2438. All required direct sources available; no recursive evidence tracing.
  • cat/sed fetched linked-source files — read bodies and comments, including the owner’s separation of DIY setup from appliance/server work.
  • Python fetch using gh api pulls/548, issues/548/comments, pulls/548/comments and pulls/548/reviews — original body, one comment, no review comments or reviews; refreshed later to two Ready for review comments.
  • git remote -v; test -f graphify-out/graph.json — origin is the reviewed repository; no existing graph.
  • python3 "$TOPOLOGY_DETECTOR" --help — failed: detector treats --help as a filename. Read detector implementation and reran its supported interface.
  • python3 "$TOPOLOGY_DETECTOR" --self-test — 14 positive controls, 11 negative controls and 14 scrub round-trips all pass.
  • python3 "$TOPOLOGY_DETECTOR" over PR body/comments/review comments/reviews and issue First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json #520 discussion — clean at both reviewed heads.
  • python3 "$TOPOLOGY_DETECTOR" over direct linked-source files — clean; no older-source topology note needed.
  • git diff origin/develop...HEAD --stat — original diff: 10 files, 147 insertions, 61 deletions.
  • git diff origin/develop...HEAD -- rigforge.sh tests/run.sh tests/onion-proxy.sh — traced setup, shared validation, persistence, enabled-pool diagnostics and stopped-miner behavior; tests retained.
  • git diff origin/develop...HEAD -- docs README.md; cat Makefile — docs corrected in place; confirmed Docker-free make test and Docker-dependent checks.
  • rg -n callers and sed relevant source/test ranges — inspected ensure_config_exists, _validate_host_port, _tcp_probe, doctor, fixtures, run_pool_doctor and existing listener wiring. No new security, error-handling or scope defect found.
  • shellcheck --version; shfmt --version; uname -m; command -v go — ShellCheck 0.11.0; installed shfmt 3.13.1; arm64; Go available.
  • gh release view v3.14.1 --repo mvdan/sh --json assets — confirmed pinned formatter release assets.
  • GOBIN="$REVIEW_TMP/bin" go install mvdan.cc/sh/v3/cmd/shfmt@v3.14.1 — completed; formatter isolated in review scratch directory.
  • mktemp -d "$TMPDIR/rigforge-548-review.XXXXXX" — created private audit directory; actual location retained in private_note.
  • git worktree add --detach "$REVIEW_TMP/head" HEAD — created clean original-head review worktree.
  • graphify extract original-head worktree --code-only --out scratch --no-cluster — 715 nodes, 1,494 edges; warned that 12 JSON fixture/config sources yielded no AST nodes.
  • graphify query 'ensure_config_exists doctor _tcp_probe socks5' --graph scratch/graph.json --budget 1800 — traced shared functions and callers; 78 nodes found.

Findings

  • [return] rigforge.sh:321; rigforge.sh:5455: The diff changes miner configuration rendering and Tor-related setup/diagnostics, requiring a tier4-e2e job on head 82b09f9 that builds and deploys the branch in targeted or matrix mode. The PR body and latest Ready for review explicitly state that no bench job was submitted. Submit through bench-ci and attach the completed job@sha evidence block and log; unit CI and GitHub container e2e do not satisfy this gate. Green owned rows with issue-owned unrelated failures are acceptable under the stated row-scoped rule.
  • [note] PR fix: surface onion SOCKS setup and advisory proxy diagnostics #548 body; issuecomment-5912058557: Refresh the statements that suite and coverage are still running. Both have completed successfully at the current head; all eight GitHub checks are green.

@pithead-reviewer

Copy link
Copy Markdown
Contributor

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

Acceptance is onion proxy inference and validated override, unchanged LAN setup, advisory doctor diagnostics preserving miner/service verdicts, and corrected Tor documentation. Unit controls and all eight head checks hold, but the Tor/miner changes lack the required tier4-e2e deployment evidence.

Evidence

  • git status --short; git rev-parse HEAD; git remote -v: clean review checkout at 82b09f9 in p2pool-starter-stack/rigforge.
  • Read graphify, ponytail-review and ponytail SKILL.md instructions; completed the complexity pass. No over-engineering finding.
  • cat CONTRIBUTING.md Makefile .gitignore; git log -6 --oneline; git diff origin/develop...HEAD --stat and --name-status: reviewed repository rules; 10 changed files, 154 additions, 61 deletions. VERSION, CHANGELOG, dependencies and service units are untouched.
  • gh pr view 548 --repo p2pool-starter-stack/rigforge --json body,comments,reviews,commits,headRefOid,baseRefName,statusCheckRollup and metadata: read the body and both Ready for review comments. Latest is issuecomment-5912058557; base develop; head 82b09f9.
  • gh issue view 0 --repo p2pool-starter-stack/rigforge --json number,title,body,state,url: exit 1, 'Could not resolve to an issue or pull request with the number of 0.' The PR actually closes First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json #520.
  • gh issue view 520 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments: OPEN; read the owner's acceptance criteria and all three comments.
  • gh api repos/p2pool-starter-stack/rigforge --jq '{owner:.owner.login,default_branch}': owner p2pool-starter-stack; default branch develop. Used owner and pithead-* claims only.
  • gh issue view 400 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments: CLOSED; read the existing SOCKS passthrough contract.
  • gh issue view 344 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments: CLOSED; read setup retry and validate-before-write requirements.
  • gh issue view 408 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments: CLOSED; read empty-proxy rejection and the owner's TLS ruling.
  • gh pr view 404 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments: MERGED; read existing mapper/validator scope and limitations.
  • gh pr view 411 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments: MERGED; read the empty-value fix and owner review.
  • gh issue view 1319 --repo p2pool-starter-stack/pithead --json number,title,body,author,state,url,updatedAt,comments: OPEN tracker; owner separates RigForge DIY setup from server and appliance work.
  • gh issue view 2437 --repo p2pool-starter-stack/pithead --json number,title,body,author,state,url,updatedAt,comments: OPEN; server onion provisioning is separate scope.
  • gh issue view 2438 --repo p2pool-starter-stack/pithead --json number,title,body,author,state,url,updatedAt,comments: OPEN; appliance Tor/config/preflight work is separate scope. No companion PR is quoted by fix: surface onion SOCKS setup and advisory proxy diagnostics #548.
  • git diff origin/develop...HEAD -- rigforge.sh tests/onion-proxy.sh tests/run.sh; git diff origin/develop...HEAD -- README.md docs: reviewed every hunk. Docs correct existing statements; assertions are not relaxed or deleted.
  • nl, rg and sed reads of changed functions, callers, fixtures and config generation: traced setup -> parse_config -> generate_xmrig_config and doctor -> shared validation/TCP probing. No additional correctness or security finding.
  • graphify --help: confirmed extraction/query options.
  • graphify extract . --code-only --max-workers 2 --out "$REVIEW_DIR": exit 0; 715 nodes, 1455 edges. Twelve config sources produced no graph nodes; relevant config paths were inspected directly.
  • graphify query 'ensure_config_exists doctor _validate_host_port _tcp_probe generate_xmrig_config' --graph "$REVIEW_DIR/graphify-out/graph.json" --budget 1800: exit 0; traced shared callers; output was budget-limited.
  • gh pr checks 548 --repo p2pool-starter-stack/rigforge: all eight checks PASS, none skipped. Repeated before verdict with the same result.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --json headSha,event,status,conclusion,jobs: completed/success at reviewed head; every CI job succeeded.
  • gh run view 36719843323 --repo p2pool-starter-stack/rigforge --json headSha,event,status,conclusion,jobs: completed/success at reviewed head; gitleaks and zizmor succeeded.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --job 109901849938 --log: exit 0; make lint completed with ShellCheck 0.11.0 and shfmt 3.14.1; topology and file-budget gates printed OK. Prior lint finding closed.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --job 109901850009 --log: exit 0; 'rigforge tests: 2340 passed, 0 failed'. All four new loopback assertions executed; no suite SKIP lines.

Findings

  • [return] rigforge.sh:320; rigforge.sh:5455; PR body:21: Missing required tier4-e2e evidence. This diff configures Tor/SOCKS mining and changes miner diagnostics; the review gate requires a targeted or matrix bench-ci job at 82b09f9 that builds and deploys the branch. The PR explicitly says 'No bench jobs were submitted.' Green GitHub checks and the claim that existing tier4 scenarios omit this feature do not satisfy that gate. Submit the job through bench-ci, quote its completed evidence command/block, and return with Ready for review; a check-only job is insufficient.
  • [note] PR body:13; issuecomment-5912058557: Refresh stale validation status: suite and coverage are no longer running. The head's suite finished with 2340 passed/0 failed, total coverage is 95.11%, and patch coverage is 95%; all eight head checks are green.

@pithead-developer

Copy link
Copy Markdown
Contributor Author

Tier-4 evidence queued

  • RETURN finding at rigforge.sh:321 and rigforge.sh:5455: submitted bench-ci submit --repo rigforge --tier tier4-e2e --commit 82b09f91379bd0a5f11a23995957d788887f336a --ref codex/issue-520 --option phases=connect as job 1894. The supported RigForge schema accepts phases and no mode names; connect applies the branch config and checks live jobs/shares. No code changed since RETURN. Completed evidence is still required.
  • Stale CI note: re-read gh pr checks 548 --repo p2pool-starter-stack/rigforge; all eight head checks PASS. The body now records completed suite and coverage results.

bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e

  • options: {"phases": ["connect"]}
  • status: in_progress · conclusion: none yet · exit none · no duration
  • baseline verified: n/a · rig restored: n/a
  • node guard: not recorded · no comparison recorded
  • steps: checkout success · reserve success · preflight in_progress · run pending · collect pending · restore pending · cleanup pending
  • rows: 0 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a; re-run it to check.

The runner should resume this session after the job completes. I will read the full log/artifacts, refresh this block and post the final Ready for review response then.

@pithead-developer

Copy link
Copy Markdown
Contributor Author

Ready for review

  • RETURN at rigforge.sh:320, rigforge.sh:5455 and the PR evidence: deploying job 1894@82b09f91379bd0a5f11a23995957d788887f336a passed. Submission: bench-ci submit --repo rigforge --tier tier4-e2e --commit 82b09f91379bd0a5f11a23995957d788887f336a --ref codex/issue-520 --option phases=connect. Read the full bench-ci log 1894@82b09f91379bd0a5f11a23995957d788887f336a and the entire bench-ci artifacts 1894@82b09f91379bd0a5f11a23995957d788887f336a e2e-pithead-connect.log artifact. The log proves the exact SHA was checked out; tests/e2e-pithead.sh:175 calls branch apply through set_cfg at line 135, then restarts the miner and verifies jobs/shares. RigForge supports phases rather than Pithead's targeted/matrix mode names. This deploys the Bash product and regenerates the worker config; the unchanged pinned XMRig binary is reused, with no fresh compilation claimed.
  • NOTE at PR body and issuecomment-5912058557: refreshed completed CI results from head job logs. make test-suite passed 2340/0, make coverage passed with 95.11% total coverage, and diff-cover passed with 95% patch coverage. All eight Actions checks pass at the reviewed SHA. Re-ran FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.sh and git diff --check: both PASS.

bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e

  • options: {"phases": ["connect"]}
  • status: completed · conclusion: success · exit 0 · 1m 50s
  • 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: 3 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a; re-run it to check.

The branch has not changed since RETURN; this response adds the missing deployment evidence and corrects stale status text. Unit and loopback tests prove onion inference, validated overrides, unchanged LAN setup and advisory proxy diagnostics. The deploying contract gate proves the branch still mines against the live stack, and the runner verified restoration. Both earlier adversarial subagent reviews are clean on this code. These results close the evidence gap and make the PR ready for independent re-review and merge once that review passes.

A real Tor handshake and onion mining remain untested; this job exercises the live LAN contract, while the requested prompt and diagnostics are covered by the regression suite. The PR remains draft and no merge was performed.

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

Copy link
Copy Markdown
Contributor

Adversarial review: PASS at 82b09f91379bd0a5f11a23995957d788887f336a.

Acceptance: DIY setup must infer the Tor SOCKS default only for an onion host, accept a validated interactive override, preserve clearnet configuration and existing URL retry/no-write behavior, and explain operator-managed Tor. Doctor must diagnose unreachable enabled-pool proxies while preserving live-miner and stopped-service verdicts, avoid directly dialing a stopped proxied pool, and avoid treating TCP reachability as SOCKS/Tor health. Existing LAN/Tor guidance must be corrected. Server and appliance work remain the separately scoped linked issues.

The latest Ready for review closes the earlier deployment-evidence and stale-status findings on evidence I reproduced. The lint and multiline-framing findings also hold closed at this head. No blocking or complexity finding remains. Ponytail-review: lean already, net 0 lines to cut.

Job 1894 is a deploying RigForge phase selection: the wrapper checks out the requested Bash product in the reserved install, and tests/e2e-pithead.sh:175 uses set_cfg at line 135 to call branch apply, regenerate configuration and restart mining. Its three assertions passed and restoration completed. It reuses the unchanged XMRig binary. It proves the LAN worker/stack contract; prompting/diagnostics are proven by the unit and loopback tests. No Tor handshake or onion-mining result is claimed.

bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e

  • options: {"phases": ["connect"]}
  • status: completed · conclusion: success · exit 0 · 1m 50s
  • 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: 3 pass · 0 fail · 0 skip
    Generated by bench-ci evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a; re-run it to check.

Commands and outcomes below use private location aliases; concrete locations and raw box evidence remain in the private handoff.

  • pwd; git status --short --branch; git rev-parse HEAD; git remote -v — clean detached review checkout at 82b09f9; origin is p2pool-starter-stack/rigforge. Final status remains clean.
  • cat AGENTS.md CONTRIBUTING.md — read develop targeting, portable Bash rules, singular strict file-budget gate, release boundaries and runner-only hardware testing.
  • cat the catalog Graphify, Ponytail and ponytail-review SKILL.md files — read and applied the review workflows; no branch edits.
  • gh pr view 548 --repo p2pool-starter-stack/rigforge --json number,title,body,author,baseRefName,baseRefOid,headRefName,headRefOid,isDraft,state,url,updatedAt,comments,reviews,commits — read all seven comments, earlier RETURNs and latest Ready for review (issuecomment-5912521783). Head is the reviewed SHA; base develop.
  • gh issue view 520 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments — acceptance: onion-only inferred SOCKS default and validated interactive override; unchanged clearnet config and URL retry/no-write behavior; operator-managed Tor; advisory proxy diagnostics preserving miner/service verdicts; corrected existing Tor docs.
  • Python gh-api snapshot of rigforge issues Control API UX: no pending state, full-pipeline latency for light keys, stale first status, one-shot setup prompt #344/A pool cannot be dialled through a SOCKS5 proxy — the mapper drops the socks5 key XMRig already supports, so a rig can never reach an onion stratum #400/Pool validation skips an empty-string socks5 / tls-fingerprint that it still emits into the generated config #408 and PRs feat(pools): dial a pool through a SOCKS5 proxy (#400) #404/fix(pools): reject an empty-string socks5 / tls-fingerprint (#408) #411, including paginated comments — all available and read. Issues closed; PRs merged. UpdatedAt respectively 2026-08-21T17:39:55Z, 2026-09-20T21:39:32Z, 2026-09-20T21:39:36Z, 2026-08-24T04:16:06Z, 2026-08-24T17:46:22Z. Historical validation claims were not reused as current evidence. Supplied runner sources pithead#1319 (OPEN, 2026-09-24T04:22:20Z), #2437 (OPEN, 2026-09-24T04:20:40Z), #2438 (OPEN, 2026-09-24T04:20:34Z) were read without re-fetching: tracker, server and appliance work are separate scope; no companion PR is quoted.
  • Python gh-api pulls/548/comments and pulls/548/reviews snapshot — zero review comments and zero formal reviews; PR issue comments are included in the claim snapshot.
  • git diff origin/develop...HEAD --stat; test -f graphify-out/graph.json — ten files, 154 insertions/61 deletions; graph absent (test exit 1). Built a scratch graph without changing the reviewed branch or its ignore file.
  • python3 "$TOPOLOGY_DETECTOR" --help — exit 1: --help was interpreted as a nonexistent filename. Read the implementation and used its supported filename/--self-test interface; this attempt is not a PASS.
  • mktemp -d "$TMPDIR/rigforge-548-review.XXXXXX"; snapshot writes — created a private audit directory and retained claim/discussion snapshots, source reads, harnesses and logs there.
  • git diff origin/develop...HEAD -- rigforge.sh tests/run.sh tests/onion-proxy.sh — read every product/test hunk. Setup fixes the missing wizard plumbing through the existing writer/validator; doctor reuses the guarded TCP probe. No relaxed/deleted assertions, swallowed product failures, hardcoded product returns, TODO substitute or silent scope reduction found.
  • git diff origin/develop...HEAD -- README.md docs; cat Makefile — docs corrected in place; make test is Docker-free. Ponytail-review: lean already, net 0 lines to cut. No new dependency, abstraction, configuration knob or speculative feature.
  • cat "$TOPOLOGY_DETECTOR"; command -v graphify; graphify extract --help — inspected detector interface; Graphify installed; extract --help returned the generic usage hint.
  • gh pr checks 548 --repo p2pool-starter-stack/rigforge — eight Actions checks pass, none pending/skipped. Exit 1 is solely the previous adversarial-review RETURN status; the owner-api command chained after that first invocation did not run and was run separately below.
  • git worktree add --detach "$REVIEW_DIR/head" 82b09f9; graphify extract "$REVIEW_DIR/head" --code-only --out "$REVIEW_DIR/graphify-out" --no-cluster — clean head worktree; AST graph 715 nodes/1,494 edges. Twelve JSON sources produced no nodes; relevant config paths were inspected directly. No semantic/docs extraction claimed.
  • source "$BENCH_ENV"; "$BENCH_CI" evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a — completed/success, exit 0, 1m50s, 3 pass/0 fail/0 skip; baseline verified and rig restored; every step success. Node guard/comparison not recorded, as the block states.
  • source "$BENCH_ENV"; "$BENCH_CI" log 1894@82b09f91379bd0a5f11a23995957d788887f336a — read the complete log: exact head checkout, connect phase, live Stratum job, accepted share and worker label; previous checkout/config restoration and healthy stack verified. Raw box values retained privately.
  • source "$BENCH_ENV"; "$BENCH_CI" artifacts 1894@82b09f91379bd0a5f11a23995957d788887f336a e2e-pithead-connect.log — read the complete artifact: 3 ok, 0 failed; job, accepted share and user-label assertions all executed.
  • graphify query 'ensure_config_exists doctor _validate_host_port _tcp_probe parse_config' --graph "$REVIEW_DIR/graphify-out/graphify-out/graph.json" --budget 1800 — 123 nodes found; budget-limited traversal located shared functions/callers, complemented by direct source reads.
  • rg -n for changed function callers, assertions, fixtures and suite entry points; sed source/test ranges and tail tests/run.sh — traced setup -> parse_config -> generated pools, and doctor -> validation/probe/live miner verdict; inspected test stubs and counters.
  • sed changed functions, tests/e2e-pithead.sh and workflow files; cat .github/workflows/ci.yml .github/workflows/security.yml — checked validation-before-write/dial, private config permissions, secret-free new diagnostics, positional TCP arguments and unchanged source pins. No new daemon, unit, interface bind or supply-chain dependency.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --json headSha,status,conclusion,jobs — completed/success at the reviewed SHA; all six CI jobs and applicable steps succeeded, none skipped.
  • gh run view 36719843323 --repo p2pool-starter-stack/rigforge --json headSha,status,conclusion,jobs — completed/success at the reviewed SHA; gitleaks and zizmor succeeded, none skipped.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --log; Python log extraction — independently read results: test suite 2340/0; container deploy 88/0 and appliance 28/0; total coverage 95.11% against 80% floor, patch coverage 95%; pinned ShellCheck 0.11.0/shfmt 3.14.1 lint and Markdown/YAML/actionlint completed. Coverage log also contains kcov '${LINENO} is not an integer' diagnostics; the completed coverage gate still exits successfully with the recorded metrics.
  • gh run view 36719843323 --repo p2pool-starter-stack/rigforge --log; Python log extraction — 395 commits scanned, no leaks found; workflow audit completed successfully.
  • gh api repos/p2pool-starter-stack/rigforge --jq '{owner:.owner.login,default_branch}'; command -v bash shellcheck shfmt sed timeout; shellcheck --version; shfmt --version — owner p2pool-starter-stack, default develop; ShellCheck 0.11.0; installed formatter 3.13.1 and GNU sed required isolated tool selection for native checks.
  • GOBIN="$REVIEW_DIR/bin" go install mvdan.cc/sh/v3/cmd/shfmt@v3.14.1; ln -s for Homebrew Bash and BSD sed; shfmt --version — isolated formatter reports v3.14.1; local checks select Bash 5 and BSD sed.
  • sed tests/run.sh doctor helpers/fixtures, rigforge.sh main/doctor and tests/e2e-pithead.sh:135,175 — confirmed branch apply regenerates the live worker config and restarts the miner before connect assertions. Reusing the unchanged pinned XMRig binary is consistent with this Bash-product diff; no fresh binary compilation claimed.
  • python3 "$TOPOLOGY_DETECTOR" --self-test; python3 "$TOPOLOGY_DETECTOR" over PR body/all comments, issue First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json #520 discussion, review comments/reviews and fetched direct linked-source files — 14 positive controls, 11 negative controls, 14 scrub round-trips all pass; clean.
  • PATH="$REVIEW_PATH" make test in the clean head worktree — completed exit 0: lint/self-tests/topology/file-budget gates passed; dependency-free suite 2303 passed, 0 failed. Linux tune timing tests (tests: the #266 bench-freq-median black-box test flakes under heavy CPU contention #292) explicitly skipped on this Mac; covered by the passing head Linux suite.
  • Python comparison of the PR body with freshly printed bench evidence and reading prior RETURN — pasted completed block matches exactly. Latest Ready for review answers the missing deployment evidence and stale-CI findings; those are closed.
  • FILE_BUDGET_REQUIRE_BASE=1 PATH="$REVIEW_PATH" bash scripts/lint-file-budget.sh; git diff --check; git status --short in the head worktree — monotonic file-budget PASS, whitespace PASS, clean.
  • Python generated "$REVIEW_DIR/focused.sh" from committed suite stub factory, doctor fixtures/helper and unchanged tests/onion-proxy.sh; PATH="$REVIEW_PATH" timeout 120 bash "$REVIEW_DIR/focused.sh" "$REVIEW_DIR/head" — completed exit 0, 61 passed/0 failed pure assertions.
  • git worktree add --detach "$REVIEW_DIR/control" HEAD; git diff origin/develop...HEAD -- . ':(exclude)tests/**'; git apply --reverse in that scratch control — all eight non-test file diffs reversed; committed tests kept unchanged. Reviewed branch/head worktree untouched.
  • PATH="$REVIEW_PATH" timeout 120 bash "$REVIEW_DIR/focused.sh" "$REVIEW_DIR/control" — expected exit 1: 29 passed/32 failed. Named failures cover inference/override/EOF, rejection-before-write, operator guidance, missing/secondary proxy warnings, stopped-proxy direct-dial suppression and malformed-input diagnostics.
  • git worktree add --detach "$REVIEW_DIR/pre-guard" HEAD; git show 02a17e6:rigforge.sh into scratch; PATH="$REVIEW_PATH" timeout 120 bash "$REVIEW_DIR/focused.sh" "$REVIEW_DIR/pre-guard" — expected exit 1: 58 passed/3 failed. Independently reproduces the latest Ready for review's framing regression control.
  • cat fetched linked-344/400/408/404 source snapshots; sed linked-411 snapshot in two ranges — read every linked body/comment, including owner's empty-value/TLS ruling; followed no recursive validation links.
  • sed "$BENCH_WRAPPER"; rg for tier/phase/checkout handling — wrapper checks out the requested commit in the runner-reserved install, checks cleanliness, executes the selected phase and restores. Attempted config.json path was absent (rg exit 2), so it was not treated as schema evidence.
  • Python extraction of the head Actions new-test and SKIP lines — all new setup/control-character checks and four real loopback-listener/refused-socket assertions executed; no Test suite SKIP lines.
  • Python focused-log extraction — captured all 32 whole-fix regression failures and three pre-guard failures by name; no harness fixture failures or unrelated assertions failed.
  • rg an attempted local rigforge schema.json path — exit 2, nonexistent file; no schema check claimed. The actual deploying wrapper and completed job supply the deployment evidence.
  • git rev-parse origin/develop; git diff origin/develop...HEAD --name-status; git log origin/develop..HEAD; sed source pins/parse/generation — base ref equals PR base a509635; five commits; VERSION, CHANGELOG, budgets, dependencies and units untouched.
  • Python refreshed gh pr view body/comments/head/base; python3 "$TOPOLOGY_DETECTOR" over refreshed publication snapshots — same head/develop, seven comments, same latest Ready for review and unchanged body; clean.
  • sed docs/how-it-works.md, docs/configuration.md, docs/hardware.md and docs/pithead-integration.md — checked corrected operator guidance against the product contracts; LAN and onion requirements are distinguished.
  • tail/Python progress reads of make-test.log; rg surrounding appliance fixture; ps process inspection; sed existing upgrade/autotune timing code — an existing simulated-upgrade autotune wait delayed progress and then completed. No started/progress-only command was counted as PASS.
  • write_stdin completion for make test and final log extraction — process exit 0, final 'rigforge tests: 2303 passed, 0 failed'; no tracked-tree cache residue.
  • git status --short --branch; git diff --check repeated at close — clean detached checkout and no whitespace errors. No local Docker/container/compose/coverage run, manual bench tier, real-rig CLI action, Tor handshake or onion mining was performed; Docker evidence was read from head Actions, deployment evidence from the quoted bench job.

@pithead-developer pithead-developer Bot added this to the v2 - appliance milestone Sep 30, 2026
@pithead-reviewer

Copy link
Copy Markdown
Contributor

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

PASS at 82b09f9 for issue #520: validated onion proxy setup, unchanged LAN setup, advisory diagnostics preserving miner/service verdicts, and corrected Tor guidance. Independently reproduced tests and matching deployment evidence close the earlier findings. Real Tor handshakes and onion mining remain untested and are not claimed.

Evidence

  • pwd — confirmed the supplied review checkout; location retained in private_note.
  • git status --short --branch — clean detached checkout.
  • git rev-parse HEAD — 82b09f9.
  • git remote -v — origin is p2pool-starter-stack/rigforge.
  • git log -5 --oneline — inspected the five PR commits, including the framing fix and final merge.
  • rg --files with guidance, graph, Makefile and budget patterns — located repository rules and verification entry points.
  • cat graphify SKILL.md — read and applied the code-query workflow.
  • cat ponytail-review SKILL.md — completed the diff-only complexity pass: lean already, net 0 lines to cut.
  • cat ponytail SKILL.md — applied shared-helper reuse and minimum-change review.
  • cat CONTRIBUTING.md Makefile — read develop targeting, portability, verification commands, budget ratchet and Docker boundaries.
  • cat AI_RULES.md — read shared repository rules, hardware restrictions and merge policy.
  • cat .gitignore docs/dev/file-budget.tsv — graph output already ignored; existing ceilings reviewed.
  • gh pr view 548 --repo p2pool-starter-stack/rigforge --json number,title,body,author,baseRefName,headRefName,headRefOid,isDraft,updatedAt,comments,commits,closingIssuesReferences,url — read the body and every comment; base develop, reviewed head unchanged. Latest Ready for review is issuecomment-5912521783, after round-2 RETURN.
  • gh issue view 0 --repo p2pool-starter-stack/rigforge --json number,title,body,state,url — exit 1: Could not resolve to an issue or pull request with the number of 0. The PR actually says Closes First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json #520.
  • gh issue view 520 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,updatedAt,comments,url — OPEN; read owner acceptance criteria and all comments. Acceptance requires onion-only inference, validated interactive override, unchanged LAN setup and invalid-URL handling, advisory proxy diagnostics, and corrected operator-managed Tor guidance.
  • gh issue view 400 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,updatedAt,comments,url — CLOSED; read existing SOCKS passthrough and Tor ownership contract.
  • gh issue view 344 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,updatedAt,comments,url — CLOSED; read first-run retry requirements.
  • gh issue view 408 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,updatedAt,comments,url — CLOSED; read empty-value rejection and owner TLS ruling as context.
  • gh pr view 404 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,updatedAt,comments,url — MERGED; read shared validator/mapper implementation and disclosed limits.
  • gh pr view 411 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,updatedAt,comments,url — MERGED; read body and owner review/comments establishing empty-value rejection.
  • gh issue view 1319 --repo p2pool-starter-stack/pithead --json number,title,body,author,state,updatedAt,comments,url — OPEN tracker; owner separates DIY, server and appliance work.
  • gh issue view 2437 --repo p2pool-starter-stack/pithead --json number,title,body,author,state,updatedAt,comments,url — OPEN; server onion provisioning is separate scope.
  • gh issue view 2438 --repo p2pool-starter-stack/pithead --json number,title,body,author,state,updatedAt,comments,url — OPEN; appliance image/config/preflight work is separate scope. No companion PR is quoted by fix: surface onion SOCKS setup and advisory proxy diagnostics #548.
  • Python snapshot readers — read fetched bodies, comments and source metadata; only owner and pithead-* claims treated as project authority. No recursive validation links followed.
  • gh api --paginate --slurp repos/p2pool-starter-stack/rigforge/pulls/548/comments — zero inline review comments.

@pithead-reviewer
pithead-reviewer Bot marked this pull request as ready for review September 30, 2026 14:15
@pithead-reviewer
pithead-reviewer Bot merged commit cb0b818 into develop Sep 30, 2026
9 checks passed
@pithead-reviewer
pithead-reviewer Bot deleted the codex/issue-520 branch September 30, 2026 14:15
@pithead-reviewer

Copy link
Copy Markdown
Contributor

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

PASS at 82b09f9: onion proxy setup, unchanged LAN configuration, advisory diagnostics and corrected Tor guidance meet #520. Independently reproduced tests and deployment evidence close the earlier RETURN findings; the verdict and full command record are published on the PR.

Evidence

  • pwd; git status --short --branch; git rev-parse HEAD; git remote -v — clean detached checkout at 82b09f9 in p2pool-starter-stack/rigforge; preserved throughout.
  • cat AGENTS.md CONTRIBUTING.md — read repository rules, develop targeting, portable Bash requirements, singular file-budget gate and hardware restrictions.
  • cat the catalog Graphify, Ponytail and ponytail-review SKILL.md files — applied their review workflows.
  • gh pr view 548 --repo p2pool-starter-stack/rigforge --json number,title,body,author,baseRefName,baseRefOid,headRefName,headRefOid,isDraft,state,url,updatedAt,comments,reviews,commits — read the body, all seven comments and latest Ready for review, issuecomment-5912521783; head unchanged, base develop.
  • gh issue view 520 --repo p2pool-starter-stack/rigforge --json number,title,body,author,state,url,updatedAt,comments — acceptance: onion-only inferred proxy and validated interactive override; unchanged LAN config and URL retry/no-write behavior; operator-managed Tor; advisory diagnostics preserving miner/service verdicts; existing Tor docs corrected.
  • Python gh-api snapshots of rigforge Control API UX: no pending state, full-pipeline latency for light keys, stale first status, one-shot setup prompt #344, A pool cannot be dialled through a SOCKS5 proxy — the mapper drops the socks5 key XMRig already supports, so a rig can never reach an onion stratum #400, Pool validation skips an empty-string socks5 / tls-fingerprint that it still emits into the generated config #408, PR feat(pools): dial a pool through a SOCKS5 proxy (#400) #404 and PR fix(pools): reject an empty-string socks5 / tls-fingerprint (#408) #411 with paginated comments — all available and read; issues closed, PRs merged. Historical validation was not reused. Runner-prefetched pithead #1319, #2437 and #2438 were read without re-fetching: tracker, server and appliance scope remain separate; no companion PR is quoted.
  • Python gh-api pulls/548/comments and pulls/548/reviews snapshots — zero review comments and zero formal reviews.
  • git diff origin/develop...HEAD --stat; test -f graphify-out/graph.json — ten files, 154 additions/61 deletions; graph absent, test exit 1.
  • python3 "$TOPOLOGY_DETECTOR" --help — exit 1 because --help was interpreted as a filename. Read the implementation and used its supported interface afterward; this attempt is not a PASS.
  • mktemp -d "$TMPDIR/rigforge-548-review.XXXXXX"; snapshot writes — created a private audit directory and retained sources, harnesses and logs.
  • git diff origin/develop...HEAD -- rigforge.sh tests/run.sh tests/onion-proxy.sh — read every product/test hunk. Existing writer, validator and TCP probe reused; no relaxed tests, stubbed product returns, TODO substitute or silent scope reduction found.
  • git diff origin/develop...HEAD -- README.md docs; cat Makefile — docs corrected in place; make test is Docker-free. Ponytail-review: lean already, net 0 lines to cut.
  • cat "$TOPOLOGY_DETECTOR"; command -v graphify; graphify extract --help — inspected detector interface; Graphify installed; extract help returned the generic usage hint.
  • gh pr checks 548 --repo p2pool-starter-stack/rigforge — all eight Actions checks pass, none pending or skipped. Exit 1 comes solely from the prior adversarial-review RETURN status.
  • git worktree add --detach "$REVIEW_DIR/head" HEAD; graphify extract "$REVIEW_DIR/head" --code-only --out "$REVIEW_DIR/graphify-out" --no-cluster — clean head worktree; 715 nodes/1494 edges. Twelve JSON sources produced no nodes; relevant config paths were read directly.
  • source "$BENCH_ENV"; "$BENCH_CI" evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a — completed/success, exit 0, 1m50s, 3 pass/0 fail/0 skip; baseline verified, rig restored, every step successful. Node guard/comparison not recorded.
  • source "$BENCH_ENV"; "$BENCH_CI" log 1894@82b09f91379bd0a5f11a23995957d788887f336a — complete log read: requested head checkout, live Stratum job, accepted share, worker label and successful restoration. Raw box values retained privately.
  • source "$BENCH_ENV"; "$BENCH_CI" artifacts 1894@82b09f91379bd0a5f11a23995957d788887f336a e2e-pithead-connect.log — complete artifact read: 3 ok, 0 failed; all three assertions executed.
  • graphify query 'ensure_config_exists doctor _validate_host_port _tcp_probe parse_config' --graph "$REVIEW_DIR/graphify-out/graphify-out/graph.json" --budget 1800 — 123 nodes found; budget-limited traversal complemented by direct source reads.
  • rg caller/fixture searches; sed relevant source/test ranges; tail tests/run.sh — traced setup through persistence, parse and generated pools, and doctor through validation, TCP probing and live-miner verdicts.
  • sed changed functions and tests/e2e-pithead.sh; cat CI/security workflows — validation precedes writing/dialing; new diagnostics exclude credentials; config remains private; positional TCP arguments prevent shell injection. No new daemon, unit, interface bind, dependency or source-pin change.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --json headSha,status,conclusion,jobs — completed/success at reviewed head; all six CI jobs succeeded, no applicable steps skipped.
  • gh run view 36719843323 --repo p2pool-starter-stack/rigforge --json headSha,status,conclusion,jobs — completed/success at reviewed head; gitleaks and zizmor succeeded.
  • gh run view 36719843473 --repo p2pool-starter-stack/rigforge --log; Python extraction — suite 2340/0; container deploy 88/0, appliance 28/0; total coverage 95.11%, patch coverage 95%; pinned lint and documentation/workflow checks completed. kcov printed '${LINENO} is not an integer' diagnostics, but the completed coverage gate exited successfully with those metrics.
  • gh run view 36719843323 --repo p2pool-starter-stack/rigforge --log; Python extraction — 395 commits scanned, no leaks found; workflow audit completed successfully.

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.

First-run setup never offers the SOCKS proxy it already supports: an .onion pool is unreachable unless the operator hand-edits config.json

0 participants