Commit Graph
280 Commits
Author SHA1 Message Date
Lucas Berger 43650bb65e docs(06): add code review report 2026-06-10 16:35:09 -04:00
Lucas Berger fa90b7cf86 docs(phase-06): finalize 06-04/05/06 summaries + tracking
- 06-04-SUMMARY: pulse keyframe checkpoint PASS (playwright-cli); CP-04.3 iOS device-only noted
- 06-05-SUMMARY: TDD RED/GREEN + dead-end guard follow-up fix; playwright-cli cold-load + 401 PASS
- 06-06-SUMMARY: end-tracking/recurrence-bound/series-prompt/all-day-pill; Schedule-X selector fix noted
- ROADMAP: mark 06-04/05/06 complete; phase 6 row updated to 6/6 Complete 2026-06-10
- STATE: phase 06 position/status updated; 3 new metric rows; 6 new decisions; phase-level UX fixes (AppNav/BottomTabBar) documented; residual device-only items added to Blockers
2026-06-10 16:30:01 -04:00
Lucas Berger 197efa1bc6 docs: review backlog — removed 6 Phase-6 dupes, promoted Gitea CI to 999.14
- Removed stale Backlog entries 999.2/3/6/7/8/9 (already promoted into the
  active Phase 6 UX Polish) and deleted the leftover 999.2 directory.
- Kept genuine backlog: 999.1/4/5/10/11/12/13.
- Promoted STATE pending todo to new backlog phase 999.14 (Gitea CI:
  PR-to-main regression + Docker build/publish).
- Archived stale kickoff-new-project todo to completed/.
2026-06-10 15:16:25 -04:00
Lucas Berger dc50919de7 docs: add backlog 999.13 — reduce event write-back latency (outbox 15s drain → event-driven) 2026-06-10 15:08:35 -04:00
Lucas Berger 2b78c3d593 docs: add backlog 999.12 — assistant-driven mobile-browser UI testing (mobile viewport + authed PWA) 2026-06-10 15:07:45 -04:00
Lucas Berger ad62d5e3d4 test(05): UAT resolved — 1/2/5 pass; T3 dropped, T4 deferred to Phase 6
Test 3 (1-week health check) dropped as non-gating. Test 4 (Android
event-change push) deferred to Phase 6 verification; its two blocking bugs
fixed + deployed (jlp how-to-enable link, ka9 silent-notification options).
Phase 5 UAT status → complete.
2026-06-10 14:56:46 -04:00
Lucas Berger 1f3c672194 test(05): UAT — Test 5 PASS (coalescing); Test 4 issue (blocked-notif recovery link broken)
SettingsSheet 'How to enable' calls onClose instead of showing instructions;
leaves no recovery path once browser-blocked. Test 4 push delivery still
unverified (needs a subscribed Android session).
2026-06-10 14:06:13 -04:00
Lucas Berger 24f4589c4e test(05): UAT Test 1 PASS — scheduled reminder delivers on real iPhone after node-cron→setInterval + catch-up fixes
Tests 1 & 2 pass (subscribe + scheduled reminder delivery proven on-device).
Gap resolved via quick tasks 260610-hbu (catch-up scan) and 260610-i4x
(node-cron→setInterval). Tests 3/4/5 still pending (elapsed time / Android / two devices).
2026-06-10 13:15:22 -04:00
Lucas Berger ec38dea1dc test(05): UAT — iOS push delivery PROVEN on-device (test 2 pass); reminder scheduling issue (test 1)
Delivery chain verified end-to-end on a real iPhone (subscribe -> VAPID
sign -> Apple 201 -> SW showNotification). Test 1 reminder did not fire on
schedule: node-cron missed the window tick + the scan has no catch-up, so
a missed tick drops the reminder permanently. Gap + fix direction recorded.
2026-06-10 12:26:11 -04:00
Lucas Berger 0c2c26c375 docs(06-03): complete hasRrule server-side exposure plan 2026-06-10 11:20:17 -04:00
Lucas Berger b869fe0a93 docs(06-02): complete RRULE UNTIL/COUNT serialization plan 2026-06-10 11:04:04 -04:00
Lucas Berger 78a8cb5ccd docs(06-01): complete end-tracking math plan (D-04) 2026-06-10 10:51:16 -04:00
Lucas Berger 7de1f2482e docs: add backlog 999.10 (admin Settings section) + 999.11 (initial setup wizard)
999.10: in-app admin UI to manage app passwords + designate the shared
calendar (replaces manual is_shared DB write, D-16).
999.11: first-run setup wizard for env vars/VAPID/DB/app-password with
validation (motivated by the truncated-VAPID-key setup friction).
2026-06-10 10:38:36 -04:00
Lucas Berger f6b2322012 docs(06): fix 06-06 depends_on format; populate validation map 2026-06-10 10:34:44 -04:00
Lucas BergerandClaude Opus 4.8 456121969f docs(06): create ux-polish phase plan (6 plans, 2 waves)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 10:25:41 -04:00
Lucas Berger d52acad54c docs(06): add validation strategy 2026-06-10 10:04:34 -04:00
Lucas Berger 3d0ec986a2 docs(06): research phase for ux-polish
Code-verified findings for all six D-01..D-13 fix areas: end-tracking
gap in EventForm, @keyframes pulse absent from tokens.css, hasRrule
missing from CalendarOccurrence type, and ical.js UNTIL/COUNT verified
against project node_modules. Includes validation architecture for TDD
and playwright-cli verification scopes.
2026-06-10 10:02:29 -04:00
Lucas Berger 4b77ec0254 docs(06): add brand assets & iconography contract to UI-SPEC
Appends a new "Brand Assets & Iconography" section covering the
glyph+wordmark mark concept, SVG source-of-truth files, raster export
pipeline, full favicon set (SVG + ICO + index.html gaps), maskable
safe-zone spec, in-app logo usage surfaces, and a complete asset
manifest table. All existing UI-SPEC sections preserved verbatim.
2026-06-10 09:45:00 -04:00
Lucas BergerandClaude Sonnet 4.6 9707fd0d85 docs(06): UI design contract for ux-polish phase
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 09:38:54 -04:00
Lucas Berger afdc8d124d docs(06): capture phase context 2026-06-10 09:33:36 -04:00
Lucas Berger 68ff72d195 docs(phase-05): add security threat verification (26/26 closed) 2026-06-10 09:09:45 -04:00
Lucas Berger 3b54ea2f12 wip: phase 05 web-push paused — code complete + verified, awaiting iOS/Android device UAT 2026-06-09 22:51:04 -04:00
Lucas Berger ecb576eb8a test(05): verification (12/12 code) + persist 5 human UAT items 2026-06-09 22:47:14 -04:00
Lucas Berger 02526d07eb docs(05): code review clean after --fix --all --auto (3 iterations) 2026-06-09 22:41:28 -04:00
Lucas Berger dc8516beb8 docs(05): add code review report 2026-06-09 22:33:09 -04:00
Lucas Berger e496b5e00a docs(05-07): complete eventChangeDispatcher + syncCalendar diff plan 2026-06-09 22:06:14 -04:00
Lucas Berger 4ef6333201 docs(05-08): complete opt-out + reliability surface plan 2026-06-09 21:53:33 -04:00
Lucas Berger 8e741cf528 docs(05-06): complete reminderScheduler plan 2026-06-09 21:40:22 -04:00
Lucas Berger 9b04528fd6 docs(05-05): complete list-change push plan 2026-06-09 21:29:09 -04:00
Lucas Berger 60c247d8ed docs(05-04): complete push vertical slice plan 2026-06-09 21:16:23 -04:00
Lucas Berger f07c85d0c9 docs(05-03): complete pushCoalescer TDD plan 2026-06-09 21:00:22 -04:00
Lucas Berger fc6f534f0a docs(05-02): complete pushDispatcher TDD plan 2026-06-09 20:56:13 -04:00
Lucas Berger 1cc08f1bf1 docs(05-01): complete Wave-0 foundation plan 2026-06-09 20:52:23 -04:00
Lucas Berger ddc84f1ffc docs(05): finalize plan 05-07 (D-13 boundary) + add patterns doc 2026-06-09 20:34:15 -04:00
Lucas Berger dbf370b18c docs(05): mark research open questions resolved 2026-06-09 18:43:43 -04:00
Lucas Berger 1ecca03f53 docs(05): create phase 5 web-push plan (8 plans, 6 waves) 2026-06-09 18:39:05 -04:00
Lucas Berger 6a8b6e994c docs(phase-5): add validation strategy 2026-06-09 18:21:39 -04:00
Lucas Berger 7264a9880f docs(05): research phase web-push-notifications 2026-06-09 18:20:36 -04:00
Lucas Berger 3723286e9e docs(05): UI design contract for web-push-notifications phase
Specifies three new surfaces (permission prompt, settings sheet,
permission-denied banner) and notification copy templates for
NOTIF-01/02/03, all built from the existing Phase 2 token system.
2026-06-09 18:03:18 -04:00
Lucas Berger d136099dd8 wip: phase 5 web-push paused after discuss (ready to plan) 2026-06-09 15:15:18 -04:00
Lucas Berger e74f24debf docs(05): capture phase context 2026-06-09 15:13:01 -04:00
Lucas Berger 99f59c3999 test(04): complete UAT — 11 passed, 0 issues, 1 skipped (multi-user D-04, covered by route tests) 2026-06-09 14:48:53 -04:00
Lucas Berger fa71cf1a30 docs(04): re-verify phase 04 after gap-closure — 4/4 verified, 0 threats open
LIST-03 collation gap closed, T-04-05 + T-04-08 closed by plan 04-07.
Phase 04 sign-off complete.
2026-06-09 14:32:54 -04:00
Lucas Berger ffaa44a9be docs(04-07): complete gap-closure plan — LIST-03 + T-04-08 closed, Phase 04 done
- 04-07-SUMMARY.md: documents rank-collation fix + owner-only guard, 184/184 tests
- STATE.md: Phase 04 marked complete (7/7 plans), progress 100%, decisions added
- ROADMAP.md: 04-07-PLAN.md checked off
2026-06-09 14:25:43 -04:00
Lucas Berger 797338424d docs(04): gap-closure plan 04-07 (rank collation + isShared owner guard) 2026-06-09 14:07:14 -04:00
Lucas Berger 469c40f9b5 docs(phase-04): add security threat verification (13/14 closed, T-04-08 open) 2026-06-09 14:01:23 -04:00
Lucas Berger 0b736fea0c docs(04): add code review report 2026-06-09 13:56:45 -04:00
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