22ebbe279c
packages/workerd-spike runs the full opencode core + server stack inside a real Durable Object via @cloudflare/vitest-pool-workers: boot with all 42 migrations journaled on real DO SQLite, session create over the HTTP API, a complete prompt turn against a fetchMock'd OpenAI-compatible provider read back through the durable session log cursor route, a turn that completes with no request in flight, and recovery of a session evicted mid-turn. Eviction is simulated with DurableObjectState.abort() between prompt-accepted and turn-complete; a fresh instance boots over the same storage, resumes the claimed execution, and replays the drain. The durable log stays gapless across the death, so a consumer resuming from a pre-eviction cursor sees no gaps and no duplicates. The profile persists durable events because that history is what recovery replays. Harness notes: pins pool 0.12.6 (newer pool/workerd pairings segfault on macOS) with a patch extending the stale workerd builtin allowlist and fixing fallback-service handling of case-insensitive filesystems, /@fs ids, JSON requires, and unanchored module-rule globs; missing node builtins resolve to unenv polyfills via vite aliases.