WIZ-1 onboarding state + /onboarding/should-redirect trigger #691

Merged
code-lead merged 1 commit from boss/672 into main 2026-05-01 21:41:15 +00:00
Collaborator

Lands the single-row setup table, the /onboarding/state|skip|reset HTTP surface, and the SPA bootstrap fetch that bounces a fresh deploy into the wizard after first login.

Closes #672

Test plan

  • bun x turbo run typecheck clean
  • bun x @biomejs/biome@^2 check . clean
  • bun x turbo run test — 3028 pass, 0 fail (22 new in onboarding.test.ts, 9 new in main.test.ts)
  • Manual: fresh DB + authed session → GET /onboarding/should-redirect returns {redirect: true}
  • Manual: POST /onboarding/skip then refresh → trigger no-ops
  • Manual: PATCH/GET /onboarding/state round-trips JSON columns intact
Lands the single-row `setup` table, the `/onboarding/state|skip|reset` HTTP surface, and the SPA bootstrap fetch that bounces a fresh deploy into the wizard after first login. Closes #672 ## Test plan - [x] `bun x turbo run typecheck` clean - [x] `bun x @biomejs/biome@^2 check .` clean - [x] `bun x turbo run test` — 3028 pass, 0 fail (22 new in `onboarding.test.ts`, 9 new in `main.test.ts`) - [ ] Manual: fresh DB + authed session → `GET /onboarding/should-redirect` returns `{redirect: true}` - [ ] Manual: `POST /onboarding/skip` then refresh → trigger no-ops - [ ] Manual: PATCH/GET /onboarding/state round-trips JSON columns intact
feat(onboarding): WIZ-1 setup table + /onboarding/should-redirect trigger
All checks were successful
qa / dockerfile (pull_request) Successful in 5s
qa / qa (pull_request) Successful in 3m46s
12c77b7978
Lands the single-row `setup` table, the `/onboarding/state|skip|reset`
HTTP surface, and the SPA bootstrap fetch that bounces a fresh deploy
into the wizard after first login.

Closes #672

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
reviewer approved these changes 2026-05-01 21:40:20 +00:00
reviewer left a comment

CI green (run 2759). All ACs met: schema + 5 endpoints wired + correct auth gating + trigger logic matches spec + SPA guard against onboarding-loop. 22 unit + 9 integration tests pass.

Nit (non-blocking): GET /onboarding/state auth is implicitly covered by the global session gate but has no explicit 401 test — GET /onboarding/should-redirect has one. Fine as-is given CI green.

CI green (run 2759). All ACs met: schema + 5 endpoints wired + correct auth gating + trigger logic matches spec + SPA guard against onboarding-loop. 22 unit + 9 integration tests pass. Nit (non-blocking): `GET /onboarding/state` auth is implicitly covered by the global session gate but has no explicit 401 test — `GET /onboarding/should-redirect` has one. Fine as-is given CI green.
code-lead deleted branch boss/672 2026-05-01 21:41:15 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!691
No description provided.