mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 08:03:46 +00:00
* Move Foundry HTTP APIs out of /api/rivet
* Move Foundry HTTP APIs onto /v1
* Fix Foundry Rivet base path and frontend endpoint fallback
* Configure Foundry Rivet runner pool for /v1
* Remove Foundry Rivet runner override
* Serve Foundry Rivet routes directly from Bun
* Log Foundry RivetKit deployment friction
* Add actor display metadata
* Tighten actor schema constraints
* Reset actor persistence baseline
* Remove temporary actor key version prefix
Railway has no persistent volumes so stale actors are wiped on
each deploy. The v2 key rotation is no longer needed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Cache app workspace actor handle across requests
Every request was calling getOrCreate on the Rivet engine API
to resolve the workspace actor, even though it's always the same
actor. Cache the handle and invalidate on error so retries
re-resolve. This eliminates redundant cross-region round-trips
to api.rivet.dev on every request.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Add temporary debug logging to GitHub OAuth exchange
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Make squashed baseline migrations idempotent
Use CREATE TABLE IF NOT EXISTS and CREATE UNIQUE INDEX IF NOT
EXISTS so the squashed baseline can run against actors that
already have tables from the pre-squash migration sequence.
This fixes the "table already exists" error when org workspace
actors wake up with stale migration journals.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Revert "Make squashed baseline migrations idempotent"
This reverts commit
|
||
|---|---|---|
| .. | ||
| 00-end-to-end-async-realtime-plan.md | ||
| 01-task-creation-bootstrap-only.md | ||
| 02-repo-overview-from-cached-projection.md | ||
| 03-repo-actions-via-background-workflow.md | ||
| 04-workbench-session-creation-without-inline-provisioning.md | ||
| 05-workbench-snapshot-from-derived-state.md | ||
| 06-daytona-provisioning-staged-background-flow.md | ||
| 07-auth-identity-simplification.md | ||
| README.md | ||
Async Action Fixes Handoff
Purpose
This folder contains implementation briefs for removing long-running synchronous waits from Foundry request and action paths.
Start with 00-end-to-end-async-realtime-plan.md. It is the umbrella plan for the broader migration away from monolithic snapshots and polling, and it adds the missing runtime hardening and subscription-lifecycle work that the numbered implementation briefs did not previously cover.
The governing policy now lives in foundry/CLAUDE.md:
- always await
send(...) - default to
wait: false - only use
wait: truefor short, bounded mutations - do not force repo/provider sync in read paths
- only block until the minimum client-needed resource exists
Shared Context
- Backend actor entry points live under
foundry/packages/backend/src/actors. - Provider-backed long-running work lives under
foundry/packages/backend/src/providers. - The main UI consumers are:
foundry/packages/frontend/src/components/workspace-dashboard.tsxfoundry/packages/frontend/src/components/mock-layout.tsxfoundry/packages/client/src/remote/workbench-client.ts
- Existing non-blocking examples already exist in app-shell GitHub auth/import flows. Use those as the reference pattern for request returns plus background completion.
Suggested Implementation Order
00-end-to-end-async-realtime-plan.md01-task-creation-bootstrap-only.md03-repo-actions-via-background-workflow.md06-daytona-provisioning-staged-background-flow.md- App shell realtime subscription work from
00-end-to-end-async-realtime-plan.md 02-repo-overview-from-cached-projection.md- Workspace summary projection work from
00-end-to-end-async-realtime-plan.md 04-workbench-session-creation-without-inline-provisioning.md05-workbench-snapshot-from-derived-state.md- Task-detail direct subscription work from
00-end-to-end-async-realtime-plan.md 07-auth-identity-simplification.md
Why This Order
- Runtime hardening and the first async workflow items remove the highest-risk correctness and timeout issues first.
- App shell realtime is a smaller migration than the workbench and removes the current polling loop early.
- Workspace summary and task-detail subscription work are easier once long-running mutations already report durable background state.
- Auth simplification is important, but it should not block the snapshot/polling/runtime fixes.
Fresh Agent Checklist
Before implementing any item:
- Read
foundry/CLAUDE.mdruntime and actor rules. - Read the specific item doc in this folder.
- Confirm the current code paths named in that doc still match the repo.
- Preserve actor single-writer ownership.
- Prefer workflow status and push updates over synchronous completion.