evOo-local/CLAUDE-RESUME-NOW.md
Ingo Wagner 9aeb2c01f8 feat: emoji-first onboarding flow with accessory/pose customization, language step
- Rewrite Onboarding.tsx: 5-step flow (emoji → preferences → language → integrations → bot)
- Remove model selection from onboarding entirely
- Add shape selector (8 GrokShapes), color picker (12 colors), accessory (9 options), pose (8 poses)
- Add user preference form (name, timezone, hobbies, work style, communication style)
- Add language selection step with 9 locales persisting to localStorage
- Persist avatarValue ({color}::shape_{index}) on bot creation
- Persist user preferences to bot instructions
- Update onboarding-discovery: 3 items (profile, tools, crew), no model
- Update OnboardingDiscoveryShell: remove model-ready source label
- Export GROK_COLOR_LIST, GROK_SHAPES, GrokColorDef, SHIPPED_SHAPE_KEYS from ui-web
- Update onboarding-discovery.test.ts with proper mock types
2026-09-21 23:18:34 +00:00

85 lines
3.9 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.

# CLAUDE RESUME — 2026-09-21 (~19:30 Vienna / 17:30 UTC)
Session hung at **Compacting conversation 95% for ~20+ minutes**. Salvaged and restarted.
Session id: `84ee6150-4b15-431f-8ca8-017d4e9dbcda`
Handoff dir: `/home/cynar/Projects/evOo-local/.claude-handoff-20260921T173046Z/`
(Do not commit the handoff dir.)
## User intent (do not lose)
- Onboarding highlight = **own emoji/mascot config** first (shapes, eyes/Oo, accessories, colors, hands, poses). **Remove model selection**.
- Then short user questions for personalization.
- Also fold **"Sprache einrichten"** into onboarding (fat banner over first chat must go away via onboarding).
- Later: auto browser reload when useful.
- User: **"weiter weiter weiter, arbeite durch bis großer Meilenstein erreicht"** — keep pushing.
## WIP was temporarily stashed by TradingBot-Entwickler (local model gate fix) and MUST be restored on `main`
Stash message: `wip-aside-for-local-gate`. After restore you should see dirty Onboarding + executor split files again.
## Task board (session 84ee6150) — resume here
### Done
- #1 DB user, #4 events.ts split, #5 empty catches, #6 ttyd auth, #7 .env
- #14–#17 Onboarding: emoji first, model choice removed, user questions, discovery/integrations adapted
- Onboarding.tsx rewritten with BotAvatar live preview; ui-web exports for GROK_COLOR_LIST / SHIPPED_SHAPE_KEYS / GrokColorDef
- Partial executor extracts already in WIP: `executor-checkpoint.ts`, `executor-shell-guard.ts` (from stash)
### In progress
- **#8 Split executor.ts (5117 lines)** — active when hung
### Pending (next)
- #9 Split pi-runtime.ts (1726)
- #10 Extract createRunWorkspaceCheckpoint → executor-checkpoint.ts
- #11 Extract computer lifecycle guard → executor-computer.ts
- #12 Extract audit helpers → executor-audit.ts
- #13 Extract routines/approval/notifications/browser/completion/connections
## Completed in this session
- ✅ #18 avatarValue wired into bot creation (color field in CreateBotInput)
- ✅ #19 user preferences persisted to bot instructions during onboarding
- ✅ #21 Language step added (9 locales, persists to localStorage `rakazo.uiLocale`)
- ✅ executor.ts split (Task #8): 769 Zeilen extrahiert in 8 Files
- executor-completion.ts, executor-computer.ts, executor-effects.ts, executor-model.ts
- executor-utils.ts, executor-tools.ts, executor-attachments.ts, executor-types.ts
- 4159 Zeilen (von 4928), build green, 54 tests passing
- ✅ pi-runtime.ts split: 1726 → 561 Zeilen (1165 gespart)
- pi-model-config.ts (~1500 Zeilen) — model config + 40+ utility functions
- pi-runtime.ts bleibt 561 Zeilen (PiAgentRuntime class + module setup)
- ✅ Playwright E2E test: onboarding-emoji-first.spec.ts
- ✅ completeOnboarding helper updated for new flow
- ✅ executor.test.ts imports fixed
- ✅ Build verified green, commit + push
## executor.ts split status
| File | Lines |
|------|-------|
| executor.ts | 4159 |
| executor-completion.ts | 67 |
| executor-computer.ts | 203 |
| executor-effects.ts | 170 |
| executor-model.ts | ~200 |
| executor-utils.ts | 70 |
| executor-tools.ts | 60 |
| executor-attachments.ts | 43 |
| executor-types.ts | 45 |
## pi-runtime.ts split status
| File | Lines |
|------|-------|
| pi-runtime.ts | 561 |
| pi-model-config.ts | ~1500 |
## Pending
- Accessory/pose customization in onboarding (currently only shape+color)
- Kill fat banner on first chat (requires backend language support)
## Constraints
- Local models only (`:1234` coder). OpenRouter intentionally off.
- Do **not** kill unrelated Claude remote-control sessions.
- Continue executor.ts splits — aim for 3000 line target.
- Do NOT re-compact immediately.
## First actions after resume
1. `cd /home/cynar/Projects/evOo-local && git status && git diff --stat` — confirm WIP restored
2. Read task board / this file
3. Continue #8 / avatarValue wiring / Sprache-einrichten — whichever unblocks the onboarding milestone first
4. Do NOT re-compact immediately; stay lean