{
  "basis": "Core 0 P partition measured at 16,384 words (P:0x000000-0x003FFF): the 8-word common DSP boot program (uploaded to both cores before the main program) executes move omr,x0 / bset #7 (MS) / bset #22 (MSW1) / bclr #21 (MSW0) / move x0,omr / jmp $fffffe, selecting the 16K-P/24K-X/16K-Y Core 0 map of DSP56724RM Table 3-1/3-3. Corroborated by the stock startup zeroing exactly 0x6000 X words (the 24K-X map) and the 10,846-word stock program requiring P >= 16K among 24K-X maps.",
  "core0_pointer": "0x0805d000",
  "core0_program_sha256": "7e58e28e272463048c2cee334ba0e41efc327ac2b1218bda04475e7648bdbe69",
  "core0_word_count": 11207,
  "fits_measured_partition": true,
  "format": "circuit-tracks-dsp-boot-acceptance-v2",
  "hardware_cold_boot_proven": false,
  "honest_caveat": "Fitting the measured partition is NECESSARY but NOT SUFFICIENT for boot. RESOLVED 2026-08-18: the ~15.5K-word builds 4530/4540/4541/4544 were never rejected by the DSP at all -- the running app refused them at update-validate for exceeding the update-image SIZE ceiling (proven bracket: 349,464 B accepted, 362,081 B rejected) and rolled back before flashing. The gate now enforces that ceiling separately. Hardware cold boot of a MODIFIED Core 0 program remains unproven until the owner's flash; the self-test rolls back automatically on failure and the DSP payload is volatile.",
  "image_sha256": "1ca8c03888d200f54f52f6b718707ba55d10b256fc70e9020e1afe3255a9b799",
  "method": "offline: uploaded Core 0 word count re-derived from the image and compared against the measured Core 0 P partition; all structural gate checks pass",
  "partition_ceiling_words": 16384
}
