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
83f7cbc34d
docs: mark Phase 5 (web-push) complete — UAT 1/2/5 pass, T3 dropped, T4 deferred to Phase 6
2026-06-10 14:58:28 -04:00
Lucas Berger
6218600371
docs: defer Android event-change push (UAT T4) to Phase 6 verification
2026-06-10 14:57:05 -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
f5bcec6ebe
docs(quick-260610-ka9): plan/summary + STATE row (silent Android push fix, Verified)
2026-06-10 14:40:57 -04:00
Lucas Berger
bf5f87eda8
docs(quick-260610-k1z): plan/summary/verification + STATE row (persist OIDC cookie, Verified)
2026-06-10 14:35:41 -04:00
Lucas Berger
eef0b48537
docs(quick-260610-jlp): plan/summary + STATE row (how-to-enable fix, Verified)
2026-06-10 14:15:27 -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
914197f848
docs(quick-260610-i4x): plan/summary/verification + STATE row (node-cron→setInterval, Verified)
2026-06-10 13:09:09 -04:00
Lucas Berger
3b87fa4581
docs(quick-260610-hbu): plan/summary/verification + STATE row (reminder resilience, Verified)
2026-06-10 12:40:48 -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
53913bb7fd
docs(06): record planning complete + annotate roadmap
2026-06-10 10:37:02 -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 Berger
f1a2de2cdc
docs: resolve D-16 — FamilySync shared calendar synced (id 10) + marked is_shared=1
...
Operator created the shared 'FamilySync' calendar on the primary Fastmail
account; poller synced it; ran UPDATE calendars SET is_shared=1 WHERE id=10.
Shared color lane now populated; Phase 5 reminders fire on its events.
2026-06-10 10:34:41 -04:00
Lucas Berger and Claude 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 Berger and Claude 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
cdbe94deb2
docs(state): record phase 6 context session
2026-06-10 09:33:43 -04:00
Lucas Berger
afdc8d124d
docs(06): capture phase context
2026-06-10 09:33:36 -04:00
Lucas Berger
497daf6add
docs: add deferred REQ-IDs to REQUIREMENTS traceability table
...
CAL-09..CAL-12 (v1.x) and DISP-01/DISP-02 (v2) were in the body but
absent from the Traceability table. v1 coverage stays 20/20; deferred
IDs listed separately. Resolves the REQUIREMENTS traceability todo.
2026-06-10 09:26:45 -04:00
Lucas Berger
7369c9f1d1
docs(quick-260610-czd): plan/summary + STATE quick-task row, resolve deployment.md dev-cmd todo
2026-06-10 09:25:24 -04:00
Lucas Berger
b745515753
docs(quick-260610-cr8): plan/summary/verification + STATE quick-task row
2026-06-10 09:20:22 -04:00
Lucas Berger
736adf7c58
docs(quick-260610-cr8): adopt drizzle generate+migrate, retire db:push
...
Plan/summary/verification artifacts; STATE quick-task row (Verified);
archive source todo to completed/.
2026-06-10 09:20:13 -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
17dfaac5f2
docs(05): mark phase pending iOS/Android device UAT (verification human_needed)
2026-06-09 22:48:07 -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
4e0b06d3fd
docs(05-01): mark NOTIF requirements complete in traceability
2026-06-09 20:52:35 -04:00
Lucas Berger
1cc08f1bf1
docs(05-01): complete Wave-0 foundation plan
2026-06-09 20:52:23 -04:00
Lucas Berger
2cae72e9dd
docs: capture todo - Gitea CI regression + Docker build/publish
2026-06-09 20:49:07 -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
36fb929a40
docs(05): create phase plan
2026-06-09 18:44:55 -04:00
Lucas Berger
dbf370b18c
docs(05): mark research open questions resolved
2026-06-09 18:43:43 -04:00