# Task26 closed-choice installed candidate evidence

Status: **INSTALLED_GOLDEN_PATH_PASS**

- Candidate digest: `2efe939a9775dccb71c680d6ce8513c919721dc0dba5535f0f64905e34d3bd82`
- Product digest: `9745c85201cfcb39338a5d8759b88f8852452d85125901b3be6dde117de83010`
- Golden runtime candidate digest: `7f1331d85edb51eb1ace68ee8fcda5d76acc49a5c283b3fc5fa6174cdad7465e`
- Hermes wheel SHA256: `1f277b12b0388c9fc972d4877f9d89321e823066b534cef745c226a54bbc2d3a`
- Profile wheel SHA256: `a56da2417df0912f3fe407c0b78befd7362207d1c8a35271000af46701ba79d2`
- Interpreter SHA256: `d9bc96d1ad0161db7ebdc8fdbc690530a9c29299feb2001cba6b29072e2a9051`
- Source status records preserved: 150

## Required behavior

- 22 natural-language Korean fields; `activity_category='보통 수준'` normalized to `moderate`.
- Real preview and production handoffs: zero issues, holds, clarifications, or re-asks.
- Customer attestation, owner review, activation, one check-in, generation, approval, approved card, one-use capability.
- Exactly one synthetic transport call and one surface receipt; duplicate consumed-capability claim rejected.
- Pause, withdrawal, archive-v2, disable, terminal cleanup; active/pending/unknown/orphan counts all zero.

## Gates

- Profile full: 749 passed.
- Full Gateway, fresh interpreter per file: 8,285 passed, 59 skipped, 0 failed (374 files, 12 workers).
- Focused parser/policy/production/preview: 105 source + 105 installed passed.
- Independent Golden verifier/provenance attacks: 49 passed.
- Related observer/surface/delivery/cleanup: 76 passed.
- Installed Golden Path verifier: PASS three byte-identical outputs.
- Source-wheel-installed product parity, RECORD provenance, import origins with PYTHONPATH unset, pip check, Ruff, Ty, compileall, CLI help, source drift, status drift, and cleanup seal: PASS.

Exact command descriptions and outcomes are in `commands-results.json`; raw command output is under `receipts/`. No pre-existing failures were observed. One superseded non-gate static-tool invocation is disclosed in `commands-results.json` and `receipts/static.log`.

## Changed files

The exact 150-record dirty tree is frozen in `seals/changed-files.json`, `seals/hermes-status-pre.nul`, and `seals/hermes-status-post.nul`. The closed-choice normalization scope is:

- `gateway/platforms/telegram_nutrition_onboarding_copy.py`
- `tests/gateway/test_telegram_nutrition_onboarding_copy.py`
- `tests/gateway/test_nutrition_onboarding_clarification_policy.py`

The evidence-only strict driver assertion update is `scripts/source_golden_path.py`. All unrelated dirty changes were preserved.
