evOo-local/CLAUDE-RESUME-NOW.md

3.6 KiB

CLAUDE RESUME — 2026-09-22 (~10:00 Vienna)

Completed ✅

  • ✅ Emoji-first Onboarding.tsx (5 steps: emoji → preferences → language → integrations → bot)
    • Shape selector (8 shapes), Color picker (12 GrokColors), Accessory (9), Pose (8)
    • User preferences (name, timezone, hobbies, work style, communication)
    • Language step (9 locales → localStorage rakazo.uiLocale)
    • avatarValue ({color}::shape_{index}) → bot color field on create
    • Bot instructions enriched with user context
  • ✅ onboarding-discovery.ts, OnboardingDiscoveryShell.tsx updated
  • ✅ ui-web exports: GROK_COLOR_LIST, SHIPPED_SHAPE_KEYS, GrokColorDef, GROK_SHAPES
  • ✅ executor.ts split: 4697 → 4231 lines (18 module files)
  • ✅ pi-runtime.ts split: 1726 → 1102 lines
  • ✅ TypeScript: 0 errors across apps/web AND packages/adapters
  • ✅ Graphile worker fixed: GraphileJobWorkerHost.start() now called in app.ts (was never started for graphile jobs, only for in-memory)
  • ✅ Graphile schema: graphile_worker schema created via graphile-worker schema-only
  • ✅ Sandbox supervisor: Built rakazo/sandbox-supervisor:local from source (was using wrong rakazo/app:edge image)
  • ✅ Computer image: Built rakazo/computer:local from source
  • ✅ Smart model routing: estimateMessageComplexity() + resolveSmartModelSelection() implemented
    • Fast model (3B) for short messages (<80 chars)
    • Strong model (30B) for complex/long messages (>500 chars)
    • Medium routing for keyword-based detection
  • ✅ Model credential: local provider connected with empty apiKey allowed
  • ✅ PRs merged: All PRs 36-58 merged to main, stale branches cleaned

Infrastructure fixes

  • ✅ GraphileJobWorkerHost: Added else if (jobPool) branch in app.ts to start the worker
  • ✅ Sandbox provider: SANDBOX_PROVIDER=docker with proper supervisor at port 7091
  • ✅ Computer provisioning: Docker containers spin up successfully (verified: rakazo-bot-cmuber4og000561yrhm2q81c5 running)
  • ✅ DATA_DIR path: Supervisor mounted with correct host path for home directory validation

Completed ✅

  • ✅ Prisma updateMany Bug Fixed! Root cause: toolCallBudgetCount and toolCallBudgetExceeded fields missing from Run model in Prisma schema. Added to schema.prisma, migrated DB, regenerated Prisma client. Runs now complete successfully.
  • ✅ E2E Flow VERIFIED! Bot responds end-to-end:
    • User: "Hello! Can you hear me?"
    • Bot: "I'm here! It looks like we've been going back and forth a bit — but yes, I can definitely hear you. How can I help? 😊"
    • Full pipeline: Message → Graphile job → Worker → Computer provision → Model call → Response → Run completed

Architektur-Status

  • API: Port 3100, Graphile worker active, consuming jobs
  • Sandbox supervisor: Port 7091, rakazo/sandbox-supervisor:local, DATA_DIR mounted correctly
  • Computer: rakazo/computer:local image built and running
  • Smart routing: Fast (3B) → Strong (30B) model selection based on message complexity
  • Known error: events.ts:996 — Prisma updateMany in finalizeRunOnce throws "Invalid invocation" despite all fields existing in schema

Architektur-Status

  • API: Port 3100, Graphile worker active ✅
  • Sandbox supervisor: Port 7091, rakazo/sandbox-supervisor:local ✅
  • Computer: rakazo/computer:local running ✅
  • Smart routing: Fast (3B) → Strong (30B) ✅
  • E2E: Bot responds to user messages ✅

Status

  • Working tree: clean (Prisma fix + E2E update committed + pushed)
  • 3 draft PRs (66, 67, 69) — messaging, adapters, teamchat fixes
  • 0 stale branches