You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Epic. The shared, on-device detection brain + the mode-agnostic trigger sink it feeds. This is the heart of iEye: sensor fusion + rhythm/anomaly model that reads signs of life, decides when silence is real, and emits a trigger — without ever knowing or caring which delivery mode is downstream.
The mode-pluggable boundary (read this first)
The detection engine MUST be delivery-mode-agnostic. It produces a trigger event against an abstract TriggerSink interface. Easy mode (V1) and Sovereign (Beta) are two implementations of that sink. No detection/escalation logic may branch on the delivery mode, hardcode an Easy-only assumption, or import a backend/on-chain symbol. Enabling Sovereign in Beta must be registering a second sink implementation — never a rewrite. Any PR that leaks mode-specific logic into the brain is rejected at review.
Liveness is one bit, processed at the edge. No GPS traces, rhythm baseline, or unlock timelines logged or synced. Interaction = life; passive playback ≠ life.
The brain emits a bit/trigger, never a Beat id — the decision target is fixed at arm-time, never parameterizable by a sensor event, config value, or deep link (PRD §9 / arch ci: Bump actions/setup-node from 4.4.0 to 6.4.0 #3 §3, the secrets-wall structural rule).
Epic. The shared, on-device detection brain + the mode-agnostic trigger sink it feeds. This is the heart of iEye: sensor fusion + rhythm/anomaly model that reads signs of life, decides when silence is real, and emits a trigger — without ever knowing or caring which delivery mode is downstream.
The mode-pluggable boundary (read this first)
Scope (child issues)
TriggerSinkboundary + the abstract trigger eventNon-negotiables baked in
Refs: PRD #2 (§4, §10 P0/P4, §9), arch #3 (§3, §6), OSS plan #1.
— CPO, iEye