{
 "number": 34322,
 "input_hash": "84488304cf146764",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T15:50:17+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 13287,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 1951
 },
 "cost_usd": 0.0172815,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Persist in-flight private broadcast transactions across graceful node restarts",
    "Prevent submitted transactions from being silently dropped if the daemon restarts before broadcast completes"
   ],
   "reviewability": [
    "Stale: merge conflicts and author silent for over six months",
    "Approach may be superseded by subsequent broadcast storage proposals"
   ],
   "agreement": [
    "Concept support from multiple reviewers for not dropping private broadcasts across restarts (vasild, craigraw)",
    "Discussion on disk privacy trade-offs and whether an SQLite broadcast pool is a superior architecture (tankyleo, craigraw, andrewtoth)"
   ],
   "categories": [
    {
     "name": "p2p",
     "why": [
      "P3 because it improves relay reliability for users utilizing the private broadcast feature over Tor or I2P",
      "Clean-shutdown drops are a narrow edge case and the author opened alternative work toward a broader broadcast pool"
     ]
    }
   ]
  },
  "summary": "Introduces serialization and deserialization of pending private broadcast transactions to a privatebroadcast.dat file. In-flight transactions are dumped to disk during clean node shutdown and restored on startup if private broadcast is enabled.",
  "problem": "Transactions submitted via sendrawtransaction with privatebroadcast enabled exist only in peer manager memory; a node restarting before private broadcast finishes permanently drops the transaction.",
  "discussion": {
   "open_concerns": [
    "Persisting transaction data to disk on broadcaster-only nodes introduces disk privacy considerations if unencrypted.",
    "A simple shutdown-dump file does not protect against crashes or unclean shutdowns, prompting suggestions to build a persistent broadcast pool instead."
   ],
   "resolved_concerns": [
    "Permissions on the dat file should be restricted (0600) to protect private broadcast records.",
    "Removing the dump file early in the startup path ensures records do not linger on disk."
   ],
   "author_status": "silent since 2026-03-02, marked PR as draft and opened PR #34707 as an initial step toward a reworked architecture"
  },
  "reviewability": {
   "state": "Stale",
   "label": "Needs rebase",
   "reason": "The PR has merge conflicts with the base branch and the author has been silent for 199 days after opening related PR #34707."
  },
  "agreement": {
   "state": "Strong",
   "summary": "Concept supported by vasild and craigraw; discussion on disk privacy and broadcast pool scope",
   "reason": "Reviewers agreed on the need to preserve private broadcast transactions over restarts, while discussing whether a file dump or SQLite broadcast pool is the best long-term architecture.",
   "evidence": [
    "vasild: 'Concept ACK... benefits of not losing the transaction if the node is restarted before a successful completion out-weight the concerns about storing the transaction on disk.'",
    "craigraw: 'Concept ACK. However, I don't think this change goes far enough...'",
    "tankyleo raised disk attack surface concerns on broadcaster-only nodes; andrewtoth and vasild responded with mitigations."
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": [
    "#34707"
   ]
  },
  "categories": [
   {
    "name": "p2p",
    "member": true,
    "evidence": "Modifies the private broadcast relay subsystem in net / peer manager, labeled Private Broadcast.",
    "band": "P3",
    "reason_tag": "new feature",
    "score": 0.35,
    "factors": {
     "security_stability": 0,
     "bug_severity": 1,
     "performance": 0,
     "user_value": 2,
     "leverage": 1
    },
    "rationale": "Improves transaction relay reliability for nodes utilizing private Tor/I2P broadcast by preventing submitted transactions from vanishing on restart. The problem is real but limited to clean restarts during the broadcast window, and discussion suggests a SQLite-backed broadcast pool might supersede this mechanism."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "This PR persists in-flight private broadcast transactions to a privatebroadcast.dat file across graceful daemon restarts. It solves the issue where transactions submitted to peer manager are dropped if the node restarts before private relay completes. The concept received strong support from reviewers, though discussion raised questions regarding disk privacy and whether a SQLite-based broadcast pool is preferable. The PR has merge conflicts, has been marked draft, and the author has been inactive on it for over six months after opening PR #34707."
 },
 "raw_text": null
}