diff --git a/docs/storage-stack-plan.md b/docs/storage-stack-plan.md index e7c1712..e3b7d17 100644 --- a/docs/storage-stack-plan.md +++ b/docs/storage-stack-plan.md @@ -163,9 +163,9 @@ returns the configured binary; fat's argv parser makes installed mounts a function of argv. **Top risks.** Step 5's blast radius — a parser/argv bug, OR the `/volumes/usb`→ -`/volumes/DANOS` migration missing a fixture/regex, breaks every fat-dependent -case at once; mitigated by landing the VM half behind fat's hardcoded mounts -first (step 4) and making the name migration one atomic, complete sweep. The +id-path migration missing a fixture/regex, breaks every fat-dependent case at +once; mitigated by landing the VM half behind fat's hardcoded mounts first (step +4) and making the name migration one atomic, complete sweep. The argv blob is 256 bytes (process.zig) — cap emitted mounts and refuse+log on overflow. `/system/logs` is now a `volumes.csv` concern: dropping the boot identity's rewrite rows silently stops log persistence — ship them by default @@ -206,7 +206,7 @@ the test disk artifacts. **Steps (commits).** (1) `partition.allVolumes` + two-partition host test. (2) Tables, behavior-preserving (still one device / one volume). (3) Multi-device + multi-partition. (4) Per-volume mount naming via argv — each volume by its -identity (label→hex, from S2), one per volume, no port-name. (5) fat content-conditional +id-path (from S2), one per volume, no port-name. (5) fat content-conditional boot mounts. (6) Raise `maximum_mounts`. (7) Partitioned-image tool. (8) `two-volume` QEMU case. (9) `boot-2nd-partition` case. (10) Adversarial review, full suite, docs, memory.