I read this as a controlled Todo10 health repair - I’ll trace both debug receipts and the installed r70 path, prove the observer fix with red/green tests, then proceed through safety simulation and one-shot live recovery only if every no-effect gate passes.


I’ve confirmed the live service is currently active on the installed `81a7a06e-v150` runtime with `NRestarts=0`; the two receipts isolate the work to cron health and the observer’s stale authority-root selection. I’m entering the TDD phase now, with all temporary artifacts journaled before creation.


The observer fix is green and both canonical candidate/preseal verifiers pass, but the copied-profile restart-safety gate did not produce two successful no-op ticks: the installed r70 path rejected the relocated activation authority as stale before any provider or network action. Per the hard stop, I am not restarting the service or invoking the observer; I’m sealing the exact no-replay blocker and cleaning the safety harness.


I read this as a controlled Todo10 health repair - I completed the safe source repair and stopped at the mandatory restart-safety blocker.

**Exact blocker:** `BLOCKED_RESTART_SAFETY_NO_REPLAY`

- Observer root bug fixed with failing-first regression; `8 passed`, Ruff/ty/LSP clean.
- Canonical candidate and preseal verifiers pass; protected inventory remains valid.
- Copied-profile two-tick simulation used the installed r70 runtime with fake Telegram and socket guard. Both ticks failed because relocated activation authority was rejected as stale.
- Effects: sends `0`, updates `0`, network `0`; copied delivery ledgers unchanged.
- Therefore no service restart, observer invocation, or r71 launch occurred.
- Live service remains active/running, PID `2447108`, `NRestarts=0`; cron remains `error`.
- Draft, binding, and event hashes remain unchanged; r71 launcher count is `0` and all r71 action roots remain absent.
- Temporary profile, fakes, caches, and debug journal were removed.

Evidence: `/home/cube/projects/richard/traning coach/.omo/evidence/nutricoach-telegram-checkin-stepper/task-10-r70-health-recovery.json`

Architectural review: the fix preserves typed boundary parsing and exhaustive existing behavior without escape hatches or added defensive layers. The runtime file is now 245 pure LOC, in the warning band; further additions should split configuration collection from observation persistence.