From myco
Runs pre-flight gates on distilled note <distilled-slug>; if passed, orchestrates primordium (3-critic), winnow, hypha, anamorph, stipe, and gh pr create for auto-evolution.
npx claudepluginhub battam1111/myco --plugin myco<distilled-slug>The user wants you to run the autopoietic kernel-evolution loop against the distilled note: $ARGUMENTS This is the v0.6.14+ **Cycle 自起 fruit—winnow—molt 闭环** orchestrator. It mechanizes the bridge from `sporulate` (distilled note) to a candidate kernel mutation (auto-craft PR), with **owner-merge-gate as the only remaining synapse**. The substrate kernel adds zero LLM dispatch; intelligence lives in the Claude Code Agent layer (you, plus the 3 fungal critics that primordium spawns). Governing doctrine: `docs/architecture/L2_DOCTRINE/cycle.md` § "Cycle 自起 fruit—winnow—molt 闭环 (v0.6.14+)" +...
/eloopRuns autonomous evolve-loop skill to monitor agent-orchestrator workers and repos via /auton, tmux sessions, and GitHub PRs; diagnoses, fixes issues until stable or user stop.
/shipAutonomously executes spec-to-PR pipeline: plans, implements, tests, fixes issues, commits milestones, and creates PR with zero approval gates. Supports --no-worktree, --no-pr, --max-fix-attempts N, --ci-watch.
/git-workflowOrchestrates git workflow from code review and quality gates through commit, push, and PR creation to target branch. Supports flags: --skip-tests, --draft-pr, --no-push, --squash, --conventional, --trunk-based.
/implementImplements discussed feature from chat or args using full agent workflow without tickets: loads skills, plans, codes, tests, creates open PR (steps 0-9 nonstop).
/workflowGenerates and runs ad-hoc StateGraph workflows from natural language descriptions, incorporating quality gates from CLAUDE.md with ASCII diagram preview.
/vt-flowOrchestrates full dev pipeline from feature (contracts→plan→implement→review→validate→PR) or bug (--fix) with interactive gates. Supports --to=STEP, --from=STEP, --deep, --auto flags.
Share bugs, ideas, or general feedback.
The user wants you to run the autopoietic kernel-evolution loop against the distilled note: $ARGUMENTS
This is the v0.6.14+ Cycle 自起 fruit—winnow—molt 闭环 orchestrator. It mechanizes the bridge from sporulate (distilled note) to a candidate kernel mutation (auto-craft PR), with owner-merge-gate as the only remaining synapse. The substrate kernel adds zero LLM dispatch; intelligence lives in the Claude Code Agent layer (you, plus the 3 fungal critics that primordium spawns).
Governing doctrine: docs/architecture/L2_DOCTRINE/cycle.md § "Cycle 自起 fruit—winnow—molt 闭环 (v0.6.14+)" + docs/architecture/L2_DOCTRINE/boundary.md § "Sixth seam (v0.6.14+)".
Governing craft: docs/primordia/v0_6_14_cycle_autostart_fruit_winnow_molt_loop_craft_2026-04-29.md.
Run all checks before invoking any subagent. If any returns a refusal condition, report it to the user with a diagnosis and stop. Do NOT auto-correct.
Master switch on: myco sense --query "auto_propose_enabled" — if canon shows false, refuse with auto-evolve disabled per canon.governance.auto_propose_enabled: false.
Tracking issue seeded: read _canon.yaml::system.governance.auto_evolve_tracking_issue_id — if null, refuse with tracking issue not seeded; run scripts/seed_auto_evolve_tracking_issue.py first.
Rate limit: read .myco_state/last_auto_evolve.txt (if exists) — if last-run timestamp is within canon.governance.auto_evolve_min_wall_clock_seconds_between seconds of now, refuse with the wait time.
Daily budget: read .myco_state/auto_evolve_spend.json (if exists) — if today's spend exceeds canon.governance.auto_evolve_daily_budget_usd (when not null), refuse.
Distilled-hash cooldown: read the distilled note at notes/distilled/d_<distilled-slug>.md; compute sha256(content); check canon.governance.last_winnowed_proposals[] for any entry whose originating_distilled_hash matches AND was added within the last auto_evolve_distilled_hash_cooldown_senesce senesce calls. If matched, refuse with same-distilled cooldown active; same hash already auto-crafted recently.
Distilled severity threshold: read distilled note's frontmatter — if severity: is below canon.governance.auto_evolve_min_distilled_severity (default medium), refuse with distilled severity below threshold; LOW signals do not trigger auto-evolve.
Distilled exists + readable: if notes/distilled/d_<distilled-slug>.md does not exist or cannot be read, refuse.
If all 7 pre-flight gates pass, run this chain. Each step's failure mode is report to user + halt; do NOT attempt automated recovery beyond the per-step retry policy noted.
Read notes/distilled/d_<distilled-slug>.md. Apply:
0x00-0x1F except \n (0x0A) and \t (0x09).[UNTRUSTED-INPUT-FROM-RAW-VIA-DISTILLED] so primordium and critics know the content originated from raw notes (which myco eat does not filter per L0 P2).Pass the quarantined content to primordium in step 2. Record the original sha256 hash for canon.governance bookkeeping in step 7.
Use the primordium subagent (.claude/agents/primordium.md) with the autonomous-mode flag.
Pass primordium:
sub_agent_fanout_artifacts frontmatter.primordium returns:
docs/primordia/.If Round 3 is DRAFT (any HIGH critic veto unresolved) or WITHDRAWN: report to user, halt, do NOT proceed to step 3. The craft remains under docs/primordia/ for human review.
If primordium returned LANDED:
Run myco winnow --proposal docs/primordia/<craft-filename>.md (Bash).
Expected: exit 0, verdict pass. If fail: report to user with the violations list, halt.
Use the hypha subagent (.claude/agents/hypha.md) with the LANDED craft path as input.
Hypha (read-only) traces the craft's "## 修订后 ... 完整 scope" section against the actual src/, identifies impl traction issues, and returns either feasibility: ok or feasibility: blocked: <reason>. If blocked, halt with the reason.
If the craft proposes any change to _canon.yaml::schema_version OR introduces a new top-level canon field:
Use the anamorph subagent (.claude/agents/anamorph.md) to draft the schema migration partials, tests, and migration guide entry. If the craft does not touch schema, skip this step.
If anamorph returns migration_blocked: <reason>, halt.
Use the stipe subagent (.claude/agents/stipe.md) with these arguments:
--target-craft docs/primordia/<craft-filename>.md--path-allowlist <comma-separated paths from craft frontmatter path_allowlist: field>--branch-onlyStipe creates branch fruiting/<distilled-slug>-<YYYY-MM-DD>, implements the craft per scope, runs gate quintet, commits, pushes, opens PR via gh pr create with the craft summary + repo-relative path link as body. Returns the PR URL.
If gate quintet fails: stipe halts with the failing-gate diagnosis. Branch is not pushed. Report to user.
After stipe returns the PR URL:
canon.governance.last_winnowed_proposals[] (this is a write through myco molt — actually no, molt is for contract bumps. Let me reconsider.) — actually, append by direct canon edit through the substrate's canon-write API (Edit tool on _canon.yaml), since this is canon-bookkeeping, not contract version bump:last_winnowed_proposals:
- slug: <distilled-slug>
craft_path: docs/primordia/<craft-filename>.md
pr_url: <stipe-returned-PR-URL>
pr_branch: fruiting/<distilled-slug>-<YYYY-MM-DD>
originating_distilled_hash: <sha256 from step 1>
landed_at: <ISO 8601 timestamp>
senesce_count_at_landing: <current senesce_count from .myco_state>
status: pending_owner_merge
vetoed_at: null # filled by senesce reaper if PR closed-without-merge
merged_at: null # filled by senesce reaper or owner manually if merged
Update .myco_state/last_auto_evolve.txt with the current ISO timestamp.
Update .myco_state/auto_evolve_spend.json with today's incremental spend (estimate ≈ 0.50 USD per /myco-evolve invocation — 1 primordium + 3 critics + 1 hypha + optional anamorph + 1 stipe).
Final report shape:
/myco-evolve <distilled-slug>: <SHIPPED-PR | HALTED-AT-<step>>
Pipeline:
Pre-flight gates: [pass × 7]
Step 1 (quarantine): <hash truncated to 12 hex>
Step 2 (primordium): <craft path> (Round 3: <LANDED|DRAFT|WITHDRAWN>; <K> critics agentIds: <id1, id2, id3>)
Step 3 (winnow): <pass|fail>
Step 4 (hypha): <ok|blocked: ...>
Step 5 (anamorph): <not-needed | drafted: <path>>
Step 6 (stipe): <PR URL>
Step 7 (canon): last_winnowed_proposals[+1]
Step 8 (state): .myco_state/last_auto_evolve.txt updated
PR awaits owner review:
URL: <PR URL>
Branch: fruiting/<slug>-<date>
Owner action: merge to ship, OR close-without-merge to veto (auto_revert.yml will reap).
docs/primordia/<craft-filename>.md (if step 2 LANDED then step 3+ failed). The craft stays as a record for human review; subsequent /myco-evolve invocations will catch it via step 5's distilled-hash cooldown gate.git restore.fruiting/<distilled-slug>-<YYYY-MM-DD> (real fungal taxonomy; never auto-craft/).mycoparasite / saprotroph / mycorrhiza (real fungal-ecology terms; satisfy L0:185-186).