wave-fanoutworkflow★0
aperim/multiview ↗What it does
Implement wave of parallel TDD lanes in isolated worktrees
Best for
Parallel implementation of independent features or refactors when territories are pre-assigned and disjoint, each requiring TDD-first discipline and isolated build cache.
Inputs
- · lanes array: [{id, territory, item, prompt, highRisk?}]
- · each lane territory must be disjoint (orchestrator guarantees no overlap + hot shared files assigned to single owner)
- · highRisk flag (optional, sets effort=high)
Outputs
- · per-lane result: {id, territory, status (opened-pr|committed-no-pr|blocked|abandoned), branch, commits (SHA array), localGate (fmt/clippy/test/deny result), filesTouched, summary, blockers}
- · opened PR for each lane (if green)
- · committed TDD+implementation per lane (red test first, then green implementation)
Requires
- · worktree isolation (EnterWorktree/ExitWorktree)
- · git (branch, commit, push, pr create)
- · local gate (cargo fmt, cargo clippy, cargo test, cargo deny, web linting if web/ touched)
Preconditions
- · territories must be disjoint (orchestrator responsibility before calling)
- · hot shared files (pipeline.rs, engine/{runtime,clock,drive}.rs, control/{routes/mod,openapi,state}.rs) assigned to single owner only
- · each lane has its own isolated worktree (no target/ sharing)
- · base branch is current origin/main (rebase if stale)
Failure modes
- · lane edits hot shared file it doesn't own (violates NON-NEGOTIABLE rule)
- · TDD test commit missing or red output not pasted
- · unwrap/expect/panic in non-test code
- · local gate fails (fmt, clippy, test, or web checks)
- · PR opened before green (status=blocked if gate not passing)
- · territory boundaries miscommunicated by orchestrator (overlapping lanes)
Trust signals
- · NON-NEGOTIABLE rules: stay in territory, TDD (red test first), absolute typing (no #[allow] without justification), full local gate before PR
- · LANE_RESULT schema: 9 required fields (id, territory, status, branch, commits, localGate, summary, filesTouched, blockers)
- · Conventional Commits + Co-Authored-By trailer per commit
- · red test commit as first commit in the series (verifiable in git log)
- · localGate field contains exact pass/fail + failing output (verifiable)
- · blockers field for handoffs to hot-file owners (wiring described, not implemented)