diff --git a/CONTRACT.md b/CONTRACT.md index c21f989..f2bc401 100644 --- a/CONTRACT.md +++ b/CONTRACT.md @@ -68,6 +68,18 @@ from the measurement container (e.g. `delta_predicted_pressure`, (`idle → starting → warmingup → operational → accelerating → decelerating → stopping → coolingdown → idle`, plus `off`). +## Limitations vs `rotatingMachine` + +- **No `maintenance` state machine.** The schema's `mode.current` enum + accepts `maintenance` (gates sources via `isValidSourceForMode`), but + the FSM has no `entermaintenance` / `exitmaintenance` states and the + `sequences` schema declares only `startup`, `shutdown`, `emergencystop`, + and `boot`. Configuring `maintenance` mode therefore disables external + command sources but does not put the valve through a maintenance + sequence. Aligns with valve's role as a passive flow-controlled + actuator; lift to RM-style FSM if/when site maintenance procedures + require explicit state transitions. + ## Events emitted by `source.measurements.emitter` The `MeasurementContainer` fires `..` whenever