Skip to main content

Module foreman

Module foreman 

Source
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 + the planner.
  • Fleet — pool: the same run spread over several CAR instances. A pool::FleetPool is itself a harness::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§

SymbolRef
A (file, symbol) location. file is repo-relative.