S12 · Multi-Device Coordination

Declared state: built, not well structured.

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, S32, S43

Tasks and gates

12.F1 · Device profiles and edge-lite clients. *gate:* `test_edge_lite.py`,

Tier F · done · Verification: hermetic-test

Gate: `test_edge_lite.py`,

  • unverified-import · undated · docs/SYSTEMS-DETAILS.md:1903

12.F2 · Reconnect without losing the brain link. *gate:* `test_edge_reconnect.py`

Tier F · done · Verification: hermetic-test

Gate: `test_edge_reconnect.py`

  • unverified-import · undated · docs/SYSTEMS-DETAILS.md:1905

12.F3 · **One answering device.** Arbitration when two edges hear the same wake word — nearest or

Tier F · done · Verification: hermetic-test

Gate: `test_device_handoff.py` extended [double-wake]

  • recorded-note · 2026-09-12 · docs/SYSTEMS-DETAILS.md:1906

12.R1 · Session follows the owner between devices (depends on S07.F1).

Tier R · open · Verification: hermetic-test

Gate: `test_session_identity.py` [cross-device]

    12.R2 · Per-device capability advertisement — the brain knows which device has a camera, a

    Tier R · open · Verification: planned-test

    Gate: new `test_device_capabilities.py` - planned gate. new `test_device_capabilities.py`

      12.R3 · Graceful degradation to a text-only or push-only device.

      Tier R · open · Verification: hermetic-test

      Gate: `test_edge_lite.py` extended.

        12.R4 · **The wire is versioned.** `src/mushegh/shared/protocol.py` carries the edge↔brain message

        Tier R · done · Verification: hermetic-test

        Gate: new `test_protocol_contract.py` - every message type round-trips (through the brain's parser for edge->brain), unknown fields are tolerated, required-only frames from older senders parse, and required fields must equal REQUIRED for PROTOCOL_VERSION.

        • hermetic-green · 2026-10-17 · bench/test_protocol_contract.py

        12.E1 · Walk from desk to kitchen mid-sentence; the answer follows without a repeat.

        Tier E · open · Verification: hermetic-test

        Gate: live drill recorded in TODO + `test_device_handoff.py`

          12.R5 · **Phone-side presence** — named the biggest single absence (p=0.65) and scored 3.15/4 conf 0.75: the goal says laptop, phone and glasses, and without a phone the assistant only exists at a desk, which is not an always-on companion.

          Tier R · open · Verification: planned-test

          Gate: new `test_phone_presence.py` — a phone client authenticates, holds a turn end to end, and hands back to the laptop without losing session context.

            HUD screen contracts

            All subsystems · Source: docs/systems-plan.json.