mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-16 15:02:39 +00:00
chore: recover bogota workspace state
This commit is contained in:
parent
5d65013aa5
commit
e08d1b4dca
436 changed files with 172093 additions and 455 deletions
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ Captured the guidance here so future actor work doesn’t 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
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ Date: 2026-02-08
|
|||
9. Every actor key is prefixed by workspace.
|
||||
10. `--workspace` is optional; commands resolve workspace via flag -> config default -> `default`.
|
||||
11. RivetKit local dependency wiring is `link:`-based.
|
||||
12. Keep the existing config file path (`~/.config/openhandoff/config.toml`) and evolve keys in place.
|
||||
12. Keep the existing config file path (`~/.config/sandbox-agent-factory/config.toml`) and evolve keys in place.
|
||||
13. `.agents` and skill files are in scope for migration updates.
|
||||
14. Parent orchestration actors (`workspace`, `project`, `handoff`) use command-only loops with no timeout.
|
||||
15. Periodic syncing/polling runs in dedicated child actors, each with a single timeout cadence.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue