Lucas Berger
ee67dfecef
docs(13): add research + validation strategy
2026-06-11 19:04:13 -04:00
Lucas Berger
ef87a3edf6
docs(13): research phase — ESLint flat config + Prettier
2026-06-11 19:03:11 -04:00
Lucas Berger
8fbc68f993
docs(13): capture phase context
2026-06-11 18:28:58 -04:00
Lucas Berger
b1851f475e
docs(08): SUMMARY + VERIFICATION — phase 8 complete, CI-01 + CI-02 delivered
...
CI / fast-checks (pull_request) Successful in 49s
CI / api (pull_request) Successful in 56s
CI / harness (pull_request) Successful in 3m23s
CI / publish (pull_request) Has been skipped
- 08-04-SUMMARY.md: publish job verified green (run #14 ), both tags pushed,
security audit pass (PAT masked, --password-stdin), REGISTRY_PAT naming note
- 08-VERIFICATION.md: all six phase-8 ROADMAP criteria passed with evidence table
- REQUIREMENTS.md: CI-01 + CI-02 marked complete (checkboxes + traceability table)
- ROADMAP.md: phase 8 marked [x] complete (2026-06-11), 08-04 plan ticked
- STATE.md: phase complete, D-PAT-NAMING decision recorded, operator next steps updated
2026-06-11 16:17:53 -04:00
Lucas Berger
212d8c1691
docs(08-03): SUMMARY — harness green, 58 specs both profiles on cold CI stack
...
- Run #11 (PR #3 ): 58 passed in 1.6 min (iphone/WebKit + pixel/Chromium)
- 4 infrastructure fixes: API-reap at step boundary, IPv4-first for Vite, dev-user FK seed, reporter double-forward via pnpm
- No Phase 7 harness file modified (phase boundary D-01/D-02 held)
- Advance position to 08-04 (publish job)
2026-06-11 15:52:15 -04:00
Lucas Berger
694ffe713b
docs(08): commit phase research (was untracked)
2026-06-11 14:39:30 -04:00
Lucas Berger
78229168b9
docs(08-02): SUMMARY — PR gating jobs green on cold run
2026-06-11 14:37:32 -04:00
Lucas Berger
087d9af117
docs(08-01): SUMMARY — probe fork answers recorded, plan complete
...
- Docker-executor mode confirmed; runs-on: ubuntu-latest (not self-hosted)
- MariaDB service container works; DB_HOST=mariadb; no mysql CLI in image
- actions/cache@v4 unreliable (timeout) — skip in Plans 02/03
- Playwright WebKit deps install cleanly; Phase-7 harness CI-feasible
- ChristopherHX/gitea-upload-artifact@v4 confirmed; actions/upload-artifact@v4 broken
- ${GITHUB_SHA:0:7} valid for image tags
- STATE.md: plan 08-01 complete, position advanced to 08-02 (Wave 2)
- ROADMAP.md: 08 phase progress updated (1/4 plans complete)
2026-06-11 10:16:26 -04:00
Lucas Berger
134d4db08a
fix(08-01): probe runs-on ubuntu-latest — runner has no self-hosted label
...
runner-probe / runner-probe (push) Successful in 5m33s
The act_runner advertises ubuntu-latest/ubuntu-24.04/ubuntu-22.04; runs-on:
self-hosted matched no runner and the probe job stayed queued. Switch the
probe (and the plan key-link) to ubuntu-latest. ci.yml (Plans 02-04) must
use the same label.
2026-06-11 10:04:41 -04:00
Lucas Berger
4a510f1d79
docs: add backlog item 999.15 — desktop e2e coverage; drop from phase 8 context
2026-06-11 09:36:53 -04:00
Lucas Berger
41b0b60291
docs(08): create phase plan
2026-06-11 09:34:48 -04:00
Lucas Berger
4e474cdd9c
docs(08): create phase plan — 4 plans (runner-probe, PR jobs, harness, publish)
2026-06-11 09:26:48 -04:00
Lucas Berger
92acf02989
docs(08): add validation strategy
2026-06-11 09:16:30 -04:00
Lucas Berger
c3cee0baae
docs(08): capture phase context
2026-06-11 08:50:02 -04:00
Lucas Berger
4303a1b680
docs(07): code-review --fix complete — 5 warnings fixed, re-review status clean
2026-06-11 08:00:55 -04:00
Lucas Berger
789e87a360
docs(07): mark deep-review blockers BL-01/BL-02 resolved ( 53c3ca5); verification addendum
2026-06-11 07:39:58 -04:00
Lucas Berger
f52b722b9b
docs(07): deep code review report (2 blockers, CR-01 verified resolved)
2026-06-11 07:32:58 -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
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
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
2477741337
docs(07): capture phase context
2026-06-10 21:49:28 -04:00
Lucas Berger
581b31916b
chore: archive phase directories from completed milestones
2026-06-10 17:56:40 -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
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 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