[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71C9KG3VFMRFD3VRVZ41NK7":3,"skill-same:01M71C9KG3VFMRFD3VRVZ41NK7":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":68,"commitSha":69,"skillDirectory":70,"forksCount":71,"repositoryHtmlUrl":72,"repositoryHomepageUrl":6,"ownerHtmlUrl":73,"ownerBlogUrl":6,"ownerDescription":74,"updatedAt":75,"install":76,"resources":89},"01M71C9KG3VFMRFD3VRVZ41NK7","opus-fleet",null,"Standing operating model — Opus (and its glm-5.2 Opus-equivalent) orchestrates while spawned workers do the work across three substrates: native Sonnet\u002FHaiku Agents, z.ai GLM lanes (glm-fleet.mjs), AND ollama-cloud peer lanes (ollama-fleet.mjs), ALWAYS at max reasoning \u002F --reasoning high, then the orchestrator reviews, corrects, and finalizes. Ships copy-paste dispatch templates, the GLM tier roster, dual-substrate routing, the governed autonomous loop, and Agent-not-Workflow discipline. Use to start or run this model on any non-trivial build, research, multi-file edit, audit, refactor, or fan-out task.","nexuslinkproductions\u002Fyuri-os","nexuslinkproductions","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273246263?v=4","01M718YX9NZRCW50B59B8ZVDKN","Marcel Spatz","01M718YXAQ7530F4B1VKN6SFQV",2,"MIT","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fopus-fleet\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"fleet","opus","opus fleet","audit","orchestrator","native","discipline","ollama","haiku","work","across","code testing","code","workflow","loop","autonomous","testing","model","reviews","operating","2026-11-10 10:12:30",false,"---\nname: opus-fleet\ndescription: \"Standing operating model — Opus (and its glm-5.2 Opus-equivalent) orchestrates while spawned workers do the work across three substrates: native Sonnet\u002FHaiku Agents, z.ai GLM lanes (glm-fleet.mjs), AND ollama-cloud peer lanes (ollama-fleet.mjs), ALWAYS at max reasoning \u002F --reasoning high, then the orchestrator reviews, corrects, and finalizes. Ships copy-paste dispatch templates, the GLM tier roster, dual-substrate routing, the governed autonomous loop, and Agent-not-Workflow discipline. Use to start or run this model on any non-trivial build, research, multi-file edit, audit, refactor, or fan-out task.\"\nversion: 1.1.0\nstatus: active\ntriggers:\n  - \u002Fopus-fleet\n  - opus orchestrates\n  - spawn agents\n  - fan out agents\n  - three lane execution\n  - research code testing lanes\n  - max reasoning agents\n  - agent fleet\n  - glm fleet\n  - zai fleet\n  - dual substrate\n  - glm-fleet\nscope: harness\ninvocation: workflow\n---\n\n# opus-fleet — Opus orchestrates, Sonnet\u002FHaiku agents execute\n\nThe default way to run any non-trivial task. The main **Opus** session never grinds parallelizable work itself — it **orchestrates**: decompose → dispatch a fleet of **Sonnet + Haiku Agents** (always max reasoning) across three lanes → **review and correct every result** → finalize. Greater quality, and cheaper — Sonnet bills a separate weekly pool, so the fan-out barely touches the Opus quota.\n\nCanonical rule: [`.claude\u002Fmemory\u002Ffeedback-opus-orchestrates-sonnet-haiku-agents.md`](..\u002F..\u002F.claude\u002Fmemory\u002Ffeedback-opus-orchestrates-sonnet-haiku-agents.md). This skill is the **quick-start + discipline** for it.\n\n## When this fires\n\nEvery substantial task — build, research, multi-file edit, audit, verification, refactor. Skip only trivial single reads and pure conversation.\n\n**Fleet sizing — don't under-spawn.** Native Agents are FLAT (they can't spawn sub-agents — `Explore` has no Agent tool, and the model keeps them leaf-only). So trade depth for BREADTH: fanning out **up to ~12 parallel native Agents in one message is encouraged** when the work divides that way (Sonnet bills a separate weekly pool — breadth is cheap). Recursion depth is the GLM \u002F `nano-spawn` substrate's job, capped at **depth 5** (heavy tier) with decaying per-level fan-out. Self-size to the task — but the failure mode here is timidity, not excess.\n\n## The model at a glance\n\n```\n                 ┌───────────────────────────┐\n                 │   OPUS  (this session)     │\n                 │  decompose · judge · plan  │\n                 │  synthesize · review · ship│\n                 └───────────────────────────┘\n                  ↑            ↑            ↑\n        ┌─────────┘            │            └─────────┐\n  ┌───────────┐         ┌─────────────┐         ┌───────────┐\n  │ RESEARCH  │         │  CODE-GEN   │         │  TESTING  │\n  │ scan code │         │ new files,  │         │ scripts,  │\n  │ docs, APIs│         │ patches,    │         │ browser,  │\n  │           │         │ refactors   │         │ logs      │\n  └───────────┘         └─────────────┘         └───────────┘\n        Sonnet + Haiku Agents — ALWAYS at MAX reasoning\n```\n\n## Quick start — copy-paste dispatch\n\nRun independent lanes **in parallel** (multiple `Agent` calls in one message). Every prompt is self-contained and ends with the max-reasoning directive.\n\n```\nAgent(\n  description: \"\u003C3-5 word label>\",\n  subagent_type: \"Explore\"   \u002F\u002F read-only research; or \"general-purpose\" for edits\u002Fbash\n  model: \"sonnet\",           \u002F\u002F sonnet = judgment\u002Fcode-gen; haiku = read\u002Fscan\u002Fmechanical\n  prompt: `Use MAXIMUM reasoning depth — be exhaustive and rigorous.\n           \u003CROLE>: \u003CResearch | Code-generation | Testing> lane for an Opus-orchestrated task in \u003Crepo>.\n           CONTEXT (self-contained — you lack the conversation): \u003Cwhat changed \u002F state>.\n           TASK: \u003Cexact, bounded>.\n           DO NOT: touch protected paths; commit; rewrite dated history.\n           RETURN: \u003Cexact format — table \u002F verdict \u002F diff>.`\n)\n```\n\n## Model routing\n\n| Lane | Default model | Use when |\n|------|---------------|----------|\n| Research (classify, judge, prior-art) | **sonnet** | needs judgment over what it finds |\n| Research (census, grep-survey, read-dump) | **haiku** | mechanical breadth, go heavy |\n| Code-generation (patches, new files, refactors) | **sonnet** | correctness matters |\n| Testing (run scripts, parse logs, verify) | **haiku** | mechanical execution + report |\n\n`Explore` = read-only (can't edit) — safest for research. `general-purpose` = full tools — for edits\u002Fbash. Never spawn an Agent to read one known file (do it inline).\n\n## The orchestrator loop (Opus keeps these)\n\n1. **Decompose** into independent lanes; identify what genuinely parallelizes.\n2. **Dispatch** parallel Agents (one message, multiple calls), each self-contained, each at max reasoning.\n3. **Review + correct** — first-run agent output is a hypothesis. Verify every load-bearing claim against local evidence; override what's wrong.\n4. **Finalize** — Opus only: scoped-pathspec commit, push, irreversible\u002Foutward calls, protected-path discipline. Agents never finalize.\n\n## Hard rules (failure-anchored)\n\n- **Agent, never Workflow.** Workflow `agent()` bills the main\u002FOpus quota; the `Agent` tool with `model:\"sonnet\"` bills the separate Sonnet pool. \u003C!-- @anchor: v1 | failure: FB:WORKFLOW-BILLS-MAIN-QUOTA-NOT-SONNET | regression: .claude\u002Fmemory\u002Ffeedback-no-workflow-tool-use-agent-only.md -->\n- **Always max reasoning.** The Agent tool has no effort param, so keep the orchestrator at max effort (agents inherit) AND pin `Use MAXIMUM reasoning depth` as the first line of every agent prompt. \u003C!-- @anchor: v1 | failure: FB:OPUS-ORCHESTRATES-SONNET-HAIKU-AGENTS | regression: .claude\u002Fmemory\u002Ffeedback-opus-orchestrates-sonnet-haiku-agents.md -->\n- **Verify every agent result.** A Haiku testing lane (2026-06-22) couldn't run its check, *guessed from reading code*, and reported the guard would BLOCK existing `.claude` files — direct evidence showed WARN. Override agent guesses with local runs. \u003C!-- @anchor: v1 | failure: opus-fleet-haiku-warn-block-misguess-2026-06-22 | regression: SKILL.md self-test (verify agent claim before trusting) -->\n- **Agents earn their keep.** Same session, a Sonnet research lane found a real ENOENT (`yuri-supercharge-gate.mjs` pointing at a deleted test) that the solo pass missed — the fan-out is not theater. \u003C!-- @anchor: v1 | failure: none | regression: none -->\n- **Self-contained prompts.** Agents lack the conversation; an underspecified prompt returns confident garbage. Always include state + constraints + return format.\n- **GLM lanes: never `tee`\u002F`>`, always `--out`.** A second reader on the z.ai\u002FAnthropic stream triggers transport:EPIPE (fixed root cause — don't reintroduce). `glm-fleet.mjs` collects each lane's text from its own `--out` file. \u003C!-- @anchor: v1 | failure: FB:GLM-ZAI-BUILD-LANE | regression: .claude\u002Fmemory\u002Ffeedback-glm-zai-build-lane.md -->\n- **GLM agents run at `--reasoning high`.** That is the GLM max-equivalent — there is no higher tier. Pin it on every GLM task (the native-Agent \"max reasoning\" analogue). \u003C!-- @anchor: none -->\n- **The GLM fleet is DISARMED by default.** `glm-fleet.mjs` dry-runs (zero spend, zero fan-out) without `YURI_GLM_FLEET=1`; arming it — and `YURI_SWARM_CONVERGENCE` \u002F `YURI_NANOSWARM_SPAWN` — is owner-gated (durable z.ai spend + process fan-out are not git-reversible). \u003C!-- @anchor: v1 | failure: FB:ARMING-IMPROVEMENTS-SELF-GOVERNABLE | regression: .claude\u002Fmemory\u002Ffeedback-arming-improvements-self-governable.md -->\n- **Verify GLM output locally — lanes over-claim.** A peer lane reporting \"done\" is a hypothesis (precedent: 18\u002F19 false \"done\", a raw arithmetic hallucination). Re-check against local evidence before trusting, exactly as with native agents. \u003C!-- @anchor: v1 | failure: FB:NANO-SWARM-ORCHESTRATION | regression: .claude\u002Fmemory\u002Ffeedback-nano-swarm-orchestration.md -->\n\n## Anti-rationalization table\n\n| Excuse | Reality |\n|--------|---------|\n| \"This is small, I'll just do it solo.\" | Then it's trivial → fine. But \"multi-file \u002F multi-step \u002F needs a survey\" is exactly the fan-out case; solo is slower and misses things (the ENOENT above). |\n| \"Workflow is right here and easier.\" | Workflow drains the Opus quota and is banned here. `Agent(model:\"sonnet\")` is the only fan-out path. |\n| \"The agent said it passed, ship it.\" | Agent output is a hypothesis. The Haiku lane *guessed wrong* this session. Verify against a local run before trusting. |\n| \"Max reasoning costs too much.\" | Sonnet bills a separate weekly pool. The cost concern is inverted — fan out liberally. |\n| \"I'll skip the context, the agent will figure it out.\" | It can't — it has no conversation history. Underspecified → confident garbage. Self-contained prompt every time. |\n| \"GLM is the read-only \u002F advisory lane.\" | Wrong — GLM lanes carry the full harness (write \u002F edit \u002F bash) and build exactly like native Agents; `glm-5.2` is an Opus-peer. Route by quota \u002F context \u002F recursion \u002F native-tool-need, never by a capability tier that doesn't exist. |\n| \"I'll pipe the GLM call through `tee` to watch it.\" | That triggers transport:EPIPE. Use `--out` and read the file. Never a second stream reader on the lane. |\n| \"Arm the autonomous loop so it just runs unattended.\" | Arming spends durable budget + fans out processes — owner-gated, always. Build + smoke DISARMED; the owner flips the flag. |\n\n## Optional — loop until done\n\nFor unknown-size discovery, wrap rounds with the convergence governor `_SYSTEM\u002FScripts\u002Fswarm-convergence.mjs` (obligation floor + critical-signal block + adversarial \"what's missing\" pass + damping). DISARMED by default (`YURI_SWARM_CONVERGENCE=1`). Use when one fan-out round isn't provably complete.\n\n## z.ai GLM fleet — the second substrate\n\nThe native Claude fleet has a full **twin**, not a sidekick: a **z.ai GLM lane fleet** dispatched through `_SYSTEM\u002FScripts\u002Fglm-fleet.mjs`. Every GLM lane runs the complete YURI operator harness via `llm-lane.mjs` — `read`\u002F`grep`\u002F`search`\u002F`xref` **and** `write_file`\u002F`edit_file`\u002F`bash` — so it **develops, designs, codes, writes files, and runs\u002Fself-verifies** exactly like a native Agent. It is a peer build substrate — never read-only or advisory. `glm-max` (glm-5.2, 1M context) is an **Opus-peer**: on par or better at reasoning, coding, and visual design. It bills the z.ai plan (independent of the Anthropic quota), runs at **`--reasoning high`** (the GLM max-equivalent), and the same three lanes mirror onto it — Research, Code-generation, Testing — all doing real work.\n\nThe fullest mirror is **`ai claude-zai`**: a complete Claude Code session running on GLM (`OPUS→glm-5.2`, `SONNET→glm-4.7`, `HAIKU→glm-flash`) — the exact same setup as this one, on z.ai. Reach for it for a full interactive GLM build session; use `glm-fleet.mjs` to fan GLM peers out in parallel from here.\n\nDISARMED by default → **dry-run** (prints the plan, spends nothing). Arm (owner-gated) via EITHER the session env `YURI_GLM_FLEET=1` OR a persistent local flag `touch _SYSTEM\u002Fstate\u002Fglm-fleet.enabled` (gitignored, reversible by `rm`). `glm-fleet.mjs --list` shows the current arm state.\n\nGLM tier roster (mirrors Opus\u002FSonnet\u002FHaiku):\n\n| Tier | alias | model | ctx | use |\n|------|-------|-------|-----|-----|\n| Opus-peer · orchestrator | `glm-max` | glm-5.2 | 1M | heavy reasoning, design, architecture, code, synthesis (premium) |\n| Sonnet · workhorse | `glm` | glm-4.7 | 200K | code-gen, refactor, analysis, judgment |\n| Haiku · fast build | `glm-flash` | glm-4.7-flash | 200K | census, scan, fast edits, test-runs (free) |\n| Haiku+ · concurrency | `glm-flashx` | glm-4.7-flashx | 200K | wide cheap fan-out (paid) |\n| Sub-orch overflow | `glm-sub-orch` | glm-5.1 | 200K | when glm-max is quota-gated |\n| Reactive · voice | `glm-turbo` | glm-5-turbo | 200K | sub-4s interactive |\n| Vision | `glm-vision` | glm-4.6v | 64K | screenshots, images (live-verified) |\n| OCR | `glm-ocr` | glm-ocr | 32K | document \u002F PDF extraction (needs image payload) |\n\nLive-probe 2026-06-22: `glm-max`, `glm`, `glm-flash`, `glm-turbo`, `glm-5.1`, `glm-vision` verified live. `glm-flashx` (id accepted but empty output — likely not provisioned) and `glm-ocr` (needs an image payload) are UNVERIFIED via the text path — registered, not yet relied on.\n\nDispatch programmatically:\n\n```js\nimport { glmFleet } from '.\u002Fglm-fleet.mjs'; \u002F\u002F path relative to the importing file; the shell form below is location-independent\nconst { results, runDir } = await glmFleet([\n  { lane: 'glm-max',   label: 'DESIGN',  prompt: `Use MAXIMUM reasoning depth. ROLE: design + architecture lane ... RETURN: design doc + RESULT_LABEL` },\n  { lane: 'glm',       label: 'CODEGEN', prompt: `Use MAXIMUM reasoning depth. ROLE: code-generation lane — write\u002Fedit the files directly and self-verify by running them ... RETURN: diff summary + RESULT_LABEL` },\n  { lane: 'glm-flash', label: 'TEST',    prompt: `Use MAXIMUM reasoning depth. ROLE: testing lane — run the suite, parse logs, report ... RETURN: results + RESULT_LABEL` },\n], { concurrency: 3 });   \u002F\u002F needs YURI_GLM_FLEET=1, else dry-run\n```\n\nOr from the shell (collect via `--out` — NEVER `tee`\u002F`>`):\n\n```bash\nYURI_GLM_FLEET=1 node _SYSTEM\u002FScripts\u002Fglm-fleet.mjs --tasks '[{\"lane\":\"glm-max\",\"label\":\"ORCH\",\"prompt\":\"...\"}]' --concurrency 3\n# results land in .claude\u002Fjobs\u002F\u003Crun>\u002Fresults\u002F\u003Clabel>.json   ·   dry-run plan: drop YURI_GLM_FLEET or add --dry-run\n```\n\n## ollama-cloud fleet — the third substrate\n\nThe third peer fleet: **ollama-cloud lanes** dispatched through `_SYSTEM\u002FScripts\u002Follama-fleet.mjs` — cross-family models (not Claude, not GLM) carrying the full YURI operator harness via `llm-lane.mjs`, so they build, code, write, and self-verify like any other lane. ONE base `ollama-cloud` lane fans out across the roster by `--model \u003CX>:cloud`; the ollama Pro plan allows **3 concurrent**. It bills the ollama plan (independent of both the Anthropic and z.ai quotas) and is the **cheapest bulk fan-out** — reach for it to spread wide, cheap, parallel work.\n\nRoster (tier → model), all at `--reasoning high`:\n- `flash` → `deepseek-v4-flash:cloud` — **default bulk**, best quality-per-usage, blast freely\n- `minimax` → `minimax-m3:cloud` · `kimi` → `kimi-k2.7-code:cloud` — the efficient working trio\n- `nemotron` → `nemotron-3-ultra:cloud` (heavy reasoning) · `deepseek-pro` → `deepseek-v4-pro:cloud` (true-1M input; ~2× usage — avoid for bulk) · `gemma` → `gemma4:31b-cloud`\n\nDISARMED by default → **dry-run** (prints the plan, spends nothing). Arm (owner-gated) via EITHER `YURI_OLLAMA_FLEET=1` OR `touch _SYSTEM\u002Fstate\u002Follama-fleet.enabled` (gitignored, reversible by `rm`). `ollama-fleet.mjs --list` shows the arm state + roster.\n\n```bash\n# 3-model peer fan-out (needs YURI_OLLAMA_FLEET=1, else dry-run)\nYURI_OLLAMA_FLEET=1 node _SYSTEM\u002FScripts\u002Follama-fleet.mjs --tasks '[{\"tier\":\"flash\",\"label\":\"R1\",\"prompt\":\"...\"},{\"tier\":\"kimi\",\"label\":\"R2\",\"prompt\":\"...\"}]' --concurrency 3\n# results → .claude\u002Fjobs\u002F\u003Crun>\u002Fresults\u002F\u003Clabel>.json   ·   live smoke: --smoke   ·   dry-run: drop the env \u002F add --dry-run\n```\n\nThe key hydrates from the macOS keychain at the LANE layer (`models.json` `keychain_service: YURI_OS_MUSUBI:OLLAMA_API_KEY`), so a spawned lane authenticates without the `ai` wrapper or an exported `OLLAMA_API_KEY` (root-cause fix 2026-06-23 — every caller benefits, not just the wrapper).\n\n## Multi-substrate routing — three equal build fleets\n\nNOT a capability tier. All three fleets have the SAME powers — read, write, edit, bash, design, code, test, self-verify. GLM and ollama-cloud are peer extensions of Claude Code, never advisory or read-only. Route by operational fit, then spread work across ALL THREE for max throughput on independent quotas:\n\n| factor | native Claude Agents | z.ai GLM lanes | ollama-cloud lanes |\n|---|---|---|---|\n| build powers | read · write · edit · bash · test | identical | identical |\n| quota pool | Claude \u002F Sonnet weekly | z.ai plan | ollama Pro (independent — run all three at once) |\n| recursion | FLAT (leaf-only) | recursive via `nano-spawn`, depth ≤ 5 | FLAT (peer fan-out, 3 concurrent) |\n| max context | per-model | `glm-5.2` = 1M | 1M input (deepseek-v4 family) |\n| reasoning \u002F coding tier | Opus \u002F Sonnet \u002F Haiku | `glm-5.2` \u002F `glm-4.7` \u002F `glm-flash` | nemotron \u002F minimax \u002F kimi \u002F deepseek-v4 |\n| native MCP \u002F browser \u002F computer-use | yes | no | no |\n| finalize (commit \u002F push) | no — orchestrator only | no — orchestrator only | no — orchestrator only |\n\nThe only hard native-only needs are MCP tools, browser, and computer-use. Everything else either fleet does equally. Default to spreading a large build across all three on their independent quotas, in parallel: native (Anthropic), GLM (z.ai), ollama-cloud (ollama Pro) — three quota pools = up to ~3× throughput. `glm-max` is a first-class orchestrator\u002Fred-teamer; the ollama lane is the cheap bulk muscle (`deepseek-v4-flash` for breadth, `deepseek-v4-pro` reserved for true-1M \u002F hardest jobs).\n\n## Spawning a sub-orchestrator (Opus-equivalent fan-out)\n\nA spawned orchestrator — a native `general-purpose` Agent OR a `glm-max` lane — can run this fleet model itself if handed the protocol. Inject `FLEET_PROTOCOL_PREAMBLE` (exported from `glm-fleet.mjs`) as the first block of its prompt; glm-5.2's 1M context also lets you paste this whole SKILL.md verbatim. That is how \"the Opus and Opus-equivalent spawns sub-dispatch with this knowledge.\"\n\nHonest caveat: native Claude subagents are **flat** — `Explore` has no Agent tool and the standing model keeps the native fleet leaf-only (Opus is the sole native spawner). Compensate with breadth (up to ~12 parallel; see Fleet sizing). Real recursion lives on the GLM substrate via the governed `nano-spawn` path (`YURI_NANOSWARM_SPAWN=1`, owner-gated) at **depth ≤ 5**. Until that is armed, \"sub-orchestration\" means a `glm-max` lane calling `glm-fleet.mjs` for its own peer round.\n\n## The governed autonomous loop\n\nOne owner input → a fully governed fleet:\n\n1. **Decompose** — Opus splits into leaves, each tagged substrate `native` | `glm` | `both`; build the obligation ledger (`swarm-convergence.buildObligationLedger`).\n2. **Dispatch** — native Agents (one message, parallel) + `glmFleet(...)` in parallel; each self-contained, max reasoning \u002F `--reasoning high`.\n3. **Aggregate** — read native returns + `.claude\u002Fjobs\u002F\u003Crun>\u002Fresults\u002F*.json` into one pool.\n4. **Adversarial verify** — `swarm-convergence.runAdversarialPass` with a `glm-max` runner (\"what's missing\"); Opus re-verifies load-bearing claims against local evidence.\n5. **Converge** — `converge(...)`; not converged → re-dispatch `nextRoundWork`, capped ≤ 3 rounds (damping force-stops on budget).\n6. **Finalize** — Opus only: scoped-pathspec commit, push, irreversible\u002Foutward calls.\n\nArm the quality gate with `YURI_SWARM_CONVERGENCE=1`; the `nano-barrier` safety block (orphans\u002Fcontested claims) is always on regardless. Both the convergence arm and the GLM-fleet arm are owner-gated.\n\n**Runnable now — `_SYSTEM\u002FScripts\u002FrunSwarm.mjs`** (the audit's missing \"orchestrator binary\"). The GLM-substrate version of this loop is wired into one entry point: `runSwarm({leaves:[{id,lane,prompt}]}, {rounds,concurrency})` runs decompose-ledger → `glmFleet` dispatch → `aggregatePoolOutputs` → `runAdversarialPass` (glm-max) → `converge` → re-dispatch only the gap leaves (obligation-floor failures **and** adversarial gaps; null-leaf gaps re-run all; ≤rounds) → `finalizeGuard` → manifest. CLI: `node _SYSTEM\u002FScripts\u002FrunSwarm.mjs --leaves-file leaves.json --rounds 3`. **ARMED** via the gitignored flags `_SYSTEM\u002Fstate\u002Fswarm-convergence.enabled` + `_SYSTEM\u002Fstate\u002Fglm-fleet.enabled` (env vars still work). Live-verified end-to-end (a 2-leaf armed run converged round 1; hermetic tests cover gap re-dispatch, floor-failure re-dispatch, and disarmed-no-spend). The NATIVE substrate stays Opus-orchestrated (Agent tool) and pairs with this at the top. The recursive (Level-B) `nano-spawn`\u002F`dispatchPool` depth is wired but its deep-arm is deferred to hardening (the audit's livelock\u002Flease seams).\n\n## Specialized roles — MURE (built 2026-06-22)\n\nThe roles seam is now realized as **MURE** (群れ) — a 20-role self-governing agent collective in `_SYSTEM\u002Fconfig\u002Ffleet-roles.json` + `_SYSTEM\u002Fmure\u002F`. Each role = `{id, archetype, capabilities, substrate, lane, autonomyClass, mathHooks, goalScope, independentOf}`. Use it instead of hand-casting lanes when a task wants named roles:\n\n```bash\nnode _SYSTEM\u002Fmure\u002Fmure.mjs --roster        # the 20 roles, 6 groups\nnode _SYSTEM\u002Fmure\u002Fmure.mjs --demo           # DISARMED plan of a sample task → roles → leaves (zero spend)\nnode _SYSTEM\u002Fmure\u002Fcompany.mjs --task-file t.json   # cast a real task; armed (YURI_MURE_ARMED \u002F _SYSTEM\u002Fstate\u002Fmure.enabled) → live GLM dispatch\n```\n\n`company.runCompany(task)` casts each subtask to its best-matching role (capability match), gates every decision through the 6-gate self-governance charter (`governance.mjs`), and splits the work: GLM roles → runSwarm leaves (dispatched), native roles → Agent specs (for THIS Opus session to spawn). The math layer is wired into role decisions via `math-bridge.mjs` (decision-sim goal-scoring, quantum order-effect, energy veto, prediction Brier). DISARMED by default; arming is owner-gated; finalize stays Opus\u002Fowner. Full manual: `_SYSTEM\u002Fmure\u002FREADME.md`.\n\n## Session Notes\n\n- **2026-06-22 (v1.0.0, created):** Built via the model itself — Sonnet research lane (overlap audit + discoverability mechanics: byte-0 frontmatter, `skill-recall` ranks `description` not `triggers`, `skill-sync --sync` publishes `skills\u002F`→`.claude\u002Fskills\u002F`), Opus synthesized + registered, Haiku testing lane verified discoverability. Corrections caught this session: Haiku WARN\u002FBLOCK misguess (→ verify-agent-output rule), research found an ENOENT solo missed. Tools: Agent (Explore\u002Fsonnet, general-purpose\u002Fhaiku), Write, Edit, Bash, skill-sync, skill-recall. Errors: none on build. Registered in `skills\u002Fdomain-index.json` → `01-agent-assembly`; alias `commands\u002Fopus-fleet.md`.\n- **2026-06-22 (v1.1.0, dual-substrate):** Added the z.ai GLM fleet as the second substrate. Built `_SYSTEM\u002FScripts\u002Fglm-fleet.mjs` (parallel GLM dispatcher on `lane-dispatch.mjs` retry + semaphore, DISARMED dry-run default, `@capability: glm-fleet-dispatch`, `FLEET_PROTOCOL_PREAMBLE` for sub-orchestrators). Wired GLM tier roster into `models.json` (+glm-4.7-flash\u002Fflashx, glm-4.6v, glm-ocr) + `llm-lane.mjs` aliases (glm-max=5.2, glm=4.7, glm-flash→4.7-flash remapped off 4.5-air, glm-sub-orch=5.1, glm-vision=4.6v, glm-ocr). Added 5 sections (GLM fleet, dual-substrate routing, sub-orchestrator injection, governed autonomous loop, roles seam) + 4 hard rules + 3 anti-rat rows. GLM reasoning ceiling = `high`. Verified: models.json valid, `glm-flash`→`glm-4.7-flash` resolves, `glm-fleet --list`\u002F`--smoke --dry-run` clean. Built by Opus directly (integration-critical); research via 3 Sonnet Explore lanes (zai internals, governance inventory, online GLM benchmarks) + 1 Sonnet Plan lane (build design); HTML viz approved pre-build. Arming the loop stays owner-gated.\n- **2026-06-23 (v1.2.0, third substrate):** Added the **ollama-cloud peer fleet** — `_SYSTEM\u002FScripts\u002Follama-fleet.mjs` (mirrors glm-fleet on `lane-dispatch.mjs` retry + semaphore; ONE base `ollama-cloud` lane + `--model \u003CX>:cloud`; roster tiers flash\u002Fminimax\u002Fkimi\u002Fnemotron\u002Fdeepseek-pro\u002Fgemma; DISARMED dry-run default; `@capability: ollama-fleet-dispatch`) + `ollama-fleet.test.mjs` (9\u002F9 red\u002Fgrey\u002Fgreen). Root-cause RELIABILITY fix: the 3 ollama-cloud lanes in `models.json` lacked `keychain_service`, so `llm-lane.mjs` keychain hydration was skipped for any non-`ai`-wrapper caller → `missing_key`; added `keychain_service: YURI_OS_MUSUBI:OLLAMA_API_KEY` to all 3 (lane-layer fix → every caller benefits). Verified: armed 3-model LIVE smoke (flash 2s + minimax 9s + kimi 33s, all ok, key UNSET → keychain hydrated end-to-end at concurrency 3). Sections added: \"ollama-cloud fleet\" + \"Multi-substrate routing\" (dual→triple). Built by Opus directly. Arming stays owner-gated (flag NOT created; smoke via transient env only). Tools: Bash, Read, Edit, Write, capability-scan, llm-lane, keychain probes.\n","# opus-fleet — Opus orchestrates, Sonnet\u002FHaiku agents execute\n\nThe default way to run any non-trivial task. The main **Opus** session never grinds parallelizable work itself — it **orchestrates**: decompose → dispatch a fleet of **Sonnet + Haiku Agents** (always max reasoning) across three lanes → **review and correct every result** → finalize. Greater quality, and cheaper — Sonnet bills a separate weekly pool, so the fan-out barely touches the Opus quota.\n\nCanonical rule: [`.claude\u002Fmemory\u002Ffeedback-opus-orchestrates-sonnet-haiku-agents.md`](..\u002F..\u002F.claude\u002Fmemory\u002Ffeedback-opus-orchestrates-sonnet-haiku-agents.md). This skill is the **quick-start + discipline** for it.\n\n## When this fires\n\nEvery substantial task — build, research, multi-file edit, audit, verification, refactor. Skip only trivial single reads and pure conversation.\n\n**Fleet sizing — don't under-spawn.** Native Agents are FLAT (they can't spawn sub-agents — `Explore` has no Agent tool, and the model keeps them leaf-only). So trade depth for BREADTH: fanning out **up to ~12 parallel native Agents in one message is encouraged** when the work divides that way (Sonnet bills a separate weekly pool — breadth is cheap). Recursion depth is the GLM \u002F `nano-spawn` substrate's job, capped at **depth 5** (heavy tier) with decaying per-level fan-out. Self-size to the task — but the failure mode here is timidity, not excess.\n\n## The model at a glance\n\n```\n                 ┌───────────────────────────┐\n                 │   OPUS  (this session)     │\n                 │  decompose · judge · plan  │\n                 │  synthesize · review · ship│\n                 └───────────────────────────┘\n                  ↑            ↑            ↑\n        ┌─────────┘            │            └─────────┐\n  ┌───────────┐         ┌─────────────┐         ┌───────────┐\n  │ RESEARCH  │         │  CODE-GEN   │         │  TESTING  │\n  │ scan code │         │ new files,  │         │ scripts,  │\n  │ docs, APIs│         │ patches,    │         │ browser,  │\n  │           │         │ refactors   │         │ logs      │\n  └───────────┘         └─────────────┘         └───────────┘\n        Sonnet + Haiku Agents — ALWAYS at MAX reasoning\n```\n\n## Quick start — copy-paste dispatch\n\nRun independent lanes **in parallel** (multiple `Agent` calls in one message). Every prompt is self-contained and ends with the max-reasoning directive.\n\n```\nAgent(\n  description: \"\u003C3-5 word label>\",\n  subagent_type: \"Explore\"   \u002F\u002F read-only research; or \"general-purpose\" for edits\u002Fbash\n  model: \"sonnet\",           \u002F\u002F sonnet = judgment\u002Fcode-gen; haiku = read\u002Fscan\u002Fmechanical\n  prompt: `Use MAXIMUM reasoning depth — be exhaustive and rigorous.\n           \u003CROLE>: \u003CResearch | Code-generation | Testing> lane for an Opus-orchestrated task in \u003Crepo>.\n           CONTEXT (self-contained — you lack the conversation): \u003Cwhat changed \u002F state>.\n           TASK: \u003Cexact, bounded>.\n           DO NOT: touch protected paths; commit; rewrite dated history.\n           RETURN: \u003Cexact format — table \u002F verdict \u002F diff>.`\n)\n```\n\n## Model routing\n\n| Lane | Default model | Use when |\n|------|---------------|----------|\n| Research (classify, judge, prior-art) | **sonnet** | needs judgment over what it finds |\n| Research (census, grep-survey, read-dump) | **haiku** | mechanical breadth, go heavy |\n| Code-generation (patches, new files, refactors) | **sonnet** | correctness matters |\n| Testing (run scripts, parse logs, verify) | **haiku** | mechanical execution + report |\n\n`Explore` = read-only (can't edit) — safest for research. `general-purpose` = full tools — for edits\u002Fbash. Never spawn an Agent to read one known file (do it inline).\n\n## The orchestrator loop (Opus keeps these)\n\n1. **Decompose** into independent lanes; identify what genuinely parallelizes.\n2. **Dispatch** parallel Agents (one message, multiple calls), each self-contained, each at max reasoning.\n3. **Review + correct** — first-run agent output is a hypothesis. Verify every load-bearing claim against local evidence; override what's wrong.\n4. **Finalize** — Opus only: scoped-pathspec commit, push, irreversible\u002Foutward calls, protected-path discipline. Agents never finalize.\n\n## Hard rules (failure-anchored)\n\n- **Agent, never Workflow.** Workflow `agent()` bills the main\u002FOpus quota; the `Agent` tool with `model:\"sonnet\"` bills the separate Sonnet pool. \u003C!-- @anchor: v1 | failure: FB:WORKFLOW-BILLS-MAIN-QUOTA-NOT-SONNET | regression: .claude\u002Fmemory\u002Ffeedback-no-workflow-tool-use-agent-only.md -->\n- **Always max reasoning.** The Agent tool has no effort param, so keep the orchestrator at max effort (agents inherit) AND pin `Use MAXIMUM reasoning depth` as the first line of every agent prompt. \u003C!-- @anchor: v1 | failure: FB:OPUS-ORCHESTRATES-SONNET-HAIKU-AGENTS | regression: .claude\u002Fmemory\u002Ffeedback-opus-orchestrates-sonnet-haiku-agents.md -->\n- **Verify every agent result.** A Haiku testing lane (2026-06-22) couldn't run its check, *guessed from reading code*, and reported the guard would BLOCK existing `.claude` files — direct evidence showed WARN. Override agent guesses with local runs. \u003C!-- @anchor: v1 | failure: opus-fleet-haiku-warn-block-misguess-2026-06-22 | regression: SKILL.md self-test (verify agent claim before trusting) -->\n- **Agents earn their keep.** Same session, a Sonnet research lane found a real ENOENT (`yuri-supercharge-gate.mjs` pointing at a deleted test) that the solo pass missed — the fan-out is not theater. \u003C!-- @anchor: v1 | failure: none | regression: none -->\n- **Self-contained prompts.** Agents lack the conversation; an underspecified prompt returns confident garbage. Always include state + constraints + return format.\n- **GLM lanes: never `tee`\u002F`>`, always `--out`.** A second reader on the z.ai\u002FAnthropic stream triggers transport:EPIPE (fixed root cause — don't reintroduce). `glm-fleet.mjs` collects each lane's text from its own `--out` file. \u003C!-- @anchor: v1 | failure: FB:GLM-ZAI-BUILD-LANE | regression: .claude\u002Fmemory\u002Ffeedback-glm-zai-build-lane.md -->\n- **GLM agents run at `--reasoning high`.** That is the GLM max-equivalent — there is no higher tier. Pin it on every GLM task (the native-Agent \"max reasoning\" analogue). \u003C!-- @anchor: none -->\n- **The GLM fleet is DISARMED by default.** `glm-fleet.mjs` dry-runs (zero spend, zero fan-out) without `YURI_GLM_FLEET=1`; arming it — and `YURI_SWARM_CONVERGENCE` \u002F `YURI_NANOSWARM_SPAWN` — is owner-gated (durable z.ai spend + process fan-out are not git-reversible). \u003C!-- @anchor: v1 | failure: FB:ARMING-IMPROVEMENTS-SELF-GOVERNABLE | regression: .claude\u002Fmemory\u002Ffeedback-arming-improvements-self-governable.md -->\n- **Verify GLM output locally — lanes over-claim.** A peer lane reporting \"done\" is a hypothesis (precedent: 18\u002F19 false \"done\", a raw arithmetic hallucination). Re-check against local evidence before trusting, exactly as with native agents. \u003C!-- @anchor: v1 | failure: FB:NANO-SWARM-ORCHESTRATION | regression: .claude\u002Fmemory\u002Ffeedback-nano-swarm-orchestration.md -->\n\n## Anti-rationalization table\n\n| Excuse | Reality |\n|--------|---------|\n| \"This is small, I'll just do it solo.\" | Then it's trivial → fine. But \"multi-file \u002F multi-step \u002F needs a survey\" is exactly the fan-out case; solo is slower and misses things (the ENOENT above). |\n| \"Workflow is right here and easier.\" | Workflow drains the Opus quota and is banned here. `Agent(model:\"sonnet\")` is the only fan-out path. |\n| \"The agent said it passed, ship it.\" | Agent output is a hypothesis. The Haiku lane *guessed wrong* this session. Verify against a local run before trusting. |\n| \"Max reasoning costs too much.\" | Sonnet bills a separate weekly pool. The cost concern is inverted — fan out liberally. |\n| \"I'll skip the context, the agent will figure it out.\" | It can't — it has no conversation history. Underspecified → confident garbage. Self-contained prompt every time. |\n| \"GLM is the read-only \u002F advisory lane.\" | Wrong — GLM lanes carry the full harness (write \u002F edit \u002F bash) and build exactly like native Agents; `glm-5.2` is an Opus-peer. Route by quota \u002F context \u002F recursion \u002F native-tool-need, never by a capability tier that doesn't exist. |\n| \"I'll pipe the GLM call through `tee` to watch it.\" | That triggers transport:EPIPE. Use `--out` and read the file. Never a second stream reader on the lane. |\n| \"Arm the autonomous loop so it just runs unattended.\" | Arming spends durable budget + fans out processes — owner-gated, always. Build + smoke DISARMED; the owner flips the flag. |\n\n## Optional — loop until done\n\nFor unknown-size discovery, wrap rounds with the convergence governor `_SYSTEM\u002FScripts\u002Fswarm-convergence.mjs` (obligation floor + critical-signal block + adversarial \"what's missing\" pass + damping). DISARMED by default (`YURI_SWARM_CONVERGENCE=1`). Use when one fan-out round isn't provably complete.\n\n## z.ai GLM fleet — the second substrate\n\nThe native Claude fleet has a full **twin**, not a sidekick: a **z.ai GLM lane fleet** dispatched through `_SYSTEM\u002FScripts\u002Fglm-fleet.mjs`. Every GLM lane runs the complete YURI operator harness via `llm-lane.mjs` — `read`\u002F`grep`\u002F`search`\u002F`xref` **and** `write_file`\u002F`edit_file`\u002F`bash` — so it **develops, designs, codes, writes files, and runs\u002Fself-verifies** exactly like a native Agent. It is a peer build substrate — never read-only or advisory. `glm-max` (glm-5.2, 1M context) is an **Opus-peer**: on par or better at reasoning, coding, and visual design. It bills the z.ai plan (independent of the Anthropic quota), runs at **`--reasoning high`** (the GLM max-equivalent), and the same three lanes mirror onto it — Research, Code-generation, Testing — all doing real work.\n\nThe fullest mirror is **`ai claude-zai`**: a complete Claude Code session running on GLM (`OPUS→glm-5.2`, `SONNET→glm-4.7`, `HAIKU→glm-flash`) — the exact same setup as this one, on z.ai. Reach for it for a full interactive GLM build session; use `glm-fleet.mjs` to fan GLM peers out in parallel from here.\n\nDISARMED by default → **dry-run** (prints the plan, spends nothing). Arm (owner-gated) via EITHER the session env `YURI_GLM_FLEET=1` OR a persistent local flag `touch _SYSTEM\u002Fstate\u002Fglm-fleet.enabled` (gitignored, reversible by `rm`). `glm-fleet.mjs --list` shows the current arm state.\n\nGLM tier roster (mirrors Opus\u002FSonnet\u002FHaiku):\n\n| Tier | alias | model | ctx | use |\n|------|-------|-------|-----|-----|\n| Opus-peer · orchestrator | `glm-max` | glm-5.2 | 1M | heavy reasoning, design, architecture, code, synthesis (premium) |\n| Sonnet · workhorse | `glm` | glm-4.7 | 200K | code-gen, refactor, analysis, judgment |\n| Haiku · fast build | `glm-flash` | glm-4.7-flash | 200K | census, scan, fast edits, test-runs (free) |\n| Haiku+ · concurrency | `glm-flashx` | glm-4.7-flashx | 200K | wide cheap fan-out (paid) |\n| Sub-orch overflow | `glm-sub-orch` | glm-5.1 | 200K | when glm-max is quota-gated |\n| Reactive · voice | `glm-turbo` | glm-5-turbo | 200K | sub-4s interactive |\n| Vision | `glm-vision` | glm-4.6v | 64K | screenshots, images (live-verified) |\n| OCR | `glm-ocr` | glm-ocr | 32K | document \u002F PDF extraction (needs image payload) |\n\nLive-probe 2026-06-22: `glm-max`, `glm`, `glm-flash`, `glm-turbo`, `glm-5.1`, `glm-vision` verified live. `glm-flashx` (id accepted but empty output — likely not provisioned) and `glm-ocr` (needs an image payload) are UNVERIFIED via the text path — registered, not yet relied on.\n\nDispatch programmatically:\n\n```js\nimport { glmFleet } from '.\u002Fglm-fleet.mjs'; \u002F\u002F path relative to the importing file; the shell form below is location-independent\nconst { results, runDir } = await glmFleet([\n  { lane: 'glm-max',   label: 'DESIGN',  prompt: `Use MAXIMUM reasoning depth. ROLE: design + architecture lane ... RETURN: design doc + RESULT_LABEL` },\n  { lane: 'glm',       label: 'CODEGEN', prompt: `Use MAXIMUM reasoning depth. ROLE: code-generation lane — write\u002Fedit the files directly and self-verify by running them ... RETURN: diff summary + RESULT_LABEL` },\n  { lane: 'glm-flash', label: 'TEST',    prompt: `Use MAXIMUM reasoning depth. ROLE: testing lane — run the suite, parse logs, report ... RETURN: results + RESULT_LABEL` },\n], { concurrency: 3 });   \u002F\u002F needs YURI_GLM_FLEET=1, else dry-run\n```\n\nOr from the shell (collect via `--out` — NEVER `tee`\u002F`>`):\n\n```bash\nYURI_GLM_FLEET=1 node _SYSTEM\u002FScripts\u002Fglm-fleet.mjs --tasks '[{\"lane\":\"glm-max\",\"label\":\"ORCH\",\"prompt\":\"...\"}]' --concurrency 3\n# results land in .claude\u002Fjobs\u002F\u003Crun>\u002Fresults\u002F\u003Clabel>.json   ·   dry-run plan: drop YURI_GLM_FLEET or add --dry-run\n```\n\n## ollama-cloud fleet — the third substrate\n\nThe third peer fleet: **ollama-cloud lanes** dispatched through `_SYSTEM\u002FScripts\u002Follama-fleet.mjs` — cross-family models (not Claude, not GLM) carrying the full YURI operator harness via `llm-lane.mjs`, so they build, code, write, and self-verify like any other lane. ONE base `ollama-cloud` lane fans out across the roster by `--model \u003CX>:cloud`; the ollama Pro plan allows **3 concurrent**. It bills the ollama plan (independent of both the Anthropic and z.ai quotas) and is the **cheapest bulk fan-out** — reach for it to spread wide, cheap, parallel work.\n\nRoster (tier → model), all at `--reasoning high`:\n- `flash` → `deepseek-v4-flash:cloud` — **default bulk**, best quality-per-usage, blast freely\n- `minimax` → `minimax-m3:cloud` · `kimi` → `kimi-k2.7-code:cloud` — the efficient working trio\n- `nemotron` → `nemotron-3-ultra:cloud` (heavy reasoning) · `deepseek-pro` → `deepseek-v4-pro:cloud` (true-1M input; ~2× usage — avoid for bulk) · `gemma` → `gemma4:31b-cloud`\n\nDISARMED by default → **dry-run** (prints the plan, spends nothing). Arm (owner-gated) via EITHER `YURI_OLLAMA_FLEET=1` OR `touch _SYSTEM\u002Fstate\u002Follama-fleet.enabled` (gitignored, reversible by `rm`). `ollama-fleet.mjs --list` shows the arm state + roster.\n\n```bash\n# 3-model peer fan-out (needs YURI_OLLAMA_FLEET=1, else dry-run)\nYURI_OLLAMA_FLEET=1 node _SYSTEM\u002FScripts\u002Follama-fleet.mjs --tasks '[{\"tier\":\"flash\",\"label\":\"R1\",\"prompt\":\"...\"},{\"tier\":\"kimi\",\"label\":\"R2\",\"prompt\":\"...\"}]' --concurrency 3\n# results → .claude\u002Fjobs\u002F\u003Crun>\u002Fresults\u002F\u003Clabel>.json   ·   live smoke: --smoke   ·   dry-run: drop the env \u002F add --dry-run\n```\n\nThe key hydrates from the macOS keychain at the LANE layer (`models.json` `keychain_service: YURI_OS_MUSUBI:OLLAMA_API_KEY`), so a spawned lane authenticates without the `ai` wrapper or an exported `OLLAMA_API_KEY` (root-cause fix 2026-06-23 — every caller benefits, not just the wrapper).\n\n## Multi-substrate routing — three equal build fleets\n\nNOT a capability tier. All three fleets have the SAME powers — read, write, edit, bash, design, code, test, self-verify. GLM and ollama-cloud are peer extensions of Claude Code, never advisory or read-only. Route by operational fit, then spread work across ALL THREE for max throughput on independent quotas:\n\n| factor | native Claude Agents | z.ai GLM lanes | ollama-cloud lanes |\n|---|---|---|---|\n| build powers | read · write · edit · bash · test | identical | identical |\n| quota pool | Claude \u002F Sonnet weekly | z.ai plan | ollama Pro (independent — run all three at once) |\n| recursion | FLAT (leaf-only) | recursive via `nano-spawn`, depth ≤ 5 | FLAT (peer fan-out, 3 concurrent) |\n| max context | per-model | `glm-5.2` = 1M | 1M input (deepseek-v4 family) |\n| reasoning \u002F coding tier | Opus \u002F Sonnet \u002F Haiku | `glm-5.2` \u002F `glm-4.7` \u002F `glm-flash` | nemotron \u002F minimax \u002F kimi \u002F deepseek-v4 |\n| native MCP \u002F browser \u002F computer-use | yes | no | no |\n| finalize (commit \u002F push) | no — orchestrator only | no — orchestrator only | no — orchestrator only |\n\nThe only hard native-only needs are MCP tools, browser, and computer-use. Everything else either fleet does equally. Default to spreading a large build across all three on their independent quotas, in parallel: native (Anthropic), GLM (z.ai), ollama-cloud (ollama Pro) — three quota pools = up to ~3× throughput. `glm-max` is a first-class orchestrator\u002Fred-teamer; the ollama lane is the cheap bulk muscle (`deepseek-v4-flash` for breadth, `deepseek-v4-pro` reserved for true-1M \u002F hardest jobs).\n\n## Spawning a sub-orchestrator (Opus-equivalent fan-out)\n\nA spawned orchestrator — a native `general-purpose` Agent OR a `glm-max` lane — can run this fleet model itself if handed the protocol. Inject `FLEET_PROTOCOL_PREAMBLE` (exported from `glm-fleet.mjs`) as the first block of its prompt; glm-5.2's 1M context also lets you paste this whole SKILL.md verbatim. That is how \"the Opus and Opus-equivalent spawns sub-dispatch with this knowledge.\"\n\nHonest caveat: native Claude subagents are **flat** — `Explore` has no Agent tool and the standing model keeps the native fleet leaf-only (Opus is the sole native spawner). Compensate with breadth (up to ~12 parallel; see Fleet sizing). Real recursion lives on the GLM substrate via the governed `nano-spawn` path (`YURI_NANOSWARM_SPAWN=1`, owner-gated) at **depth ≤ 5**. Until that is armed, \"sub-orchestration\" means a `glm-max` lane calling `glm-fleet.mjs` for its own peer round.\n\n## The governed autonomous loop\n\nOne owner input → a fully governed fleet:\n\n1. **Decompose** — Opus splits into leaves, each tagged substrate `native` | `glm` | `both`; build the obligation ledger (`swarm-convergence.buildObligationLedger`).\n2. **Dispatch** — native Agents (one message, parallel) + `glmFleet(...)` in parallel; each self-contained, max reasoning \u002F `--reasoning high`.\n3. **Aggregate** — read native returns + `.claude\u002Fjobs\u002F\u003Crun>\u002Fresults\u002F*.json` into one pool.\n4. **Adversarial verify** — `swarm-convergence.runAdversarialPass` with a `glm-max` runner (\"what's missing\"); Opus re-verifies load-bearing claims against local evidence.\n5. **Converge** — `converge(...)`; not converged → re-dispatch `nextRoundWork`, capped ≤ 3 rounds (damping force-stops on budget).\n6. **Finalize** — Opus only: scoped-pathspec commit, push, irreversible\u002Foutward calls.\n\nArm the quality gate with `YURI_SWARM_CONVERGENCE=1`; the `nano-barrier` safety block (orphans\u002Fcontested claims) is always on regardless. Both the convergence arm and the GLM-fleet arm are owner-gated.\n\n**Runnable now — `_SYSTEM\u002FScripts\u002FrunSwarm.mjs`** (the audit's missing \"orchestrator binary\"). The GLM-substrate version of this loop is wired into one entry point: `runSwarm({leaves:[{id,lane,prompt}]}, {rounds,concurrency})` runs decompose-ledger → `glmFleet` dispatch → `aggregatePoolOutputs` → `runAdversarialPass` (glm-max) → `converge` → re-dispatch only the gap leaves (obligation-floor failures **and** adversarial gaps; null-leaf gaps re-run all; ≤rounds) → `finalizeGuard` → manifest. CLI: `node _SYSTEM\u002FScripts\u002FrunSwarm.mjs --leaves-file leaves.json --rounds 3`. **ARMED** via the gitignored flags `_SYSTEM\u002Fstate\u002Fswarm-convergence.enabled` + `_SYSTEM\u002Fstate\u002Fglm-fleet.enabled` (env vars still work). Live-verified end-to-end (a 2-leaf armed run converged round 1; hermetic tests cover gap re-dispatch, floor-failure re-dispatch, and disarmed-no-spend). The NATIVE substrate stays Opus-orchestrated (Agent tool) and pairs with this at the top. The recursive (Level-B) `nano-spawn`\u002F`dispatchPool` depth is wired but its deep-arm is deferred to hardening (the audit's livelock\u002Flease seams).\n\n## Specialized roles — MURE (built 2026-06-22)\n\nThe roles seam is now realized as **MURE** (群れ) — a 20-role self-governing agent collective in `_SYSTEM\u002Fconfig\u002Ffleet-roles.json` + `_SYSTEM\u002Fmure\u002F`. Each role = `{id, archetype, capabilities, substrate, lane, autonomyClass, mathHooks, goalScope, independentOf}`. Use it instead of hand-casting lanes when a task wants named roles:\n\n```bash\nnode _SYSTEM\u002Fmure\u002Fmure.mjs --roster        # the 20 roles, 6 groups\nnode _SYSTEM\u002Fmure\u002Fmure.mjs --demo           # DISARMED plan of a sample task → roles → leaves (zero spend)\nnode _SYSTEM\u002Fmure\u002Fcompany.mjs --task-file t.json   # cast a real task; armed (YURI_MURE_ARMED \u002F _SYSTEM\u002Fstate\u002Fmure.enabled) → live GLM dispatch\n```\n\n`company.runCompany(task)` casts each subtask to its best-matching role (capability match), gates every decision through the 6-gate self-governance charter (`governance.mjs`), and splits the work: GLM roles → runSwarm leaves (dispatched), native roles → Agent specs (for THIS Opus session to spawn). The math layer is wired into role decisions via `math-bridge.mjs` (decision-sim goal-scoring, quantum order-effect, energy veto, prediction Brier). DISARMED by default; arming is owner-gated; finalize stays Opus\u002Fowner. Full manual: `_SYSTEM\u002Fmure\u002FREADME.md`.\n\n## Session Notes\n\n- **2026-06-22 (v1.0.0, created):** Built via the model itself — Sonnet research lane (overlap audit + discoverability mechanics: byte-0 frontmatter, `skill-recall` ranks `description` not `triggers`, `skill-sync --sync` publishes `skills\u002F`→`.claude\u002Fskills\u002F`), Opus synthesized + registered, Haiku testing lane verified discoverability. Corrections caught this session: Haiku WARN\u002FBLOCK misguess (→ verify-agent-output rule), research found an ENOENT solo missed. Tools: Agent (Explore\u002Fsonnet, general-purpose\u002Fhaiku), Write, Edit, Bash, skill-sync, skill-recall. Errors: none on build. Registered in `skills\u002Fdomain-index.json` → `01-agent-assembly`; alias `commands\u002Fopus-fleet.md`.\n- **2026-06-22 (v1.1.0, dual-substrate):** Added the z.ai GLM fleet as the second substrate. Built `_SYSTEM\u002FScripts\u002Fglm-fleet.mjs` (parallel GLM dispatcher on `lane-dispatch.mjs` retry + semaphore, DISARMED dry-run default, `@capability: glm-fleet-dispatch`, `FLEET_PROTOCOL_PREAMBLE` for sub-orchestrators). Wired GLM tier roster into `models.json` (+glm-4.7-flash\u002Fflashx, glm-4.6v, glm-ocr) + `llm-lane.mjs` aliases (glm-max=5.2, glm=4.7, glm-flash→4.7-flash remapped off 4.5-air, glm-sub-orch=5.1, glm-vision=4.6v, glm-ocr). Added 5 sections (GLM fleet, dual-substrate routing, sub-orchestrator injection, governed autonomous loop, roles seam) + 4 hard rules + 3 anti-rat rows. GLM reasoning ceiling = `high`. Verified: models.json valid, `glm-flash`→`glm-4.7-flash` resolves, `glm-fleet --list`\u002F`--smoke --dry-run` clean. Built by Opus directly (integration-critical); research via 3 Sonnet Explore lanes (zai internals, governance inventory, online GLM benchmarks) + 1 Sonnet Plan lane (build design); HTML viz approved pre-build. Arming the loop stays owner-gated.\n- **2026-06-23 (v1.2.0, third substrate):** Added the **ollama-cloud peer fleet** — `_SYSTEM\u002FScripts\u002Follama-fleet.mjs` (mirrors glm-fleet on `lane-dispatch.mjs` retry + semaphore; ONE base `ollama-cloud` lane + `--model \u003CX>:cloud`; roster tiers flash\u002Fminimax\u002Fkimi\u002Fnemotron\u002Fdeepseek-pro\u002Fgemma; DISARMED dry-run default; `@capability: ollama-fleet-dispatch`) + `ollama-fleet.test.mjs` (9\u002F9 red\u002Fgrey\u002Fgreen). Root-cause RELIABILITY fix: the 3 ollama-cloud lanes in `models.json` lacked `keychain_service`, so `llm-lane.mjs` keychain hydration was skipped for any non-`ai`-wrapper caller → `missing_key`; added `keychain_service: YURI_OS_MUSUBI:OLLAMA_API_KEY` to all 3 (lane-layer fix → every caller benefits). Verified: armed 3-model LIVE smoke (flash 2s + minimax 9s + kimi 33s, all ok, key UNSET → keychain hydrated end-to-end at concurrency 3). Sections added: \"ollama-cloud fleet\" + \"Multi-substrate routing\" (dual→triple). Built by Opus directly. Arming stays owner-gated (flag NOT created; smoke via transient env only). Tools: Bash, Read, Edit, Write, capability-scan, llm-lane, keychain probes.\n",{"name":5,"scope":52,"status":53,"version":54,"triggers":55,"invocation":40,"description":7},"harness","active","1.1.0",[56,57,58,59,60,61,62,63,64,65,66,67],"\u002Fopus-fleet","opus orchestrates","spawn agents","fan out agents","three lane execution","research code testing lanes","max reasoning agents","agent fleet","glm fleet","zai fleet","dual substrate","glm-fleet","main","4c6d8d65f3d6096e2fc25b0845e481dda73c2794","skills\u002Fopus-fleet",0,"https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions","Building deterministic AI governance and continuity systems. Workflow architect + visual storyteller","2026-11-11 16:42:59",{"source":8,"skillName":5,"commands":77,"prompt":87,"zipAvailable":88},[78,81,84],{"tool":79,"command":80},"npx","npx skills add nexuslinkproductions\u002Fyuri-os --skill opus-fleet",{"tool":82,"command":83},"bunx","bunx skills add nexuslinkproductions\u002Fyuri-os --skill opus-fleet",{"tool":85,"command":86},"pnpm","pnpm dlx skills add nexuslinkproductions\u002Fyuri-os --skill opus-fleet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fopus-fleet\u002FSKILL.md",true,[],[91,112,135,163,191,209],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":47},"01M71CG1AME5WC0A79AE65WT0X","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[],[98,99,100,52,101,102,103,104,105,106,107,108,109,39,110,111],"zoom out","zoom","with","how","section","re","true","understand","use","perspective","when","you","it","context",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":47},"01M71CFY9ATD0BAXV6B14HFG7C","yuri-shura","6-perspective adversarial review for high-stakes turns (architecture decisions, refactor planning, deployment review) — fans out architect, adversary (7-vector attack), maintainer, ops, product, and security perspectives in parallel, then consolidates. Use when user says 'review this decision', '\u002Fshura', 'adversarial review', 'what could go wrong', 'architecture review', or 'deployment review'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-shura\u002FSKILL.md",[],[119,120,52,121,122,123,124,125,126,127,128,106,129,108,40,130,131,132,133,134],"yuri shura","parallel","architecture review","planning","for","deployment","vector","strategic review","decision","strategic","ops","decisions","architecture","review","perspectives","adversarial",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":144,"publishedAt":47},"01M71CFTTYW1HA2MNX38EV1GJ5","yuri-sales-intelligence","Unified sales and outreach skill generating cold outreach openers, social selling sequences, objection rebuttals, and ad creative for any paid platform — multi-persona aware, adapting tone and offer frame to buyer type. Use when user says 'write a cold email', 'outreach sequence', 'objection handling', 'ad copy', or 'sales pitch'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-sales-intelligence\u002FSKILL.md",[141],{"categoryNo":142,"categoryName":143,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",[145,146,147,148,149,150,151,152,153,108,154,155,156,157,158,159,160,123,161,162],"intelligence","sales intelligence","yuri sales intelligence","sales","cold","paid","social","persona","pitch","cold email","ad creative","write","sequences","sequence","platform","email","cold outreach","frame",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":177,"publishedAt":47},"01M71CFQMBFTFADJNGP0Z2WCYK","yuri-code-intelligence","Unified code quality intelligence layer that diagnoses code smells (Long Method, Feature Envy, design pattern issues), prescribes targeted Fowler refactoring techniques, and reviews code for security, performance, and clarity. Use when user says 'review this code', 'refactor this', 'what's wrong with this method', 'code smells', or 'clean this up'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-code-intelligence\u002FSKILL.md",[169,172],{"categoryNo":170,"categoryName":171,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":173,"categoryName":174,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[178,39,179,145,52,45,180,181,123,182,183,184,185,186,187,188,189,190,106,108],"yuri code intelligence","code intelligence","code quality","feature","performance","code review","long","up","issues","clean","techniques","improve","design",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":47},"01M71CFP32RT6GD3GKNHCJP8VP","yuri-adw","Invoke when user asks to run the ADW loop \u002F agentic engineering loop \u002F software factory workflow.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-adw\u002FSKILL.md",[],[198,199,200,201,202,203,204,41,205,108,206,40,207,208],"yuri adw","run","engineering loop","software factory","software","agentic engineering","factory","invoke","engineering","agentic","user",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":213,"categories":214,"keywords":225,"publishedAt":47},"01M71CFK4VPEKY6A73237P7RSN","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[215,218,221,222],{"categoryNo":216,"categoryName":217,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":219,"categoryName":220,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":223,"categoryName":224,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000036","内容创作者",[226,227,228,108,40,36,52,229,124,106,230],"writing","writing skills","new","editing","Existing"]