docs: mark Phase 0 shipped in roadmap, note remaining M0 items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-15 08:53:56 +00:00
parent 3123cb73fb
commit 888f8b9a99

View File

@@ -69,17 +69,18 @@ docs/ architecture, adr, api
## Roadmap ## Roadmap
### Phase 0 — Walking skeleton *(M0)* ### Phase 0 — Walking skeleton *(M0)* ✓ shipped
Goal: a single user signs in with Google, connects Todoist, and sees one random Todoist task on a black page. Deletion works. Goal: a single user signs in with Google, connects Todoist, and sees one random Todoist task on a black page. Deletion works.
- [ ] Monorepo scaffold, CI skeleton, docker-compose dev env with `core`/`full` profiles - [x] Monorepo scaffold, docker-compose dev env
- [ ] `auth` on Auth.js with Google provider; OIDC-shaped boundary (ADR-0004) - [x] `auth` — Google OAuth2/PKCE via openid-client v6; session cookie; Next.js middleware guard
- [ ] `integrations/todoist` OAuth2 flow + encrypted token vault + provider-side revocation - [x] `integrations/todoist` OAuth2 flow, token stored in DB, disconnect supported
- [ ] `recommender` with `RandomPolicy`; stable `POST /recommend` contract - [x] `recommender` with `RandomPolicy`; stable `POST /recommend` contract; 30s task cache
- [ ] `apps/web`three pages (sign-in, connect, tip); PWA manifest; offline reaction queue - [x] `apps/web` — sign-in, connect, tip pages; PWA manifest + icons
- [x] Feedback endpoint (done/dismiss/snooze); marks task complete in Todoist
- [x] Deploy modular monolith to Agap VM via Caddy at `o.alogins.net`
- [ ] ToS + Privacy Policy + consent capture on first sign-in - [ ] ToS + Privacy Policy + consent capture on first sign-in
- [ ] Account-deletion endpoint: revokes providers, purges credentials, soft-deletes profile - [ ] Account-deletion endpoint: revokes providers, purges credentials, soft-deletes profile
- [ ] Metrics baseline: activation, first-tip reaction rate, dwell, retention (see `docs/architecture/metrics.md`) - [ ] Metrics baseline: activation, first-tip reaction rate, dwell, retention
- [ ] Deploy modular monolith + `ml/serving` stub to a single VM via docker-compose + Caddy
### Phase 1 — Real signal + in-the-moment delivery *(M1)* ### Phase 1 — Real signal + in-the-moment delivery *(M1)*
Goal: tips are picked, not drawn from a hat — and they arrive at the right moment on the web. Goal: tips are picked, not drawn from a hat — and they arrive at the right moment on the web.