[ENV-C3] Implement opt-in remote sandbox adapter after feasibility go/no-go
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github, python
- Domain
- distributed-systems, infrastructure, security
Research direction
First read the feasibility decision in ENV-C2 (#276) and the hard dependency #274; this task proceeds only after an approved positive decision. Then review accepted ADRs 0002/0004/0005/0006/0008 and coordinate any persisted-state schema with #23. Done means one selected provider meets the acceptance criteria, including failure and recovery evidence, while preserving the stated Git authority and sandbox constraints.
Written by the indexing model from the issue text.
Description
Artifact: implementation-ready task of EPIC #266. Wave: C; Size: XL; Baseline: main 711ff09 (2026-10-21).
Goal and boundaries
Only after approved positive decision in ENV-C2, build one selected remote execution adapter. Keep state/effects/review/controller Git authoritative. Authenticate streamed events and immutable artifacts; bound resource/TTL/quota; handle lease expiry, recovery and duplicate delivery. If spike fails, close as not planned rather than quietly lowering policy.
Hard dependencies
- #274
- #276
Acceptance criteria
- Selected provider executes real isolated issue with exact commit SHA
- No remote runtime can mutate GitHub or host Git state
- Loss, expiry, cancel, duplicate artifact, crash and recovery scenarios pass
- Auth, network, resource, cost and quota limits enforced and documented
- Real-world evidence is provided before calling remote backend supported
- Negative tests and recovery tests cover the delivered behavior, with real-environment evidence or explicit unsupported reasons.
- Maintain accepted ADRs 0002/0004/0005/0006/0008, as amended by #267's dated amendments: controller owns GitHub writes, exact-candidate verification, evidence, state transitions, and worker locks.
- Coordinate any persisted-state schema/number with #23; preserve current
bwrapbehavior, avoid Sandcastle orchestrator, arbitrary mounts or credential exposure.
Verification and constraints
Implement/prototype only in scoped surface; retain the typed policy, strict subprocess argv and fail-closed required-mode. No automatic public-release claim and no hard dependency on Public Alpha #255.
Planning reconciliation (2026-10-23)
Artifact: planning update from the 2026-10-23 reconciliation of EPIC #266 with its architecture review (#266 comment). Baseline re-read: main 388ecb3. Planning only: nothing here implements a feature or checks off a criterion. The earlier sections stay authoritative where this one does not change them.
Native dependencies (verified read-back 2026-10-23): blocked_by #274, #276. Wave C.
- On a no-go from #276, close this issue as not planned before
autoforge epic runcan admit it. The scheduler treats a blocker as satisfied once it is closed as completed, whatever the spike decided, so this issue would otherwise become admissible. - Lifecycle, ownership labels and reconciliation follow #272's D10.6 replacement contract, adapted to a remote resource. The post-loss residual is stated explicitly, as #267 requires for Docker.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 5h 51m
- Merged PRs (30d)
- 66
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from iceboundrock/AutoForge
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
iceboundrock/AutoForge#304 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
iceboundrock/AutoForge#329 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 75/100
iceboundrock/AutoForge#328 ·
Maintainers usually reply within 1 day
-
A create whose text gh's JSON sanitizer rewrites is recorded as a conflict on the controller's own object (found on PR #314)Possibly taken @iceboundrock claimed this today. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 20/100
iceboundrock/AutoForge#327 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 20/100
iceboundrock/AutoForge#326 ·
Maintainers usually reply within 1 day
All issues in iceboundrock/AutoForge
Similar issues
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkPossibly taken @ocelotl claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 82/100
open-telemetry/opentelemetry-python#5825 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
cuga-project/cuga-agent#1020 ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
microsoft/playwright#43640 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day