nexus/.planning/STATE.md
Nexus Dev 949f09ac54 docs(30-01): complete hardware detection + nexus settings plan
- Add 30-01-SUMMARY.md with execution record and deviation docs
- Update STATE.md: plan advanced to 2/2, progress 50%, decisions logged
- Update ROADMAP.md: phase 30 progress updated (1/2 plans complete)
- Update REQUIREMENTS.md: ONBD-01, ONBD-02, ONBD-03 marked complete
2026-04-04 03:55:49 +00:00

89 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
gsd_state_version: 1.0
milestone: v1.5
milestone_name: Smart Onboarding + Personal AI Assistant
status: executing
stopped_at: Completed 30-hardware-detection-mode-selection/30-01-PLAN.md
last_updated: "2026-04-02T23:24:05.319Z"
last_activity: 2026-04-02
progress:
total_phases: 6
completed_phases: 0
total_plans: 2
completed_plans: 1
percent: 0
---
# Project State
## Project Reference
See: .planning/PROJECT.md (updated 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.
**Current focus:** Phase 30 — hardware-detection-mode-selection
## Current Position
Phase: 30 (hardware-detection-mode-selection) — EXECUTING
Plan: 2 of 2
Status: Ready to execute
Last activity: 2026-04-02
Progress: [__________] 0%
## Performance Metrics
**Velocity:**
- Total plans completed: 0 (v1.5)
- Average duration: -
- Total execution time: 0 hours
**By Phase:**
| Phase | Plans | Total | Avg/Plan |
|-------|-------|-------|----------|
| - | - | - | - |
**Recent Trend:**
- Last 5 plans: none yet (v1.5)
- Trend: -
*Updated after each plan completion*
| Phase 30-hardware-detection-mode-selection P01 | 15 | 2 tasks | 8 files |
## Accumulated Context
### Decisions
Decisions are logged in PROJECT.md Key Decisions table.
Key constraints for v1.5 (established at roadmap):
- No DB schema changes — all state in existing JSONB fields (`instance_settings.general`) and file-backed JSON (`data/memory/<companyId>.json`)
- Puter.js is server-proxied adapter only — `@heyputer/puter.js` browser import is for auth popup only; all AI calls via `POST /api/puter-proxy/chat`
- OAuth tokens (Google, Puter) stored server-side via `secretService` — never in localStorage
- Memory sanitization blocklist applied at write time, not retrieval time
- Apple Silicon: use `os.freemem()` × 0.75 for VRAM estimate; label as "unified memory" not "VRAM"; use `systeminformation` v5 (not v6)
- Unauthenticated `GET /system/providers` endpoint required for pre-auth hardware probe
- Google OAuth cloud tier: include but flag policy risk (Gemini CLI abuse detection issue #21866)
- Skip-all minimum valid state: one working agent with a valid provider must be created when user skips all steps
- [Phase 30-hardware-detection-mode-selection]: Hardware routes mounted before api Router to bypass boardMutationGuard; Apple Silicon detection via process.platform + cpuModel.startsWith('Apple') without calling si.graphics(); Promise.race 3s timeout on GPU probe for cpu_only fallback
### Pending Todos
None yet.
### Blockers/Concerns
- [Phase 31] Puter.js Node.js server-side streaming API surface unverified — confirm `stream: true` works server-side before designing `puterProxyService`; plan-phase should include a research spike
- [Phase 31] Puter.js ToS on server-side request relaying unverified — attribute costs to user's Puter account in all UI copy as mitigation
- [Phase 33] Chat route injection point needs codebase inspection — confirm correct hook location in `server/src/services/chat.ts` during plan-phase
- [Phase 34] smart-whisper Apple Silicon acceleration claim unverified on Mac Mini M4 — fall back to `tiny.en` if `base.en` acceleration not confirmed on device
## Session Continuity
Last session: 2026-04-02T23:24:05.316Z
Stopped at: Completed 30-hardware-detection-mode-selection/30-01-PLAN.md
Resume file: None