ReviewOS

also looking at this

stacks/drone

test: qualify zero-byte host image write failures

#61
Merged chris wants to merge codex/runtime-host-zero-write into main
5 files +50 -27
docs/runtime-updates.mdmodified+9-5
Changes to docs/runtime-updates.md
@@ -645,9 +645,13 @@ EIO, sync and physical power-loss campaigns open.
645645
646646The opt-in [full-filesystem qualification](adr/0031-full-host-filesystem-fixture.md)
647647uses a separate private Linux mount namespace and a new bounded tmpfs for the
648actual store, candidates and slots. It targets real ENOSPC during the image copy
649and SQLite failure-state persistence, then exercises explicit metadata recovery,
648actual store, candidates and slots. Separate cases leave either 1 MiB or zero
649free bytes after actual ENOSPC filling. They require exactly a 1 MiB authenticated
650prefix or an existing empty image file, with no runtime launch or health claim.
651Both target real ENOSPC during the image copy and SQLite failure-state
652persistence, then exercise explicit metadata recovery,
650653exact-slot abandonment and a fresh host trial in new processes. Retained file
651archives are copied and hashed before unmount. This additional campaign is in
652qualification; a local skip is not positive ENOSPC evidence. Physical-media,
653EDQUOT, EIO, sync and power-loss acceptance remain separate.
654archives are copied and hashed before unmount. CI executes both cases; a local
655skip is not positive ENOSPC evidence. Failure before any image bytes are written
656does not establish behavior for a write syscall that returns zero without an
657error. Physical-media, EDQUOT, EIO, sync and power-loss acceptance remain separate.