# Requirements: Nexus v1.5 — Smart Onboarding + Personal AI Assistant **Defined:** 2026-04-02 **Core Value:** A fresh onboard asks for ONE thing (root directory), auto-creates PM + Engineer agents, and drops you in the dashboard. ## v1.5 Requirements ### Onboarding - [x] **ONBD-01**: User can select mode (Personal AI Assistant / Project Builder / Both) during onboarding - [x] **ONBD-02**: System auto-detects GPU, RAM, and Apple Silicon unified memory within 5 seconds - [x] **ONBD-03**: System recommends best local model from pre-built JSON database based on detected hardware - [ ] **ONBD-04**: User can skip any onboarding step without blocking subsequent steps - [ ] **ONBD-05**: User sees summary screen showing configured providers and agent-model pairings - [ ] **ONBD-06**: User can go from summary screen directly into chat with one click - [x] **ONBD-07**: Local AI framed as privacy premium ("runs entirely on your machine, no accounts, works offline") ### Cloud Providers - [x] **CLOUD-01**: User gets working AI via Puter.js with zero API keys and no sign-up required - [x] **CLOUD-02**: Puter.js integrated as server-proxied adapter (not browser-direct) with full cost tracking - [x] **CLOUD-03**: User can sign in via Google OAuth to access Gemini free tier - [x] **CLOUD-04**: System auto-detects installed tools (Hermes, Claude Code, OpenClaw) and pre-fills configuration - [x] **CLOUD-05**: User can enter API keys for subscription providers during onboarding ### Voice - [ ] **VOICE-01**: User gets Piper TTS speech output that works on CPU-only hardware - [ ] **VOICE-02**: Piper TTS pre-warms on first use with visible download progress (no silent 15-30s hang) - [ ] **VOICE-03**: Voice features (Whisper STT + Piper TTS) offered during onboarding based on hardware capability ### Personal AI Assistant - [ ] **ASST-01**: User has persistent memory across chat sessions (summary-based, injected into system prompts) - [ ] **ASST-02**: Memory content sanitized at write time to prevent prompt injection - [ ] **ASST-03**: User can hand off an assistant conversation to a PM agent with one click, transferring context - [ ] **ASST-04**: Assistant and Project Builder modes work standalone or together ### CLI - [ ] **CLI-01**: User can run `npx buildthis` to bootstrap Nexus from scratch - [ ] **CLI-02**: CLI bootstrapper detects hardware and walks through the same provider tiering as web onboarding ## Future Requirements ### Cloud - **CLOUD-F01**: OpenAI OAuth free tier (unstable API, defer to v2+) ### Assistant - **ASST-F01**: MCP connections for assistant mode ### Voice - **VOICE-F01**: Server-side TTS fallback for headless mode ## Out of Scope | Feature | Reason | |---------|--------| | OpenAI OAuth | Endpoint specifics unstable, low confidence on free tier details | | MCP tool connections | Complexity too high for v1.5; assistant works without it | | Server-side Piper TTS | Browser WASM sufficient; headless is edge case | | DB schema changes | Upstream sync constraint — all state in existing JSONB/files | | Vector database for memory | Summary-based approach sufficient; no infra overhead | ## Traceability | Requirement | Phase | Status | |-------------|-------|--------| | ONBD-01 | Phase 30 | Complete | | ONBD-02 | Phase 30 | Complete | | ONBD-03 | Phase 30 | Complete | | ONBD-07 | Phase 30 | Complete | | CLOUD-01 | Phase 31 | Complete | | CLOUD-02 | Phase 31 | Complete | | CLOUD-03 | Phase 31 | Complete | | CLOUD-04 | Phase 31 | Complete | | CLOUD-05 | Phase 31 | Complete | | ONBD-04 | Phase 32 | Pending | | ONBD-05 | Phase 32 | Pending | | ONBD-06 | Phase 32 | Pending | | ASST-01 | Phase 33 | Pending | | ASST-02 | Phase 33 | Pending | | ASST-03 | Phase 33 | Pending | | ASST-04 | Phase 33 | Pending | | VOICE-01 | Phase 34 | Pending | | VOICE-02 | Phase 34 | Pending | | VOICE-03 | Phase 34 | Pending | | CLI-01 | Phase 35 | Pending | | CLI-02 | Phase 35 | Pending | **Coverage:** - v1.5 requirements: 21 total - Mapped to phases: 21 - Unmapped: 0 ✓ --- *Requirements defined: 2026-04-02* *Last updated: 2026-04-02 after roadmap created (phases 30-35)*