{
 "number": 36719,
 "input_hash": "19d7203ac7d9c589",
 "model": "ledger",
 "prompt_hash": null,
 "created": "2026-11-02T01:12:30+00:00",
 "result": {
  "summary": "Clarifies in the addnode RPC help text that MAX_ADDNODE_CONNECTIONS applies only to persistent 'add' connections, not to 'onetry' attempts. In bitcoin-cli -netinfo, widens the manual peer counter from uint8_t to uint16_t to match the other peer counters and prevent display wraparound.",
  "problem": "The addnode RPC help text does not distinguish between 'add' and 'onetry' limits, leaving users with the impression that onetry connections count against MAX_ADDNODE_CONNECTIONS. Because onetry connections are not capped at 8, nodes with many manual connections can exceed 255 manual peers, causing the uint8_t counter in -netinfo to wrap and display incorrect counts or drop the column.",
  "card": "Clarifies the addnode RPC help documentation regarding connection limits and prevents an integer overflow in bitcoin-cli -netinfo. The RPC help now specifies that MAX_ADDNODE_CONNECTIONS applies only to persistent 'add' connections, while 'onetry' connections are not subject to this limit. In bitcoin-cli, the manual peer counter is widened from uint8_t to uint16_t, preventing the manual peer column from wrapping at 256 or disappearing when many 'onetry' connections are active.",
  "evidence": [
   "Commit e46bcd40bb: 'The other -netinfo peer counts are uint16_t, but the manual peer count was uint8_t and wraps at 256. Manual peers aren't limited to the 8 -addnode slots ... so the count can reach that and the \"manual\" column then disappears or shows a wrapped value.'",
   "Author PR description notes that 'add' entries are capped by MAX_ADDNODE_CONNECTIONS while 'onetry' connections are not."
  ],
  "scope_notes": "",
  "changed_since_previous": "The PR now also updates the addnode RPC help documentation in src/rpc/net.cpp to clarify connection limits; the previous version touched only bitcoin-cli. Additionally, in bitcoin-cli only m_manual_peers_count is widened to uint16_t (m_block_relay_peers_count remains uint8_t).",
  "thread": {
   "last_event_at": "2026-11-01T21:44:00Z",
   "events": 8,
   "head_sha": "4c4970a69646231a1b443caa3c0c57aa012e4d89",
   "schema_floor": 2,
   "schema": 2
  },
  "waiting_on": [
   {
    "at": "2026-11-01",
    "id": "c:6564313648",
    "on": "nothing",
    "url": "https://github.com/bitcoin/bitcoin/pull/36719#issuecomment-6564313648",
    "what": "jonatack ACKed and author addressed PR title and description requests"
   }
  ],
  "risk": {
   "level": "low",
   "touches": [
    "rpc_api",
    "tooling",
    "docs"
   ],
   "why": "The changes only affect RPC help strings and a CLI display counter, with no impact on node operation or consensus."
  },
  "discussion": {
   "author_status": "last statement processed 2026-11-01",
   "open_concerns": [],
   "resolved_concerns": [
    "jonatack: State in the PR description why the manual peer counter might exceed 255 to justify the change (accepted by jonatack 2026-11-01)",
    "jonatack: The block-relay peer counter should not be widened because block-relay connections are limited to around 2 in steady state (accepted by jonatack 2026-11-01)",
    "jonatack: Clarify the addnode RPC help regarding separate connection limits for add and onetry (accepted by jonatack 2026-11-01)"
   ]
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "Nothing known that would invalidate a review now."
  },
  "agreement": {
   "state": "Positive",
   "summary": "Positive: support without stated reasons, no open objection (jonatack)",
   "reason": "jonatack objected to widening the block-relay peer counter and suggested clarifying the addnode RPC help text. Author reverted the block-relay change, added the doc clarification, and jonatack ACKed.",
   "evidence": [
    "jonatack: ACK"
   ],
   "objections": [
    {
     "reviewer": "jonatack",
     "association": "MEMBER",
     "type": "suggestion",
     "kind": "usefulness",
     "harm": "",
     "request": "State in the PR description why the manual peer counter might exceed 255 to justify the change",
     "question": "",
     "text": "State in the PR description why the manual peer counter might exceed 255 to justify the change",
     "clears_with": "answer",
     "blocking": false,
     "status": "accepted",
     "status_note": "author updated description to explain onetry bypasses the cap and jonatack ACKed",
     "cleared": true,
     "author_replied": false,
     "others_replied": false,
     "fix_pushed": false,
     "replies": [],
     "evidence": "2026-11-01: 'the PR description should state why the manual peer counter might exceed 255 to justify the change'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36719#issuecomment-6560691655",
     "id": "c:6560691655",
     "at": "2026-11-01",
     "status_at": "2026-11-01",
     "status_by": "jonatack",
     "resolution_evidence": "2026-11-01: jonatack: 'ACK 4c4970a69646231a1b443caa3c0c57aa012e4d89'",
     "pin": null,
     "from_schema": 2
    },
    {
     "reviewer": "jonatack",
     "association": "MEMBER",
     "type": "objection",
     "kind": "scope",
     "harm": "The block-relay peer counter should not be widened because block-relay connections are limited to around 2 in steady state",
     "request": "",
     "question": "",
     "text": "The block-relay peer counter should not be widened because block-relay connections are limited to around 2 in steady state",
     "clears_with": "change",
     "blocking": true,
     "status": "accepted",
     "status_note": "author reverted the block-relay counter and jonatack ACKed",
     "cleared": true,
     "author_replied": true,
     "others_replied": false,
     "fix_pushed": true,
     "replies": [
      "rc:4437163040"
     ],
     "evidence": "2026-11-01: 'NACK on the block relay one'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36719#discussion_r4436418095",
     "id": "rc:4436418095",
     "at": "2026-11-01",
     "status_at": "2026-11-01",
     "status_by": "jonatack",
     "resolution_evidence": "2026-11-01: jonatack: 'ACK 4c4970a69646231a1b443caa3c0c57aa012e4d89'",
     "pin": null,
     "from_schema": 2
    },
    {
     "reviewer": "jonatack",
     "association": "MEMBER",
     "type": "suggestion",
     "kind": "interface",
     "harm": "",
     "request": "Clarify the addnode RPC help regarding separate connection limits for add and onetry",
     "question": "",
     "text": "Clarify the addnode RPC help regarding separate connection limits for add and onetry",
     "clears_with": "answer",
     "blocking": false,
     "status": "accepted",
     "status_note": "author adopted the suggested help text clarification and jonatack ACKed",
     "cleared": true,
     "author_replied": true,
     "others_replied": false,
     "fix_pushed": true,
     "replies": [
      "rc:4437163040"
     ],
     "evidence": "2026-11-01: 'The RPC addnode help could perhaps be clarified about the separate limits for add and onetry'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36719#discussion_r4436418095",
     "id": "rc:4436418095#2",
     "at": "2026-11-01",
     "status_at": "2026-11-01",
     "status_by": "jonatack",
     "resolution_evidence": "2026-11-01: jonatack: 'ACK 4c4970a69646231a1b443caa3c0c57aa012e4d89'",
     "pin": null,
     "from_schema": 2
    }
   ],
   "support": [
    {
     "reviewer": "jonatack",
     "reason": "",
     "substantive": false,
     "verdict": "ACK",
     "id": "c:6564229611",
     "url": "https://github.com/bitcoin/bitcoin/pull/36719#issuecomment-6564229611",
     "at": "2026-11-01",
     "association": "MEMBER",
     "evidence": "none",
     "areas": []
    }
   ],
   "participants": [
    {
     "login": "pinheadmz",
     "stance": "neutral",
     "note": "asked author to pause opening PRs so reviewers can digest them",
     "association": "MEMBER",
     "comments": 1,
     "first": "2026-10-31",
     "last": "2026-10-31"
    },
    {
     "login": "jonatack",
     "stance": "support",
     "note": "ACKed after block-relay counter change was dropped and RPC help text clarified",
     "association": "MEMBER",
     "comments": 4,
     "first": "2026-11-01",
     "last": "2026-11-01"
    }
   ],
   "derivation": "support without stated reasons, no open objection (jonatack)",
   "model_state": null,
   "corrections": [],
   "notes": "jonatack objected to widening the block-relay peer counter and suggested clarifying the addnode RPC help text. Author reverted the block-relay change, added the doc clarification, and jonatack ACKed."
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "rpc",
    "member": true,
    "evidence": "Changes RPC help text in src/rpc/net.cpp and fixes a counter wraparound in bitcoin-cli in src/bitcoin-cli.cpp",
    "band": "P4",
    "reason_tag": "bug fix",
    "score": 0.2,
    "factors": {
     "bug_severity": 1,
     "leverage": 0,
     "performance": 0,
     "security_stability": 0,
     "user_value": 1
    },
    "rationale": "Fixes a minor display wraparound bug in bitcoin-cli -netinfo and clarifies RPC documentation. The manual peer counter in -netinfo was uint8_t and could wrap at 256, and the addnode help text did not specify that the connection cap applies only to persistent add entries rather than onetry."
   },
   {
    "name": "tools",
    "member": false,
    "evidence": "The tools category explicitly excludes the node and its RPC client (bitcoin-cli), which belongs to rpc instead despite the GitHub label.",
    "band": "Unranked",
    "reason_tag": "cleanup",
    "score": 0.0,
    "factors": {
     "bug_severity": 1,
     "leverage": 0,
     "performance": 0,
     "security_stability": 0,
     "user_value": 1
    },
    "rationale": "Not a member because bitcoin-cli changes are governed under the RPC category rather than Tools."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": []
 },
 "cost_usd": 0.0,
 "source": {
  "record": "2026-11-02T01:12:30+00:00",
  "code": "2026-11-02T01:15:04+00:00",
  "judgments": 2
 }
}