- 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
85 lines
3.9 KiB
Markdown
85 lines
3.9 KiB
Markdown
# 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
|