Conversation
Contributor
|
@zozo123 thanks for the PR! I think this is exciting in the sense that the PR does show how the harness can be decoupled from the execution environment. I'm not familiar with Box but checking the wiring with mecatl I think this is missing a builder composition (something like Thanks again for the contribution! Feel free to jump on Discord or GH discussions if you want to discuss anything! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an ASCII Box-backed remote execution-environment provider on top of mecatl's existing placement / durable
EnvironmentRefseam.noEnv: trueon create and resumeWorkspaceandCommandRunnerto the same Box namespace and exposes the server affinity proofRead, versionedReadVersion, atomic create-only / compare-and-replace, glob, grep, and namespace operationsPlacementBinding.Close; reattachment resumes the same durable BoxEnvironmentRef.Revision; the Box credential never enters refs, logs, metadata, or sourceWhy this shape
Mecatl already models execution as a durable placement (
EnvironmentRef+ coherent Workspace/CommandRunner), andEnvironmentKindis intentionally open for remote backends. This adapter therefore plugs intoserver.PlacementProvider/PlacementReattacherwithout widening the engine API.This PR deliberately does not invent a second user-facing placement-selection/config grammar while #580 is actively establishing the operator surface for execution placement. The adapter is injectable today through
app.Config.PlacementProvider; the eventual operator selector can wire this provider without changing its execution contract.Safety / correctness
tool.VersionMismatchErroron stale versions.Tests
Added deterministic fake-Box coverage for:
noEnvenforcement on create/resumeAlso adds
TestLiveBox, an opt-in live contract smoke driven only byBOX_API_KEY; ordinary CI skips it and the credential is never persisted or logged.A local execution of the same guest filesystem helper passed create/read/versioned replace/copy/glob/grep/read-dir including stale-version rejection. The current execution container cannot resolve external hosts, so I could not run the live Box API test from here; upstream CI remains the full repository build/test authority.