{
 "number": 36348,
 "input_hash": "34b787ed015c1d5c",
 "model": "ledger",
 "prompt_hash": null,
 "created": "2026-10-15T01:18:13+00:00",
 "result": {
  "summary": "Clarifies in doc/i2p.md that outbound I2P connections opened under -privatebroadcast use transient addresses instead of the node's persistent I2P identity. It also notes that -privatebroadcast only covers transactions broadcast via sendrawtransaction, and mentions that private broadcast runs over Tor as well.",
  "problem": "Bitcoin Core's I2P documentation stated that persistent I2P addresses are always used for outbound and inbound connections, obscuring the privacy mechanism used by -privatebroadcast and leaving operators misinformed about when their long-lived I2P address is exposed.",
  "card": "Updates doc/i2p.md to document that -privatebroadcast creates transient I2P addresses instead of reusing the persistent address in i2p_private_key. It also clarifies that -privatebroadcast applies only to transactions submitted through sendrawtransaction rather than wallet transactions. The change is documentation-only with no functional code changes.",
  "evidence": [
   "PR description: 'It is not entirely accurate that persistent I2P addresses are used for making outbound connections and accepting incoming ones, as the -privatebroadcast option forces the use of a new transient destination for each transaction it relays.'"
  ],
  "scope_notes": "",
  "changed_since_previous": "Refined the explanation to note that private broadcast also operates over Tor and added co-author attributions.",
  "thread": {
   "last_event_at": "2026-10-14T02:33:42Z",
   "events": 12,
   "head_sha": "4307c2e0b01765932ad9518c63b764ef8dd16927",
   "schema_floor": 2,
   "schema": 2
  },
  "waiting_on": [
   {
    "at": "2026-10-07",
    "id": "rc:4202046621",
    "on": "author",
    "url": "https://github.com/bitcoin/bitcoin/pull/36348#discussion_r4202046621",
    "what": "address suggestions from andrewtoth on address vs destination and transient address clarification"
   }
  ],
  "risk": {
   "level": "low",
   "touches": [
    "docs"
   ],
   "why": "This is a documentation-only update to doc/i2p.md with no executable code changes."
  },
  "discussion": {
   "author_status": "last statement processed 2026-10-14",
   "open_concerns": [
    "andrewtoth: use 'address' instead of 'destination'",
    "andrewtoth: use 'transient address' and clarify that connections opened for -privatebroadcast do not use the persistent address from i2p_private_key"
   ],
   "resolved_concerns": [
    "jonatack: expand the documentation to explain that private broadcast opens several short-lived peers per transaction over Tor or I2P and applies only to sendrawtransaction (answered by jpk68 2026-10-06)"
   ]
  },
  "reviewability": {
   "state": "Paused",
   "label": "Waiting on author",
   "reason": "Open objections from andrewtoth with no author reply for 18 days; review would repeat what has been asked."
  },
  "agreement": {
   "state": "Strong",
   "summary": "Strong: substantive support, no open objection (jonatack, davidgumberg)",
   "reason": "Added davidgumberg's commit ACK (c:6159596565). His reservation regarding user relevance is recorded as review rationale rather than a claim since he concluded it is fine to him.",
   "evidence": [
    "andrewtoth (suggestion, style, must be answered, open): use 'address' instead of 'destination'",
    "andrewtoth (suggestion, style, must be answered, open): use 'transient address' and clarify that connections opened for -privatebroadcast do not use the persistent address from i2p_private_key",
    "andrewtoth: ACK",
    "jonatack: Concept ACK \u2014 Private broadcast opens several short-lived peers per transaction, over Tor or I2P, and only for sendrawtransaction",
    "davidgumberg: ACK",
    "davidgumberg: ACK \u2014 The change here seems pedantically correct, but I'm still not sure I understand why I2P users would care or why this information would be relevant to them, so it seems a bit noisy to me, but fine to me."
   ],
   "objections": [
    {
     "reviewer": "jonatack",
     "association": "MEMBER",
     "type": "suggestion",
     "kind": "scope",
     "harm": "",
     "request": "expand the documentation to explain that private broadcast opens several short-lived peers per transaction over Tor or I2P and applies only to sendrawtransaction",
     "question": "",
     "text": "expand the documentation to explain that private broadcast opens several short-lived peers per transaction over Tor or I2P and applies only to sendrawtransaction",
     "clears_with": "answer",
     "blocking": false,
     "status": "answered",
     "status_note": "author agreed to incorporate jonatack's suggestion; fix not yet pushed",
     "cleared": true,
     "author_replied": true,
     "others_replied": true,
     "fix_pushed": false,
     "replies": [
      "c:5872220356",
      "c:6016585411",
      "c:5921196167",
      "c:6012059927",
      "c:6016984385"
     ],
     "evidence": "2026-09-27: 'Perhaps the proposed text could mention that to be more precise. WDYT of the following?'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#pullrequestreview-5332086908",
     "id": "r:5332086908",
     "at": "2026-09-27",
     "status_at": "2026-10-06",
     "status_by": "jpk68",
     "resolution_evidence": "2026-10-06: jpk68: 'Sure, that sounds fine to me.'",
     "pin": null,
     "from_schema": 2
    },
    {
     "reviewer": "andrewtoth",
     "association": "MEMBER",
     "type": "suggestion",
     "kind": "style",
     "harm": "",
     "request": "use 'address' instead of 'destination'",
     "question": "",
     "text": "use 'address' instead of 'destination'",
     "clears_with": "answer",
     "blocking": false,
     "status": "open",
     "status_note": "",
     "cleared": false,
     "author_replied": false,
     "others_replied": false,
     "fix_pushed": false,
     "replies": [],
     "evidence": "2026-10-07: 'Might be clearer to use address here instead of destination.'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#discussion_r4202030598",
     "id": "rc:4202030598",
     "at": "2026-10-07",
     "status_at": null,
     "status_by": null,
     "resolution_evidence": "",
     "pin": null,
     "from_schema": 2
    },
    {
     "reviewer": "andrewtoth",
     "association": "MEMBER",
     "type": "suggestion",
     "kind": "style",
     "harm": "",
     "request": "use 'transient address' and clarify that connections opened for -privatebroadcast do not use the persistent address from i2p_private_key",
     "question": "",
     "text": "use 'transient address' and clarify that connections opened for -privatebroadcast do not use the persistent address from i2p_private_key",
     "clears_with": "answer",
     "blocking": false,
     "status": "open",
     "status_note": "",
     "cleared": false,
     "author_replied": false,
     "others_replied": false,
     "fix_pushed": false,
     "replies": [],
     "evidence": "2026-10-07: 'Regardless of `-i2pacceptincoming`, I2P connections opened for `-privatebroadcast` do not use the persistent address from `i2p_private_key`.'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#discussion_r4202046621",
     "id": "rc:4202046621",
     "at": "2026-10-07",
     "status_at": null,
     "status_by": null,
     "resolution_evidence": "",
     "pin": null,
     "from_schema": 2
    }
   ],
   "support": [
    {
     "reviewer": "andrewtoth",
     "reason": "",
     "substantive": false,
     "verdict": "ACK",
     "id": "r:5330883080",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#pullrequestreview-5330883080",
     "at": "2026-09-27",
     "association": "MEMBER",
     "evidence": "none",
     "areas": []
    },
    {
     "reviewer": "jonatack",
     "reason": "Private broadcast opens several short-lived peers per transaction, over Tor or I2P, and only for sendrawtransaction",
     "substantive": true,
     "verdict": "Concept ACK",
     "id": "r:5332086908",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#pullrequestreview-5332086908",
     "at": "2026-09-27",
     "association": "MEMBER",
     "evidence": "read",
     "areas": []
    },
    {
     "reviewer": "davidgumberg",
     "reason": "",
     "substantive": false,
     "verdict": "ACK",
     "id": "c:5921196167",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#issuecomment-5921196167",
     "at": "2026-09-30",
     "association": "MEMBER",
     "evidence": "none",
     "areas": []
    },
    {
     "reviewer": "davidgumberg",
     "reason": "The change here seems pedantically correct, but I'm still not sure I understand why I2P users would care or why this information would be relevant to them, so it seems a bit noisy to me, but fine to me.",
     "substantive": true,
     "verdict": "ACK",
     "id": "c:6159596565",
     "url": "https://github.com/bitcoin/bitcoin/pull/36348#issuecomment-6159596565",
     "at": "2026-10-14",
     "association": "MEMBER",
     "evidence": "read",
     "areas": []
    }
   ],
   "participants": [
    {
     "login": "fanquake",
     "stance": "neutral",
     "note": "tagged relevant reviewers",
     "association": "MEMBER",
     "comments": 1,
     "first": "2026-09-26",
     "last": "2026-09-26"
    },
    {
     "login": "andrewtoth",
     "stance": "support",
     "note": "ACKed; suggested using 'address' instead of 'destination' and clarifying transient address usage",
     "association": "MEMBER",
     "comments": 3,
     "first": "2026-09-27",
     "last": "2026-10-07"
    },
    {
     "login": "jonatack",
     "stance": "support",
     "note": "Concept ACK and suggested expanded documentation wording",
     "association": "MEMBER",
     "comments": 2,
     "first": "2026-09-27",
     "last": "2026-10-01"
    },
    {
     "login": "davidgumberg",
     "stance": "support",
     "note": "ACKed; questioned relevance to I2P users but concluded it is fine",
     "association": "MEMBER",
     "comments": 2,
     "first": "2026-09-30",
     "last": "2026-10-14"
    },
    {
     "login": "sedited",
     "stance": "neutral",
     "note": "prompted author on jonatack's suggestion and recommended keeping changes focused on i2p docs",
     "association": "MEMBER",
     "comments": 2,
     "first": "2026-10-06",
     "last": "2026-10-06"
    }
   ],
   "derivation": "substantive support, no open objection (jonatack, davidgumberg)",
   "model_state": null,
   "corrections": [],
   "notes": "Added davidgumberg's commit ACK (c:6159596565). His reservation regarding user relevance is recorded as review rationale rather than a claim since he concluded it is fine to him."
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "docs",
    "member": true,
    "evidence": "Modifies doc/i2p.md to clarify address handling under -privatebroadcast.",
    "band": "P3",
    "reason_tag": "bug fix",
    "score": 0.3,
    "factors": {
     "bug_severity": 0,
     "leverage": 0,
     "performance": 0,
     "security_stability": 0,
     "user_value": 1
    },
    "rationale": "Corrects inaccurate documentation regarding persistent versus transient address usage when `-privatebroadcast` is enabled. As noted in the description, the existing docs stated persistent addresses were always used, leaving operators misinformed about when their persistent I2P identity is exposed."
   },
   {
    "name": "p2p",
    "member": false,
    "evidence": "Does not touch P2P code, protocol logic, or network interfaces.",
    "band": "Unranked",
    "reason_tag": "cleanup",
    "score": 0.0,
    "factors": {
     "bug_severity": 0,
     "leverage": 0,
     "performance": 0,
     "security_stability": 0,
     "user_value": 1
    },
    "rationale": "Pure documentation changes belong to the docs category rather than p2p."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": []
 },
 "cost_usd": 0.0,
 "source": {
  "record": "2026-10-15T01:18:13+00:00",
  "code": "2026-10-13T01:25:36+00:00",
  "judgments": 2
 }
}