{
 "number": 35873,
 "input_hash": "e8d134f745a6219e",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T15:55:51+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 12898,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 8058
 },
 "cost_usd": 0.039891,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Add a test vector to tx_valid.json covering the positive acceptance path for pre-segwit FindAndDelete signature matching.",
    "Ensure Bitcoin Core regression tests catch the consensus divergence that caused the CVE-2024-38365 split in btcd."
   ],
   "reviewability": [
    "Ready for review.",
    "The change is a small, single-commit test vector with green CI and no conflicts."
   ],
   "agreement": [
    "Strong support with no objections.",
    "ACK with mutation testing confirming the vector fails on btcd-style deletion (sedited)."
   ],
   "categories": [
    {
     "name": "validation",
     "why": [
      "P3 because it adds valuable regression coverage for a subtle consensus rule.",
      "The positive acceptance path for FindAndDelete was previously untested in tx_valid.json."
     ]
    },
    {
     "name": "tests",
     "why": [
      "Unranked because tests of specific validation rules belong to validation rather than test infrastructure."
     ]
    }
   ]
  },
  "summary": "This pull request adds a new test case to src/test/data/tx_valid.json exercising the positive path of FindAndDelete during pre-segwit scriptCode evaluation. Specifically, it tests that an opcode push containing an embedded signature is not stripped during FindAndDelete, which was the cause of the consensus split in CVE-2024-38365.",
  "problem": "While negative paths and FindAndDelete failure behavior were already tested in script_FindAndDelete and tx_invalid.json, Core lacked a positive tx_valid.json test vector verifying that a transaction is accepted when an embedded signature survives inside a push. Downstream implementations and future refactors could inadvertently regress on this consensus edge case without a positive test vector.",
  "discussion": {
   "open_concerns": [],
   "resolved_concerns": [],
   "author_status": "active"
  },
  "reviewability": {
   "state": "Ready",
   "label": "Ready",
   "reason": "The PR contains 7 lines in a single test vector file, passes CI, has no merge conflicts, and is ready for further review."
  },
  "agreement": {
   "state": "Strong",
   "summary": "Strong support; sedited ACKed and confirmed through mutation testing that the test catches btcd-style deletions.",
   "reason": "Sedited reviewed and tested the PR with mutation testing, confirming it catches the intended behavior without any objections raised.",
   "evidence": [
    "sedited ACKed commit 6cd2fa5fb4 after verifying that a mutation doing a btcd-style delete fails the test."
   ]
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "tests",
    "member": false,
    "evidence": "The tests category covers test infrastructure and runners rather than tests of a particular area; tests.md explicitly notes that tests pinning the behavior of one area belong to that area instead.",
    "band": "Unranked",
    "reason_tag": "",
    "score": 0.0,
    "factors": {
     "security_stability": 0,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 0
    },
    "rationale": "Excluded from tests because it does not modify test framework, harnesses, or tooling, but rather adds a consensus validation test vector."
   },
   {
    "name": "validation",
    "member": true,
    "evidence": "validation.md covers block and transaction validity rules and the tests that pin this behavior, such as tx_valid.json vectors for script execution rules.",
    "band": "P3",
    "reason_tag": "test coverage",
    "score": 0.35,
    "factors": {
     "security_stability": 1,
     "bug_severity": 0,
     "performance": 0,
     "user_value": 0,
     "leverage": 1
    },
    "rationale": "P3 because it adds valuable regression test coverage for a known consensus edge case that previously caused a chain split in btcd (CVE-2024-38365). Core's FindAndDelete implementation had negative failure test coverage, but lacked a vector asserting the positive acceptance of transactions where pushdata containing a signature must remain in the scriptCode."
   }
  ],
  "confidence": "high",
  "uncertainties": [
   "Whether maintainers prefer keeping test vector additions solely tracked under tests or validation, though the category rubric explicitly directs area tests to the area itself."
  ],
  "needs": [],
  "card": "This PR adds a test vector to tx_valid.json covering the positive acceptance rule for FindAndDelete in pre-segwit script execution. It tests that signatures embedded inside push data are preserved in the scriptCode rather than stripped, addressing the consensus divergence between btcd and Bitcoin Core in CVE-2024-38365. Bitcoin Core already had failure tests for this rule, but lacked a vector asserting that valid transactions relying on the preserved push are accepted. Review is ready and mergeable, with one ACK confirming mutation testing against btcd-style deletion. The PR is self-contained and has no dependencies."
 },
 "raw_text": null
}