festifun/plan/status/foundation3.md
type-two 6a703c314d foundation3 WIP checkpoint (steps 2-5,7): DB/API/CLI/config/capsule + tracker stubs
Incomplete: step 1 (fixture markers + track_truth.json), step 6 (frontend wiring),
step 8 (tests) not done; suite not yet run. Salvaged from interrupted prior session.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:55:29 +10:00

1.5 KiB
Raw Blame History

Status — foundation3 (Phase 6a / M18)

Round 6 — 2026-07-17 — STATUS: in_progress

Directives acknowledged: round 6 of plan/DIRECTIVES.md. Directive #1: foundation3 only, branch foundation3, push — do NOT merge. Contracts correctness beats speed; keep 189 green.

Acceptance checklist (M18, plan/30-phase6.md §M18):

  • 1. Synthetic fixture: two moving markers rendered via the existing camera projection; data/work/track_truth.json derived through that projection (Three.js scene space)
  • 2. DB: tracks + track_points (contract #2) + helpers add/get/set_points/patch/delete
  • 3. API: GET /api/tracks, PATCH/DELETE /api/tracks/{id}, POST /api/tracks/solve (degrades), manifest has_tracks + conscious test_api key-set edit + CR
  • 4. CLI: track [--detect-only|--solve-only]
  • 5. Backend stubs: tracker_detect.py / tracker_solve.py (NotImplementedError + full contracts)
  • 6. Frontend: friendTracks.js stub wired into main.js loop; #btn-friends + #friends-panel; state.tracks loaded when manifest.has_tracks
  • 7. Capsule: bake api/tracks (additive) + conscious bundle-structure test edit + CR
  • 8. Tests for every new route/helper; suite ≥ 189 + new; all green

Done this round: branch foundation3 cut from main (HEAD 56e569f). Read all canonical specs + every file M18 touches. Baseline confirmed pending (running uv run pytest -q).

Blockers / questions for coordinator: none yet.

Next: implement steps 18 in order; re-run full suite after the fixture edit and at the end.