I read this as an implementation refactor with strict ownership and verification constraints - I’ll inspect the restored worktree, authority seams, ledgers, tests, and Python rules, then apply a TDD-backed split using only `apply_patch` and produce the required evidence.


Exploration is complete: the restored r2 state contains the failed r3 seams but not its temporary modules. I’m starting the red phase with import-level architecture tests, then I’ll extract trainer/adherence models, weekly reporting, registry parsing, and authority descriptor identity/files while preserving the existing public compatibility surfaces required by `wizard.py`, adaptive planning, and gateway callers.


The green behavior pass now holds for event/reporting/authority tests (47 passed). I’m entering strict verification and cleanup: resolve any new-module type/lint findings, distinguish the pre-existing `customer_schedule.py` NameError from this lane, then run the broader authority/registration/reporting/coaching suites and produce the lane receipt.


I read this as a verification correction - the missing `contextmanager` import is already structurally restored in the receipt module, and I’ll now prove full-profile collection/run in the project environment with the missing shared test dependency injected offline.


I read this as completion reporting - I’ll return the verified DoneClaim and evidence location.

**DoneClaim**

- Refactored trainer/adherence/reporting domains and split customer authority into receipt, identity, parser, and factory modules.
- Restored the structural `contextmanager` import.
- Pure LOC:
  - `models.py`: 841 / 910
  - `customer_coaching.py`: 1026 / 1032
  - `customer_reporting.py`: 635 / 723
  - Largest new module: 202
  - Largest authority module: 136
- Verification:
  - Full profile: **1040 passed**
  - Weekly operations: **286 passed**
  - Authority/registration: **53 passed**
  - Basedpyright: 0 diagnostics
  - ty, Ruff, no-excuse, compileall, diff check: clean
- Evidence: `.omo/evidence/nutricoach-v140-weekly-operations/task-12-refactor-profile-authority-models.json`
- Architectural review: responsibilities are separated, boundaries remain typed, no new `Any`/casts/suppressions/reflection, no parameter bloat, and tests are revert-sensitive.
- Blocker: none.