chore: recover bogota workspace state

This commit is contained in:
Nathan Flurry 2026-03-09 19:57:56 -07:00
parent 5d65013aa5
commit e08d1b4dca
436 changed files with 172093 additions and 455 deletions

View file

@ -101,7 +101,7 @@ Fixing Daytona `hf create` failures where `handoff.attach` would exhaust retries
### Friction / Issue
OpenHandoff was using RivetKit's KV-backed durable SQLite VFS via `rivetkit/db/drizzle`, which opens the SQLite DB keyed by `ctx.actorId`. Since actor instances can be rescheduled (new `actorId`) between requests, DB writes from initialization were not visible to later actions (e.g. `attach`), causing “Handoff not found” and action timeouts.
Sandbox Agent Factory was using RivetKit's KV-backed durable SQLite VFS via `rivetkit/db/drizzle`, which opens the SQLite DB keyed by `ctx.actorId`. Since actor instances can be rescheduled (new `actorId`) between requests, DB writes from initialization were not visible to later actions (e.g. `attach`), causing “Handoff not found” and action timeouts.
Separately, importing `bun:sqlite` directly broke:
@ -194,7 +194,7 @@ Backend integration tests depend on native `better-sqlite3` bindings, which were
### Attempted Fix / Workaround
1. Attempted `pnpm --filter @openhandoff/backend rebuild better-sqlite3`.
1. Attempted `pnpm --filter @sandbox-agent/factory-backend rebuild better-sqlite3`.
2. Added runtime capability detection in DB-backed backend tests.
3. Marked DB-backed tests with `it.skipIf(!hasBetterSqliteBinding)` so tests run when native bindings exist and skip cleanly otherwise.
@ -280,7 +280,7 @@ Running backend tests with the integration flag enabled triggered unrelated acto
### Attempted Fix / Workaround
1. Switched to package-targeted test runs for deterministic coverage (`@openhandoff/backend` + `@openhandoff/frontend`).
1. Switched to package-targeted test runs for deterministic coverage (`@sandbox-agent/factory-backend` + `@sandbox-agent/factory-frontend`).
2. Relied on required workspace validation (`pnpm -w typecheck`, `pnpm -w build`, `pnpm -w test`) plus targeted stack test files.
3. Stopped the runaway integration run and recorded this friction for follow-up.

View file

@ -140,7 +140,7 @@ Captured the guidance here so future actor work doesnt mix the two models arb
### What I Was Working On
Standardizing SQLite + Drizzle setup for RivetKit actors (migration-per-actor) to match the `rivet/examples/sandbox` pattern while keeping the OpenHandoff repo TypeScript-only.
Standardizing SQLite + Drizzle setup for RivetKit actors (migration-per-actor) to match the `rivet/examples/sandbox` pattern while keeping the Sandbox Agent Factory repo TypeScript-only.
### Friction / Issue
@ -174,7 +174,7 @@ Adopt these concrete repo conventions:
- Per-actor migration tracking tables:
- Even if all actors share one SQLite file, each actor must use its own migration table, e.g.
- `__openhandoff_migrations_<migrationNamespace>`
- `__factory_migrations_<migrationNamespace>`
- `migrationNamespace` should be stable and sanitized to `[a-z0-9_]`.
- Provider wiring pattern inside an actor:
@ -195,7 +195,7 @@ Captured the exact folder layout + script workflow so future actor DB work can f
### What I Was Working On
Diagnosing `StepExhaustedError` surfacing as `unknown error` during step replay (affecting OpenHandoff Daytona `hf create`).
Diagnosing `StepExhaustedError` surfacing as `unknown error` during step replay (affecting Sandbox Agent Factory Daytona `hf create`).
### Friction / Issue
@ -203,7 +203,7 @@ The workflow engine treated “step completed” as `stepData.output !== undefin
### Attempted Fix / Workaround
- None in OpenHandoff; this is a workflow-engine correctness bug.
- None in Sandbox Agent Factory; this is a workflow-engine correctness bug.
### Outcome