{
 "number": 36177,
 "input_hash": "308b5c005ab4738a",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T15:58:35+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 15337,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 4086
 },
 "cost_usd": 0.02682525,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Prevent node startup failures caused by following stale documentation that still references the removed tor network name",
    "Unify proxy network argument parsing with the shared network parser and preserve user casing in error messages"
   ],
   "reviewability": [
    "Ready for review",
    "All review comments have been addressed in the latest push"
   ],
   "agreement": [
    "Strong support with testing and suggestions incorporated (jeanpablojp)"
   ],
   "categories": [
    {
     "name": "p2p",
     "why": [
      "P3 because it fixes node startup errors when configuring SOCKS5 proxies using documented examples",
      "Deduplicates network option parsing across connection flags without affecting relay or protocol logic"
     ]
    }
   ]
  },
  "summary": "Updates `-proxy` help text and `doc/tor.md` to reference `onion` instead of the removed `tor` network name, and refactors proxy argument parsing in `src/init.cpp` to use the shared `ParseNetwork` utility. Error messages now retain original argument casing when reporting unrecognized network names, and functional tests are added for proxy option error handling.",
  "problem": "Pull request #34031 removed `tor` as an accepted network name in favor of `onion`, but documentation and help text still directed users to pass `-proxy=...=tor`, which causes an immediate node startup failure. In addition, proxy argument parsing maintained its own duplicate string-matching logic rather than sharing the parser used by other network options.",
  "discussion": {
   "open_concerns": [],
   "resolved_concerns": [
    "Clarified documentation wording in `doc/tor.md` regarding Tor v2 and Bitcoin Core 31 network naming",
    "Added missing test coverage for clearing the IPv4 proxy also clearing the name proxy in `feature_proxy.py`",
    "Cleaned up redundant test comments in `rpc_net.py`"
   ],
   "author_status": "Active. Addressed review feedback from jeanpablojp and force-pushed on 2026-09-08."
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "Clean diff with tests passing and all reviewer feedback addressed."
  },
  "agreement": {
   "state": "Strong",
   "summary": "Strong: jeanpablojp Concept ACKed with testing; author addressed all feedback.",
   "reason": "The only reviewer tested the changes, confirmed parser behavior against the base commit, and had their review suggestions incorporated by the author.",
   "evidence": [
    "jeanpablojp gave Concept ACK with manual testing of feature_proxy.py and rpc_net.py",
    "jeanpablojp suggested doc clarification and a test for IPv4/name proxy clearing",
    "l0rinc implemented the suggestions and credited jeanpablojp as co-author on the test commit"
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "docs",
    "member": false,
    "evidence": "The documentation updates in doc/tor.md accompany code and test changes for network proxy option parsing, which fall under the p2p category.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Category rubric excludes code changes that also update documentation."
   },
   {
    "name": "p2p",
    "member": true,
    "evidence": "Modifies SOCKS5 proxy configuration, network name parsing, and Tor connection documentation under the P2P area label.",
    "band": "P3",
    "reason_tag": "bug fix",
    "score": 0.35,
    "factors": {
     "security_stability": 0,
     "bug_severity": 1,
     "performance": 0,
     "user_value": 1,
     "leverage": 0
    },
    "rationale": "Fixes a startup crash when users configure proxies following stale Tor documentation, and cleans up duplicate network parsing logic in initialization."
   },
   {
    "name": "rpc",
    "member": false,
    "evidence": "Only touches test/functional/rpc_net.py to verify existing getnodeaddresses behavior against invalid network names.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "No RPC interfaces, methods, or server implementations are modified."
   },
   {
    "name": "utils",
    "member": false,
    "evidence": "Changes in src/init.cpp are specific to network proxy initialization rather than generic node utility infrastructure.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "The initialization changes configure P2P network proxies rather than general argument handling or shared utilities."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "PR #36177 fixes node startup failures caused by stale documentation and `-proxy` help text advertising `tor` instead of `onion` after `tor` was removed as a network specification in #34031. It refactors `-proxy` network argument parsing in `src/init.cpp` to share `ParseNetwork` with other options, preserves original casing in error diagnostics, and expands functional test coverage. jeanpablojp gave a tested Concept ACK and suggested minor adjustments that the author incorporated. The PR is self-contained, ready for review, and has no open dependencies."
 },
 "raw_text": null
}