Repository navigation
fix: surface onion SOCKS setup and advisory proxy diagnostics - #548
Conversation
|
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. |
|
Ready for review
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. |
|
Adversarial review: RETURN — reviewed 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 — Evidence re-derived by this reviewer:
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. |
|
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
Findings
|
|
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
Findings
|
|
Tier-4 evidence queued
bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e
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. |
|
Ready for review
bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e
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. |
|
Adversarial review: PASS at 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 bench-ci job 1894@82b09f91379bd0a5f11a23995957d788887f336a · rigforge · tier4-e2e
Commands and outcomes below use private location aliases; concrete locations and raw box evidence remain in the private handoff.
|
|
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
|
|
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
|
Closes #520
First-run setup recognizes an
.onionpool, 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.shspacing 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:make lintPASS with ShellCheck 0.11.0 and shfmt 3.14.1;make lint-md,make lint-yaml,make lint-actionsandmake test-e2ePASS. Secret scan and workflow audit PASS.make test-suitePASS: 2340 passed, 0 failed.make coveragePASS: 95.11% total; patch-coverage gate PASS: 95%.gh pr checks 548 --repo p2pool-starter-stack/rigforgere-read after RETURN: all eight Actions checks PASS, none pending or skipped.FILE_BUDGET_REQUIRE_BASE=1 bash scripts/lint-file-budget.shPASS,git diff --checkPASS, and shfmt 3.14.1shfmt -i 4 -d rigforge.sh tests/run.sh tests/onion-proxy.shPASS.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.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.timeout 120 make lintwith 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
connectphase 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 collectede2e-pithead-connect.logartifact 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;targetedandmatrixare Pithead wrapper modes. This is a deploying RigForge gate, not a check-only job:tests/e2e-pithead.sh:175calls the branch'sapplythroughset_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
Generated by
bench-ci evidence 1894@82b09f91379bd0a5f11a23995957d788887f336a; re-run it to check.