87 lines
3.1 KiB
Markdown
87 lines
3.1 KiB
Markdown
---
|
||
gsd_state_version: 1.0
|
||
milestone: v1.5
|
||
milestone_name: Smart Onboarding + Personal AI Assistant
|
||
status: planning
|
||
stopped_at: null
|
||
last_updated: "2026-04-02T18:00:00.000Z"
|
||
last_activity: 2026-04-02
|
||
progress:
|
||
total_phases: 6
|
||
completed_phases: 0
|
||
total_plans: 0
|
||
completed_plans: 0
|
||
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 (ready to plan)
|
||
|
||
## Current Position
|
||
|
||
Phase: 30 of 35 (Hardware Detection + Mode Selection)
|
||
Plan: — (not yet planned)
|
||
Status: Ready to plan
|
||
Last activity: 2026-04-02 — v1.5 roadmap created; 21 requirements mapped across 6 phases (30-35)
|
||
|
||
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*
|
||
|
||
## 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
|
||
|
||
### 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-02T18:00:00.000Z
|
||
Stopped at: Roadmap created — v1.5 phases 30-35 defined and written to ROADMAP.md
|
||
Resume file: None
|