-
dbf370b18c
docs(05): mark research open questions resolved
Lucas Berger
2026-06-09 18:43:43 -04:00
-
1ecca03f53
docs(05): create phase 5 web-push plan (8 plans, 6 waves)
Lucas Berger
2026-06-09 18:39:05 -04:00
-
6a8b6e994c
docs(phase-5): add validation strategy
Lucas Berger
2026-06-09 18:21:39 -04:00
-
7264a9880f
docs(05): research phase web-push-notifications
Lucas Berger
2026-06-09 18:20:36 -04:00
-
3723286e9e
docs(05): UI design contract for web-push-notifications phase
Lucas Berger
2026-06-09 18:03:18 -04:00
-
d136099dd8
wip: phase 5 web-push paused after discuss (ready to plan)
Lucas Berger
2026-06-09 15:15:18 -04:00
-
3bbfbbc383
docs(state): record phase 5 context session
Lucas Berger
2026-06-09 15:13:07 -04:00
-
e74f24debf
docs(05): capture phase context
Lucas Berger
2026-06-09 15:13:01 -04:00
-
5b1f3cefdc
chore(graphify): rebuild knowledge graph at
d521839 — 4090 nodes, 4249 edges, 427 communities
Lucas Berger
2026-06-09 14:59:59 -04:00
-
d521839a40
docs(intel): refresh codebase intelligence at
99f59c3 — capture Phase 4 lists + live-sync
Lucas Berger
2026-06-09 14:57:27 -04:00
-
99f59c3999
test(04): complete UAT — 11 passed, 0 issues, 1 skipped (multi-user D-04, covered by route tests)
Lucas Berger
2026-06-09 14:48:53 -04:00
-
fa71cf1a30
docs(04): re-verify phase 04 after gap-closure — 4/4 verified, 0 threats open
Lucas Berger
2026-06-09 14:32:54 -04:00
-
ae115c65ef
chore(04-07): commit drizzle migration metadata for 0002 collation migration
Lucas Berger
2026-06-09 14:26:52 -04:00
-
ffaa44a9be
docs(04-07): complete gap-closure plan — LIST-03 + T-04-08 closed, Phase 04 done
Lucas Berger
2026-06-09 14:25:43 -04:00
-
c0bd6d732d
fix(04-07): add owner-only guard for isShared on PATCH /api/lists/:id (T-04-08)
Lucas Berger
2026-06-09 14:22:48 -04:00
-
931f767922
test(04-07): add failing sharee-403 tests for T-04-08 owner-only isShared guard
Lucas Berger
2026-06-09 14:22:21 -04:00
-
9b860617c5
feat(04-07): migrate list_items.rank to COLLATE utf8mb4_bin (LIST-03)
Lucas Berger
2026-06-09 14:21:42 -04:00
-
ece663d1df
test(04-07): add failing collation regression test (LIST-03)
Lucas Berger
2026-06-09 14:19:27 -04:00
-
797338424d
docs(04): gap-closure plan 04-07 (rank collation + isShared owner guard)
Lucas Berger
2026-06-09 14:07:14 -04:00
-
469c40f9b5
docs(phase-04): add security threat verification (13/14 closed, T-04-08 open)
Lucas Berger
2026-06-09 14:01:23 -04:00
-
0b736fea0c
docs(04): add code review report
Lucas Berger
2026-06-09 13:56:45 -04:00
-
be2078e21f
docs(phase-04): verification — 3/4 verified, LIST-03 rank-collation gap deferred to gap-closure
Lucas Berger
2026-06-09 13:49:58 -04:00
-
690f0b95c0
refactor(04): move rank.test.ts into tests/ mirror dir (convention + dist hygiene)
Lucas Berger
2026-06-09 13:40:11 -04:00
-
ca9e97879f
docs(04-06): complete live-sync SSE vertical slice plan
Lucas Berger
2026-06-09 13:35:49 -04:00
-
1652a68c51
feat(04-06): implement live-sync SSE vertical slice (LIST-04, D-04/D-10/D-11/D-12)
Lucas Berger
2026-06-09 13:33:04 -04:00
-
5a8d1efe1c
test(04-06): add failing RED tests for LIST-04 SSE fan-out + bounded backoff
Lucas Berger
2026-06-09 13:25:39 -04:00
-
f12093c910
docs(04-05): complete drag-to-reorder plan
Lucas Berger
2026-06-09 13:19:35 -04:00
-
ef4b1157b3
test(04-05): server-side reorder ordering + rank precision tests (LIST-03, D-13)
Lucas Berger
2026-06-09 13:17:35 -04:00
-
d49c5f1c9c
feat(04-05): dnd-kit drag-to-reorder active items (LIST-03, D-13/D-14/D-15)
Lucas Berger
2026-06-09 13:13:11 -04:00
-
8ed105d467
docs(04-04): complete item-CRUD vertical slice plan
Lucas Berger
2026-06-09 13:04:48 -04:00
-
6da9c2ae7b
feat(04-04): add ListDetail with active/completed split + ItemRow + AddItemInput (LIST-02)
Lucas Berger
2026-06-09 13:01:49 -04:00
-
5e3151416c
feat(04-04): implement item CRUD endpoints + fractional rank (LIST-02)
Lucas Berger
2026-06-09 12:55:32 -04:00
-
b1dc9b8048
test(04-04): add failing tests for item CRUD endpoints + rank helpers
Lucas Berger
2026-06-09 12:52:34 -04:00
-
353431c8b4
docs(04-03): complete list-CRUD vertical slice plan
Lucas Berger
2026-06-09 12:48:00 -04:00
-
95dbc663c1
feat(04-03): wire ListsIndex + ListCard + CreateListSheet + ListDeleteDialog (LIST-01)
Lucas Berger
2026-06-09 12:45:19 -04:00
-
9546b747d2
feat(04-03): implement listsRouter POST/GET/PATCH/DELETE /api/lists (LIST-01)
Lucas Berger
2026-06-09 12:38:05 -04:00
-
2b3d7896f1
test(04-03): add failing integration tests for lists router (LIST-01, D-01/D-02/D-04/D-06)
Lucas Berger
2026-06-09 12:34:49 -04:00
-
9fb1e0da84
docs(04-02): complete scoped fan-out primitives plan
Lucas Berger
2026-06-09 12:24:50 -04:00
-
9e17853d89
fix(04-02): use fileParallelism:false to prevent DB test race conditions
Lucas Berger
2026-06-09 12:23:13 -04:00
-
792efeb3df
feat(04-02): implement listEmitter + listAccess; all 9 tests GREEN
Lucas Berger
2026-06-09 12:20:38 -04:00
-
2d250afce2
test(04-02): add failing listEmitter + listAccess tests (RED gate)
Lucas Berger
2026-06-09 12:15:19 -04:00
-
60745b3281
refactor(04-01): move API list test stubs into tests/ mirror dir to match convention
Lucas Berger
2026-06-09 12:10:31 -04:00
-
0fd4d66ee7
docs(04-01): complete lists foundation plan
Lucas Berger
2026-06-09 12:06:53 -04:00
-
c0088edf44
feat(04-01): wire BrowserRouter + BottomTabBar + empty Lists surface
Lucas Berger
2026-06-09 12:03:52 -04:00
-
2f25b15949
feat(04-01): add list tables to schema and apply via generate+migrate [BLOCKING]
Lucas Berger
2026-06-09 11:55:46 -04:00
-
39d4ec84c0
feat(04-01): install new deps + scaffold API test harness with Wave-0 RED stubs
Lucas Berger
2026-06-09 11:49:10 -04:00
-
95b13e6633
chore(04): commit pattern map + session config; ignore intel/graph diff baselines
Lucas Berger
2026-06-09 11:40:19 -04:00
-
eb8ae15862
docs(03): add security threat verification (25/25 closed)
Lucas Berger
2026-06-09 11:38:53 -04:00
-
2a093468a4
chore: build intel index (.planning/intel/)
Lucas Berger
2026-06-09 11:33:33 -04:00
-
a9da31cc35
test(03): complete UAT - 10 passed, 0 issues
Lucas Berger
2026-06-09 11:31:12 -04:00
-
01f7456b81
chore: add knowledge graph + ignore graphify-out build cache
Lucas Berger
2026-06-09 11:25:46 -04:00
-
00cbbb41a6
docs: map existing codebase
Lucas Berger
2026-06-09 11:20:11 -04:00
-
7c687ea413
docs(03): add code review fix report (--auto, 2 fix passes)
Lucas Berger
2026-06-09 11:12:09 -04:00
-
b8c186491b
fix(03): IN-03 re-validate outbox payload before VEVENT build, hard-fail invalid rows
Lucas Berger
2026-06-09 11:05:50 -04:00
-
f95760e6c6
fix(03): IN-01 document RRULE_PRESETS lossy round-trip v1 limitation
Lucas Berger
2026-06-09 11:05:50 -04:00
-
fd13852eb9
fix(03): WR-04 rank failed/dead outbox row above done in sync-status
Lucas Berger
2026-06-09 11:04:00 -04:00
-
5b720ffdb8
fix(03): WR-03 log unconditional PUT/DELETE when If-Match etag is missing
Lucas Berger
2026-06-09 11:04:00 -04:00
-
eed178fb39
fix(03): WR-01/WR-02/IN-02 recurrence-edit helper text, all-day toggle clamp, edit-mode parse-failure guard
Lucas Berger
2026-06-09 11:02:09 -04:00
-
5168920eb1
fix(03): CR-01 preserve RRULE on edit-as-move (forward source rule to create row)
Lucas Berger
2026-06-09 10:59:19 -04:00
-
7a48659cae
fix(03): update event lookup test mocks for CR-01/CR-02 query-chain changes
Lucas Berger
2026-06-09 10:51:10 -04:00
-
6d2fd79209
fix(03): IN-04 type resolveUserId param as Hono Context instead of any
Lucas Berger
2026-06-09 10:44:15 -04:00
-
7e4ea710d0
fix(03): IN-03 guard localStorage access in InstallPrompt
Lucas Berger
2026-06-09 10:43:37 -04:00
-
e29d6c1714
fix(03): IN-02 treat unmapped 4xx as hard fail (no full-backoff retry)
Lucas Berger
2026-06-09 10:43:14 -04:00
-
95f9d8c097
fix(03): IN-01 cache decrypted client per userId within a drain cycle
Lucas Berger
2026-06-09 10:42:41 -04:00
-
1c71f8c980
fix(03): WR-06 surface move-failed distinctly with re-save guidance
Lucas Berger
2026-06-09 10:41:55 -04:00
-
7bc129f0f3
fix(03): WR-04 start background workers only when run as entrypoint
Lucas Berger
2026-06-09 10:40:54 -04:00
-
22d1bc27d6
fix(03): WR-05 use resolved realpath for direct-run guard
Lucas Berger
2026-06-09 10:40:26 -04:00
-
d34edece96
fix(03): WR-03 use cleaned string for all-day check in parseDateTime
Lucas Berger
2026-06-09 10:39:54 -04:00
-
5499f83782
fix(03): WR-02 make default-calendar selection deterministic (orderBy id, limit 1)
Lucas Berger
2026-06-09 10:39:28 -04:00
-
02aa407764
fix(03): WR-01 preserve existing RRULE on edit instead of resetting to none
Lucas Berger
2026-06-09 10:39:06 -04:00
-
f645644853
fix(03): CR-03 convert exclusive all-day end to inclusive on edit pre-fill
Lucas Berger
2026-06-09 10:37:13 -04:00
-
a596f520b4
fix(03): CR-02 scope freshest-etag re-read to the writing member's calendar
Lucas Berger
2026-06-09 10:36:18 -04:00
-
54addb1515
fix(03): CR-01 scope event edit/delete lookup to acting member's writable set
Lucas Berger
2026-06-09 10:35:51 -04:00
-
8b519460d9
docs(03): add code review report
Lucas Berger
2026-06-09 10:32:20 -04:00
-
197e138e3b
docs(04): finalize phase plan (coverage gates + roadmap annotations)
Lucas Berger
2026-06-09 10:25:22 -04:00
-
38fa6f448b
docs(04): create phase plan — 6 plans across 5 waves for shared lists + live sync

Lucas BergerandClaude Opus 4.8
2026-06-09 10:21:53 -04:00
-
d89eb47483
docs(03): add code review report
Lucas Berger
2026-06-09 10:19:01 -04:00
-
a348bdd815
docs(04): add validation strategy
Lucas Berger
2026-06-09 10:03:12 -04:00
-
bc45bddac9
docs(04): research phase — lists schema, SSE fan-out, fractional-indexing, dnd-kit, react-router
Lucas Berger
2026-06-09 10:01:47 -04:00
-
492b85e9dc
docs(04): UI design contract for shared lists + live sync

Lucas BergerandClaude Sonnet 4.6
2026-06-09 09:43:32 -04:00
-
f695cc014d
wip: Phase 4 paused — discuss complete, entry gate cleared, ready to plan
Lucas Berger
2026-06-07 21:53:23 -04:00
-
9ee59065f1
docs(quick-260607-u8o): record SSE-over-Pangolin smoke test PASS
Lucas Berger
2026-06-07 21:51:38 -04:00
-
1329e19803
chore: merge executor worktree (worktree-agent-a0352288acbf5055f)
Lucas Berger
2026-06-07 21:50:53 -04:00
-
-
26655cf859
docs(260607-u8o): mark Gate 2 Part C SSE row + summary PASS
Lucas Berger
2026-06-07 21:49:55 -04:00
-
dea6cb65a1
docs(260607-u8o): mark Phase 1 UAT item 4 (SSE smoke) PASS
Lucas Berger
2026-06-07 21:49:30 -04:00
-
-
92585d78db
docs(260607-u8o): pre-dispatch plan for record SSE smoke PASS
Lucas Berger
2026-06-07 21:48:25 -04:00
-
ecdb2317c8
docs(state): record phase 4 context session
Lucas Berger
2026-06-07 21:32:10 -04:00
-
05e1c9e556
docs(04): capture phase context
Lucas Berger
2026-06-07 21:32:09 -04:00
-
35871cd8cf
roadmap(06): add Phase 6 — UX Polish
Lucas Berger
2026-06-07 19:28:34 -04:00
-
cca5205173
chore(03): close Phase 03 — transition to Phase 04
Lucas Berger
2026-06-07 19:24:33 -04:00
-
d71b15cd02
docs(03): Gate 2 complete for Phase 03 scope — D3 recurring write verified, recurring-series delete confirmed
Lucas Berger
2026-06-07 19:19:57 -04:00
-
cee7f0bad0
docs(backlog): add 999.6-999.9 (all-day visual, form end-tracking + all-day edit off-by-one, recurrence bound, recurring series edit)
Lucas Berger
2026-06-07 19:13:08 -04:00
-
f656a41d1c
docs(03): Gate 2 substantially complete — A/B/D verified; only D3 quick confirm left
Lucas Berger
2026-06-07 18:40:01 -04:00
-
d4d5327fc4
fix(calendar): all-day off-by-one (exclusive DTEND) + member color too close to shared rose
Lucas Berger
2026-06-07 18:37:56 -04:00
-
29b8c02715
docs(03): Gate 2 progress — A3 distinct colors + iOS install verified; backlog 999.5 (provider setup)
Lucas Berger
2026-06-07 18:15:51 -04:00
-
f700182674
fix(auth): assign first UNUSED palette color (AUTH-03 distinct colors)
Lucas Berger
2026-06-07 18:14:20 -04:00
-
cdb097c5b3
docs(03): record Gate 2 live-verification results (2026-06-07)
Lucas Berger
2026-06-07 18:02:53 -04:00
-
86069b89c1
docs(backlog): promote session-timeout + event-reminder todos to backlog (999.3/999.4)
Lucas Berger
2026-06-07 18:01:18 -04:00
-
2e10752a59
fix(pwa): stop calendar remount/flash on re-render (Bug B root cause)
Lucas Berger
2026-06-07 17:55:56 -04:00
-
ae9fd9d790
docs(todo): redirect to sign-in on session timeout instead of hanging
Lucas Berger
2026-06-07 17:49:20 -04:00