diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index eaeaf3cf..6cea3a5a 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,59 +1,101 @@ -# Requirements — Milestone v1.4: Hermes Default Provider +# Requirements: Nexus v1.5 — Smart Onboarding + Personal AI Assistant -## Hermes Integration (7) +**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. -- [x] **HERM-01** — Hermes adapter is installed, enabled, and appears in the "Add Agent" dropdown -- [x] **HERM-02** — User can create a Hermes agent with config options (model selection, tool permissions) -- [x] **HERM-03** — Heartbeat execution spawns `hermes chat -q`, processes task, returns result -- [x] **HERM-04** — Session persistence works across heartbeats via `--resume` flag -- [x] **HERM-05** — Nexus-managed skills are visible alongside Hermes native skills in agent config -- [x] **HERM-06** — Cost tracking captures token usage and model costs for Hermes agents -- [x] **HERM-07** — Dashboard shows Hermes-specific info (model name, memory usage, native skill count) +## v1.5 Requirements -## Ollama Integration (5) +### Onboarding -- [x] **OLLA-01** — Nexus detects whether Ollama is installed locally -- [x] **OLLA-02** — User can see a list of available Ollama models when configuring a Hermes agent -- [x] **OLLA-03** — User can configure a Hermes agent with any local Ollama model -- [x] **OLLA-04** — Model recommendation based on RAM/VRAM from a shipped catalog -- [x] **OLLA-05** — If Ollama is not present, user is offered installation instructions +- [ ] **ONBD-01**: User can select mode (Personal AI Assistant / Project Builder / Both) during onboarding +- [ ] **ONBD-02**: System auto-detects GPU, RAM, and Apple Silicon unified memory within 5 seconds +- [ ] **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 +- [ ] **ONBD-07**: Local AI framed as privacy premium ("runs entirely on your machine, no accounts, works offline") -## Default Provider Logic (4) +### Cloud Providers -- [x] **DFLT-01** — If no cloud provider (Claude Code, etc.) is detected, Hermes + Ollama is offered as default during onboarding -- [x] **DFLT-02** — Default agent templates (PM, Engineer, Generalist) work correctly with Hermes runtime -- [x] **DFLT-03** — GSD workflow functions correctly with Hermes as the agent runtime -- [x] **DFLT-04** — Fresh install with only Hermes + Ollama works end-to-end (no paid subscription or API key required) +- [ ] **CLOUD-01**: User gets working AI via Puter.js with zero API keys and no sign-up required +- [ ] **CLOUD-02**: Puter.js integrated as server-proxied adapter (not browser-direct) with full cost tracking +- [ ] **CLOUD-03**: User can sign in via Google OAuth to access Gemini free tier +- [ ] **CLOUD-04**: System auto-detects installed tools (Hermes, Claude Code, OpenClaw) and pre-fills configuration +- [ ] **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 -None deferred — all PRD items included in this milestone. +### 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 -- Multi-provider model routing (Hermes can use OpenRouter/Anthropic/OpenAI but that's Hermes config, not Nexus) -- Hermes MCP server management (Hermes handles its own MCP connections) -- Custom Hermes skill authoring UI (skills are file-based, not GUI-managed) +| 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 | |-------------|-------|--------| -| HERM-01 | Phase 27 | Complete | -| HERM-02 | Phase 27 | Complete | -| HERM-03 | Phase 27 | Complete | -| HERM-04 | Phase 27 | Complete | -| HERM-05 | Phase 28 | Complete | -| HERM-06 | Phase 28 | Complete | -| HERM-07 | Phase 28 | Complete | -| OLLA-01 | Phase 28 | Complete | -| OLLA-02 | Phase 28 | Complete | -| OLLA-03 | Phase 28 | Complete | -| OLLA-04 | Phase 28 | Complete | -| OLLA-05 | Phase 28 | Complete | -| DFLT-01 | Phase 29 | Complete | -| DFLT-02 | Phase 29 | Complete | -| DFLT-03 | Phase 29 | Complete | -| DFLT-04 | Phase 29 | Complete | +| ONBD-01 | — | Pending | +| ONBD-02 | — | Pending | +| ONBD-03 | — | Pending | +| ONBD-04 | — | Pending | +| ONBD-05 | — | Pending | +| ONBD-06 | — | Pending | +| ONBD-07 | — | Pending | +| CLOUD-01 | — | Pending | +| CLOUD-02 | — | Pending | +| CLOUD-03 | — | Pending | +| CLOUD-04 | — | Pending | +| CLOUD-05 | — | Pending | +| VOICE-01 | — | Pending | +| VOICE-02 | — | Pending | +| VOICE-03 | — | Pending | +| ASST-01 | — | Pending | +| ASST-02 | — | Pending | +| ASST-03 | — | Pending | +| ASST-04 | — | Pending | +| CLI-01 | — | Pending | +| CLI-02 | — | Pending | + +**Coverage:** +- v1.5 requirements: 21 total +- Mapped to phases: 0 +- Unmapped: 21 ⚠️ + +--- +*Requirements defined: 2026-04-02* +*Last updated: 2026-04-02 after initial definition*