S43 · Presence & Continuity
Declared state: half-built.
This is the repository plan and evidence, not a live health reading. A task marked done may still depend on credentials, devices, deployment or a newer acceptance test.
Dependencies
S07, S12, S26
Tasks and gates
43.F1 · Presence tracking and arrival detection. *gate:* `test_presence.py`,
Tier F · done · Verification: hermetic-test
Gate: `test_presence.py`,
- unverified-import · undated ·
docs/SYSTEMS-DETAILS.md:4208
43.F2 · Departure and return are symmetric — a return gets a "while you were gone" only when
Tier F · done · Verification: hermetic-test
Gate: `test_presence_arrival.py` [7]
- recorded-note · 2026-09-12 ·
docs/SYSTEMS-DETAILS.md:4210
43.F3 · Presence is a fused signal (voice + face + device activity), not any single source.
Tier F · done · Verification: hermetic-test
Gate: `test_perception_snapshot.py` [presence fusion]
- recorded-note · 2026-09-12 ·
docs/SYSTEMS-DETAILS.md:4221
43.R1 · Context migration across devices — the thread, not just the session id (with S07, S12).
Tier R · open · Verification: hermetic-test
Gate: `test_session_identity.py` [migration]
43.R2 · Ambient acknowledgement: a quiet signal that he is listening, without speaking.
Tier R · open · Verification: hermetic-test
Gate: `test_wakeword.py` extended.
43.R3 · Long-absence handling — a week away is not resumed as if it were ten minutes.
Tier R · done · Verification: hermetic-test
Gate: `test_presence.py` [long absence] - a gap of a day or more is named to the model on the next turn, once; old 'tomorrow's are said to be past; no unasked recap.
- hermetic-green · 2026-10-16 ·
bench/test_presence.py
43.E1 · A day where the owner never has to re-establish context after moving or pausing.
Tier E · open · Verification: manual
Gate: live day recorded.
43.R4 · **Live presence key in the brain's own memory, pushed over the existing WebSocket** — not a second daemon. Jev p=0.59, conf 0.38: there is one brain and it already knows who is connected.
Tier R · open · Verification: planned-test
Gate: new `test_presence_key.py` — presence survives a device reconnect and needs no store outside the brain.
43.R5 · Room presence comes from the house, not from the laptop: the mmWave sensors give a real per-room occupancy signal in office and living, with the hallway as the transition room, replacing a model where presence means 'which app is in the foreground' (D-37, D-38).
Tier R · open · Verification: planned-test
Gate: new `test_room_presence.py` — occupancy is reported per room with the sensor that produced it named, a bedroom or bathroom sensor is refused at configuration time, and a missing sensor holds the last verified state rather than guessing (D-61).
HUD screen contracts
- Presence & Continuity · /systems/S43
All subsystems · Source: docs/systems-plan.json.