I read this as independent offline QA - I’ll inspect the candidate and test its user-facing flows in a disposable workspace.


The supplied directory is an evidence workspace rather than a Git checkout; I’m locating the closed-choice bundle and its runnable artifact.


I found the sealed installed wheels and offline Golden Path fixture; I’m extracting the supported commands and copying the fixture before exercising it.


The production driver is offline and uses fake transport. I’m checking its parser contract and installed runtime before a fresh Golden Path run.


The candidate binding and profile/onboarding help pass. I’m now exercising the installed parser matrix and a new disposable installed Golden Path, with no live transport.


The fresh Golden Path passed with one synthetic delivery and terminal cleanup. I’m capturing the explicit parser, preview, owner-handoff, duplicate, and cleanup evidence before removing the disposable workspace.


The explicit matrix, preview, owner approval, delivery lineage, duplicate guard, and terminal cleanup all pass. I’m removing only the disposable `/tmp` profile and rechecking the sealed bundle.


The first disposable-root removal was blocked by the Golden Path’s intentional read-only archive. I’m changing permissions only inside that `/tmp` root, then removing it.


I read this as completed offline QA - I ran the sealed installed candidate through disposable parser, preview, Golden Path, CLI, delivery, and cleanup flows.

## PASS - `cbbfc12d1e61c65e5620e4a56b850b0b3d945035a1ab4041c330e50b06fdfe17`

| Scenario | Expected | Actual evidence |
|---|---|---|
| Candidate binding | Sealed candidate verifies | `python3 "$B/tools/independent_verify_candidate.py" "$B"` -> `INSTALLED_GOLDEN_PATH_PASS`, candidate digest matched. |
| Parser variants | Canonical/polite activity, sex, and goal forms normalize | Installed parser accepted 13 forms: `보통 수준` and `보통 수준입니다.` -> `moderate`; sex -> `male`/`female`/`decline`; goals -> `loss`/`maintain`/`gain`. |
| Ambiguous/invalid | Must remain unresolved, not silently coerced | Multi-clause `격렬하고 보통 수준입니다.`, `남성과 여성입니다.`, `감량과 유지가 목표입니다.` all returned unchanged. Invalid activity/sex/goal inputs also remained unchanged. |
| Preview | 22 answers including `보통 수준입니다.` confirm with no clarification | Offline preview command returned `{"answer_count":22,"activity_parsed":"moderate","goal_parsed":"maintain","phase":"confirming","clarification_count":0}`. |
| Production / owner handoff | Owner approval, then one delivery only | Fresh installed Golden Path exited 0. Owner callback evidence: one `Approve`, actor `100`. |
| Exactly-once / duplicate rejection | One transport and duplicate claim rejected | Golden driver exercised its duplicate-claim rejection assertion and passed. Durable evidence: one raw transport call, one surface receipt, message `9001`, capability `consumed`, delivery `sent_audited`. |
| Cleanup | Archive then terminal/quiescent state | Cleanup phases were `prepared`, `copied_verified`, `source_pruned`, `committed`; terminal inventory had active/pending/unknown/orphan all `0`. |
| Independent Golden verifier | Fresh production artifacts verify | `verify_source_golden_path.py "$QA/golden"` -> `ACTUAL_INSTALLED_GOLDEN_PATH_PASS`, 7 generation records, 25 onboarding publications, terminal inventory true. |
| CLI/help | Installed command help succeeds | `checkin_cli.cli --help`, `checkin_cli.nutrition_onboarding_cli --help`, and `hermes --help` all exited `0`. |
| Disposable cleanup | QA workspace removed | Initial removal encountered intentionally frozen archive permissions; after `chmod -R u+w "$QA"`, `rm -rf "$QA"` -> `disposable_qa_cleanup=PASS`. |

Commands used the supplied installed runtime at `/home/cube/.cache/task26-closed-choice-copula-runtime-st_01a01574-v2/venv` with `PYTHONPATH` unset. No Telegram, live profile, network provider, commit, or release action occurred.

Blockers: none.
Gap by scope: real Telegram/provider behavior was intentionally not exercised; production flow used the bundle’s fake/offline transport.