You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flash: route all writes through GuardedFlash safety transaction (ADR-021)
Single chokepoint for every flash write. begin() takes a mandatory pre-write
snapshot via the IOC-free diag path and saves it as a recovery image; commit()/
commit_with() run invariant-driven pre/postflight checks with a severity-driven
response. Catches both historical brick mechanisms:
- BootCriticalUnchanged (Critical): no byte of 0x540000-0x5A0000 may change --
the unrecoverable boot-input zone (the 2026-05-20 BIOS-into-boot-input brick).
- BanksConsistent (Critical): FIRMWARE == BACKUP version (the 2026-05-31
bank-mismatch brick).
- TargetReadbackMatches (Error): target region reads back == intended bytes.
Reroutes fw write, bios/nvdata write (previously had NO whole-flash check),
recover (commit_with), and enforces a mandatory pre-erase snapshot. Deletes the
two duplicated post_write_whole_flash_verify helpers. Card::write_region gains a
doc safety contract. 13 new pure unit tests (incl. 05-20 brick simulation);
284 total pass; clippy clean.
0 commit comments