Conversation
|
CI note: all pull-request workflows ( |
|
One more status note: the remaining red |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
E2E evidence (tested with
|
Follow-up: local compatibility fix verifiedThe live failure is reproducible and isolated to missing-file semantics: Box returns HTTP 400 with Verification with the fix applied: The fix is committed locally as |
|
Pushed the verified fix to the PR head branch ( |
|
hey @zozo123 you opened 3 PRs with essentially the same feature but they don't appear to be the same, which one of them is the current one? |
Summary
Adds an Ascii Box-backed Mecatl execution-environment / placement-provider adapter directly on
main.What it provides
server.PlacementProvider+ exactPlacementReattacherbacked by the Box APIEnvironmentRef{Kind: "box", ID: <box-id>, Revision: "box-api-v1"}CommandRunnerbound to the same Box workspace namespaceReadDir,Remove,Rename,CopyFile)noEnv: trueby default so account/model/GitHub/SSH secrets are not injected into agent sandboxesbox_liveThe API key is host-side configuration only and is never placed in
EnvironmentRef, the Box environment, tests, or repository state.Live verification
The live contract test is opt-in and excluded from normal CI:
BOX_API_KEY=... go test -tags=box_live ./internal/adapter/boxenv -run TestLiveBoxEnvironment -vIt exercises create, file read/write, Shell/workspace namespace agreement, exact reattachment, and cleanup.
Scope
This PR intentionally keeps Box isolated in
internal/adapter/boxenv; it does not add a parallel sandbox abstraction or leak Box concepts intoengine/. Operator-facing execution-placement selection can be wired separately once the provider-registration surface is finalized.