Lucas Berger
84921a0464
docs(phase-07): evolve PROJECT.md after phase completion
2026-06-11 02:30:21 -04:00
Lucas Berger
407bf1e91c
docs(phase-07): complete phase execution
2026-06-11 02:29:36 -04:00
Lucas Berger
3b4fd9a5b1
docs(07): add phase verification report
2026-06-11 02:29:17 -04:00
Lucas Berger
e105dce9de
docs(07): mark CR-01 resolved in review report
2026-06-11 02:24:11 -04:00
Lucas Berger
8458dc25eb
docs(07): add code review report
2026-06-11 02:20:32 -04:00
Lucas Berger
10e570b21d
docs(07-04): complete state coverage plan — calendar.spec.ts + lists.spec.ts
2026-06-11 02:13:34 -04:00
Lucas Berger
f8227855dc
docs(07-03): complete layout.spec.ts plan
2026-06-11 02:02:54 -04:00
Lucas Berger
8f0846c8c6
docs(07-02): complete globalSetup seed plan
2026-06-11 01:53:07 -04:00
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