Skip to content

feat: parallel evaluation infrastructure (worktree pool, async subprocess, shared types)#2124

Closed
KRRT7 wants to merge 4 commits into
mainfrom
parallel-eval/01-infrastructure
Closed

feat: parallel evaluation infrastructure (worktree pool, async subprocess, shared types)#2124
KRRT7 wants to merge 4 commits into
mainfrom
parallel-eval/01-infrastructure

Conversation

@KRRT7
Copy link
Copy Markdown
Contributor

@KRRT7 KRRT7 commented May 7, 2026

infrastructure primitives for parallel candidate evaluation. adds:

  • WorktreePool / WorktreeSlot — async acquire/release pool of isolated git worktrees
  • async_execute_test_subprocess — anyio wrapper for running pytest in worktrees
  • shared types extraction to models/shared_types.py (breaks circular import)
  • --parallel-candidates CLI flag + anyio dependency

this is PR 1/4 in a stack. review and merge in order:

  1. feat: parallel evaluation infrastructure (worktree pool, async subprocess, shared types) #2124 (this) — infrastructure
  2. feat: two-phase parallel candidate evaluator and batch_refine API #2125 — evaluator algorithm
  3. feat: integrate parallel evaluator into FunctionOptimizer #2126 — optimizer integration
  4. fix: race conditions, re-staging bug, and parallel evaluator test suite #2127 — bug fixes + tests

KRRT7 added 3 commits May 6, 2026 19:28
Move OptimizedCandidateSource and BatchRefiner models from models.py
to shared_types.py to avoid a circular dependency between models.py
and function_optimizer.py.
Pool of N git worktree slots with async acquire/release semantics.
Each slot provides write_candidate() and mirror() for file isolation.
Add async_execute_test_subprocess() for running pytest via
asyncio.create_subprocess_exec with stdout/stderr capture and timeout.

Add --parallel-candidates N CLI argument. Add anyio dependency.
mypy strict mode rejects implicit re-exports through intermediate modules.
@KRRT7 KRRT7 closed this May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant