- 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
3.9 KiB
3.9 KiB
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 (
:1234coder). 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
cd /home/cynar/Projects/evOo-local && git status && git diff --stat— confirm WIP restored- Read task board / this file
- Continue #8 / avatarValue wiring / Sprache-einrichten — whichever unblocks the onboarding milestone first
- Do NOT re-compact immediately; stay lean