{
 "number": 35433,
 "input_hash": "e6acd77e0220e86e",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T16:19:17+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 29705,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 2613
 },
 "cost_usd": 0.0320775,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Deprecate the obsolete replaceable argument across wallet and raw transaction RPCs",
    "Require -deprecatedrpc=bip125 to use opt-in RBF flags now that full-RBF is default"
   ],
   "reviewability": [
    "Needs rebase and has merge conflicts",
    "Several review comments from polespinasa on test coverage and commit structure remain unaddressed"
   ],
   "agreement": [
    "Concept supported to retire opt-in RBF parameters (polespinasa)",
    "Deprecation throwing behavior adopted per review (achow101)",
    "Unresolved feedback on test coverage and commit boundaries (polespinasa)"
   ],
   "categories": [
    {
     "name": "wallet",
     "why": [
      "P3 because it begins removing obsolete BIP 125 options from wallet RPCs",
      "Simplifies the spending interface after full-RBF became default node policy"
     ]
    },
    {
     "name": "rpc",
     "why": [
      "P3 because it deprecates legacy parameters in createrawtransaction and createpsbt",
      "Reduces API surface confusion across transaction creation endpoints"
     ]
    }
   ]
  },
  "summary": "This pull request deprecates the `replaceable` argument across transaction creation and modification RPCs, including `createrawtransaction`, `createpsbt`, `fundrawtransaction`, `walletcreatefundedpsbt`, `send`, `sendtoaddress`, `sendmany`, `sendall`, `bumpfee`, and `psbtbumpfee`. Supplying this parameter will throw an RPC error unless the node is started with `-deprecatedrpc=bip125`.",
  "problem": "Opt-in BIP 125 replaceability signalling is largely redundant now that full-RBF is the default policy on the Bitcoin network. Continuing to offer the `replaceable` argument complicates RPC interfaces and confuses callers about transaction replacement behavior.",
  "discussion": {
   "open_concerns": [
    "polespinasa noted tests should cover `replaceable=False` across all modified spend RPCs to prevent regressions while deprecated",
    "polespinasa noted `FundTxDoc` changes in intermediate commits make documentation inaccurate until later commits in the series",
    "polespinasa pointed out `createrawtransaction` and `createpsbt` are node RPCs, not wallet RPCs, and should be categorized accurately in release notes"
   ],
   "resolved_concerns": [
    "achow101 noted that deprecated options must throw an error when passed without `-deprecatedrpc=bip125` rather than being silently ignored; author updated implementation",
    "w0xlt pointed out help examples still included `replaceable=true`; author fixed"
   ],
   "author_status": "silent since 2026-08-12 (over 30 days) with open review feedback"
  },
  "reviewability": {
   "state": "Stale",
   "label": "Needs rebase",
   "reason": "The branch has merge conflicts against master and the author has been silent for over a month with open review feedback from polespinasa."
  },
  "agreement": {
   "state": "Positive",
   "summary": "Concept accepted; waiting on author to address test coverage comments and rebase",
   "reason": "Reviewers agree with deprecating BIP 125 signalling parameters, but polespinasa left multiple detailed review comments regarding test omissions and commit structure that await author updates.",
   "evidence": [
    "polespinasa gave Concept ACK on the deprecation direction",
    "achow101 guided the deprecation error-throwing pattern",
    "polespinasa posted several inline test coverage concerns on 2026-08-12"
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": [
    "Eventual removal of BIP 125 opt-in sequence manipulation in future major releases"
   ]
  },
  "categories": [
   {
    "name": "docs",
    "member": false,
    "evidence": "Release notes changes are accompanying documentation for RPC deprecations rather than a standalone documentation change.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Release notes are secondary to the code deprecation."
   },
   {
    "name": "rpc",
    "member": true,
    "evidence": "Deprecates the `replaceable` argument in `createrawtransaction` and `createpsbt` under `src/rpc/rawtransaction.cpp`.",
    "band": "P3",
    "reason_tag": "cleanup",
    "score": 0.3,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 1,
     "leverage": 1
    },
    "rationale": "Deprecating an obsolete parameter in general raw transaction RPCs is a worthwhile interface cleanup, but does not fix a bug or pose operational urgency."
   },
   {
    "name": "utils",
    "member": false,
    "evidence": "Only relocates a comment to `src/util/rbf.h` without altering utility logic or data structures.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Moving a comment into util/rbf.h does not make this an internal utilities PR."
   },
   {
    "name": "wallet",
    "member": true,
    "evidence": "Changes spending and coin control RPCs (`sendtoaddress`, `sendmany`, `fundrawtransaction`, `bumpfee`, etc.) in `src/wallet/rpc/spend.cpp`.",
    "band": "P3",
    "reason_tag": "cleanup",
    "score": 0.35,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 1,
     "leverage": 1
    },
    "rationale": "Deprecating the `replaceable` option across wallet RPCs resolves longstanding issue #32661 by cleaning up obsolete BIP 125 opt-in configuration, but is deferrable maintainability work."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "This PR deprecates the `replaceable` argument across wallet and raw transaction RPCs, throwing an error unless `-deprecatedrpc=bip125` is set. It addresses issue #32661 following the network-wide transition to full-RBF by default, making BIP 125 opt-in signalling redundant. Reviewers support the deprecation in concept and guided error-handling requirements, but several test coverage comments from polespinasa remain unaddressed. The branch currently has merge conflicts and needs a rebase."
 },
 "raw_text": null
}