{
 "number": 36410,
 "input_hash": "dc67062f9d10d791",
 "model": "ledger",
 "prompt_hash": null,
 "created": "2026-10-22T01:13:13+00:00",
 "result": {
  "summary": "Adds a functional test covering compact blocks received more than two blocks ahead of the chain tip. It verifies that when a node receives such a compact block for a block it previously requested, it re-requests the full block via getdata. It also tests that receiving an unrequested far-ahead compact block from an outbound high-bandwidth peer falls back to header processing and protects the peer from eviction.",
  "problem": "Handling of compact blocks more than two blocks ahead of the tip was completely uncovered by tests. Either the full-block getdata re-request path or the fallback header processing branch (fRevertToHeaderProcessing) could be deleted without failing any test in the test suite.",
  "card": "Adds a functional test covering compact blocks received more than two blocks ahead of the active chain tip. Previously, neither the full-block getdata retry path for requested blocks nor the fallback header-processing branch (fRevertToHeaderProcessing) for unrequested blocks was tested, so either code path could be disabled without causing test failures. The new test verifies both that the node requests the full block again and that an outbound high-bandwidth peer is protected from eviction upon header processing. This resolves issue #34618.",
  "evidence": [
   "Commit de16833975 notes that 'No test checked what either branch does, so removing both made no test fail.'",
   "Linked issue #34618 reported missing test coverage for fRevertToHeaderProcessing in compact block message handling."
  ],
  "scope_notes": "",
  "changed_since_previous": "",
  "thread": {
   "last_event_at": null,
   "events": 0,
   "head_sha": "de16833975f3ec98dc96120e9b6e905709453aec",
   "schema_floor": 2,
   "schema": 2
  },
  "waiting_on": [],
  "risk": {
   "level": "low",
   "touches": [
    "tests"
   ],
   "why": "Only adds a new functional test and touches no production node code."
  },
  "discussion": {
   "author_status": "no discussion",
   "open_concerns": [],
   "resolved_concerns": []
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "Nothing known that would invalidate a review now."
  },
  "agreement": {
   "state": "Crickets",
   "summary": "Crickets: no substantive comment either way",
   "reason": "Derived from the claims and support below; every entry links to the statement it came from.",
   "evidence": [],
   "objections": [],
   "support": [],
   "participants": [],
   "derivation": "no substantive comment either way",
   "model_state": null,
   "corrections": [],
   "notes": null
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "p2p",
    "member": true,
    "evidence": "Adds a functional test pinning P2P compact block handling and fallback behaviors (`test/functional/p2p_compactblocks_far_ahead.py`).",
    "band": "P3",
    "reason_tag": "test coverage",
    "score": 0.35,
    "factors": {
     "bug_severity": 0,
     "leverage": 0,
     "performance": 0,
     "security_stability": 0,
     "user_value": 0
    },
    "rationale": "Adds missing test coverage for compact block processing when received far ahead of the chain tip. Issue #34618 and commit de16833975 noted that handling of these branches, including fallback header processing (`fRevertToHeaderProcessing`), had no test coverage."
   },
   {
    "name": "tests",
    "member": false,
    "evidence": "The change adds a subsystem-specific P2P functional test; the single line in `test_runner.py` is a mechanical registration of the new test script.",
    "band": "Unranked",
    "reason_tag": "test coverage",
    "score": 0.0,
    "factors": {
     "bug_severity": 0,
     "leverage": 0,
     "performance": 0,
     "security_stability": 0,
     "user_value": 0
    },
    "rationale": "Tests pinning behavior of a specific area belong to that area rather than the general test infrastructure category."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": []
 },
 "cost_usd": 0.0,
 "source": {
  "record": "2026-10-22T01:13:13+00:00",
  "code": "2026-10-22T01:18:29+00:00",
  "judgments": 2
 }
}