{
 "number": 36685,
 "input_hash": "666fd6fcba244873",
 "model": "ledger",
 "prompt_hash": null,
 "created": "2026-10-30T01:14:50+00:00",
 "result": {
  "summary": "Export `replaces_txid` and `replaced_by_txid` from internal `wallet::CWalletTx` into the `interfaces::WalletTx` struct. In `MakeWalletTx`, populate both optional `Txid` fields from `wtx.m_replaces_txid` and `wtx.m_replaced_by_txid`.",
  "problem": "A prior cleanup removed `interfaces::WalletTx::value_map` from the main repository without re-exporting replacement transaction IDs. Downstream interface consumers, specifically the experimental QML GUI repository, lost access to transaction replacement details.",
  "card": "Export replaces_txid and replaced_by_txid from internal CWalletTx through to interfaces::WalletTx. A previous refactoring in Bitcoin Core removed the generic value_map string table from WalletTx without exposing replacement identifiers, breaking transaction replacement tracking in the external QML GUI. This restores access to those transaction IDs via dedicated struct members.",
  "evidence": [
   "PR description references commit f4ff2b8db93 in bitcoin-core/gui-qml adding usage of `replaces_txid` and `replaced_by_txid`, followed by commit a2b0bfcd854 in bitcoin/bitcoin removing the backing `value_map` without exposing dedicated fields."
  ],
  "scope_notes": "",
  "changed_since_previous": "No changes to the patch or commit; diff and commit details are now confirmed.",
  "thread": {
   "last_event_at": "2026-10-28T20:34:48Z",
   "events": 4,
   "head_sha": "bff0a2fabfeceeb739c0d545cb9d45e2a7da43f0",
   "schema_floor": 2,
   "schema": 2
  },
  "waiting_on": [
   {
    "at": null,
    "id": "",
    "on": "nothing",
    "url": null,
    "what": "PR has approvals and no open objections"
   }
  ],
  "risk": {
   "level": "low",
   "touches": [
    "wallet"
   ],
   "why": "This is a 4-line read-only export of existing transaction metadata across internal interface boundaries."
  },
  "discussion": {
   "author_status": "last statement processed 2026-10-28",
   "open_concerns": [],
   "resolved_concerns": []
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "Nothing known that would invalidate a review now."
  },
  "agreement": {
   "state": "Strong",
   "summary": "Strong: substantive support, no open objection (pseudoramdom, johnny9)",
   "reason": "Author provided an example commit updating gui-qml's bitcoin submodule that depends on this PR; no new claims or reviewer changes.",
   "evidence": [
    "pseudoramdom: ACK \u2014 gui-qml is pinned to an older Core version that still exposed `value_map`, so the missing interface fields hadn't been noticed",
    "johnny9: ACK \u2014 gui-qml should be updated once merged"
   ],
   "objections": [],
   "support": [
    {
     "reviewer": "pseudoramdom",
     "reason": "gui-qml is pinned to an older Core version that still exposed `value_map`, so the missing interface fields hadn't been noticed",
     "substantive": true,
     "verdict": "ACK",
     "id": "c:6476376176",
     "url": "https://github.com/bitcoin/bitcoin/pull/36685#issuecomment-6476376176",
     "at": "2026-10-28",
     "association": "MEMBER",
     "evidence": "read",
     "areas": []
    },
    {
     "reviewer": "johnny9",
     "reason": "gui-qml should be updated once merged",
     "substantive": true,
     "verdict": "ACK",
     "id": "c:6480062649",
     "url": "https://github.com/bitcoin/bitcoin/pull/36685#issuecomment-6480062649",
     "at": "2026-10-28",
     "association": "CONTRIBUTOR",
     "evidence": "read",
     "areas": []
    }
   ],
   "participants": [
    {
     "login": "johnny9",
     "stance": "support",
     "note": "ACKed and noted gui-qml should update once merged",
     "association": "CONTRIBUTOR",
     "comments": 1,
     "first": "2026-10-28",
     "last": "2026-10-28"
    },
    {
     "login": "pseudoramdom",
     "stance": "support",
     "note": "ACKed after confirming gui-qml had missed the interface removal",
     "association": "MEMBER",
     "comments": 1,
     "first": "2026-10-28",
     "last": "2026-10-28"
    }
   ],
   "derivation": "substantive support, no open objection (pseudoramdom, johnny9)",
   "model_state": null,
   "corrections": [],
   "notes": "Author provided an example commit updating gui-qml's bitcoin submodule that depends on this PR; no new claims or reviewer changes."
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "ipc",
    "member": false,
    "evidence": "Touches interfaces/wallet.h, but the IPC category explicitly excludes wallet interface changes where interface mechanics are not the point.",
    "band": "Unranked",
    "reason_tag": "cleanup",
    "score": 0.0,
    "factors": {
     "bug_severity": 1,
     "leverage": 1,
     "performance": 0,
     "security_stability": 0,
     "user_value": 1
    },
    "rationale": "Not an IPC member according to the category scope, which states that wallet PRs adding fields or methods to interfaces::Wallet are wallet-first unless interface mechanics are the point."
   },
   {
    "name": "wallet",
    "member": true,
    "evidence": "Labeled 'Wallet' and modifies src/wallet/interfaces.cpp to populate replacement transaction IDs on interfaces::WalletTx.",
    "band": "P3",
    "reason_tag": "bug fix",
    "score": 0.35,
    "factors": {
     "bug_severity": 1,
     "leverage": 1,
     "performance": 0,
     "security_stability": 0,
     "user_value": 1
    },
    "rationale": "Restores access to replacement transaction IDs lost during a prior cleanup of interfaces::WalletTx::value_map. Downstream consumers like gui-qml rely on these fields to show transaction replacement details."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": []
 },
 "cost_usd": 0.0,
 "source": {
  "record": "2026-10-30T01:14:50+00:00",
  "code": "2026-10-30T01:17:02+00:00",
  "judgments": 2
 }
}