Commit Graph
83 Commits
Author SHA1 Message Date
Lucas Berger be2078e21f docs(phase-04): verification — 3/4 verified, LIST-03 rank-collation gap deferred to gap-closure 2026-06-09 13:49:58 -04:00
Lucas Berger 690f0b95c0 refactor(04): move rank.test.ts into tests/ mirror dir (convention + dist hygiene)
src/lib/rank.test.ts was the last co-located API test. The API tsconfig excludes
tests/ from the build, so all test files belong there; a test in src/ gets compiled
into dist/ and vitest then runs the stale compiled copy (the source of phantom
'22 todo' and dist sourcemap warnings). Moving it to tests/lib/ matches convention
and leaves zero test files in src/, so the production build no longer emits test
artifacts. Updated rank.test.ts path refs in phase-04 plan docs.
2026-06-09 13:40:11 -04:00
Lucas Berger ca9e97879f docs(04-06): complete live-sync SSE vertical slice plan 2026-06-09 13:35:49 -04:00
Lucas Berger f12093c910 docs(04-05): complete drag-to-reorder plan 2026-06-09 13:19:35 -04:00
Lucas Berger 8ed105d467 docs(04-04): complete item-CRUD vertical slice plan 2026-06-09 13:04:48 -04:00
Lucas Berger 353431c8b4 docs(04-03): complete list-CRUD vertical slice plan 2026-06-09 12:48:00 -04:00
Lucas Berger 9fb1e0da84 docs(04-02): complete scoped fan-out primitives plan
SUMMARY.md for 04-02: listEmitter + listAccess TDD plan.
RED/GREEN gate confirmed. D-04 isolation proven. ioredis not introduced.
2026-06-09 12:24:50 -04:00
Lucas Berger 60745b3281 refactor(04-01): move API list test stubs into tests/ mirror dir to match convention
The two Wave-0 RED stubs (lists.test.ts, listEmitter.test.ts) were co-located in
src/ but all existing API tests live in apps/api/tests/. Move them to tests/routes/
and tests/lib/, add explicit vitest imports to match the tests/ convention, and
update path references in downstream plans 04-02..04-06. PWA tests keep co-location
(that IS the PWA convention).
2026-06-09 12:10:31 -04:00
Lucas Berger 0fd4d66ee7 docs(04-01): complete lists foundation plan 2026-06-09 12:06:53 -04:00
Lucas Berger 95b13e6633 chore(04): commit pattern map + session config; ignore intel/graph diff baselines 2026-06-09 11:40:19 -04:00
Lucas Berger eb8ae15862 docs(03): add security threat verification (25/25 closed) 2026-06-09 11:38:53 -04:00
Lucas Berger a9da31cc35 test(03): complete UAT - 10 passed, 0 issues 2026-06-09 11:31:12 -04:00
Lucas Berger 7c687ea413 docs(03): add code review fix report (--auto, 2 fix passes)
Auto-fix loop converged after 2 fix iterations + a final verifying re-review:
- Pass 1: 13/14 findings fixed (3 Critical, 6 Warning, 4 Info).
- Re-review surfaced 1 new Critical (move-path RRULE data loss) + 4 lower.
- Pass 2: 8/8 fixed, including the move-path RRULE forwarding.
- Final re-review: 0 Critical. Remaining 2 Warning / 2 Info are documented
  v1 scope cuts (recurrence-editing deferred), not defects.

Test suites green throughout: api 108, pwa 145; both tsc --noEmit clean.
Per-iteration REVIEW/REVIEW-FIX snapshots retained as audit trail.
2026-06-09 11:12:09 -04:00
Lucas Berger 8b519460d9 docs(03): add code review report 2026-06-09 10:32:20 -04:00
Lucas Berger 197e138e3b docs(04): finalize phase plan (coverage gates + roadmap annotations) 2026-06-09 10:25:22 -04:00
Lucas BergerandClaude Opus 4.8 38fa6f448b docs(04): create phase plan — 6 plans across 5 waves for shared lists + live sync
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 10:21:53 -04:00
Lucas Berger d89eb47483 docs(03): add code review report 2026-06-09 10:19:01 -04:00
Lucas Berger a348bdd815 docs(04): add validation strategy 2026-06-09 10:03:12 -04:00
Lucas Berger bc45bddac9 docs(04): research phase — lists schema, SSE fan-out, fractional-indexing, dnd-kit, react-router 2026-06-09 10:01:47 -04:00
Lucas BergerandClaude Sonnet 4.6 492b85e9dc docs(04): UI design contract for shared lists + live sync
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 09:43:32 -04:00
Lucas Berger f695cc014d wip: Phase 4 paused — discuss complete, entry gate cleared, ready to plan 2026-06-07 21:53:23 -04:00
Lucas Berger 26655cf859 docs(260607-u8o): mark Gate 2 Part C SSE row + summary PASS
- Part C row C1: PENDING -> PASS (2026-06-08) with verbatim evidence
- Summary Part-C row: DEFERRED -> PASS (Phase 4 entry gate D-14 cleared)
2026-06-07 21:49:55 -04:00
Lucas Berger dea6cb65a1 docs(260607-u8o): mark Phase 1 UAT item 4 (SSE smoke) PASS
- Record SSE-over-Pangolin smoke PASS (2026-06-08) with verbatim evidence
- Update Summary: passed 0->1, pending 4->3
2026-06-07 21:49:30 -04:00
Lucas Berger 05e1c9e556 docs(04): capture phase context 2026-06-07 21:32:09 -04:00
Lucas Berger 35871cd8cf roadmap(06): add Phase 6 — UX Polish
phase.add appended the entry after the 999.x backlog (the decimal backlog
convention confused the auto-placement). Moved it into Phase Details before
## Progress, added it to the top checklist + Progress table + execution order,
gave it goal/success-criteria/candidate-scope (promotes backlog 999.2/3/6/7/8/9),
renamed the dir to 06-ux-polish, and bumped STATE to 6 phases (50%).
2026-06-07 19:28:34 -04:00
Lucas Berger cca5205173 chore(03): close Phase 03 — transition to Phase 04
- 03-08-SUMMARY (Gate 2 record) written; phase marked complete (12/12)
- ROADMAP: Phase 3 [x] complete 2026-06-07; REQUIREMENTS updated
- STATE: advanced to Phase 4, focus + progress corrected (backlog 999.x were
  miscounted as milestone phases → reset total_phases to 5, 60%)
- PROJECT.md evolved: event CRUD / OIDC login / iOS PWA install moved to
  Validated (Phase 3); D-17 logged; Android install + onboarding-provider-setup
  kept Active
- removed stale .continue-here + one-shot HANDOFF.json

Carried forward: B5 (Android install), Phase 4 SSE entry gate (D-14), backlog 999.3-999.9.
2026-06-07 19:24:33 -04:00
Lucas Berger d71b15cd02 docs(03): Gate 2 complete for Phase 03 scope — D3 recurring write verified, recurring-series delete confirmed
Weekly recurring create writes valid RRULE and recurred in Fastmail; repeat-bound
+ per-occurrence-duration UX gaps backlogged (999.7/999.8). Deleting the recurring
series cleared master + all occurrences in one delete. Remaining deferred by
design: B5 (Android), C (SSE smoke — Phase 4 entry gate).
2026-06-07 19:19:57 -04:00
Lucas Berger f656a41d1c docs(03): Gate 2 substantially complete — A/B/D verified; only D3 quick confirm left
A2 (transparent SSO), B2/B3/B4 (iOS standalone + load-bearing standalone login),
D2 (all-day, after off-by-one fix) all PASS. Remaining: D3 weekly recurring
(quick). Deferred: B5 Android, C SSE (Phase 4 entry gate).
2026-06-07 18:40:01 -04:00
Lucas Berger 29b8c02715 docs(03): Gate 2 progress — A3 distinct colors + iOS install verified; backlog 999.5 (provider setup)
A3 PASS (distinct colors after collision fix), B1 PASS (wife installed + logged
in on iPhone). Added backlog 999.5: first-login provider-setup prompt to attach
each member's own Fastmail app password (per-member personal calendar, D-09).
Remaining Gate 2: A2, B2/B3/B4, D2, D3 (quick operator confirms); B5/C deferred.
2026-06-07 18:15:51 -04:00
Lucas Berger cdb097c5b3 docs(03): record Gate 2 live-verification results (2026-06-07)
A1 (OIDC login → app), D1/D4/D5 (create/edit/delete round-trips), D6 (412
conflict), and /health-over-tunnel verified live this session via operator
browser testing + outbox evidence. Remaining: A2/A3 + D2/D3 (desktop, quick),
B (iOS device, load-bearing), C (SSE — Phase 4 entry gate per D-14).
2026-06-07 18:02:53 -04:00
Lucas Berger 3ae7724df1 wip: phase 03 Gate 2 paused — live bring-up working; edit/delete join fix is the next blocker 2026-06-06 22:42:06 -04:00
Lucas Berger 505f64ed93 docs: add backlog item 999.2 — slick unauthenticated-entry (no login flash) 2026-06-06 22:11:33 -04:00
Lucas Berger ca87c023ef wip: phase 03 paused — gap-closure done, docker bring-up awaiting auth+PWA decisions 2026-06-05 21:48:17 -04:00
Lucas Berger ad181e7b2a docs(03-11): complete outbox durability + etag fix plan summary (CR-04, CR-05, WR-02) 2026-06-05 21:08:07 -04:00
Lucas Berger aefdde13bd docs(03-10): complete outbox ICS builder wiring plan summary
CR-02, CR-03, WR-01, WR-04, WR-08, IN-01 closed.
2026-06-05 20:53:04 -04:00
Lucas Berger 1fc56f42d0 merge(03-12): EventForm edit/a11y gap closure (WR-03/05/07, IN-03) 2026-06-05 20:43:45 -04:00
Lucas Berger a30a16b18a docs(03-12): complete EventForm gap-closure plan — WR-03/05/07, IN-03/04, PWA assets 2026-06-05 20:43:12 -04:00
Lucas Berger 0d3883ee02 docs(03-09): complete plan 09 summary — schema rename + OIDC resolution
CR-01: eventFieldsSchema aligned to canonical title/start/end (PWA contract)
CR-06: resolveUserId async with upsertUser on all 5 write handlers
19 tests pass; tsc clean
2026-06-05 20:42:13 -04:00
Lucas Berger 941c4d621f docs(03): revise gap plans 03-10/11/12 per checker feedback 2026-06-05 19:27:19 -04:00
Lucas Berger d1658bd1db docs(03): gap-closure plans 03-09..03-12 for write-path review findings 2026-06-05 19:20:25 -04:00
Lucas Berger 628894c8c2 docs(03): add code review report 2026-06-05 19:11:12 -04:00
Lucas Berger 1f8775e7b6 docs(03-08): scaffold Gate 2 results + record production build status
- PWA build: CLEAN — 1818 modules, sw.js + workbox generated (build SHA 40dfbb4)
- API build: CLEAN — tsc passed, no errors
- 03-GATE2-RESULTS.md created with deploy header (URL TBD), full Gate 2 checklist
  (all rows marked PENDING — operator/device), and operator-setup section covering:
  Authelia OIDC client registration, OIDC_AUTH_EXTERNAL_URL, Pangolin/Newt Mode A rig,
  DB schema push, and /health tunnel verification
2026-06-05 18:51:37 -04:00
Lucas Berger 40dfbb48d5 docs(03-06): complete edit/delete + sync toast plan 2026-06-05 18:48:17 -04:00
Lucas Berger dbd09bc2bb docs(03-05): complete event write UI plan — EventForm + client calls + FAB 2026-06-05 18:32:37 -04:00
Lucas Berger 82ab87a633 docs(03-04): complete outbox worker plan — state machine GREEN, wired at boot 2026-06-05 18:23:01 -04:00
Lucas Berger 95864e5dc8 docs(03-07): complete PWA install plan — manifest, InstallPrompt, icons 2026-06-05 18:07:59 -04:00
Lucas Berger 7398946aa8 docs(03-03): complete write API surface plan — enqueue-only endpoints GREEN 2026-06-05 17:59:53 -04:00
Lucas Berger 4eb7c28797 docs(03-02): complete broker primitives plan — vevent.ts + write.ts GREEN 2026-06-05 17:50:23 -04:00
Lucas Berger a487569c7e docs(03-01): complete foundation-scaffold plan 2026-06-05 17:41:41 -04:00
Lucas Berger 93302cf942 docs(03): finalize phase plan (8 plans, verified) 2026-06-05 17:08:16 -04:00