Skip to content

Battam1111/Myco

v0.6.10 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

✓ 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

Affected surfaces

breaking_upgrade auth

Summary

AI summary

Canon schema upgraded from v1 to v2, adding new LLM policy and federation peers fields.

Full changelog

v0.6.10 — 2026-04-28 — Unified evolution + thorough refactor (MAJOR-class per L0:223)

Full R-surface preserved; canon schema bump v1 → v2; subsystem count 5 → 7 (cycle + boundary promoted).

Note on the v0.6.0 / 0.6.1 / 0.6.2 PyPI namespace burns. This release ships under tag v0.6.10. The semantically-prior label v0.6.0 released to PyPI as myco-0.6.0.post1 (PEP 440 path B, commit a665c0b) on 2026-04-28; that artifact carries the same R-surface as this release minus the cleanups documented under "v0.6.10 cleanups" below. Tags v0.6.0 and v0.6.0.post1 exist on the repo for historical fidelity. PyPI filenames myco-0.6.0, myco-0.6.1, myco-0.6.2 are burned (PyPI filename uniqueness rule; commits f0e12fd, 32e4c6b, 2e996a8 document the bumps that hit each burn). 0.6.10 is the chosen clean SemVer label well past the burn region; pip install --upgrade myco resolves transparently.

First MAJOR-class release per L0_VISION.md:223-228 cadence rule —
fires Living Bets re-audit (sibling craft v0_6_0_living_bets_audit_craft_2026-04-28.md).
SemVer label "0.6.10" reads as a routine patch by external naming convention; Myco
contract semantics treat it as MAJOR-class for review-cadence and
breaking-change-permission per craft v0.6.0 §F1.

Governing crafts

  • docs/primordia/v0_6_0_unified_evolution_and_thorough_refactor_craft_2026-04-28.md (LANDED, owner-approved)
  • docs/primordia/v0_6_0_living_bets_audit_craft_2026-04-28.md (LANDED; verb-surface wager survives un-falsified at 2026-Q2 model capability; v0.7 falsification experiment pre-registered)

What changed (major)

  1. Cycle promoted to canonical 6th subsystem (canon.subsystems 5 → 6).
    Aligns L4 with L0_VISION.md:183 which named Cycle as 6th since v0.5.3.
    New L2 doctrine docs/architecture/L2_DOCTRINE/cycle.md.
    Withdrawn proposals: cycle→governance rename (violated L0:185-186 "No
    alternate vocabulary") and boundary subsystem creation (same).
  2. Canon schema v1 → v2 via _v1_to_v2 upgrader composed of two
    named partials (per craft §F6/T30 narrowness):
    • _v1_to_v2_llm_policy_enum: system.no_llm_in_substrate: bool
      system.llm_policy: "forbidden" | "opt-in" | "providers-declared"
      enum (default forbidden — preserves v0.5.6 P1 strict invariant).
    • _v1_to_v2_federation_peers_field: adds identity.federation_peers: []
      forward-compat infrastructure for L0 P5 federation planning.
      KNOWN_SCHEMA_VERSIONS = frozenset({"1", "2"}). v0.5.x substrates
      parse cleanly without warning; lint.dimensions sub-file extraction
      deferred to v2.1.
  3. Lint dimension inventory 25 → 46 (+21 new dims). All ship at
    default-severity LOW with lint.severity_promotion ledger ramping
    to declared severity over 30 sessions of green observation:
    • Mechanical structural (9): PA2 (megafile LoC cap), PA3
      (surface pure-adapter), PA4 (core no-subsystem-deps), PA5
      (meta-subsystem layering), SC1 (canon JSON-Schema parity),
      DC5 (abstract-parent-allowlist canon-driven), MF3 (symbiont
      host-side artifact integrity), DI2 (hooks content R1+R2),
      AD1 (adapter silent-skip detection).
    • Semantic + metabolic (5): SE4 (reciprocal back-link), RL2
      (R3 sense-discipline signal), RL3 (R4 eat-discipline signal),
      MB4 (sporulated-reabsorbed integrity), MB6 (stale DRAFT/distilled).
    • Shipping + capability + plugin (3): SH2 (kernel-ahead-of-canon),
      CL1 (sampling capability gated on llm_policy), MP3 (plugin
      bytecode LLM-SDK audit).
    • R-revision additions (4): MB7 (resource_watch quota pressure),
      CL2 (OAuth token-residency policy), CL3 (sampling token clear),
      MF4 (overlay_verb subsystem validity).
  4. Verb count 19 → 20: new intake verb (replaces unimplemented
    forage --digest-on-read); single-responsibility composer of
    forage + eat with strict-mode and adapter-failure-visibility.
  5. Sporulate→reassimilate closed loop lands per L0 P4
    ("永恒迭代; integrated is not endpoint"). New
    digestion.reassimilate.reassimilate_integrated demotes integrated
    notes to stage: re_raw with audit trail; new
    digestion.promote_sporulated.promote_consumed_distilled lifts
    distilled notes consumed by crafts to stage: sporulated with
    propagated_doctrine: <docpath> reference. pipeline.NOTE_STAGES
    extends to include sporulated and re_raw.
  6. MCP capability surface extended: new surface.mcp_resources
    (resources/list + resources/read with URI scheme myco://canon,
    myco://contract, myco://notes/integrated/{id},
    myco://docs/primordia/{slug}, myco://reflex/queue) + new
    surface.mcp_prompts (20 verb-guides + 2 workflow prompts).
    Resources honor system.resource_redaction default protected
    scope (federation_peers, identity.tags, system.governance hidden
    from non-OAuth-canon:full hosts). Resource-read injects R3-discipline
    ledger entry per craft §F8.
  7. Symbionts populated at src/myco/symbionts/<host>.py (path
    preserved per extensibility.md:24-27 doctrine; boundary/host_integration/
    refactor withdrawn). v0.6.0 ships 5 of 11 host adapters with full
    discover/install_basic/install_deep/uninstall four-function
    protocol: claude-code, cursor, cowork, vscode, continue-dev. The
    remaining 6 (cline, jetbrains, zed, goose, windsurf, codex-cli /
    gemini-cli / openclaw / claude-desktop) ship as v0.6.x ecosystem-thawed
    patches per craft §F23 dual-layer versioning.
  8. Activity cleanup: 9-day-stalled DRAFT craft dogfood_v0_5_3_smoke_craft_2026-04-18.md
    moved to docs/primordia/_excreted/; 2 distilled notes
    (d_legacy_alias_test.md, d_v0_5_3_dogfood_notes.md) moved to
    notes/distilled/_excreted/ (no doctrine payload, event-records
    only). MB6 dim guards future stale-DRAFT/distilled at 14d MEDIUM
    / 30d HIGH thresholds (canon-driven via lint.thresholds).

v0.6.10 cleanups (Δ from v0.6.0.post1)

These are the additional changes that distinguish this release from the v0.6.0.post1 PyPI artifact:

  • Lint dual-table consolidation (Option A): deleted the inline _canon.yaml::lint.dimensions block (was redundant with the sibling _canon_lint.yaml::dimensions table; both held the same 46-ID roster). Removed the now-redundant dimensions property from docs/schema/canon.schema.json; replaced with a dimensions_ref description that mirrors canon's dimensions_ref pointer. Single SSoT is _canon_lint.yaml::dimensions referenced via _canon.yaml::lint.dimensions_ref. No runtime change — Dimension.category class attr was already authoritative; core.canon._merge_lint_dimensions_subfile (lines 216-253) transparently merges the sibling when the inline table is absent. SC1 (canon JSON-Schema parity) continues to pass since the deleted property is OPTIONAL in the schema's required array.
  • Stale-narrative sweep: ~50 inherited-from-pre-v0.6.0 references to "19 verbs" / "25 lint dimensions" / myco.symbionts / src/myco/surface/manifest.yaml updated to "20 verbs" / "46 lint dimensions" / myco.boundary.host_integration / src/myco/boundary/surface/manifest.yaml across READMEs (EN/ZH/JA), MYCO.md, both plugin manifest descriptions, the immune-tool description in src/myco/boundary/surface/manifest.yaml, both skills bodies (hunger, myco-substrate), the comparisons doc, and 12 docs/promotion/*.md files.
  • Test-count metric: _canon.yaml::metrics.test_count 852 → 1427 (matches pytest --collect-only output post-v0.6.0).
  • Glama maintenance recency: v0.6.0 ship landed on PyPI as 0.6.0.post1; the maintenance-score window decayed because the v0.6.0.post1 tag did not register as a fresh recency signal. v0.6.10 re-arms the wall-clock signal Glama uses; maintainer triggers manual rescan post-tag, score recovers within 1-7 days.

Aliases (deferred per digestion.md:120-122)

v0.5.2 CLI aliases (genesis, reflect, distill, perfuse,
session-end, craft, bump, evolve, scaffold) continue to
resolve
at v0.6.0 with one-shot DeprecationWarning. Removal
remains scheduled at v1.0.0. v0.6.0 only upgrades the deprecation
banner severity; full removal awaits v1.0.0 per LANDED L2 doctrine
schedule (rejected craft §D9 acceleration was a P0 violation per
ChatGPT-as-critic [1.5-F]).

Governance tiering (NEW)

  • High-risk craft (L0 five principles, R1-R7 number/semantics, llm_policy
    default flip, subsystem deletion): owner approval required.
  • Medium-risk craft (new dim, new verb alias, fixable-set extension):
    agent-self-winnow + 7-session-7-day public window (max of both floors).
  • Low-risk craft (typo, JSON-Schema description, test fixtures):
    agent-self-winnow only.
  • Owner-veto via canon.governance.last_winnowed_proposals[].vetoed_at
    always-on. Public window measured in senesce_count >= 7 AND
    wall_clock_days >= 7 (whichever later).

Schema additions (canon)

  • system.llm_policy (enum replaces v0.5.6 bool).
  • identity.federation_peers (list, default empty).
  • system.resource_redaction (paths/scopes for MCP resources).
  • system.resource_watch (quota + LRU eviction + ETag fallback).
  • system.governance (public window thresholds + token-residency policy).
  • lint.severity_promotion (per-dim ramp ledger).
  • lint.thresholds (stale-draft + stale-distilled cutoffs).
  • lint.abstract_parent_allowlist (replaces DC2:158 hardcode; DC5 dim).
  • system.write_surface.allowed adds examples/** (8 framework demos
    scope) and dist/** (CHANGELOG hatch hook).

Doctrine alignments

  • L1_CONTRACT/protocol.md: editorial clarification — "writes" =
    substrate writes; symbiont host-side writes are extensions of the
    host's own config discipline (not a R6 rule amendment, not adding
    R8 — see craft §F25).
  • L1_CONTRACT/versioning.md: dual-layer versioning (contract-frozen
    vs ecosystem-thawed) introduced per craft §F23.
  • L1_CONTRACT/canon_schema.md: v2 schema described.
  • L2_DOCTRINE/cycle.md: NEW (6th subsystem doctrine).
  • L2_DOCTRINE/extensibility.md: per-host axis enforcement dim
    promoted from "reserved" to MF3.
  • L3_IMPLEMENTATION/package_map.md: 5 → 6 subsystems; cycle
    canonicalized; boundary withdrawn; examples/** + dist/** added
    to write_surface; severity-promotion ledger pattern documented.
  • L3_IMPLEMENTATION/symbiont_protocol.md: 5/11 host adapters
    shipped; uninstall path implemented; remaining 6 → v0.6.x.

Lessons learned (NEW pattern: dual-LLM critique)

The v0.6.0 craft was authored with parallel ChatGPT-as-critic +
Gemini-as-critic agents
injecting Round 1.5 and Round 2.5 tensions
that single-perspective review would have missed. Specifically:

  • ChatGPT [1.5-D] caught that L0:183 already named Cycle as 6th
    subsystem; the proposed rename to governance would have violated
    L0 directly. Corrected to "promote, don't rename."
  • ChatGPT [1.5-F] caught that digestion.md:120-122 doctrine
    scheduled alias removal at v1.0.0; v0.6.0 acceleration was a doctrine
    violation. Corrected to "warn at v0.6.0, remove at v1.0.0."
  • Gemini [G1.5-3] caught that 11 host × 3 OS × 2 arch matrix was
    being tested as 1 cell; planned matrix CI for symbiont suite.
  • Gemini [G1.5-6] caught that resources/list of myco://canon
    would leak federation_peers (potentially internal substrate URLs)
    to any MCP host. Corrected to default-redacted scope + OAuth-gated
    raw view.
  • ChatGPT [2.5-α] caught that v0.6 MAJOR mandates Living Bets
    re-audit; sibling craft authored.

This dual-critique pattern is itself doctrine-worthy. v0.6.x or v0.7
may codify it as a craft_protocol_version: 2 enhancement.

Migration

A docs/migration/v0_5_24_to_v0_6_0.md (deferred to v0.6.x ecosystem-thawed
patch) details operator-visible deltas. Headline:

  • Substrates auto-upgrade canon schema v1→v2 on first hunger; no
    operator action.
  • All v0.5.x verb invocations continue working; deprecation banners
    louder.
  • New myco intake verb available.
  • New myco:// MCP resources visible in host UIs.

Acceptance

  • myco hunger reports contract_version v0.6.0; substrate_pulse confirms.
  • myco immune runs 25 dim baseline (kernel cache); on entry-points
    refresh expands to 44 dims, each at LOW per severity_promotion.
  • myco brief shows 6 subsystems including cycle.
  • DRAFT craft excretion verified by myco traverse orphan count
    reduction.
  • Living Bets audit craft passes myco winnow.

Breaking Changes

  • Canon schema version bumped from v1 to v2 (requires migration via `_v1_to_v2` upgrader).
  • `system.no_llm_in_substrate: bool` renamed to `system.llm_policy: "forbidden" | "opt-in" | "providers-declared"` enum with default "forbidden".
  • New field `identity.federation_peers: []` added for future federation planning.

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]