S56 · Tactical Operations & Situational Awareness

Declared state: built 2026-10-16 - `sitrep`: one read-only typed picture, every claim sourced and aged.

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

S35, S26, S43

Tasks and gates

56.F1 · Situation assembly: presence, devices, calendar and health fold into ONE typed picture the owner can ask for in a word.

Tier F · done · Verification: hermetic-test

Gate: `test_tactical.py` [assembled] - presence, devices, calendar and health fold into one typed Picture of Claims; "sitrep" routes to `situation_report`.

  • hermetic-green · 2026-10-16 · bench/test_tactical.py

56.F2 · A standing posture he can ask for at any time, reporting what is open rather than inventing threat.

Tier F · done · Verification: hermetic-test

Gate: `test_tactical.py` [empty] - nothing open says so and "not an all-clear"; an unreadable source is named blank, not quiet.

  • hermetic-green · 2026-10-16 · bench/test_tactical.py

56.R1 · Tactical NEVER actuates. It informs; the confirm tier still governs every action it might suggest.

Tier R · done · Verification: hermetic-test

Gate: `test_tactical.py` [never-acts] - a full picture calls no POST, service or scene; the module imports no actuator; the tool is not confirm-gated because it cannot act.

  • hermetic-green · 2026-10-16 · bench/test_tactical.py

56.R2 · Every tactical claim names the sensor it came from AND how old that reading is.

Tier R · done · Verification: hermetic-test

Gate: `test_tactical.py` [staleness] - every claim names its sensor and age; a reading past its source's window says "may be stale".

  • hermetic-green · 2026-10-16 · bench/test_tactical.py

HUD screen contracts

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