Skip to content

Battam1111/Myco

v0.5.5 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent-memory ai-agents ai-infrastructure autonomous-agents biomimetics claude
+14 more
claude-code codex cognitive-substrate cursor knowledge-management llm-memory llm-tools long-term-memory mcp mycelium python self-evolving substrate vscode

Summary

AI summary

Adds safe-fix capability, schema upgrader demo, code graph coverage, brief summary verb, and three new MCP host integrations.

Full changelog

Myco v0.5.5 — Close every audit loose thread (8 MAJORs merged)

TL;DR: every post-release round since v0.4.1 surfaced the same pattern — infrastructure in place, no concrete use. v0.5.5 ships eight MAJORs at once, closing each "staring at it for months" item. No contract-surface shape change; every v0.5.4 invocation resolves unchanged.

Governing three-round craft: docs/primordia/v0_5_5_close_audit_loose_threads_craft_2026-04-17.md.

The eight MAJORs

A — First fixable lint dimensions

immune --fix has been a no-op flag since v0.4.0. v0.5.5 lands the base class hook (Dimension.fix() + Dimension.fixable: ClassVar[bool]), kernel dispatch that iterates each dimension's findings when fix=True, a write-surface guard before every fix (targets outside canon.system.write_surface.allowed are refused), and two concrete fixable dimensions:

  • M2 (missing entry-point) → creates the canon-declared entry point (MYCO.md by default) from a minimal skeleton. Idempotent.
  • MB1 (raw backlog) → triggers reflect(ctx) to bulk-promote; reports promotion count.

New doctrine: safe-fix discipline — idempotent / narrow / non-destructive / write-surface-bounded.

B — Schema upgrader demo

v0.5.1 shipped schema_upgraders: dict[str, Callable] with chain-apply + cycle detection but never exercised end-to-end. v0.5.5 registers a synthetic v0→v1 upgrader under key "0" (a schema version no real canon ever used). Substrates with schema_version: "0" now parse silently through the chain; unknown versions without a registered upgrader still emit UserWarning. Proves the forward-compat seam works.

C — Sporulate doctrine boundary

L2 digestion.md writes the rule explicitly: sporulate does NOT call an LLM. Per L0 principle 1, the Agent calls its own model; the substrate stays provider-agnostic. sporulate prepares scaffolding (source selection + shared-tag extraction + first-line seeds); the Agent writes synthesis prose. sporulate.py docstring + manifest summary rewritten to match.

D — Symbiont protocol stub

src/myco/symbionts/ has been empty since v0.4.0. v0.5.5 writes L3 symbiont_protocol.md defining symbionts as per-host Agent-sugar adapters (Claude Code skills, Cursor rules, VS Code tasks) — orthogonal to substrate-local .myco/plugins/. Package stays empty; first concrete symbiont ships in a later release.

F — Circulation graph covers src/**

The v0.4.1 audit flagged that the mycelium graph covered notes/**, docs/**, canon, and the entry point — but not code. v0.5.5 adds an AST walker (graph_src.py) that extracts from myco.X import Y → module-path edges plus docs/... docstring references → doc-node edges. Stdlib/third-party/__pycache__ skipped; syntax errors tolerated. SE1 now surfaces real code-to-doctrine dangling references (6 on myco-self at ship time).

G — myco brief verb

L0 principle 1 says humans don't browse Myco. v0.5.5 carves one explicit exception: brief produces a stable-section markdown rollup for a single human reading moment. Seven sections in fixed order: Identity / Hunger / Immune / Notes / Primordia / Local plugins / Suggested next. --format markdown (default) or --format json. Does NOT replace any agent-side verb.

I — 3 new automated MCP hosts

myco-install host coverage goes from 7 to 10:

  • gemini-cli~/.gemini/settings.json (JSON mcpServers family)
  • codex-cli~/.codex/config.toml via block-level regex surgery; preserves sibling [mcp_servers.*] tables and comments; validates parse on Python 3.11+
  • goose~/.config/goose/config.yaml with the extensions.myco key

J — Graph persistence

.myco_state/graph.json caches the mycelium graph. Fingerprint = sha256(canon_text) + sorted (path, mtime) for every .py under src/. Cold build rebuilds; warm build loads cache (~6x speedup on myco-self). build_graph(ctx, use_cache=False) forces rebuild; invalidate_graph_cache(substrate) clears. traverse's payload gains src_node_count + cached fields.

Verification on myco-self

  • myco --versionmyco 0.5.5
  • myco brief → 7 stable sections, markdown (or JSON)
  • myco traverse → 80 src nodes + 271 edges, cache hit on re-run
  • myco immune --fix → M2 + MB1 fix paths live
  • All 9 legacy verb aliases still resolve (DeprecationWarning once each)
  • 10 MCP host schemas writable via myco-install host <client>

Test coverage

556 passed (was 543 at v0.5.4). +13 net across the eight MAJORs; sub-agents added ~43 tests along the way with some test consolidation in the mix.

Upgrade

cd ~/myco && git pull && myco immune

No migration action required. Every v0.5.4 CLI invocation still works. The v0.5.x verb aliases continue to resolve through v1.0.0. The schema upgrader demo is under version "0" (never a real shipped version) so no production substrate is affected. The .myco_state/graph.json cache is created lazily; deleting it is always safe.

Records

  • Governing craft: docs/primordia/v0_5_5_close_audit_loose_threads_craft_2026-04-17.md
  • L3 symbiont protocol: docs/architecture/L3_IMPLEMENTATION/symbiont_protocol.md
  • Contract changelog: docs/contract_changelog.md v0.5.5 section
  • Full CHANGELOG: CHANGELOG.md

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Battam1111/Myco

Get notified when new releases ship.

Sign up free

About Battam1111/Myco

Agent-first cognitive substrate with 18 manifest-driven verbs (germinate / eat / assimilate / sporulate / traverse / immune / molt / …) and 25 lint dimensions enforcing contract invariants mechanically (R1–R7). Cross-session / cross-project memory via a self-validating filesystem graph — AST + markdown-link derived, not embedding-based. Provider-agnostic by design: MP1/MP2 dims forbid LLM-SDK imports in the kernel and plugin tree. Editable-default install. Works with Claude Code, Cursor, Windsurf, Zed, VS Code, and any MCP client.

All releases →

Related context

Beta — feedback welcome: [email protected]