From 41b0b6029125aadf18b48ed63e9927dc7192fffc Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Thu, 11 Jun 2026 09:34:48 -0400 Subject: [PATCH] docs(08): create phase plan --- .planning/ROADMAP.md | 15 +++++++++++++-- .planning/STATE.md | 10 +++++----- .planning/phases/08-gitea-ci/08-CONTEXT.md | 2 +- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index f63c6d7..796520e 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -94,12 +94,23 @@ Make FamilySync configurable, administrable, and maintainable for real multi-mem - **--password-stdin** (Pitfall 13): `docker login` via `--password-stdin` with the token piped from a registered Gitea secret (PAT with `write:package`); never `-p $TOKEN` on the command line. - Hard constraints: API integration tests need a real MariaDB and live in `apps/api/tests/` (never `src/`); cache the pnpm store; Drizzle generate+migrate to set up the CI DB schema; the harness step reuses the Phase 7 specs unchanged (CI owns only the stack bring-up + readiness wait, not the spec content). -**Plans**: 4 plans (4 waves) -Plans: +**Plans**: 4 plans (4 waves)Plans: +**Wave 1** + - [ ] 08-01-PLAN.md — Runner probe + operator runner/PAT registration (W0; answers the Docker-vs-host fork) + +**Wave 2** *(blocked on Wave 1 completion)* + - [ ] 08-02-PLAN.md — ci.yml: fast-checks (lint/typecheck/PWA unit) + API job (MariaDB service + migrate + DB-backed tests) + +**Wave 3** *(blocked on Wave 2 completion)* + - [ ] 08-03-PLAN.md — ci.yml: harness job (dev-stack bring-up + readiness waits + Phase 7 Playwright specs, both profiles) + +**Wave 4** *(blocked on Wave 3 completion)* + - [ ] 08-04-PLAN.md — ci.yml: publish job (build production image + push :latest + :v1.1- via --password-stdin) + **UI hint**: yes ### Phase 9: Faster Write-Back diff --git a/.planning/STATE.md b/.planning/STATE.md index 1b0181d..14cac80 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -2,10 +2,10 @@ gsd_state_version: 1.0 milestone: v1.1 milestone_name: Operability & Polish -status: verifying +status: executing stopped_at: Phase 8 context gathered -last_updated: "2026-06-11T12:50:02.415Z" -last_activity: 2026-06-11 +last_updated: "2026-06-11T13:34:48.221Z" +last_activity: 2026-06-11 -- Phase 08 planning complete progress: total_phases: 14 completed_phases: 1 @@ -27,8 +27,8 @@ See: .planning/PROJECT.md (updated 2026-06-10) Phase: 8 Plan: Not started -Status: Phase complete — ready for verification -Last activity: 2026-06-11 +Status: Ready to execute +Last activity: 2026-06-11 -- Phase 08 planning complete ## Performance Metrics diff --git a/.planning/phases/08-gitea-ci/08-CONTEXT.md b/.planning/phases/08-gitea-ci/08-CONTEXT.md index 185283c..a6b351b 100644 --- a/.planning/phases/08-gitea-ci/08-CONTEXT.md +++ b/.planning/phases/08-gitea-ci/08-CONTEXT.md @@ -102,7 +102,7 @@ This phase owns only the CI plumbing: workflow files, dev-stack bring-up + readi ## Deferred Ideas - **ROADMAP status fix:** ROADMAP.md line 29 marks Phase 8 "completed 2026-06-11" while line 204 says "Not started" and no Phase 8 artifacts exist. This is a bookkeeping error to correct (Phase 8 is being started now) — a docs/roadmap cleanup, not Phase 8 scope. -- None other — discussion stayed within phase scope. +- **Desktop e2e coverage (decided 2026-06-11):** The Phase 7 harness defines only mobile profiles (`iphone`/WebKit + `pixel`/Chromium), so Phase 8 CI gates **mobile only**. Desktop validation is wanted but deferred to a **dedicated harness follow-up phase** — it requires editing `apps/pwa/playwright.config.ts` to add a Desktop profile **and** a spec-compat pass (the existing specs assume touch + mobile viewport/layout). Phase 8 deliberately reuses the Phase 7 harness unchanged; CI will pick up the desktop profile automatically via `pnpm test:e2e` once the follow-up adds it. Track as a backlog phase.