2026-08-19 - Crunch continued: phases 2, 0e, and 3

146 tests, gate green. D054 and D055 added.

Phase 2 (loading half). Symbol databases load from disk with their own suffix, and SymbolDb::explains measures a name list against real hashes - the self-verifying loop from D025, where a collision is the proof. orbistoun-cli verify reports the fraction of a module's imports a database can name. The generator half is still outstanding and needs a suffix to test against.

Phase 0e finished. orbistoun-cli report surveys a module, persists a run report, and prints the delta from the previous run of the same title. Retention purges on startup. Verified end to end: first run has no diff, second run diffs against it, and a different title correctly reads as a first run because identity is the content hash.

Phase 3 done and verified on both platforms. orbistoun-cli load reserves the span a module demands: a 96 KiB module and a 96 MB commercial executable both place cleanly at a supplied base.

Surprises, all from running rather than reasoning.

Next. Phase 0b (ABI spike) to de-risk phase 4, then phase 4 itself.