Repository navigation
Description
When several lanes work in the same repository, nobody owns that repository as a whole. The global coordinator (L0) spans every repository and cannot track one repository's builds, specs, branches and decisions closely. The repo owner (for example R-AI) only assembles candidate PRs. Gaps seen in the 2026-10-22/23 orchestration:
- Deliveries are missed. L24 did not see a redelivery for four hours and started other work while the candidate waited.
- Several lanes run gates on overlapping code states, which wastes build slots and CI minutes.
- Review findings on one lane's branch reach that lane late, routed through the candidate owner and the coordinator.
- Design and scope decisions that touch several lanes in the same repository go up to L0, which lacks repository context.
Rule
When two or more lanes or workers are active in one repository, that repository gets a repo orchestrator: one session specialised on that repository, sitting between L0 and those lanes. It owns:
- Work split: which lane takes which issue, file ownership between lanes, and the merge and dependency order of branches.
- Builds and tests: one gate per candidate code state, a schedule for the heavy phases (build slots, integration lanes), and an attribution of each failure to the delivery that caused it.
- PRs and releases: it absorbs today's repo-owner role. It batches candidates, labels them, writes the release note, merges, and watches Publish.
- Decisions: repository-local design and scope decisions are made here. It escalates to L0 or woksin only what crosses repositories or needs a product decision.
- Inbox SLA: it acknowledges a delivery or redelivery within one wake cycle and replies with the candidate SHA or a rejection.
Lanes in that repository report to their repo orchestrator, not to L0. L0 talks to repo orchestrators. With one lane in a repository, that lane is its own orchestrator, as today.
Done when
~/.pi/agent/AGENTS.md"Repo-owner mode" is replaced by the repo-orchestrator rule, and the L0 rules file (ALL-RULES-current.md) matches it.- The lanes tooling (
lanes addandlanes status, see Modern, interactive, detect-first installer and shareable multi-lane orchestration #9) creates or names the repo orchestrator automatically when a second lane is added to a repository, and shows it in the status table. - Message routing (
lanes send, the inbox-watch patterns) routes lane→repo-orchestrator→L0. Watch patterns also match timestamp-prefixed message names. - A template brief for a repo orchestrator covers the work split, the gate schedule, the candidate process, the decision log, and the inbox SLA.
Status
State: Done — Part A v.15, part B v.24.
Branch: -
Scope: Part A (main): AGENTS.md repo-orchestrator rule, repo-orchestrator brief template, inbox-watch timestamp-prefixed names. Part B (lanes stack, after #9 slice 7): lanes add/status/send repo-orchestrator routing.
Delivered: Nothing yet.
Remaining: To be confirmed.
Follow-ups: None.
Activity
docs(agents): repo orchestrator rule, brief template, timestamp-prefi…
docs(templates): review the candidate before pushing (#20)
Merge #20 part A: repo orchestrator rule
woksin commentedon Oct 23, 2026
Part A released in v2026.10.23.15: the repo-orchestrator rule in AGENTS.md, templates/repo-orchestrator-brief.md, and the inbox-watch timestamp-name docs and tests. L0 adopted the rule in ALL-RULES-current.md rev 4. Remaining: part B, lanes add/status/send support, which ships with the lanes slices of #9.
feat(lanes): repo orchestrator roles, routing and status (#20)
Merge lanes-reap: lanes reap with safe takeover and repo orchestrator…
woksin commentedon Oct 23, 2026
Part B delivered in v2026.10.23.24.
lanescreates or promotes the repo orchestrator (R-),statusshows roles and parents, andsendroutes through the repo orchestrator unless--directis given. Part A (the AGENTS.md rule and templates/repo-orchestrator-brief.md) shipped in v2026.10.23.15.