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:
17
README.md
17
README.md
@@ -69,17 +69,18 @@ docs/ architecture, adr, api
|
||||
|
||||
## 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.
|
||||
- [ ] Monorepo scaffold, CI skeleton, docker-compose dev env with `core`/`full` profiles
|
||||
- [ ] `auth` on Auth.js with Google provider; OIDC-shaped boundary (ADR-0004)
|
||||
- [ ] `integrations/todoist` OAuth2 flow + encrypted token vault + provider-side revocation
|
||||
- [ ] `recommender` with `RandomPolicy`; stable `POST /recommend` contract
|
||||
- [ ] `apps/web` — three pages (sign-in, connect, tip); PWA manifest; offline reaction queue
|
||||
- [x] Monorepo scaffold, docker-compose dev env
|
||||
- [x] `auth` — Google OAuth2/PKCE via openid-client v6; session cookie; Next.js middleware guard
|
||||
- [x] `integrations/todoist` — OAuth2 flow, token stored in DB, disconnect supported
|
||||
- [x] `recommender` with `RandomPolicy`; stable `POST /recommend` contract; 30s task cache
|
||||
- [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
|
||||
- [ ] Account-deletion endpoint: revokes providers, purges credentials, soft-deletes profile
|
||||
- [ ] Metrics baseline: activation, first-tip reaction rate, dwell, retention (see `docs/architecture/metrics.md`)
|
||||
- [ ] Deploy modular monolith + `ml/serving` stub to a single VM via docker-compose + Caddy
|
||||
- [ ] Metrics baseline: activation, first-tip reaction rate, dwell, retention
|
||||
|
||||
### 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.
|
||||
|
||||
Reference in New Issue
Block a user