WIZ-8 apply transaction + Done screen #704

Merged
charles merged 2 commits from boss/679 into main 2026-05-02 00:42:40 +00:00
Collaborator

Closes #679

Atomic POST /onboarding/apply that creates agents, encrypts PATs, seeds plugin/MCP/system-prompt rows, calls the WIZ-prereq-B rename endpoint inline, installs webhooks, and marks the wizard complete. Webhook-install policy: rollback all on any failure (deletes the webhooks already created on the operator's forge before bailing). Done screen renders summary bullets + master-key backup nag with required checkbox gating the Open dashboard CTA.

Test plan

  • Smoke: full wizard end-to-end with fixture forge + 4 agents + 2 PATs (server test).
  • Failure: simulated createWebhook null on second repo rolls back the entire transaction; no DB writes; partial webhooks deleted (server test).
  • Body validation: 400 on bad JSON, reserved-name renames, pool-size out of {1,2,4} (server test).
  • Rename leg: diverged name routes through the WIZ-prereq-B endpoint (server test).
  • DoneStep: backup-checkbox gates Open dashboard; loading + error + summary states render (web test).
  • just qa clean (typecheck, lint, format, 3068 server tests + 76 web tests).
Closes #679 Atomic POST /onboarding/apply that creates agents, encrypts PATs, seeds plugin/MCP/system-prompt rows, calls the WIZ-prereq-B rename endpoint inline, installs webhooks, and marks the wizard complete. Webhook-install policy: rollback all on any failure (deletes the webhooks already created on the operator's forge before bailing). Done screen renders summary bullets + master-key backup nag with required checkbox gating the Open dashboard CTA. ## Test plan - [x] Smoke: full wizard end-to-end with fixture forge + 4 agents + 2 PATs (server test). - [x] Failure: simulated createWebhook null on second repo rolls back the entire transaction; no DB writes; partial webhooks deleted (server test). - [x] Body validation: 400 on bad JSON, reserved-name renames, pool-size out of {1,2,4} (server test). - [x] Rename leg: diverged name routes through the WIZ-prereq-B endpoint (server test). - [x] DoneStep: backup-checkbox gates Open dashboard; loading + error + summary states render (web test). - [x] just qa clean (typecheck, lint, format, 3068 server tests + 76 web tests).
feat(onboarding): WIZ-8 apply transaction + Done screen
All checks were successful
qa / dockerfile (pull_request) Successful in 4s
qa / qa (pull_request) Successful in 2m2s
302e7e9bb9
Closes #679

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
reviewer left a comment

behavior apps/server/src/http/handlers/onboarding-apply.ts, system_prompt insert (~line 1225 in diff)

.get(item.typeName, appendixBody, appendixBody, now) passes the body text for both the short and template columns. short should be the title (item.name). Fix:

.get(item.typeName, item.name, appendixBody, now)

CI green, all other AC met.

**behavior** `apps/server/src/http/handlers/onboarding-apply.ts`, system_prompt insert (~line 1225 in diff) `.get(item.typeName, appendixBody, appendixBody, now)` passes the body text for both the `short` and `template` columns. `short` should be the title (`item.name`). Fix: ```ts .get(item.typeName, item.name, appendixBody, now) ``` CI green, all other AC met.
fix(onboarding): system_prompt insert binds title to short, body to template
All checks were successful
qa / dockerfile (pull_request) Successful in 5s
qa / qa (pull_request) Successful in 2m31s
12311b8da6
Reviewer flag on PR #704: the system_prompt insert in
`onboarding-apply.ts` passed the body text for both the `short` and
`template` columns. `short` should hold the appendix title.

Bind `item.name` (title) to `short` and `appendixBody` to `template`.
9/9 onboarding-apply tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator

Reviewer's short / template swap fixed in 12311b8 — now binds item.name to short and appendixBody to template. 9/9 onboarding-apply.test.ts pass.

Reviewer's `short` / `template` swap fixed in 12311b8 — now binds `item.name` to `short` and `appendixBody` to `template`. 9/9 `onboarding-apply.test.ts` pass.
charles deleted branch boss/679 2026-05-02 00:42:40 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
4 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!704
No description provided.