with one click
mitogen
// Dispatch ribosome for a specific build task — directed campaigns or single features. "build", "implement", "dispatch", "go build", "batch". For autonomous work discovery, use /blitz.
// Dispatch ribosome for a specific build task — directed campaigns or single features. "build", "implement", "dispatch", "go build", "batch". For autonomous work discovery, use /blitz.
| name | mitogen |
| description | Dispatch ribosome for a specific build task — directed campaigns or single features. "build", "implement", "dispatch", "go build", "batch". For autonomous work discovery, use /blitz. |
| effort | high |
| model | opus |
| user_invocable | true |
| allowed-tools | ["Bash","Read","Write","Edit","Grep","Glob"] |
| context | inline |
| epistemics | ["audit","delegate","verify"] |
Biology: a mitogen is a signal that triggers rapid cell proliferation. /mitogen is the signal that tells the organism to mass-produce improvements autonomously.
Philosophy: CC judges, ribosome implements. CC writes tests, post-gate verifies. No Opus review of passing output.
User says: "build", "implement", "dispatch", "spec this", "batch", "go build", or invokes /mitogen directly. User specifies WHAT to build.
For "what should I build?" / "find work" / "work on everything" → use /blitz instead.
Temporal on ganglion is the sole dispatch path. CC dispatches via mtor CLI (translation controller) — no MCP, no markdown queue, no poller.
CC (soma) --mtor CLI--> Temporal server (ganglion:7233) --> translocase.py (ganglion, polysome/) --> ribosome --provider {zhipu|infini|volcano|goose|droid|gemini|codex}
mtor — dispatch, list, status, logs, cancel, doctor, schema (agent-first JSON envelope)polysome/translocase.py on ganglion (eEF2 — drives the translation cycle)polysome/workflow.py, retry policy (2 attempts), review activity~/germline/loci/ribosome-outputs/ on ganglion, ~/germline/loci/ribosome-reviews.jsonlfinding_temporal_completed_is_a_lie.md)Provider reality (2026-04):
--provider infini.Check dispatch health:
# CLI — list recent workflows
mtor riboseq --count 5
# Health check (Temporal reachable, worker alive)
mtor doctor
# Worker status (fallback if CLI not yet installed)
ssh ganglion "sudo systemctl status temporal-worker --no-pager"
Before planning, classify the task:
| Size | Signal | Action |
|---|---|---|
| Trivial | Single file, <20 lines, obvious fix | CC does it directly — no dispatch |
| Small | 1-3 files, clear scope | Single ribosome dispatch, skip Phase 1 audit |
| Large | Multi-file, ambiguity, dependencies | Full Phase 1 audit + multi-task batch |
Don't build a 5-task campaign for a one-liner fix.
mtor --spec or ribosome dispatch, verify the target feature has not already shipped. Recency-window git log (git log -N) is the wrong form — an active parallel session can push relevant commits below the visible window. Right form: git log --all --grep="<feature_name>" AND grep the target file directly for the named function. Both must come back empty before dispatch. If either has hits, READ the prior implementation and decide whether the dispatch is incremental change or no-op redundant. Codifies finding_dispatch_self_context_blindness.md (2026-05-06): A and B Layer-1 dispatches duplicated already-shipped Slot 47 commits because git log -8 was too shallow..env, secrets, proprietary code.lucus new <branch> first.organogenesis.cerno "<topic>" before starting.Stop and think: what is the most impactful work right now? Check:
Then prioritize:
Prose is not ribosome work. Consulting cards, case studies, briefings — single-turn generation. Generate inline in CC.
CC writes specs and tests, ribosome implements to pass them. This is the core loop.
Spec file: ~/epigenome/chromatin/loci/plans/spec-<slug>.md with YAML frontmatter. Only mtor-validated fields go in frontmatter; aspirational fields (pipeline_stage, wave, parent_spec) belong in body prose until mtor's validator accepts them. Get the current schema with mtor schema if unsure.
---
title: "One-line description"
status: ready
repo: ~/code/<repo>
depends_on: []
scope:
- path/to/file.py
tests:
run: "uv run pytest assays/test_foo.py -x"
---
If you need pipeline-stage tracking, wave grouping, or parent-spec linking, write them as prose paragraphs after the frontmatter (**Wave:** 1 (parallel-safe with spec-bar.md), **Parent spec:** ../foo.md). The validator rejects unknown frontmatter fields and aborts dispatch — 2026-05-06 had a 2-min friction loop because /mitogen documented pipeline_stage / wave / parent_spec that mtor didn't honour.
Spec body: Problem (2-3 sentences) → Solution (concrete: name the function, the approach) → Location (exact file, line numbers, paste current code if >200 lines) → Constraints (only modify X, do NOT modify Y) → Tests (exact function names + assertions + STOP condition).
Spec rules:
depends_on.translocase.py lines 200-250" — not "only modify mtor"._merge_lock helper" not "add near the top".depends_on not blocked_by.Pre-spec checklist: Read target file → identify exact function/line → check naming patterns → check git log on ganglion for conflicts with running tasks.
Dispatch flow:
assays/test_<name>.py with test scaffoldsmtor --spec <spec.md> "Implement X per spec"compound-engineering/ce-work Phase 1 Step 4 parallel-safety check; wave: frontmatter field is vivesca-original)Before dispatching a multi-task batch, group specs into waves by dependency:
depends_on chain, no overlapping scope: paths). Fire in parallel.Wave-assignment procedure (3 steps):
scope: paths per spec. Build {spec_id → set(scope_paths)} from frontmatter.scope_a ∩ scope_b ≠ ∅ → conflict. Either move one to a later wave, or serialise within the wave.depends_on chains. Spec B with depends_on: [A] must be in a later wave than A regardless of scope.Vertical slices (one feature end-to-end per spec) parallelise; horizontal layers (all models, then all APIs) serialise unnecessarily.
Wave-boundary simplification checkpoint (adapted from compound-engineering/ce-work Phase 2.5 "Simplify as you go"). After a wave's reviews.jsonl verdicts land and BEFORE dispatching the next wave, scan cross-spec diff for: (a) duplicated helpers extractable to shared module, (b) inconsistent naming/conventions across specs, (c) accumulating coupling that should be refactored before more specs land on it. For 3+ wave campaigns, the cluster review catches drift the per-spec post-gate cannot. Skip for ≤2 specs.
Single-spec campaigns: skip this phase.
Single task:
mtor "prompt"
mtor --provider infini "prompt" # use minimax-m2.7
mtor --spec ~/path/to/spec.md "prompt" # attach spec (auto-updates status)
Check status:
mtor riboseq --count 10
mtor status <workflow_id>
Cancel a stuck workflow:
mtor cancel <workflow_id>
Post-gate handles verification automatically:
.py files parseIf all pass -> auto-approved. If any fail -> rejected.
IMPORTANT: Temporal COMPLETED status does not mean the task succeeded — always check reviews.jsonl verdict (finding_temporal_completed_is_a_lie.md).
## Mitogen Report
- Dispatched: N tasks
- Provider: zhipu (ganglion via Temporal)
- Tests written: [list of test files]
- Status: N approved, N rejected, N running
Three timeout layers (must be nested correctly):
RIBOSOME_WALL_LIMIT, default 28min) — gates retries, never kills active work_ACTIVITY_TIMEOUT, 30min) — asyncio.wait_for kills subprocess--provider infini for alternative.ssh ganglion 'cd ~/code/mtor && grep -l "feature_name" mtor/*.py'. The feature may already exist from a prior task. Don't re-dispatch — pull instead.--dangerously-skip-permissions is in the ribosome script. Never remove it.[HINT] Download the complete skill directory including SKILL.md and all related files