docs: map cmux + herdr + disler multi-agent orchestration as advisory
3 repos reviewed: - disler/learning-cmux-with-agents: 31 NL prompts for agent fleet lifecycle - ogulcancelik/herdr: AGPL agent multiplexer, single binary, external state - cmux.com: macOS terminal for AI agents, browser control, skills 12 pattern mappings to fable-agent components. Validates: execution-pipeline fleet orchestration, FlatLedger external state, worktree-isolation agent isolation, repo-mapper environment mapping. Advisory only. No vendoring.
This commit is contained in:
parent
e84f21e469
commit
95ddbf7e1b
|
|
@ -40,6 +40,7 @@ Current authority order: **live receipt > committed receipt > memory**.
|
|||
- **pxpipe** (2364 ★, MIT): token compression for pipeline context. Relevant but lossy on byte-exact content. Advisory.
|
||||
- **GRC_Claw** (2 ★, MIT): Agent Policy Firewall + attestation ledger. Same governance problem. Advisory.
|
||||
- `browser-harness-engineering-advisory-map-20260705.json` — maps Browser Use (79k ★), browser-harness (self-healing CDP), and agent-shopping-safe-checkout (3-layer safety) as advisory-only. Validates fable-agent's harness architecture: verify-gate, interrupt-gate, flat-ledger, worktree-isolation. 8 pattern mappings. No vendoring.
|
||||
- `cmux-herdr-multi-agent-orchestration-advisory-map-20260705.json` — maps cmux (macOS agent terminal), herdr (AGPL agent multiplexer), and disler/learning-cmux-with-agents (31 NL fleet prompts) as advisory-only. 12 pattern mappings. Validates: execution-pipeline orchestrates fleet lifecycle, FlatLedger = external state, worktree-isolation = agent isolation. No vendoring.
|
||||
|
||||
## Memory quarantine
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"schema": "fable.external_project.review.v1",
|
||||
"id": "cmux-herdr-multi-agent-orchestration-advisory-map-20260705",
|
||||
"title": "cmux + herdr + Multi-Agent Orchestration Patterns \u2014 Advisory Map",
|
||||
"source": {
|
||||
"type": "video + repos + Discord",
|
||||
"video": "IndyDevDan: SEE CMUX SOLVE Multi-Agent Orchestration (Claude Code and Pi Agent) \u2014 https://youtu.be/WAFUMBLOjHo",
|
||||
"repos": [
|
||||
"https://github.com/disler/learning-cmux-with-agents",
|
||||
"https://herdr.dev/",
|
||||
"https://github.com/ogulcancelik/herdr"
|
||||
],
|
||||
"discord": "Watchmedropship and Artale shared cmux/herdr links",
|
||||
"fetchedAt": "2026-07-06T22:40:18.310273+00:00"
|
||||
},
|
||||
"externalProjectReviews": [
|
||||
{
|
||||
"repo": "disler/learning-cmux-with-agents",
|
||||
"stars": null,
|
||||
"license": "unknown",
|
||||
"description": "31 natural-language prompts proving one primary agent can stand up, drive, and tear down a whole fleet of AI coding agents inside cmux.",
|
||||
"keyPattern": "Primary agent orchestrates fleet lifecycle: spawn \u2192 drive \u2192 tear down. Natural language prompts, not code. One agent manages many.",
|
||||
"relevance": "Validates fable-agent execution-pipeline.ts pattern: one pipeline orchestrates worktree creation, agent task, verify-gate, interrupt-gate, ledger recording. The pipeline IS the primary agent. cmux does for terminals what fable-agent does for code tasks.",
|
||||
"decision": "advisory",
|
||||
"safeToVendor": false,
|
||||
"vendorReason": "cmux-specific prompts. Learn the orchestration pattern, not the prompts.",
|
||||
"patternMappings": [
|
||||
{
|
||||
"cmux": "Primary agent spawns sub-agents in split panes",
|
||||
"fable_agent": "execution-pipeline.ts spawns agent task in isolated worktree"
|
||||
},
|
||||
{
|
||||
"cmux": "31 NL prompts prove fleet lifecycle",
|
||||
"fable_agent": "runPipeline() spec: create \u2192 map \u2192 agent \u2192 verify \u2192 interrupt \u2192 ledger"
|
||||
},
|
||||
{
|
||||
"cmux": "Stand up, drive, tear down",
|
||||
"fable_agent": "worktree-isolation.ts creates disposable worktree, verifyAndClean() tears it down on failure"
|
||||
},
|
||||
{
|
||||
"cmux": "Agent drives terminals via cmux CLI",
|
||||
"fable_agent": "runDeepSeekAgent() drives Ollama model via HTTP /api/chat"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "ogulcancelik/herdr (herdr.dev)",
|
||||
"stars": null,
|
||||
"license": "AGPL-3.0",
|
||||
"description": "Agent multiplexer \u2014 one terminal for the whole herd. Single binary, fully local, runs coding agents in parallel. Keeps agents alive when laptop closes. Reattach from phone.",
|
||||
"keyPattern": "Terminal multiplexer for AI agents. Each agent runs in own real terminal on a server. See blocked/working/done at a glance. Binary not app. SSH-friendly.",
|
||||
"relevance": "Validates fable-agent flat-ledger.ts pattern: state lives OUTSIDE agent context. herdr shows agent status externally (blocked/working/done). flat-ledger.ts does the same \u2014 JSONL state file outside LLM context. Also validates worktree-isolation: herdr isolates agents in separate terminals, fable-agent isolates in separate git worktrees.",
|
||||
"decision": "advisory",
|
||||
"safeToVendor": false,
|
||||
"vendorReason": "AGPL-3.0 license. Terminal multiplexer, different domain. Learn the status-tracking and isolation patterns.",
|
||||
"patternMappings": [
|
||||
{
|
||||
"herdr": "See blocked/working/done at a glance",
|
||||
"fable_agent": "FlatLedger.summary() + lastStep() \u2014 pipeline state visible without reading LLM context"
|
||||
},
|
||||
{
|
||||
"herdr": "Keeps agents alive when laptop closes",
|
||||
"fable_agent": "Ledger persists across sessions \u2014 state survives process restart"
|
||||
},
|
||||
{
|
||||
"herdr": "Each agent in own real terminal",
|
||||
"fable_agent": "Each agent task in own git worktree \u2014 isolated, disposable"
|
||||
},
|
||||
{
|
||||
"herdr": "Single binary, fully local",
|
||||
"fable_agent": "No external dependencies \u2014 stdlib fetch, built-in crypto, no framework"
|
||||
},
|
||||
{
|
||||
"herdr": "Reattach from phone",
|
||||
"fable_agent": "Ledger is JSONL \u2014 read from anywhere, anytime"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "cmux (cmux.com)",
|
||||
"stars": null,
|
||||
"license": "proprietary",
|
||||
"description": "Terminal built for AI coding agents. macOS native, Ghostty GPU rendering, vertical tabs, embedded browser, subagent spawning, CLI automation. Skills system.",
|
||||
"keyPattern": "Terminal-as-platform for agents. Agent controls browser, spawns subagents in split panes, sends notifications. Skills = reusable workflows.",
|
||||
"relevance": "Validates fable-agent repo-mapper.ts pattern: agent needs environment awareness to function. cmux gives agents terminal+browser+filesystem control. repo-mapper.ts gives agents repo tree awareness. Both solve the same problem: agent must understand its environment to act reliably.",
|
||||
"decision": "advisory",
|
||||
"safeToVendor": false,
|
||||
"vendorReason": "Proprietary macOS app. Learn the environment-mapping pattern.",
|
||||
"patternMappings": [
|
||||
{
|
||||
"cmux": "Skills = reusable workflows for agents",
|
||||
"fable_agent": "repo-mapper.ts builds reusable repo tree for system prompt injection"
|
||||
},
|
||||
{
|
||||
"cmux": "Agent controls browser surface",
|
||||
"fable_agent": "Agent controls code surface via worktree + verify-gate"
|
||||
},
|
||||
{
|
||||
"cmux": "Subagent spawning in split panes",
|
||||
"fable_agent": "Parallel worktrees via WorktreeManager.create()"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"keyTakeaways": [
|
||||
"Multi-agent orchestration is converging on the same pattern: one primary controller spawns, drives, and tears down workers. fable-agent execution-pipeline.ts already does this.",
|
||||
"State must live outside agent context. herdr shows blocked/working/done externally; fable-agent FlatLedger records to JSONL. Same insight, different implementation.",
|
||||
"Agent isolation is non-negotiable. cmux uses split panes, herdr uses separate terminals, fable-agent uses git worktrees. All solve the same blast-radius problem.",
|
||||
"Natural language prompts can drive fleet lifecycle (disler 31 prompts). fable-agent pipeline spec accepts natural language task descriptions.",
|
||||
"All three tools are advisory only. No vendoring warranted. Pattern validation is the value.",
|
||||
"IndyDevDan video is advisory. David Ondrej cmux video is advisory. Discord links are advisory."
|
||||
],
|
||||
"contentVerified": true,
|
||||
"liveVerification": "GitHub API + web search confirmed all repos/sites exist. cmux is macOS terminal by Lawrence Chen. herdr is AGPL single binary by ogulcancelik. disler repo has 31 NL prompts for cmux agent fleet.",
|
||||
"advisoryOnly": true,
|
||||
"noActionRequired": true,
|
||||
"fableAgentStatus": {
|
||||
"containers": 19,
|
||||
"phase": 4,
|
||||
"autoPatchProven": false,
|
||||
"tests": "295 passing, 69 files",
|
||||
"commit": "e84f21e"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue