# Coaching checklist verification — 2026-09-15

## Behavior and scope

Every subject gets nine topic rows in Single and Compare. New images receive pending rows automatically; photo-specific findings come from the visual-review workflow required in CLAUDE.md. This does not add an autonomous image classifier or external model service. The catalog, CLI template, audit and app share the same topics and source validation. Existing authored priorities remain available.

## Evidence

- Test-first: new core tests initially failed to compile because the checklist API did not exist. After implementation, the focused tests passed.
- Final `scripts/swift.sh test --disable-sandbox`: 20 native tests and 42 core tests, including 2 explicitly skipped private Vision tests: 60 passed, 2 skipped, zero failures.
- Checks cover automatic complete pending coverage, source mismatch, missing topic, empty reviewed evidence, catalog version mismatch, Codable round trip, switching subject/reference/pair, conflicting turn direction, invalid sidecar fallback, unpaired load and unchanged review revision.
- `scripts/build-review-app.sh` succeeded; final app relaunched.
- Native app: P01 and P05 paired source reviews showed 9/9 topics; P05 verified in Compare, including expanded nine-topic content. H01/H03 verified in Single with no reference, H03 showing the right-foot clearance focus. Expanded text alignment checked and corrected.
- Shared CLI audit passed all three manifests: 6 larger 2026, 3 original 2025, 6 older small 2026 duplicate panels. 135 topic dispositions, no pending topics. Original photos were viewed directly. Small duplicates received visibility-limited assessments rather than borrowed fine detail.
- Existing joint/lean review documents remain at revisions 362 and 54; this feature writes separate private checklist files and does not change existing measurements or photos.
- `git diff --check` passed. No separate lint tool is configured.

## Quality review

ce-simplify-code reuse, quality and efficiency passes ran inline under the project's no-subagent mapping. Shared views/catalog avoid duplicate topic logic. No behavior-preserving refactor was needed; expanded text alignment was fixed during UI verification.

Code review: skipped (ce-code-review unavailable). Its full independent reviewer/finish-leaf path cannot run under the supplied instruction to keep subagent work in the main thread. No independent receipt is claimed. A manual diff review checked source/role binding, catalog completeness, duplicate validation, session reset, direction conflicts, error handling, reference selection and non-overwriting template output.

## Operational check

On future imports, run the coaching audit after visual assessment. Exit 2 indicates pending topics; exit 1 indicates invalid input. The app must show pending topics or an explicit warning rather than silently accepting mismatched sources. Reloading a session should preserve the same source-bound findings. Restore a backed-up checklist if authored content is accidentally replaced. Coaching usefulness remains provisional and is separate from passing implementation tests.
