evOo-local/CLAUDE-RESUME-NOW.md
Ingo Wagner a570e9e71b feat: complete onboarding redesign + major file splits
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.
2026-09-21 22:52:04 +00:00

3.9 KiB
Raw Permalink Blame History

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