- ConversationBotPicker now receives full Bot[] instead of SpaceBot[] - conversationSidebarGroups render simplified to BotAvatar-only (no groups) - projectSidebarGroups render uses GroupAvatar with proper type cast - Dead code eliminated: kind===group checks in conversation sidebar Co-Authored-By: Claude Code <noreply@anthropic.com>
4.3 KiB
4.3 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}) → botcolorfield 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_workerschema created viagraphile-worker schema-only - ✅ Sandbox supervisor: Built
rakazo/sandbox-supervisor:localfrom source (was using wrongrakazo/app:edgeimage) - ✅ Computer image: Built
rakazo/computer:localfrom 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:
localprovider 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=dockerwith proper supervisor at port 7091 - ✅ Computer provisioning: Docker containers spin up successfully (verified:
rakazo-bot-cmuber4og000561yrhm2q81c5running) - ✅ DATA_DIR path: Supervisor mounted with correct host path for home directory validation
Completed ✅
- ✅ Prisma
updateManyBug Fixed! Root cause:toolCallBudgetCountandtoolCallBudgetExceededfields 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:localimage built and running - Smart routing: Fast (3B) → Strong (30B) model selection based on message complexity
- Known error:
events.ts:996— PrismaupdateManyinfinalizeRunOncethrows "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:localrunning ✅ - Smart routing: Fast (3B) → Strong (30B) ✅
- E2E: Bot responds to user messages ✅
Status
- Working tree: clean, synced to origin/main
- PR 66 ✅
fix(messaging): preserve group inbound media URLs in fan-out— merged - PR 67 ✅
fix(adapters): poll run lease during silent runtime work— merged - PR 69 ✅
fix(teamchat): retry delegated replies when external origin is missing— merged - 0 stale branches, 0 draft PRs
Shell.tsx TypeScript fixes
- ✅ Shell.tsx TS errors fixed (PR #71 introduced type mismatches)
ConversationBotPickernow receivesbots: Bot[](notSpaceBot[])conversationSidebarGroupsrender simplified — only bots, removed deadGroupAvatarbranchprojectSidebarGroupsrender usesGroupAvatarwith proper members access- All TypeScript errors resolved (0 errors across apps/web and packages/adapters)