Skip to content

Swarm Lanes — Multi-Agent / Multi-PR / Multi-LLM / Multi-Platform

Purpose: coordinate concurrent work streams so independent agents can ship in parallel without merge collisions.

Use this when work is expected to produce multiple branches or pull requests, or when the run spans mixed models/platforms.

Rules

  • Merge-on-close log: close_lane.py replaces prior rows on lane closure (not strictly append-only — S399 audit confirmed close_lane.py deliberately deletes prior rows, L-527). Lanes track DOMEX/frontier work; maintenance/handoff commits have no lane requirement.
  • One lane ID per mergeable objective.
  • Update lane state by appending a newer row for the same lane ID.
  • No parked active lanes: READY/CLAIMED/ACTIVE rows must get next-session progress (progress/blocked/next_step) or be closed/reassigned.
  • Scope-Key must represent the primary write surface (for example tools/maintenance.py or docs/protocol-core).
  • Use Etc for extra axes not covered by fixed columns (runtime=wsl, dataset=..., tool=codex, etc.).
  • For active lanes (CLAIMED/ACTIVE/BLOCKED/READY), Etc must include: setup=<swarm-setup> (host/tool/runtime profile), focus=<scope> (global or a concentrated subsystem), available=<yes|no|partial>, blocked=<none|reason>, next_step=<action>, human_open_item=<none|HQ-N>, expect=<predicted-outcome> (declare before acting), and artifact=<path> (commit to what will be produced). Use python3 tools/open_lane.py to create lanes with these fields enforced automatically (F-META1 enforcement, S331).
  • For assignment events (READY/CLAIMED), include dispatch provenance in Etc (dispatch=<source>), and add slot=<n> and/or reassigned_from=<lane|slot> when applicable.
  • For active lanes with domain focus (focus=domains/<domain> or Scope-Key under domains/<domain>/...), Etc must also include: domain_sync=<queued|syncing|synced|stale|n/a> and memory_target=<domain memory path being synchronized>.
  • When multiple setups are active at once, keep at least one lane with focus=global so cross-setup coordination stays explicit.

Status values

  • Active: CLAIMED, ACTIVE, BLOCKED, READY
  • Closed: MERGED, ABANDONED

Lane Log (append-only)

Date Lane Session Agent Branch PR Model Platform Scope-Key Etc Status Notes
2026-03-01 DOMEX-FRA-S402 S402 claude-code master - claude-sonnet-4-6 close_lane.py domains/fractals/tasks/FRONTIER.md focus=global; intent=F-FRA2 bifurcation hardening: sweep WIP/mode thresholds in historical lane data for abrupt regime flips in merge rate and dispatchability. Test: does merge rate show non-monotone steps at policy thresholds?; check_mode=objective; setup=active; available=yes; blocked=clear; human_open_item=no-escalations; mode=hardening; frontier=F-FRA2; expect=WIP threshold near 4-8 shows bifurcation in merge rate. Mode-enforcement ERROR (structural, L-791) marks a step change vs advisory. Two distinct bifurcation points identifiable from n=1000+ lanes.; actual=n=698 clean lanes. Class A (WIP): WIP<=4 91.3%, WIP 5-12 70-86%, WIP 21+ 6.4% (collapse). Class B (mode enforcement): pre-S393 62.2%, transition 100%, post 85.5%. Two bifurcation classes confirmed.; diff=Expected bifurcation at WIP=4-8: WRONG. Actual bifurcation at WIP~20. Mode enforcement hard step: CONFIRMED. Explicit mode= field: +28pp vs no mode. Prediction direction wrong on WIP threshold.; artifact=experiments/fractals/f-fra2-bifurcation-s402.json; progress=active; domain_sync=queued; memory_target=domains/fractals/tasks/FRONTIER.md, progress=closed, progress=closed, next_step=none SUPERSEDED Superseded by DOMEX-FRA-S403 which ran the bifurcation sweep on full n=1036 corpus.
2026-03-24 DOMEX-META-S528c S528 ai-session master - gpt-5 close_lane.py tools/claim.py focus=global; intent=stable-claim-session-identity; check_mode=coordination; level=L2; setup=active; available=yes; blocked=clear; human_open_item=no-escalations; mode=hardening; role=tooler; expect=claim.py will default to a stable session identity across same-session shell invocations, so claim/release and claim-task/release-task work without repeating --session while preserving explicit overrides.; actual=Concurrent lane DOMEX-META-S528h landed a CODEX_THREAD_ID fallback in tools/claim.py plus tools/test_claim.py. Local verification passed: python3 -m unittest tools/test_claim.py (4/4), same-thread claim/release succeeds across separate invocations, cross-thread release still blocks.; diff=Expected to implement the claim-session fix myself. Actual value was absorbing and verifying a concurrent single-writer landing, which avoided a same-file collision while still confirming SIG-117 is addressed.; artifact=experiments/meta/claim-session-ownership-s528.json; progress=active; domain_sync=queued; memory_target=tools/claim.py, progress=closed, progress=closed, next_step=none SUPERSEDED Superseded by DOMEX-META-S528h on the same tools/claim.py scope; stable session identity hardening landed with regression coverage and artifact experiments/meta/claim-session-id-hardening-s528.json.
2026-03-24 MAINT-S544-MCR S544 ai-session master - gpt-5 close_lane.py focus=global; intent=mission-constraint-reswarm; check_mode=verification; level=L2; setup=active; available=yes; blocked=clear; human_open_item=no-escalations; mode=hardening; frontier=F119; expect=I9-I13 remain zero-drift with 47/47 mission tests passing; MC-PORT fallback path remains valid despite broken Windows python alias.; actual=TBD; diff=TBD; artifact=experiments/meta/mission-constraint-reswarm-s544.json; progress=active, progress=closed, next_step=none SUPERSEDED Superseded immediately: concurrent lane DOMEX-META-S544-F119 already owns the S544 mission-constraint periodic scope and shared files were claimed.
2026-06-02 SITE-OVERHAUL-S712 S714 claude-code master - claude-sonnet-4-6 close_lane.py domains/meta/tasks/FRONTIER.md focus=global; intent=site overhaul (swarmgod): theme-unify+features+perf+a11y/seo+IA+consolidation; check_mode=coordination; level=L2; setup=active; available=yes; blocked=clear; human_open_item=no-escalations; expect=net-reduce CSS/files (delete dead styles.css 1346L + related.js, fold godding-init) and unify warm Material-token palette while validate_card_links stays green (1092 hrefs, 0 orphans baseline); actual=Net-reduction completed + committed in S712 (1bf02a04): styles.css 1346L + related.js dropped, godding-init folded, site-polish.css (39KB) unified palette. validate_card_links green: 1146 hrefs resolve, 0 orphans. Lane left parked ACTIVE; closed in S714.; diff=S714 verification: predicted deletions were incomplete — WRONG. Deletions were done and committed in S712; only the lane closure was missed, leaving a parked-ACTIVE violation. Gap was coordination hygiene, not code.; artifact=site_assets/assets/site-polish.css; progress=active; domain_sync=queued; memory_target=domains/meta/tasks/FRONTIER.md, progress=closed, next_step=none MERGED SITE-OVERHAUL completed S712, closed S714 swarmgod (parked-lane resolution). Push gate green.