I read this as an implementation task - I will add typed unknown-state nutrition support, capture RED/GREEN evidence, run the required QA, and report a DoneClaim.


I read this as a completed implementation lane - reporting the DoneClaim and verification evidence.

**DoneClaim:** Typed nutrition unknown-state support is implemented.

- Changed: `wizard_models.py`, `wizard.py`, and `tests/test_nutrition_daily_unknown.py`.
- RED captured: 7 failed / 1 passed before implementation. GREEN: required suite passed, `85 passed in 2.77s`.
- Manual QA passed: `{"status":"PASS","unknown_steps":11,"canonical":{"calories_kcal":null,"protein_g":null,"carbohydrate_g":null,"fat_g":null}}`.
- Evidence: `.omo/evidence/nutricoach-telegram-checkin-stepper/task-1-domain-unknown.json`.
- Cleanup: `/tmp/ulw-task1-unknown-driver.py` is absent.

Risk recorded in evidence: whole-file `wizard.py` strict basedpyright still reports 30 unrelated pre-existing diagnostics; changed model/new test are strict-clean, Ruff and affected runtime tests pass. The supplied worktree has no `.git`, so inventory is hash-based.


I read this as a focused Todo 1 corrective implementation - I will reproduce the three verifier findings, patch the domain minimally, rerun the required gates, and amend the evidence.


I read this as a focused Todo 1 fix - I captured RED, applied minimal domain fixes, and am running the required verification and evidence refresh.


I read this as Todo 1 blocker closure - fixes, verification, and evidence are complete.

**DoneClaim:** verifier blockers from `st_01a058a8` are fixed.

- Reserved free-text sentinel literals are rejected.
- Forged future nutrition unknown state/history is rejected.
- All-unknown nutrition saves with `branch: null`; known normal remains normal.
- Required suite: `96 passed`.
- Focused suite: `19 passed`.
- Ruff, compileall, LSP for model/test, and strict model/test checks pass.
- Manual synthetic QA: `{"branch": null, "status": "PASS", "unknown_steps": 11}`.
- Evidence updated: `.omo/evidence/nutricoach-telegram-checkin-stepper/task-1-domain-unknown.json`.

Remaining pre-existing issue: whole-file strict checking of `wizard.py` still reports 30 unrelated legacy diagnostics.