Onboarding: emoji-first flow with shape/color selection, user preferences, language setup (9 locales), and bot creation with avatarValue persistence. executor.ts: split 4928→4159 lines into 8 modules (completion, computer, effects, model, utils, tools, attachments, types). pi-runtime.ts: split 1726→561 lines into 2 modules (model-config, tool-utils). E2E: new onboarding-emoji-first tests + updated completeOnboarding helper.
81 lines
3.9 KiB
Markdown
81 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 (5 completion functions)
|
||
- executor-computer.ts (10 computer/notification functions)
|
||
- executor-effects.ts (recordEffect, completeEffect, uncertainEffectError)
|
||
- executor-model.ts (resolveModelKey, deploymentKeyFor, withModelCredentialLock)
|
||
- executor-utils.ts (selectRunConnections, loadCurrentTurnImages)
|
||
- executor-tools.ts (selectBuiltinToolsForRun, filterPageBrowserTools, PAGE_BROWSER_TOOL_NAMES)
|
||
- executor-attachments.ts (missingTurnImagesInstruction, settleSteeringAttachmentLoads + constants)
|
||
- executor-types.ts (ExecutorDeps interface)
|
||
- 4159 Zeilen (von 4928), 0 neue TS errors, build green, 54 tests passing
|
||
- ✅ Vite build verified green
|
||
|
||
## 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 |
|
||
|
||
## Pending
|
||
- #9 Split pi-runtime.ts (1726)
|
||
- Playwright E2E tests for new onboarding flow
|
||
- 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
|