{
 "number": 36154,
 "input_hash": "c454aff394cbb90c",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T15:58:34+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 28972,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 4577
 },
 "cost_usd": 0.03889275,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Populate PSBT_GLOBAL_XPUB in PSBTs created by the wallet for multi-key descriptors.",
    "Allow hardware signers like BitBox02 to identify multisig co-signers and sign without external coordinator workarounds."
   ],
   "reviewability": [
    "Paused: author response needed for fundamental architectural feedback from achow101.",
    "Needs rebase and likely rework of the descriptor API interface before further review."
   ],
   "agreement": [
    "Concept interest from Sjors noting hardware wallet compatibility benefits.",
    "Substantive objections from achow101 regarding scope restriction to multisigs, descriptor API design, and MuSig handling.",
    "Unaddressed feedback: author has not responded to achow101 since 2026-09-07."
   ],
   "categories": [
    {
     "name": "wallet",
     "why": [
      "P2 because it eliminates a persistent interoperability failure for multisig hardware wallet signers.",
      "Enables hardware devices like BitBox02 to sign without requiring wallet coordinators to inject missing BIP 174 metadata."
     ]
    }
   ]
  },
  "summary": "This pull request populates the BIP 174 PSBT_GLOBAL_XPUB field when creating or filling PSBTs from wallet descriptors with multiple keys. It adds a method to Descriptor to extract extended public keys at the deepest hardened path step with their key origins. This enables stateless external signers to recognize multisig configurations and sign without external coordinator intervention.",
  "problem": "Bitcoin Core's wallet does not write PSBT_GLOBAL_XPUB fields into PSBTs even though BIP 174 defines them and the parser supports them. Certain hardware signers, such as the BitBox02 via HWI, require these global xpubs to reconstruct the multisig setup and refuse to sign when they are missing.",
  "discussion": {
   "open_concerns": [
    "achow101 questioned why global xpubs are restricted only to multisig descriptors rather than treated generically across descriptor types.",
    "achow101 objected to passing SigningProvider into GetExtPubKeysWithOrigins and taking an out-parameter instead of returning the map directly.",
    "achow101 noted that the MuSig implementation should traverse participants to collect their xpubs rather than returning empty."
   ],
   "resolved_concerns": [
    "Sjors requested clarification and links to downstream workarounds (Specter Desktop) and simulator behavior across devices, which the author added to the PR description."
   ],
   "author_status": "silent since 2026-09-03"
  },
  "reviewability": {
   "state": "Paused",
   "label": "Waiting on author",
   "reason": "Material architectural objections from achow101 regarding descriptor design and scope have been open for more than 7 days without author response, alongside a merge conflict requiring rebase."
  },
  "agreement": {
   "state": "Blocked",
   "summary": "Blocked: achow101 raised substantial architectural and implementation objections that the author has not addressed.",
   "reason": "achow101 raised multiple blocking interface and behavioral criticisms on 2026-09-07, and the author has not responded.",
   "evidence": [
    "Sjors noted the utility for non-HWI flows and asked for documentation on hardware device requirements.",
    "achow101 criticized limiting the feature to multisig, the use of SigningProvider and out-parameters in descriptor APIs, and the omission of MuSig participants."
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": [
    "Closing issue #27583"
   ]
  },
  "categories": [
   {
    "name": "wallet",
    "member": true,
    "evidence": "Changes descriptor methods and DescriptorScriptPubKeyMan::FillPSBT to write PSBT_GLOBAL_XPUB entries into wallet PSBTs.",
    "band": "P2",
    "reason_tag": "user request",
    "score": 0.55,
    "factors": {
     "security_stability": 0,
     "bug_severity": 1,
     "performance": 0,
     "user_value": 2,
     "leverage": 1
    },
    "rationale": "P2 because it resolves a long-standing user friction point in hardware multisig setups (#27583). Devices like the BitBox02 fail to sign PSBTs generated by Bitcoin Core without manual coordinator workarounds to populate the BIP 174 global xpub metadata."
   },
   {
    "name": "docs",
    "member": false,
    "evidence": "Touches only release notes alongside the code 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 wallet code changes."
   },
   {
    "name": "tests",
    "member": false,
    "evidence": "Test changes consist of functional and unit test coverage specific to wallet PSBT global xpub filling.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Tests solely validate wallet and descriptor behavior for this specific feature."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "This PR fills BIP 174 PSBT_GLOBAL_XPUB entries when the wallet creates or processes PSBTs involving descriptors with multiple extended public keys. It solves a compatibility issue where hardware signers such as the BitBox02 refuse to sign PSBTs lacking global xpubs, removing the need for external coordinators like Specter to monkey-patch the transaction. While Sjors expressed concept interest, achow101 raised substantial architectural concerns regarding the descriptor API design, unnecessary restrictions to multisig, and MuSig handling. The PR currently needs a rebase and is paused waiting on the author to respond to those review comments."
 },
 "raw_text": null
}