I3386 — The economics runner runs one job as several concurrent workers in worktrees of one workspace sharing the treatment's server, and records the job's wall time to an integrated, accepted tree
Add a coordinated topology to the runner, declared by the arm I3298 adds: one workspace with the pinned release installed, a shared server started with serve ensure, a registered number of headless sessions each in its own worktree created with majordomus worktree create, each given the batch task's members as issues to claim, and an integrating step that merges the workers' branches into the workspace trunk in a fixed order. Record each session's span, every claim refusal from the ledger, every merge conflict, and the job's wall time from first start to the hidden tests passing on the integrated tree. Prove the pipeline with the replaying harness.
BLOKOVÁNO vlna 4 · p1 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3375, I3298 are done. The status is derived from that, not declared.
Cíl
Add a coordinated topology to the runner, declared by the arm I3298 adds: one workspace with the pinned release installed, a shared server started with serve ensure, a registered number of headless sessions each in its own worktree created with majordomus worktree create, each given the batch task's members as issues to claim, and an integrating step that merges the workers' branches into the workspace trunk in a fixed order. Record each session's span, every claim refusal from the ledger, every merge conflict, and the job's wall time from first start to the hidden tests passing on the integrated tree. Prove the pipeline with the replaying harness.
Proč
T4 of the owner's report of 2026-10-19 needs a mesh arm, and the critique found no issue built one: I3298 only declares arms as data and the runner runs one job's sessions in sequence. Building the arm in the one runner keeps every arm under the same provenance and freshness rules.
Aktuální stav
apps/majordomus-cli/src/economics/runner.rs:1-26 runs a job's sessions in one workspace in sequence; runner.rs:103 RunOptions has no concurrency; I3298 is READY at p3.
Cílový stav
economics run --dry-run lists coordinated jobs; a replayed coordinated job writes one record with per-session spans and integration results.
Rozsah
- apps/majordomus-cli/src/economics/runner.rs
- apps/majordomus-cli/src/economics/model.rs
- apps/majordomus-cli/tests/economics.rs
- docs/ECONOMICS.md
Mimo rozsah
- Running live (I3389)
- Machines other than the runner's host
- Lease-based assignment (I3198)
Závislosti
- I3375BLOCKED A registered suite pins its treatment to one released version, so landings on master during the runs leave them current
- I3298READY The benchmark declares one arm per mechanism and per agent topology, and a short-task hypothesis beside the long-work one
Co na tom čeká
Kritéria přijetí
- A replayed job with three workers writes one record with three session spans, the integration order and the job wall time
- A replayed claim refusal and a replayed merge conflict are recorded
- Every worker's worktree is removed after the job, and nothing outside the work directory is written
- The single-agent arm is unchanged
Validace
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics
- cargo fmt --manifest-path apps/majordomus-cli/Cargo.toml --check
Požadované důkazy
- test_coordinated_arm_replayed
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3386.yaml. Read it back with majordomus plan show I3386.