Commit Graph
214 Commits
Author SHA1 Message Date
Lucas Berger e7fdf798dd docs(07-01): complete playwright harness foundation plan 2026-06-11 01:45:45 -04:00
Lucas Berger 32deab91fd docs(07): create phase plan 2026-06-10 22:43:26 -04:00
Lucas Berger ed206c3732 docs(07): create mobile-test-harness phase plan (4 plans, 3 waves) 2026-06-10 22:39:08 -04:00
Lucas Berger 7a089421dd docs(07): add validation strategy 2026-06-10 22:24:52 -04:00
Lucas Berger ad927e04d2 docs(07): research phase — Playwright mobile harness assertion strategy and config patterns 2026-06-10 22:23:13 -04:00
Lucas Berger 3cee2b394d docs(state): record phase 7 UI-SPEC approval 2026-06-10 22:12:27 -04:00
Lucas Berger 179766d447 docs(07): mobile UI quality-bar contract (UI-SPEC)
Adds 07-UI-SPEC.md for Phase 7 (Mobile Test Harness). Documents the
assertable mobile-UI quality bar the harness enforces: touch-target
thresholds (≥44px), no-horizontal-overflow rule, two-profile viewport
matrix (iPhone 14/WebKit + Pixel 7/Chromium), role-based accessible name
requirements, empty/error-state copy anchors, screenshot omission rationale,
and CI portability rules. Locks D-01 through D-10 from CONTEXT.md as the
assertion contract.
2026-06-10 22:11:18 -04:00
Lucas Berger c4b2f55ccf docs(state): record phase 7 context session 2026-06-10 21:49:33 -04:00
Lucas Berger 2477741337 docs(07): capture phase context 2026-06-10 21:49:28 -04:00
Lucas Berger 16d031629e docs: tag 1 pending todo with resolves_phase after milestone v1.1 roadmap 2026-06-10 21:34:42 -04:00
Lucas Berger ab02cdb1ba docs: create milestone v1.1 roadmap (6 phases) 2026-06-10 21:34:42 -04:00
Lucas Berger a31636e718 docs: v1.1 research (stack/features/architecture/pitfalls/summary) 2026-06-10 21:34:42 -04:00
Lucas Berger 9bd0f536fd docs: define milestone v1.1 requirements 2026-06-10 21:34:42 -04:00
Lucas Berger 3696a85afc chore(graphify): rebuild knowledge graph artifacts 2026-06-10 18:52:20 -04:00
Lucas Berger 361bd8f800 chore: phase branching + graphify auto_update; ignore graph build-status and tmp scratch 2026-06-10 18:52:19 -04:00
Lucas Berger 3ed7fc8da8 docs: start milestone v1.1 Operability & Polish 2026-06-10 18:52:19 -04:00
Lucas Berger 581b31916b chore: archive phase directories from completed milestones 2026-06-10 17:56:40 -04:00
Lucas Berger 53b916601f chore: remove REQUIREMENTS.md for v1.0 milestone 2026-06-10 17:47:21 -04:00
Lucas Berger 1f361a9473 chore: archive v1.0 milestone files 2026-06-10 17:47:15 -04:00
Lucas Berger 88728426f8 docs: ship v1.0 milestone -- Gitea PR #1 2026-06-10 17:23:49 -04:00
Lucas Berger 756e2b86ad docs(06): add phase verification report, patterns map, and iter2 review/fix 2026-06-10 17:22:34 -04:00
Lucas Berger e805585770 docs(06): refresh code review report to clean after auto-fix 2026-06-10 17:00:52 -04:00
Lucas Berger 52927851da docs(06): add code review fix report 2026-06-10 17:00:32 -04:00
Lucas Berger 924d8e2347 test(06): persist residual iOS device-only items as UAT 2026-06-10 16:42:52 -04:00
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 893e687614 docs: expand backlog 999.4 — per-event reminder config + scheduler honors VALARM
Folded the new capture into 999.4 instead of a fragmented duplicate:
- Half A (existing): author per-event VALARM in the event form, incl. 'no reminder'.
- Half B (new, 2026-06-10): reminderScheduler honors each event's VALARM TRIGGER
  instead of the hardcoded 15-min lead, and fires nothing when there's no alarm —
  preserving the catch-up + per-uid exactly-once dedup guarantees.
2026-06-10 15:18:37 -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 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 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