[ENV-C4] Decide sandbox reuse and agent session affinity without weakening phase isolation
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Read ADRs 0002/0004/0005/0006/0008 and the hard dependencies #272 and #274 first; coordinate session ownership with #147 and #126, and persisted state with #23. The task asks for a security design and simulation covering reuse boundaries, TTL, cleanup, and crash recovery, but names no files or tests. Done means recording the tradeoffs and go/no-go decision while preserving execution defaults and documenting verification or unsupported cases.
Written by the indexing model from the issue text.
Description
Artifact: decision-first design/spike task of EPIC #266. Wave: C; Size: M; Baseline: main 711ff09 (2026-10-21).
Goal and boundaries
Design Sandcastle-inspired reusable sandbox/session affinity as a separate opt-in future feature. Specify bindings to issue, phase, provider/model, candidate SHA, session IDs, cache; constrain re-use across REVIEW/FIX and support paused provider questions. Coordinate #147/#126. Security review may conclude fresh sandbox is preferred; no required runtime implementation in this task.
Hard dependencies
- #272
- #274
Acceptance criteria
- ADR describes fresh-vs-reusable tradeoffs and exact security consequences
- Session and sandbox identities cannot cross issues/providers/phase boundaries
- TTL, cleanup and crash reconciliation specified and tested as simulation
- Provider/session interaction ownership coordinated with #147 and #126
- Go/no-go decision recorded, no silent change to execution defaults
- 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 #272, #274. Wave C.
- The Docker MVP's default is a fresh container and private caches per run (#271), with FIX seeded only from the last verified candidate (#267 decision 4). Any reuse this issue proposes must not weaken either rule.
- Session-data lifetime is one of #267's decision 3 lifetimes. Interaction and session ownership stays coordinated with #147 and #126. This issue implements neither.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 6h
- Merged PRs (30d)
- 78
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
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
iceboundrock/AutoForge#350 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
iceboundrock/AutoForge#304 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 1-2 days Newbie friendliness 46/100
iceboundrock/AutoForge#376 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
iceboundrock/AutoForge#375 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
iceboundrock/AutoForge#374 ·
Maintainers usually reply within 1 day
All issues in iceboundrock/AutoForge
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
suitenumerique/accounts#160 ·
Maintainers usually reply within 1 day
-
Restoring an exhausted flatmap checkpoint can replay consumed recordsPossibly taken @salma2vec claimed this today. Opentype:bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
`ingest` fails with pynndescent 0.7Possibly taken @eroell claimed this today. OpenTriage 🩺
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day