fwmanager: Drop InReset; document the BootStatus subset contract

InReset is orchestrator state, not something a monitor can observe —
a device held in reset reads exactly like one still booting, so the
variant could never be reported. Remove it from BootStatus.

Document on boot_status() that any given backend may only ever produce
a subset of BootStatus depending on the signals it can access (a single
ready pin yields only Booting/Booted); this is a capability difference
between backends, and consumers must still handle the full set.

Addresses review feedback on PR #368.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
diff --git a/services/fwmanager/api/src/boot_monitor.rs b/services/fwmanager/api/src/boot_monitor.rs
index 931970e..9695688 100644
--- a/services/fwmanager/api/src/boot_monitor.rs
+++ b/services/fwmanager/api/src/boot_monitor.rs
@@ -12,8 +12,6 @@
 /// orchestrator's timeout, not by this enum.
 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
 pub enum BootStatus {
-    /// Held in reset by the orchestrator; not yet released.
-    InReset,
     /// Released, but boot completion not yet observed.
     Booting,
     /// Boot completion observed.
@@ -50,6 +48,13 @@
 
     /// Returns the current liveness of the device.
     ///
+    /// Any given monitor may only ever produce a *subset* of [`BootStatus`],
+    /// depending on the signals it can access: a single ready pin yields only
+    /// `Booting`/`Booted`, while a fault-channel backend can also report
+    /// `Failed`. This is a capability difference between backends, not an
+    /// incomplete implementation. Consumers must still handle the full set —
+    /// they cannot know statically which backend they hold.
+    ///
     /// # Errors
     ///
     /// Returns an error if the underlying liveness signal cannot be read.