# Task26 continuous lifecycle observer

Status: `READY_CONTINUOUS_LIFECYCLE`

The observer is successor-bound, read-only against profile authority, recursively inotify-driven, subscribed before any human action, and fail-closed. It writes only private append-only evidence. It performs no network, provider, Telegram, service, profile, cursor, replay, or lifecycle mutation. The installed activation cutover remains an external operator gate.

## Exact launch command (do not start before the lifecycle lead authorizes it)

```bash
python3 /home/cube/projects/richard/traning\ coach/.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v1/continuous_lifecycle.py observe --profile /home/cube/.hermes/profiles/dualcoachtest --ready /home/cube/projects/richard/traning\ coach/.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v1/continuous-ready.json --events /home/cube/projects/richard/traning\ coach/.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v1/lifecycle-events.jsonl --stage-timeout 1800 --total-timeout 21600
```

The launch paths are intentionally absent and are created with mode `0600`. Do not reuse them. Run exactly one observer.

## Interaction script

Act only on the latest emitted `READY_*` line, against its exact role, route, message ID, and action.

1. Customer: reply to each committed onboarding prompt; begin with message `161` (`date_of_birth`).
2. Customer: press the emitted attestation button once.
3. Owner: review the emitted onboarding card and press Approve once.
4. Operator: only at `READY_OPERATOR_ACTIVATION_CUTOVER`, replace `<CHECKLIST_EVIDENCE>` in the emitted exact `dualcoach_admin customer activate` command with the real evidence path and execute it externally once.
5. Customer: send `checkin`, press Begin check-in, answer each visible prompt, and confirm the summary.
6. System: take no action during `WAIT_AUTOMATIC_GENERATION`.
7. Owner: review the exact generated card; regenerate/edit if necessary, approve once, then use the separately emitted explicit Send action once.
8. Operator: after exactly one audited delivery, disable the exact customer externally. At `READY_CLEANUP_HANDOFF`, stop the service and hand off to sealed cleanup dry-run -> execute -> verify.

Stop on any `STOP_*`, `FAIL`, timeout, identity/route/revision mismatch, duplicate, stale action, safety hold, or unknown outcome. Never infer a missing transition from Telegram UI state.
