Repository navigation
Add server-side orchestration engine with event sourcing - #89
Merged
Merged
Conversation
Move state management from client to server using an event-sourced architecture: - Add SQLite-backed event store with append-only event log - Add orchestration engine with command queue, reducer, and read model - Add Effect-based PubSub for real-time read model updates to clients - Define orchestration schemas in contracts (commands, events, read model) - Simplify client-side store by removing persistence layer - Remove obsolete client-side persistence tests Co-Authored-By: Claude Opus 4.5 <[email protected]>
Summary
Architecture: Core Data Flow
Core Flow Notes
Service Modules and Responsibilities
packages/contracts/src/orchestration.tsapps/server/src/orchestration/engine.tsapps/server/src/orchestration/eventStore.tsapps/server/src/orchestration/reducer.tsapps/server/src/orchestration/uiContractInventory.tsapps/server/src/wsServer.tsapps/server/src/providerManager.tsapps/server/src/gitManager.tsapps/server/src/projectRegistry.tsapps/web/src/wsNativeApi.tsapps/web/src/store.tsSYNC_SERVER_READ_MODEL).apps/web/src/routes/__root.tsxTest plan
🤖 Generated with Claude Code
Note
Medium Risk
Adds new Effect-native Git checkpointing, diff computation, and end-to-end orchestration/provider integration tests; changes touch persistence/runtime wiring and WebSocket robustness, which can affect core server behavior if misconfigured.
Overview
Adds an Effect-native checkpointing stack: a new
CheckpointStoreLivethat captures/restores/diffs checkpoints via Git refs, plus aCheckpointDiffQueryLiveservice that validates projection state + filesystem refs before servingorchestration.getTurnDiffresults.Introduces diff parsing utilities (
parseTurnDiffFilesFromUnifiedDiff) and expands server/integration coverage with a deterministic provider adapter harness and full end-to-end orchestration engine tests that exercise turns, approvals, checkpoint capture/diffing, and revert behavior against real git workspaces + sqlite.Updates tooling/docs and build wiring: CI now reads Bun/Node versions from
package.json, server build switches bundling script to TS, adds Effect/SQLite/diff dependencies and Vitest setup, tightens desktop preload typing viaDesktopBridge, and tweaks docs to reflect orchestration push channel usage and remove deprecated provider RPC mentions.Written by Cursor Bugbot for commit 742e127. This will update automatically on new commits. Configure here.
Summary by CodeRabbit
Release Notes
New Features
Removals
Dependencies