nexus/.planning/phases/31-puter.js-zero-config-cloud/31-04-PLAN.md

4.8 KiB

phase plan type wave depends_on files_modified autonomous requirements must_haves
31-puter.js-zero-config-cloud 04 execute 3
31-02
31-03
false
CLOUD-01
CLOUD-02
CLOUD-03
CLOUD-04
CLOUD-05
truths
Complete onboarding flow works end-to-end with Puter provider path
Google OAuth risk warning is prominently visible before sign-in button enables
API key entry form accepts and stores keys for subscription providers
Skip for now creates a working workspace with detected adapter
No provider tokens or API keys appear in browser localStorage or sessionStorage (verify via DevTools Application tab)
Human verification of the complete provider selection flow. All implementation work is done in Plans 01-03 (including the /claim endpoint in Plan 02). This plan is purely visual/functional verification.

Purpose: Final functional verification of all CLOUD requirements. Output: Human verification of full onboarding wizard

<execution_context> @/home/mikkel/.claude/get-shit-done/workflows/execute-plan.md @/home/mikkel/.claude/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/phases/31-puter.js-zero-config-cloud/31-01-SUMMARY.md @.planning/phases/31-puter.js-zero-config-cloud/31-02-SUMMARY.md @.planning/phases/31-puter.js-zero-config-cloud/31-03-SUMMARY.md Task 1: Visual and functional verification of onboarding wizard none — verification only Present the following verification checklist to the user. All implementation is complete from Plans 01-03.
What was built:
- Complete 4-step onboarding wizard with provider selection
- Step 1: Hardware detection (unchanged from Phase 30)
- Step 2: Mode selection (unchanged from Phase 30)
- Step 3: Provider selection (NEW) with Puter, Google, and API Key options
- Step 4: Root directory (unchanged)
- Server-side Puter proxy, Google OAuth with pendingTokens/claim pattern, API key storage, cost tracking

How to verify:
1. Start Nexus dev server: `cd /opt/nexus && pnpm dev`
2. Open browser to localhost:3100 in an incognito window (fresh state)
3. The onboarding wizard should open automatically
4. Verify step indicator shows "Step 1 of 4"
5. Click Continue through Step 1 (hardware) and Step 2 (mode)
6. On Step 3 ("Choose a provider"):
   a. Verify three provider cards are visible (Puter, Google, API Key)
   b. Verify "Skip for now" button is visible below cards
   c. Click the Puter card — verify it gets the selected border highlight
   d. Verify "Continue with Puter" button appears
   e. Click the Google card — verify policy risk warning appears with red/amber text
   f. Verify "Sign in with Google" button is disabled for ~3 seconds
   g. Click the API key card — verify inline form with provider dropdown and key input appears
   h. If any adapters are detected (Hermes, Claude Code), verify "detected" badges appear
   i. Click "Skip for now" to advance to Step 4
7. On Step 4: verify root directory form appears, enter a path, click "Get Started"
8. Verify workspace is created and you reach the dashboard
9. Open DevTools > Application tab > Local Storage and Session Storage — verify NO provider tokens or API keys are stored there
10. (Optional) If you have a Puter.com account: repeat flow, select Puter, click "Continue with Puter", verify popup opens

Resume signal: Type "approved" or describe issues to fix.
echo "checkpoint:human-verify — requires manual approval" Human approves that all 5 CLOUD requirements work end-to-end in the onboarding wizard, no credentials in browser storage - Full onboarding wizard flow works end-to-end - All 5 CLOUD requirements are addressed: - CLOUD-01: Puter zero-config path (popup -> token in React state -> post to server after company creation) - CLOUD-02: Server-proxied adapter with cost tracking (agentId optional for pre-agent calls) - CLOUD-03: Google OAuth PKCE with risk warning (pendingTokens/claim pattern) - CLOUD-04: Auto-detected tools show badges - CLOUD-05: API key entry for subscription providers

<success_criteria>

  • Human approves the visual and functional verification
  • 4-step wizard works with all provider paths
  • No console errors in browser
  • Server logs show no unhandled exceptions
  • No credentials in browser storage (all server-side) </success_criteria>
After completion, create `.planning/phases/31-puter.js-zero-config-cloud/31-04-SUMMARY.md`