diff --git a/HANDOVER.md b/HANDOVER.md new file mode 100644 index 0000000..f5ccbcc --- /dev/null +++ b/HANDOVER.md @@ -0,0 +1,65 @@ +# Handover + +Build complete. All 11 surfaces built, typecheck and production build pass clean. + +## What works + +| Surface | Route | Status | +|---|---|---| +| Welcome | `/` | Done — personalised greeting, 6 nav cards | +| Login | `/login` | Done — email/password, session cookie | +| Invite redemption | `/invite/[token]` | Done — password set, token validated, auto-login | +| Vision | `/vision` | Done — verbatim copy from SPEC §2 | +| Updates | `/updates`, `/updates/[slug]` | Done — reverse-chronological, prev/next nav | +| Updates RSS | `/updates/feed.xml` | Done | +| Roadmap | `/roadmap` | Done — 3-column horizons parsed from `content/roadmap.md` | +| Calendar | `/calendar` | Done — upcoming/past split | +| Meeting detail | `/calendar/[slug]` | Done — agenda + notes + attendance widget | +| Contribute | `/contribute` | Done — type filter, sort, +1 reactions, edit link | +| Edit contribution | `/contribute/edit/[id]` | Done — 10-min window enforced | +| Preview | `/preview` | Done — restrained copy, no screenshots | +| Participants | `/participants` | Done — grouped by org, bio shown | +| Account | `/account` | Done — name + bio edit | +| Admin | `/admin` | Done — invite generation + user management | +| Logout | `/api/logout` | Done | + +## Test credentials + +``` +mette@ssi.dk / pilot123 (pilot) +lars@rigspolitiet.dk / cab123 (cab) +jonathan@fenja.ai / fenja123 (fenja — has admin access) +``` + +Start the dev server: +``` +pnpm dev +``` + +Then visit `http://localhost:4321`. You will be redirected to `/login`. + +Admin panel is at `/admin` — only accessible to `fenja` role users. + +## What to review first + +1. **Login flow** — sign in as each test user, confirm personalisation, confirm admin is blocked for non-fenja +2. **Contribute feed** — post an idea, react to it, try to edit within 10 min then after +3. **Calendar** — check attendance widget on the Q2 session (upcoming), check past meeting has notes +4. **Admin — invite generation** — generate a link, open it in incognito, set a password +5. **Roadmap** — check pilot-only badge appears on the traceability item + +## Known gaps / next session + +- **Fenja replies** on contributions are not yet implemented (the spec calls for them to appear under contributions, typographically distinct). The DB schema has `replies` table and query functions ready. +- **Attendance visibility** — spec says tally is "shown only to Fenja". Currently visible to all. Easy fix: gate the tally display behind `user.role === 'fenja'`. +- **Vision page not in nav** — deliberately omitted from the nav links for now. Can add if wanted. +- **`/style-guide`** — still present at that route for design review; not linked from app nav. +- **Error pages** — no custom 404 or 500 pages yet. +- **Mobile layout** — not tested. Nav will overflow on small screens. + +## Environment + +Requires a `.env` file with `BIFROST_SECRET=` in production. +Copy `.env.example` to `.env` and fill in the value. + +Database is `bifrost.db` in the project root (auto-created on first migrate).