{
 "number": 35461,
 "input_hash": "e4d0708c4eb038f4",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T15:53:19+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 21866,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 2337
 },
 "cost_usd": 0.02516325,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Clarify assertion failure messages so developers can tell the failed condition from the actual state",
    "Ensure non-fatal unreachable markers abort under fuzzing and debug configurations"
   ],
   "reviewability": [
    "Ready"
   ],
   "agreement": [
    "Strong support with feedback incorporated from both reviewers (l0rinc, maflcko)"
   ],
   "categories": [
    {
     "name": "utils",
     "why": [
      "P4 because the change is a minor diagnostic formatting improvement and test-harness abort alignment",
      "It prevents developer confusion during assertion failures but addresses no functional bug or performance issue"
     ]
    }
   ]
  },
  "summary": "This PR updates assertion failure messages across Assert, Assume, and CHECK_NONFATAL to explicitly state that the condition check failed (for example, wrapping the expression in backticks and appending 'check failed'). It also unifies NONFATAL_UNREACHABLE with CHECK_NONFATAL so that it honors the G_ABORT_ON_FAILED_ASSUME setting in test environments.",
  "problem": "When an assertion fails, the generated error message prints the expression as-is (e.g., 'Internal bug detected: pindex != nullptr'), causing ambiguity for developers regarding whether the printed condition was the expected state or what actually evaluated to true. Additionally, NONFATAL_UNREACHABLE previously bypassed the abort-on-assume configuration used in fuzzing.",
  "discussion": {
   "open_concerns": [],
   "resolved_concerns": [
    "Formatting details: l0rinc requested backtick delimiters and avoided duplicating 'Assertion failed' prefixes in the abort path.",
    "Macro consistency: maflcko suggested routing NONFATAL_UNREACHABLE through the shared non-fatal failure helper so it respects G_ABORT_ON_FAILED_ASSUME.",
    "PR description updates to match the final wording and scope."
   ],
   "author_status": "active"
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "The branch merges cleanly, CI is passing, and all review comments from both reviewers have been addressed in recent force-pushes."
  },
  "agreement": {
   "state": "Strong",
   "summary": "Strong: approved by l0rinc and maflcko with all suggested changes incorporated.",
   "reason": "Both active reviewers supported the concept and implementation details, with maflcko providing the architectural suggestion for NONFATAL_UNREACHABLE and l0rinc reACKing the final commit structure.",
   "evidence": [
    "l0rinc gave tested ACK and code review reACK on 6494a7e1c8 after wording updates",
    "maflcko approved the approach and helped refine check_non_fatal_fail helper reuse"
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "rpc",
    "member": false,
    "evidence": "Touches test/functional/rpc_misc.py solely to update an expected error string check following the utility message change.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Not an RPC change; the RPC test adjustment is purely mechanical."
   },
   {
    "name": "tests",
    "member": false,
    "evidence": "Touches src/test/util_check_tests.cpp to test utility assertion formatting, not testing framework infrastructure.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Tests the assertion helpers in utils directly rather than modifying general test infrastructure."
   },
   {
    "name": "utils",
    "member": true,
    "evidence": "Modifies internal assertion and check helpers in src/util/check.h and src/util/check.cpp.",
    "band": "P4",
    "reason_tag": "cleanup",
    "score": 0.2,
    "factors": {
     "security_stability": 0,
     "bug_severity": 1,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "P4 because it is a cosmetic diagnostic improvement to assertion output alongside a minor consistency cleanup for unreachable aborts in test configurations. As l0rinc noted, 'it\\'s a tiny difference that we don\\'t often expect to encounter, but when we do, it better tell us a realistic story.'"
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "Clarifies assertion and assume failure diagnostics by formatting messages as '`<condition>` check failed' instead of printing bare expressions that confuse expected and actual states. It also unifies NONFATAL_UNREACHABLE with CHECK_NONFATAL to respect G_ABORT_ON_FAILED_ASSUME in test and fuzzing builds. Importance is low as it addresses minor developer diagnostic ambiguity rather than production bugs or performance. The PR is fully reviewed and ready with approvals from l0rinc and maflcko."
 },
 "raw_text": null
}