# Joint legend verification — 2026-09-14

The inspection PNGs now use a fixed 19-joint ID catalog shared by the 2D and 3D views and HTML coordinate tables. Joint names, detection status, anatomical-side reminder, and mark meanings live in a margin outside the source panel. Missing or suppressed joints retain their IDs and are marked hidden / absent. Only small numbers, raw geometry, crop bounds, and provisional reference circles remain on the photo. Original files and previous artifacts were preserved.

Local output: `artifacts/legend-feasibility-verified/index.html`, 24 PNGs, and `results.json`. All twelve crop outcomes completed without errors. Raw joint detections match the earlier `readable-feasibility` run exactly. Exported P02 subject 3D and P01 reference 2D images were visually inspected, including the no-pose legend. Browser inspection was blocked by the browser tool's local-file URL policy; no workaround was attempted. Desktop/mobile HTML behavior was not browser-verified.

`scripts/swift.sh test --disable-sandbox`: seven tests passed. New tests cover fixed IDs, an extended legend canvas, and preservation of photo quadrant positions with a nonzero panel origin. The tests failed before implementation because the fixed-ID API did not exist. Initial literal RGB expectations needed a color-managed baseline; final pixel comparisons use the same color space for the source baseline and exported image. Existing geometry/localization tests remain green. No separate lint command is configured.

The sandboxed Vision batch aborted with `EspressoPlanFailure` while loading Apple's Neural Engine model. The approved run outside the execution sandbox completed successfully:

```sh
scripts/swift.sh run --disable-sandbox pose-batch feasibility data/2026-09-07-HarrisHillCCW/session.json artifacts/legend-feasibility-verified
```

Choose a new output directory for another run. The failed `artifacts/legend-feasibility` directory remains preserved. This is an observed sandbox workaround, not a claim that every possible terminal crash is fixed.

Simplification used the three ce-simplify-code rubrics inline per project instructions. Removed an unused enumerated index in HTML generation; no other behavior-preserving simplification was warranted. Manual diff review checked source placement, shared IDs, confidence filtering, clipping, absent-joint legends, and file preservation; no blocking issue found in this change.

Code review: skipped (ce-code-review unavailable). The ce-code-review attempt stopped during scope resolution: this repository has no initial commit or diff base and all project files are untracked, which the skill excludes unless staged. Its scope reference forbids guessing a base. This manual diff review is not a completed dedicated-review receipt. Changes remain local and uncommitted with the existing project work; no publication occurred.

This improves U1 feasibility inspection. It does not complete U3's correction workflow or validate joint anatomy, hidden depth, comparisons, or coaching. Source-only references remain provisional, and human anatomical review is still required.
