# Provisional coaching verification

2026-09-14. Scope: enable the agreed provisional rules in Single subject and Compare views, with Damien treated as the assumed reference rather than a coach-approved standard.

- Tests were written before implementation: missing coaching API/context fields failed compilation; the model integration test then failed on absent Single/reopened reports. A later obscured-knee regression test failed with two bullets instead of one before the guard was added.
- `scripts/swift.sh test --disable-sandbox`: 36 tests passed (29 core, 7 native model/layout). Coverage includes turn-relative roles, exact ±10° boundaries, comparability and identity gates, knee angle independence, visual-review persistence and old contexts, obscured-knee suppression, turn changes, Single/Compare/reopen consistency, source-pair isolation and existing save-conflict protections.
- `scripts/build-review-app.sh`: local signed app built successfully. SwiftPM's user-cache warnings reflect the filesystem sandbox; compilation and tests passed with package sandboxing disabled.
- Native UI: reopened the saved original review at revision 271, observed P01's inside-elbow bullet in Single and Compare, and checked the Compare layout visually. Existing annotations were not changed for QA. Photos and screenshots were not published.
- Simplification: reuse, quality and efficiency passes ran inline under the project's agent-tool mapping. No structural rewrite was warranted; selector indentation was cleaned up.
- Code review: skipped (ce-code-review unavailable). The project's explicit main-thread-only mapping prevents the skill's independent reviewer and isolated merge/report leaf pipeline. Manual diff/source review covered persistence compatibility, selection/report updates, thresholds, inside/outside mapping, missing evidence, and layout; it found and fixed the obscured-knee issue. No independent review receipt is claimed.

Operational check: saved pairs should regenerate the same provisional bullets after reopening. Unexpected loss of joint edits or cross-pair advice would require stopping use and inspecting the saved review revision; the existing save conflict protection remains in place. The optional knee field is understood by this build; older builds do not preserve it when resaving. The coach-reviewed catalog remains empty and coaching utility remains unvalidated.
