{
 "number": 36593,
 "input_hash": "17dd6176ab38eaa3",
 "model": "ledger",
 "prompt_hash": null,
 "created": "2026-10-23T01:15:45+00:00",
 "result": {
  "summary": "Updates the Qt dependency in the depends build system from 6.8.4 to 6.12.0 LTS and raises the macOS SDK build requirement to 15.0 while keeping the minimum deployment target at 14.0. It retires multiple backported Qt patches that were included in 6.12.0, adds a compatibility patch for older libxkbcommon, and allows ntdll.dll in Windows Guix symbol checks.",
  "problem": "Bitcoin Core builds against Qt 6.8.4, which lacks upstream bug fixes and official platform support for macOS 26.",
  "card": "Updates the depends system to Qt 6.12.0 LTS and raises the build requirement to macOS SDK 15.0 while maintaining macOS 14.0 runtime compatibility. The update provides upstream Qt bug fixes, official support for macOS 26, and removes several backported Qt patches now merged upstream. Depends on PR #36592.",
  "evidence": [
   "PR description: 'The new Qt 6.12 LTS contains many bug fixes and officially supports macOS 26.'",
   "Commit eaa8d1f5a5: 'Qt 6.12 requires macOS 15 SDK or higher.'"
  ],
  "scope_notes": "Much of the diff consists of deleting downstream patches that are now included upstream in Qt 6.12.0.",
  "changed_since_previous": "Diff inspection confirms the addition of a compatibility patch for libxkbcommon 0.8.4, the inclusion of ntdll.dll in Guix symbol checks, and the removal of eight upstreamed Qt patches.",
  "thread": {
   "last_event_at": "2026-10-21T19:24:51Z",
   "events": 5,
   "head_sha": "fa9231d6518124b36be2985cffff74f079e12b86",
   "schema_floor": 2,
   "schema": 2
  },
  "waiting_on": [
   {
    "at": "2026-10-21",
    "id": "rc:4341020177",
    "on": "author",
    "url": "https://github.com/bitcoin/bitcoin/pull/36593#discussion_r4341020177",
    "what": "investigating API changes for the xkbcommon patch and providing an explanation"
   },
   {
    "at": "2026-10-21",
    "id": "rc:4341020177",
    "on": "author",
    "url": "https://github.com/bitcoin/bitcoin/pull/36593#discussion_r4341020177",
    "what": "investigating xkbcommon API changes to answer fanquake's question"
   }
  ],
  "risk": {
   "level": "medium",
   "touches": [
    "build",
    "gui"
   ],
   "why": "Packaging errors in Qt could cause cross-compilation failures or GUI behavioral regressions across release binaries on macOS, Linux, and Windows."
  },
  "discussion": {
   "author_status": "last statement processed 2026-10-21",
   "open_concerns": [
    "fanquake: Will bypassing the required xkbcommon version work, and what is the explanation for why it is safe given possible new API usage?"
   ],
   "resolved_concerns": [
    "fanquake: Does the current Qt version not already support macOS 26? (answered by hebasto 2026-10-21)"
   ]
  },
  "reviewability": {
   "state": "Ready",
   "label": "Review #36592 first",
   "reason": "Stacked on #36592; the base PR's changes are included in this diff."
  },
  "agreement": {
   "state": "Crickets",
   "summary": "Crickets: no substantive comment either way",
   "reason": "Initial record for draft PR. fanquake asked about existing macOS 26 support and questioned whether the xkbcommon compatibility patch is safe. / Initial record for draft PR updating Qt to 6.12.0. fanquake asked about macOS 26 support and questioned the xkbcommon compat patch, which the author is investigating.",
   "evidence": [
    "fanquake (question, correctness, must be answered, open): Will bypassing the required xkbcommon version work, and what is the explanation for why it is safe given possible new API usage?"
   ],
   "objections": [
    {
     "reviewer": "fanquake",
     "association": "MEMBER",
     "type": "question",
     "kind": "usefulness",
     "harm": "",
     "request": "",
     "question": "Does the current Qt version not already support macOS 26?",
     "text": "Does the current Qt version not already support macOS 26?",
     "clears_with": "answer",
     "blocking": false,
     "status": "answered",
     "status_note": "author explained that while it works, macOS 26 is not officially listed in Qt documentation",
     "cleared": true,
     "author_replied": true,
     "others_replied": false,
     "fix_pushed": false,
     "replies": [
      "c:6323749562"
     ],
     "evidence": "2026-10-21: 'Our current version already does?'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36593#issuecomment-6323653301",
     "id": "c:6323653301",
     "at": "2026-10-21",
     "status_at": "2026-10-21",
     "status_by": "hebasto",
     "resolution_evidence": "2026-10-21: hebasto: 'It works, obviously. However, macOS 26 is not listed in https://doc.qt.io/qt-6.8/macos.html.'",
     "pin": null,
     "from_schema": 2
    },
    {
     "reviewer": "fanquake",
     "association": "MEMBER",
     "type": "question",
     "kind": "correctness",
     "harm": "",
     "request": "",
     "question": "Will bypassing the required xkbcommon version work, and what is the explanation for why it is safe given possible new API usage?",
     "text": "Will bypassing the required xkbcommon version work, and what is the explanation for why it is safe given possible new API usage?",
     "clears_with": "answer",
     "blocking": false,
     "status": "open",
     "status_note": "author deferred with an investigation in progress",
     "cleared": false,
     "author_replied": true,
     "others_replied": false,
     "fix_pushed": false,
     "replies": [
      "rc:4341020177"
     ],
     "evidence": "2026-10-21: 'Will this work? I assume Qt increased their required version, because they are using some feature / API from the newer version? Would be good if this explained why this is ok to do.'",
     "url": "https://github.com/bitcoin/bitcoin/pull/36593#discussion_r4340833697",
     "id": "rc:4340833697",
     "at": "2026-10-21",
     "status_at": null,
     "status_by": null,
     "resolution_evidence": "",
     "pin": null,
     "from_schema": 2
    }
   ],
   "support": [],
   "participants": [
    {
     "login": "fanquake",
     "stance": "question",
     "note": "asked whether Qt already supported macOS 26 and questioned the xkbcommon compatibility patch",
     "association": "MEMBER",
     "comments": 2,
     "first": "2026-10-21",
     "last": "2026-10-21"
    }
   ],
   "derivation": "no substantive comment either way",
   "model_state": null,
   "corrections": [],
   "notes": "Initial record for draft PR. fanquake asked about existing macOS 26 support and questioned whether the xkbcommon compatibility patch is safe. / Initial record for draft PR updating Qt to 6.12.0. fanquake asked about macOS 26 support and questioned the xkbcommon compat patch, which the author is investigating."
  },
  "dependencies": {
   "depends_on": [
    "#36592"
   ],
   "enables": []
  },
  "categories": [
   {
    "name": "build",
    "member": true,
    "evidence": "Carries the 'Build system' label and updates the Qt library and downstream patches in depends/.",
    "band": "P2",
    "reason_tag": "platform fix",
    "score": 0.65,
    "factors": {
     "bug_severity": 0,
     "leverage": 1,
     "performance": 0,
     "security_stability": 1,
     "user_value": 1
    },
    "rationale": "Updates the Qt dependency to 6.12.0 LTS to gain upstream bug fixes, officially support macOS 26, and eliminate numerous downstream patches. The PR description notes that 'The new Qt 6.12 LTS contains many bug fixes and officially supports macOS 26', making this a substantial dependency upgrade for platform maintenance."
   },
   {
    "name": "tools",
    "member": false,
    "evidence": "Only touches contrib/guix/symbol-check.py to allow ntdll.dll as part of the Qt upgrade.",
    "band": "Unranked",
    "reason_tag": "cleanup",
    "score": 0.0,
    "factors": {
     "bug_severity": 0,
     "leverage": 1,
     "performance": 0,
     "security_stability": 1,
     "user_value": 1
    },
    "rationale": "Build and release tooling belongs to the build category, and the edit to symbol-check.py is a mechanical adjustment strictly incidental to the Qt dependency bump."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": []
 },
 "cost_usd": 0.0,
 "source": {
  "record": "2026-10-23T01:15:45+00:00",
  "code": "2026-10-23T01:20:36+00:00",
  "judgments": 2
 }
}