Expand description
The Foreman pattern — decompose a coding prompt, farm independent subtasks to external coding CLIs in isolated git worktrees, and verify the reassembly before integrating.
Design and rationale:
docs/proposals/verified-parallel-coding-orchestrator.md. Build order:
docs/plans/2026-06-12-001-feat-verified-parallel-coding-orchestrator-plan.md.
Path-B posture: the gate is the soundness boundary. Footprint analysis
(future B4) is only an advisory scheduling hint and never gates correctness.
Implemented so far:
- B1 —
gate: the merge-verify gate (soundness boundary). - B2 —
harness: the farm-out harness (+ union integration). - B4/B5 — footprint-aware scheduling in
harness+ theplanner. - Fleet —
pool: the same run spread over several CAR instances. Apool::FleetPoolis itself aharness::WorktreeAgent, so the gate, the patch capture, and the union integration stay on the orchestrating host and remain the soundness boundary; only the editing moves.
Re-exports§
pub use gate::containment_violations;pub use gate::decide;pub use gate::duplicate_declarations;pub use gate::extract_changes;pub use gate::verify_changes;pub use gate::AcceptanceBasis;pub use gate::BuildTestStatus;pub use gate::ChangeKind;pub use gate::ChangedSymbol;pub use gate::CheckOutcome;pub use gate::ContainmentViolation;pub use gate::DeclaredFootprint;pub use gate::DuplicateDeclaration;pub use gate::FileChange;pub use gate::GateConfig;pub use gate::GateEvidence;pub use gate::MergeVerdict;pub use gate::NoVerifyWaiver;pub use gate::PolicyDecision;pub use harness::capture_patch;pub use harness::files_in_patch;pub use harness::git_apply;pub use harness::integrate_and_verify;pub use harness::partition_by_files;pub use harness::regional_replan;pub use harness::run_farm_out;pub use harness::run_farm_out_with_progress;pub use harness::AgentRunSummary;pub use harness::ApplyConflict;pub use harness::BuildTestFailure;pub use harness::DuplicateBlame;pub use harness::FarmOutConfig;pub use harness::FarmOutResult;pub use harness::ForemanError;pub use harness::ForemanProgress;pub use harness::ForemanProgressSink;pub use harness::IntegrationBlame;pub use harness::IntegrationResult;pub use harness::Subtask;pub use harness::SubtaskOutcome;pub use harness::WorktreeAgent;pub use harness::WorktreeAgentRequest;pub use orchestrator::run_foreman;pub use orchestrator::ForemanRunOutcome;pub use orchestrator::RunMode;pub use planner::decompose;pub use planner::parse_plan;pub use planner::DecomposeResult;pub use pool::FailedAttempt;pub use pool::FleetPool;pub use pool::FleetWorker;pub use pool::Placement;pub use report::AcceptanceBasisDto;pub use report::BuildTestDto;pub use report::DuplicateDto;pub use report::ForemanReport;pub use report::GateEvidenceDto;pub use report::IntegrationReportDto;pub use report::MergeVerdictDto;pub use report::PlanReport;pub use report::PlanSubtaskDto;pub use report::SubtaskReportDto;pub use report::SymbolRefDto;pub use report::FOREMAN_SCHEMA_VERSION;
Modules§
- gate
- The merge-verify gate — the soundness boundary of the Foreman pattern.
- harness
- B2 — the farm-out harness.
- orchestrator
run_foreman— the full pipeline as one reusable call.- planner
- B5 — the decomposition planner.
- pool
- Multiplayer farm-out: one Foreman run spread over several CAR instances.
- report
- The serializable wire contract for the Foreman pipeline (B6 wire-freeze).
Structs§
- Symbol
Ref - A
(file, symbol)location.fileis repo-relative.