108 lines
4.8 KiB
Markdown
108 lines
4.8 KiB
Markdown
---
|
|
phase: 31-puter.js-zero-config-cloud
|
|
plan: "04"
|
|
type: execute
|
|
wave: 3
|
|
depends_on: ["31-02", "31-03"]
|
|
files_modified: []
|
|
autonomous: false
|
|
requirements: [CLOUD-01, CLOUD-02, CLOUD-03, CLOUD-04, CLOUD-05]
|
|
|
|
must_haves:
|
|
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)"
|
|
---
|
|
|
|
<objective>
|
|
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
|
|
</objective>
|
|
|
|
<execution_context>
|
|
@/home/mikkel/.claude/get-shit-done/workflows/execute-plan.md
|
|
@/home/mikkel/.claude/get-shit-done/templates/summary.md
|
|
</execution_context>
|
|
|
|
<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
|
|
</context>
|
|
|
|
<tasks>
|
|
|
|
<task type="checkpoint:human-verify" gate="blocking">
|
|
<name>Task 1: Visual and functional verification of onboarding wizard</name>
|
|
<files>none — verification only</files>
|
|
<action>
|
|
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.
|
|
</action>
|
|
<verify>
|
|
<automated>echo "checkpoint:human-verify — requires manual approval"</automated>
|
|
</verify>
|
|
<done>Human approves that all 5 CLOUD requirements work end-to-end in the onboarding wizard, no credentials in browser storage</done>
|
|
</task>
|
|
|
|
</tasks>
|
|
|
|
<verification>
|
|
- 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
|
|
</verification>
|
|
|
|
<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>
|
|
|
|
<output>
|
|
After completion, create `.planning/phases/31-puter.js-zero-config-cloud/31-04-SUMMARY.md`
|
|
</output>
|