[DEL-C1] Independent-perspective competing candidates with isolated workspaces (experimental)
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
- Needs clarification
- Activity status
- Active
- Tech stack
- git, github, python
- Domain
- ai-infra-agents
Research direction
Begin by reading ADR 0004 and issues #320/#321 to understand Controller-owned effects and sandbox isolation. Locate the existing worker/LLM Manager code and CLI integration, then prototype an opt-in candidate using separate Git worktrees. Validate with deterministic fake provider and reproduce acceptance criteria: no concurrent mutation, idempotent cleanup, regression tests for single-agent path.
Written by the indexing model from the issue text.
Description
Parent: EPIC #315 · Optional, post-MVP · Size L · Reconciled 2026-10-25 (UTC) against main at f04db5f (state protocol 12). "Current scope" is authoritative. The earlier planning text follows verbatim and still applies where it does not conflict.
Current scope (reconciled 2026-10-25)
Optional and post-MVP. This issue blocks nothing, #323 included. If it is declined, close it as not planned before autoforge epic run on #315 could admit it: it becomes ready once #320 and #321 close as completed.
Requirements:
- independent candidate identity;
- isolated workspace ownership;
- no concurrent writes to the same worktree;
- explicit controller candidate selection;
- the existing candidate import and verification;
- bounded candidate retention, compatible with the existing worktree rule: AutoForge creates a worktree once and never deletes, moves or prunes it. The earlier text's "removal of unselected candidates" must be reconciled with that rule, not override it;
- no majority-vote verification authority.
Coordinate with #269, which owns the candidate import/export abstraction (no second candidate transport here), and with #278 (sandbox reuse and session affinity).
Dependencies
- Hard (native): #320, #321.
- Blocks: nothing.
Earlier planning text (verbatim)
Superseded where it conflicts with "Current scope" above. In particular, the removal of unselected candidates is subject to the worktree rule stated there.
Parent: EPIC #315 · Wave C · Size L · Planning baseline f4fd5ef (2026-10-25 UTC). Research: GVS5H, not an implementation dependency.
Objective / deliverable
Research and prototype opt-in fresh-perspective worker that receives original issue and minimal independently verified facts rather than possibly anchored Ledger notes. Use separate snapshot/workspace and commit lineage; candidate A/B must never write same Git worktree concurrently. Controller can compare test evidence and select ONE verified candidate; unselected branches/artifacts remain bounded/quarantined. This is sequential by default; parallel speculative execution requires separate ADR approval with #176/#266 locking and security proof. Do not advertise majority vote as review evidence.
Dependencies
- Hard: #320 (DEL-B2)
- Hard: #321 (DEL-B3)
- Coordination only: #147 SDK providers / #126 interactions, #154 usage, #176 scheduler and #266 sandbox. Do not add blanket cross-EPIC hard blockers without evidence.
Acceptance criteria
- Two candidate attempts cannot mutate each other's worktree, state, objects or credential leases
- Independent candidate can challenge a bad early plan and evidence comparison is reproducible
- Only Controller imports/selects exact candidate; reviewer not self-approving or merging
- Cancellation/timeout/removal of unselected candidates is idempotent and bounded
- Failure-to-improve is a valid documented no-go, with opt-in disabled
- Regression tests preserve original single-agent path, ADR 0004 controller-owned effects, exact candidate validation, ReviewCertificate and merge safety; provider credentials remain isolated.
- Docs/doctor/config compatibility updated where behavior changes; skipped real-runtime evidence never reported as pass.
Invariants / exclusions
The LLM Manager is advisory. Controller exclusively owns done acceptance, typed GitHub effects, state transitions, candidate identities and merge. Inner tasks are not GitHub native sub-issues and do not modify EPIC graph. Neither Agent nor verifier may execute repository-controlled commands outside the existing sandbox. No unbounded raw transcript/reasoning recording or ambient credentials. Feature remains opt-in; no Public Alpha #255 gate. Coordinate persisted schema on #23 before migration. Do not copy GVS5H's arbitrary subprocess verifier or its text-hash scratchpad and call it production recovery.
Verification hints
Use deterministic fake provider plus real existing CLI integration where available; include redacted bounded evidence, attack cases, failure/cancel/resume, explicit run/issue/candidate SHA. No new orchestration daemon or scheduler.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 5h 51m
- Merged PRs (30d)
- 73
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
-
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
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
iceboundrock/AutoForge#373 ·
Maintainers usually reply within 1 day
All issues in iceboundrock/AutoForge
Similar issues
-
filesystem: `file://C:/...` bucket_url is read as a UNC share named `C:` and silently lists no filesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
comp/desktop desktop/shell os/windows P3 tool/file type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
NousResearch/hermes-agent#145928 ·
Maintainers usually reply within 1 day
-
integration:coding-agents
Difficulty 1/5 Under an hour Newbie friendliness 83/100
vectorize-io/hindsight#6151 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
FormalLanguageConstrainedPathQuerying/FLPQ_Data#174 ·
Maintainers usually reply within 1 day
-
[VLM] granite_vision preset produces empty output and runs ~3× slower with Granite Vision 3.3-2B than with Granite Vision 4.1-4BPossibly taken @prassu017 claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
docling-project/docling#5068 · 4 comments ·
Maintainers usually reply within 1 day