Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[DEL-C1] Independent-perspective competing candidates with isolated workspaces (experimental)

Open
#322 0 comments 0 reactions 0 assignees View on GitHub

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

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

enhancement

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from iceboundrock/AutoForge

All issues in iceboundrock/AutoForge

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.