From 73fbbd392290e2f2f92614ff7d118879b4c30c90 Mon Sep 17 00:00:00 2001 From: Daniel Samson <12231216+daniel-samson@users.noreply.github.com> Date: Sun, 9 Aug 2026 17:27:43 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20record=20the=20V2=20sequencing=20?= =?UTF-8?q?=E2=80=94=20medium=5Fchanged=20emitted=20in=20V2b,=20tested=20i?= =?UTF-8?q?n=20V4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/volume-manager-plan.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/volume-manager-plan.md b/docs/volume-manager-plan.md index edecb60..92dd5e4 100644 --- a/docs/volume-manager-plan.md +++ b/docs/volume-manager-plan.md @@ -49,6 +49,14 @@ harness once, not fat and the harness both. - Discrimination: a fixture transferring outside its assigned range must be refused; fails against a driver without the clamp. +**Sequencing (as executed).** V2a landed the range clamp + its discrimination +fixture (block-range) — the security mechanism is testable in isolation. V2b +adds `medium_changed` and makes usb-storage a publisher that emits it on +presence transitions, but its END-TO-END test (eject → medium_changed → +unmount/remount) lands in V4 with the real consumer, the volume manager — +rather than a throwaway subscriber fixture V3 would immediately replace. Same +work, no duplicated scaffolding. + ## V3 — the volume manager service New binary `system/services/volume-manager`, spawned by init, serving the