You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -202,12 +202,16 @@ When the user asks to track something in a note, store it in `.agent/notes/` by
202
202
203
203
## Architecture
204
204
205
+
### Deprecated Packages
206
+
-`engine/packages/pegboard-runner/` and associated TypeScript "runner" packages (`engine/sdks/typescript/runner`, `rivetkit-typescript/packages/engine-runner/`) and runner workflows are deprecated. All new actor hosting work targets `engine/packages/pegboard-envoy/` exclusively. Do not add features to or fix bugs in the deprecated runner path.
207
+
205
208
### Monorepo Structure
206
209
- This is a Rust workspace-based monorepo for Rivet with the following key packages and components:
207
210
208
211
-**Core Engine** (`packages/core/engine/`) - Main orchestration service that coordinates all operations
209
212
-**Workflow Engine** (`packages/common/gasoline/`) - Handles complex multi-step operations with reliability and observability
210
213
-**Pegboard** (`packages/core/pegboard/`) - Actor/server lifecycle management system
214
+
-**Pegboard Envoy** (`engine/packages/pegboard-envoy/`) - The active actor-to-engine bridge. All new actor hosting work goes here.
211
215
-**Common Packages** (`/packages/common/`) - Foundation utilities, database connections, caching, metrics, logging, health checks, workflow engine core
212
216
-**Core Packages** (`/packages/core/`) - Main engine executable, Pegboard actor orchestration, workflow workers
213
217
-**Shared Libraries** (`shared/{language}/{package}/`) - Libraries shared between the engine and rivetkit (e.g., `shared/typescript/virtual-websocket/`)
- RivetKit SQLite is served by `@rivetkit/rivetkit-native`. Do not reintroduce SQLite-over-KV or WebAssembly SQLite paths in the TypeScript runtime.
281
285
- The Rust KV-backed SQLite implementation still lives in `rivetkit-typescript/packages/sqlite-native/src/`. When changing its on-disk or KV layout, update the internal data-channel spec in the same change.
286
+
- The native VFS uses the same 4 KiB chunk layout and KV key encoding as the WASM VFS. Data is compatible between backends.
287
+
-**The native Rust VFS and the WASM TypeScript VFS must match 1:1.** This includes: KV key layout and encoding, chunk size, PRAGMA settings, VFS callback-to-KV-operation mapping, delete/truncate strategy (both must use `deleteRange`), and journal mode. When changing any VFS behavior in one implementation, update the other. The relevant files are:
- SQLite VFS v2 storage keys use literal ASCII path segments under the `0x02` subspace prefix with big-endian numeric suffixes so `scan_prefix` and `BTreeMap` ordering stay numerically correct.
282
291
- Full spec: `docs-internal/engine/NATIVE_SQLITE_DATA_CHANNEL.md`
0 commit comments