intent-flag-not-observed-state
Installation
SKILL.md
Two flags, and only one of them is a decision
Most playing/running components expose both, and they are not two names for one thing:
- observed (
isPlaying,isActive,isRunning) — output is actually happening right now. - intent (
playWhenReady,shouldRun,startRequested) — someone asked for it to happen.
Between the two sits a third state nobody names: committed, not yet producing. Buffering,
resolving a stream, opening a device. Observed is false there, and it is false for a user pause
too — so a comparison against observed cannot tell "the network stuttered" from "the user pressed
pause". In a shared session that difference is the whole feature: publish the first as if it were
the second and one member's hiccup stops everybody.