Skip to content

Releases: aimasteracc/mycelium

v0.2.0 — The Three-Surface Release

04 Jun 15:53

Choose a tag to compare

Draft — staged with prebuilt binaries while npm publishing is finalized. Published once @aimasteracc npm packages are live.

Highlights

  • npm / bun install — no Rust toolchain required (RFC-0110). npm i -g @aimasteracc/mycelium resolves and execs the matching prebuilt binary (esbuild/biome optionalDependencies model). cargo install mycelium-rcig-cli remains for Rust users.
  • CLI ↔ MCP output parity, 7/7 graph-list tools (RFC-0109). get-callees/get-callers/get-dead-symbols/get-isolated-symbols/get-all-symbols --format json now emit objects byte-identical to their MCP twins. (BREAKING: was bare arrays.)
  • Adaptive output budget (RFC-0102). Per-call --budget / MCP budget knob (auto|small|medium|large|disabled) + nested budget {} response object.

See CHANGELOG.md for full notes.

Install

# npm / bun (no Rust required)
npm i -g @aimasteracc/mycelium
# or Rust
cargo install mycelium-rcig-cli

Prebuilt binaries

Direct download (no package manager). Verify with SHA256SUMS.

Platform Asset
macOS Apple Silicon mycelium-aarch64-apple-darwin.tar.gz
macOS Intel mycelium-x86_64-apple-darwin.tar.gz
Linux x86_64 mycelium-x86_64-unknown-linux-gnu.tar.gz
Linux ARM64 mycelium-aarch64-unknown-linux-gnu.tar.gz
Windows x64 mycelium-x86_64-pc-windows-msvc.zip

v0.1.19 — precision pass + codegraph benchmark

03 Jun 15:49
55761a8

Choose a tag to compare

Fixed

  • Rust extractor precision raised from 67% → 99.8% recall via 4 additive
    queries.scm patterns (dogfood-found 2026-06-04 by indexing the Mycelium
    repo against itself and comparing per-file symbol counts vs ground truth):

    • trait T { fn x(); } trait method signatures are now captured
      (previously only trait T was indexed; T::x was silently dropped —
      e.g. FileReindexer::reindex was invisible while every impl FileReindexer for X method was present).
    • trait T { fn x() {...} } trait default-method bodies captured.
    • Module-level static FOO: ... items captured (previously only const
      — e.g. static PACK_REGISTRY: OnceLock<...> was missing).
    • Associated pub const items inside impl blocks captured (e.g.
      impl NodeId { pub const NULL: Self = ...; }).
    • Functions/structs/consts inside nested mod blocks (notably
      #[cfg(test)] mod tests { fn ... }) now captured at every position
      in the body, not only at head/tail.

    Verified on the Mycelium repo: 70 of 80 Rust files now match ground-truth
    symbol counts exactly (was 44 of 80). Total recall 99.8% (2664 / 2668).
    5 RED-first regression tests in crates/mycelium-core/src/extractor/tests.rs.

    Head-to-head vs codegraph 0.9.8 on the same repo: Mycelium index time
    0.32 s vs codegraph 0.93 s (3× faster); Mycelium 70 of 80 files at exact
    ground-truth match vs codegraph 1 of 80 (codegraph over-counts symbols
    by 19.7% — different granularity).

Docs

  • ADR-0008: redb as default storage backend (Phase 3 flip decision record). Documents the rationale for switching from InMemoryBackend to RedbBackend as the production default in v0.1.17, prerequisites met (equivalence tests, crash-safety, warm SLA).
  • ADR numbering fix: renamed docs/adr/0008-redb-storage-engine.mddocs/adr/0009-redb-storage-engine.md (ADR-0009) to resolve the 0007/0008 slot collision; updated cross-references in rfc-0100-execution-plan.md, rfcs/0104-charter-warm-cold-sla-split.md, and docs/adr/0008-redb-as-default-backend.md.

v0.1.18 — reactive-completion roadmap complete

03 Jun 12:30
e429a22

Choose a tag to compare

反应式完成路线图 — 全部 ship 完了

watch     → RFC-0105 ✅
push      → RFC-0106 ✅
subscribe → RFC-0107 ✅ (this release)
salsa     → RFC-0108 ✅ (this release)

Added

RFC-0107 SUBSCRIBE — mycelium/subscriptionDelta scoped per-batch delta notifications

Agents register an Interest (Files / Symbols / Hyphae Selector) and receive only the slice of each batch that matches them. Three new MCP tools:

  • mycelium_subscribe
  • mycelium_unsubscribe (idempotent)
  • mycelium_subscription_status

CLI face: mycelium watch --subscribe '<SPEC>' where SPEC is files:<globs> / symbols:<globs> / selector:<hyphae>.

Frozen-v1 wire shape per RFC-0107 §4. TTL + per-client cap + selector cap + dead-peer GC. (ii-strict) Selector removal semantics — no phantom removals.

RFC-0108 Salsa Phase 2 — mycelium/queryResultChanged reactive query subscriptions

Agents subscribe to a query result and receive a notification only when the value actually changes — Salsa-style backdated equality via BLAKE3-128 hash of canonical-JSON.

5 query kinds: selector / callers / callees / impact / context. Hybrid result shape: summary{added,removed} for set-shaped, new_result only for tree-shaped. 2 s default quiet-period; 200 ms eval-budget pause.

Additively bolted onto RFC-0107's subscription store — Interest::Query { query, min_interval_seconds } variant.

Fixed

  • RFC-0107 SUBSCRIBE P1 safety: replace RwLock::blocking_read() with try_read() in async watch paths. Watch loop no longer panics on subscribe-contention.
  • Rust extractor now captures Type::method() and crate::mod::func() call sites (dogfood-found correctness bug — every scoped-path call site was silently dropped including all WatchEngine::*, Arc::clone, etc.).

Install

cargo install mycelium-rcig-cli
# or
npm install -g @mycelium/cli
# or
pip install mycelium-rcig

Quality gate

  • 1095 tests passing across 5 OS matrices
  • Line coverage 90.15% (Charter §5.6 SLA)
  • clippy -D warnings + rustfmt + security all clean

Note on ceremony recovery

v0.1.17 was published to crates.io / npm / PyPI but the git-side ceremony (main merge + tag) was incomplete due to a release.yml workflow_dispatch bug. v0.1.18 ceremony folds v0.1.17 → main and includes a retro-tag for v0.1.17 at the published commit.

v0.1.17 — retro-tag (crates.io published 2026-06-03)

03 Jun 12:31
6aa1bed

Choose a tag to compare

Retro-tag for v0.1.17 at the published commit. crates.io / npm / PyPI were published at this commit (workflow run 26867945825) but git-side ceremony was incomplete due to release.yml workflow_dispatch bug. Subsequent v0.1.18 ceremony folds v0.1.17 → main; see v0.1.18 release notes for full content.

Highlights shipped at this version:

  • redb as the default storage backend (RFC-0100 Phase 3 flip)
  • RFC-0101 mycelium_context tool
  • RFC-0102 adaptive output budget
  • RFC-0105 shared WatchEngine (core + CLI watch)
  • RFC-0106 mycelium/graphChanged push notifications

v0.1.16

02 Jun 01:27
0d27c5a

Choose a tag to compare

v0.1.16

Added

  • RFC-0100 Phase 1+2: redb storage backend + atomic edge writes + crash safety tests
  • MCP server routing instructions (Issue #366)
  • Incremental persistence journal (Issue #343)
  • Memory budget / bounded store (Issue #344)
  • Release ceremony script (Issue #375)
  • RFC drafts: 0101 (context tool), 0102 (output budgets), 0103 (cross-file refs)

Changed

  • redb 2.6 → 4.1 (PR #413)
  • logos 0.14 → 0.16 (PR #412)
  • salsa 0.18 → 0.26 (PR #411)

Fixed

  • Windows CI: measure_rss test now platform-aware

v0.1.15

31 May 10:16
d01aab3

Choose a tag to compare

What's Changed

  • chore(pm): PM dispatch 2026-05-30 — release/v0.1.12 cut (PR #321) by @aimasteracc in #322
  • chore(pm): PM dispatch 2026-05-30 — v0.1.12 ceremony PRs + v0.1.13 kickoff by @aimasteracc in #325
  • chore(release): back-merge release/v0.1.12 into develop (ceremony step 4/4) by @aimasteracc in #323
  • chore(pm): PM dispatch 2026-05-30 — PR #323 merged; RFC-0093 Phase 2; security CLEAN by @aimasteracc in #327
  • refactor(mcp): RFC-0093 Phase 2 — export success_str from error module by @aimasteracc in #326
  • feat(core): RFC-0096 Phase 2 — TypeScript import type → TypeImports + fix TS resolver bug by @aimasteracc in #331
  • chore(release): back-merge release/v0.1.13 into develop (ceremony step 4/4) by @aimasteracc in #333
  • chore(pm): PM dispatch 2026-05-31 — v0.1.13 COMPLETE; v0.1.14 in progress; PRD v0.2 corrections by @aimasteracc in #334
  • ci(rfc0090): promote skill-parity to required Quality Gate (Charter §5.13) by @aimasteracc in #335
  • docs: v0.1.14 dogfood report — 8/8 core CLI commands green by @aimasteracc in #337
  • docs(hive): vision-vs-reality report + Model Tiering section by @aimasteracc in #339
  • docs: scale-gap analysis — index pipeline not ready for 100K+ files by @aimasteracc in #341
  • feat: R1 parallel indexing — Store::merge + parallel index_path (#342) by @aimasteracc in #345
  • chore(pm): PM dispatch 2026-05-31 — PRs #335+#337 merged; PR #338 rebased; 5/6 v0.1.14 criteria done by @aimasteracc in #340
  • docs(rfc-0093): Phase 3 — CHANGELOG BREAKING entry + RFC marked Implemented by @aimasteracc in #346
  • chore(pm): PM dispatch 2026-05-31 — v0.1.14 DONE; scale-gap R1/R2/R3 P1 by @aimasteracc in #347
  • chore(release): back-merge release/v0.1.14 → develop (ceremony step 4/4) by @aimasteracc in #349
  • feat(cli): R1 parallel indexing — index_path_parallel (#342, step 2/2) by @aimasteracc in #351
  • chore(pm): PM dispatch 2026-05-31 — release/v0.1.14 cut; PRs #348+#349 opened by @aimasteracc in #350
  • chore(pm): PM dispatch 2026-05-31 — PR #352 opened; release/v0.1.14 conflicts resolved; security CLEAN by @aimasteracc in #354
  • chore(pm): v0.1.14 SHIPPED — ceremony 4/4 complete by @aimasteracc in #355
  • docs(rfc): RFC-0098 Incremental Persistence (Draft — founder + ADR sign-off needed) by @aimasteracc in #353
  • perf(core): Store::heap_size_estimate() + RSS memory-curve tests (R3 #344) by @aimasteracc in #356
  • chore(pm): PM dispatch 2026-05-31 — PR #353 merged; PM state corrected; R3 PR #356 pending by @aimasteracc in #357

Full Changelog: v0.1.12...v0.1.15

v0.1.14

31 May 05:15
9690fc6

Choose a tag to compare

What's Changed

  • chore(pm): PM dispatch 2026-05-30 — release/v0.1.12 cut (PR #321) by @aimasteracc in #322
  • chore(pm): PM dispatch 2026-05-30 — v0.1.12 ceremony PRs + v0.1.13 kickoff by @aimasteracc in #325
  • chore(release): back-merge release/v0.1.12 into develop (ceremony step 4/4) by @aimasteracc in #323
  • chore(pm): PM dispatch 2026-05-30 — PR #323 merged; RFC-0093 Phase 2; security CLEAN by @aimasteracc in #327
  • refactor(mcp): RFC-0093 Phase 2 — export success_str from error module by @aimasteracc in #326
  • feat(core): RFC-0096 Phase 2 — TypeScript import type → TypeImports + fix TS resolver bug by @aimasteracc in #331
  • chore(release): back-merge release/v0.1.13 into develop (ceremony step 4/4) by @aimasteracc in #333
  • chore(pm): PM dispatch 2026-05-31 — v0.1.13 COMPLETE; v0.1.14 in progress; PRD v0.2 corrections by @aimasteracc in #334
  • ci(rfc0090): promote skill-parity to required Quality Gate (Charter §5.13) by @aimasteracc in #335
  • docs: v0.1.14 dogfood report — 8/8 core CLI commands green by @aimasteracc in #337
  • docs(hive): vision-vs-reality report + Model Tiering section by @aimasteracc in #339
  • docs: scale-gap analysis — index pipeline not ready for 100K+ files by @aimasteracc in #341
  • feat: R1 parallel indexing — Store::merge + parallel index_path (#342) by @aimasteracc in #345
  • chore(pm): PM dispatch 2026-05-31 — PRs #335+#337 merged; PR #338 rebased; 5/6 v0.1.14 criteria done by @aimasteracc in #340
  • docs(rfc-0093): Phase 3 — CHANGELOG BREAKING entry + RFC marked Implemented by @aimasteracc in #346
  • chore(pm): PM dispatch 2026-05-31 — v0.1.14 DONE; scale-gap R1/R2/R3 P1 by @aimasteracc in #347

Full Changelog: v0.1.12...v0.1.14

v0.1.13

31 May 00:20
4b9e02c

Choose a tag to compare

What's Changed

  • chore(pm): PM dispatch 2026-05-30 — release/v0.1.12 cut (PR #321) by @aimasteracc in #322
  • chore(pm): PM dispatch 2026-05-30 — v0.1.12 ceremony PRs + v0.1.13 kickoff by @aimasteracc in #325
  • chore(release): back-merge release/v0.1.12 into develop (ceremony step 4/4) by @aimasteracc in #323
  • chore(pm): PM dispatch 2026-05-30 — PR #323 merged; RFC-0093 Phase 2; security CLEAN by @aimasteracc in #327
  • refactor(mcp): RFC-0093 Phase 2 — export success_str from error module by @aimasteracc in #326

Full Changelog: v0.1.12...v0.1.13

v0.1.12

30 May 21:17
a3eef27

Choose a tag to compare

What's Changed

  • chore(release): backmerge v0.1.3 + memory log by @aimasteracc in #165
  • docs(skills): RFC-0090 Phase 2.3 — Skill coverage complete (89/89) by @aimasteracc in #166
  • chore(pm): v0.1.4 sprint kickoff — PM state refresh by @aimasteracc in #167
  • perf(core): symbol_nodes() + parent-map BFS, close #153 by @aimasteracc in #168
  • ci(parity): RFC-0090 Phase 1 — Three-Surface parity checker + workflow by @aimasteracc in #170
  • chore(pm): 2026-05-29 dispatch — #153+parity merged, state refreshed by @aimasteracc in #171
  • feat(cli): parity backfill batch 1 — 3 high-frequency CLI subcommands by @aimasteracc in #172
  • chore(pm): v0.1.4 sprint complete — state refresh + v0.1.5 kickoff by @aimasteracc in #174
  • feat(cli): parity backfill batch 2 — basic-queries category 10/10 complete by @aimasteracc in #175
  • feat(cli): parity batch 3 — complete call-graph category (7 commands) by @aimasteracc in #177
  • feat(cli): parity batch 4 — complete import-graph category (3 commands) by @aimasteracc in #178
  • feat(cli): parity batch 5 — complete inheritance category (8 commands) by @aimasteracc in #179
  • feat(cli): parity batch 6 — complete reachability (12 commands) by @aimasteracc in #182
  • feat(cli): parity batch 7 — complete centrality (14 commands), 55/89 (62%) by @aimasteracc in #183
  • feat(hyphae): jQuery-inspired selector extensions (RFC-0091) by @aimasteracc in #184
  • feat(cli): parity batch 8 — complete graph-structure (14), 69/89 (78%) by @aimasteracc in #185
  • feat(cli): parity batch 9 — complete batch-ops (4), 73/89 (82%) by @aimasteracc in #186
  • feat(cli): parity batch 10 FINAL — 100% Three-Surface compliance by @aimasteracc in #187
  • docs(changelog): backfill batch 10 Unreleased entry by @aimasteracc in #188
  • meta(memory): decisions log — batch 10 FINAL by @aimasteracc in #189
  • chore(pm): v0.1.5 complete — state refresh, RFC-0090 Implemented, INDEX flush by @aimasteracc in #190
  • chore(sync): post-release v0.1.4 → develop (gitflow back-merge) by @aimasteracc in #195
  • chore(pm): record v0.1.4 ship + next-up release/v0.1.5 by @aimasteracc in #197
  • docs(readme): bump version badges to v0.1.4 by @aimasteracc in #196
  • feat(e2e): Charter §5.10 dogfood test (Mycelium indexes itself) by @aimasteracc in #194
  • meta(memory): sequential release path + PR #176 unblock by @aimasteracc in #192
  • chore(pm): PM dispatch 2026-05-30 — v0.1.5 CI fix + issue #200 triage by @aimasteracc in #201
  • chore(sync): post-release v0.1.5 → develop (gitflow back-merge) by @aimasteracc in #203
  • meta(memory): 8 CI anti-patterns + 3 lessons from v0.1.5 saga by @aimasteracc in #202
  • fix(python): resolve relative imports to actual file paths (#204) by @aimasteracc in #207
  • ci(parity): promote check_skill_parity.py to --strict by @aimasteracc in #208
  • chore(sync): post-release v0.1.6 → develop (gitflow back-merge) [SUPERSEDED by #213] by @aimasteracc in #215
  • docs(rfc): RFC-0092 cross-language alias resolution (draft) by @aimasteracc in #216
  • fix(python): alias-table dispatch (#205, RFC-0092 Phase 1) by @aimasteracc in #217
  • chore(sync): post-release v0.1.7 → develop (gitflow back-merge) by @aimasteracc in #222
  • meta(memory): resolve merge conflict in decisions.jsonl by @aimasteracc in #218
  • fix(python): resolve self/cls method calls to enclosing class (#220) by @aimasteracc in #223
  • docs(rfc): RFC-0093 MCP error model (draft) by @aimasteracc in #224
  • docs(rfc): RFC-0094 token-efficient text output (draft) by @aimasteracc in #225
  • docs(rfc): RFC-0095 runtime language pack loading (draft) by @aimasteracc in #226
  • chore(sync): post-release v0.1.8 → develop (gitflow back-merge) by @aimasteracc in #230
  • fix(python): attribute-assignment alias pattern (#229) by @aimasteracc in #231
  • docs(rfc): RFC-0096 type-only import edge kind (draft) by @aimasteracc in #232
  • docs(charter): release-gate rule — green CI required before release admin-merge by @aimasteracc in #233
  • docs(charter): post-release sync rule — four-step ceremony by @aimasteracc in #235
  • chore(sync): post-release v0.1.9 → develop (gitflow back-merge) by @aimasteracc in #236
  • fix(python): skip imports inside if TYPE_CHECKING blocks (#227) by @aimasteracc in #237
  • fix(python): fallback query for nested attribute calls (RFC-0092 regression) by @aimasteracc in #238
  • chore(sync): post-release v0.1.10 → develop (gitflow back-merge) by @aimasteracc in #240
  • feat(mcp): RFC-0094 Phase 1 — Formatter trait + Text/JSON/MsgpackHex impls by @aimasteracc in #241
  • chore(pm): refresh PM state v0.1.6→v0.1.10 + decisions.jsonl entry by @aimasteracc in #242
  • feat(mcp): RFC-0093 Phase 1 — application-level error model helpers by @aimasteracc in #243
  • feat(mcp): RFC-0094 Phase 2 PoC — output_format per-request for basic-queries by @aimasteracc in #244
  • test(mcp): cross-tool MCP response contract tests (issue #211) by @aimasteracc in #249
  • feat(extractor): Python Extends edges + callback dead-code fix (issues #245, #247) by @aimasteracc in #250
  • feat(store): add include_inherited to get-descendants (issue #248) by @aimasteracc in #254
  • feat(store): add include_virtual to get-callers for virtual dispatch (issue #246) by @aimasteracc in #255
  • chore(pm): PM state refresh — v0.1.11 sprint + #245-248 triage by @aimasteracc in #252
  • chore(pm): add MCP is_error P2 item + rmcp 1.7 arch note to PM state by @aimasteracc in #258
  • feat(mcp): RFC-0094 Phase 3 — output_format on all remaining 83 query tools by @aimasteracc in #259
  • test(core): Charter §2 SLA — 100K-node heavy-graph benchmark row by @aimasteracc in #262
  • fix(packs): sync stale Python pack queries + pack-parity CI gate (issue #260) by @aimasteracc in #263
  • fix(extractor): regression guard for cross-file Extends resolution (issue #261) by @aimasteracc in #264
  • chore(pm): correct PM state — #245-248 all closed, sprint criteria updated by @aimasteracc in #256
  • chore(pm): v0.1.11 sprint complete — update PM state + memory by @aimasteracc in #265
  • feat(mcp): issue #206 S1 — set is_error on all 90 MCP tool handlers by @aimasteracc in #266
  • fix(packs): remove depth-2+ chain call fallback — issue #214 Pattern 3 by @aimasteracc in #270
  • chore(pm): v0.1.12 kickoff — #266+#270 merged, #267/#268 triaged, release/v0.1.11 unblocked by @aimasteracc in #271
  • fix(extractor): resolve cross-file Extends via alias table — issues #267/#268 by @aimasteracc in #272
  • docs(mcp): document output_format per transport — RFC-0094 §206 S2 by @aimasteracc in #274
  • docs(call-graph): document autouse conftest fixture limitation — issue #269 by @aimasteracc in #273
  • feat(extractor): RFC-0092 Phase 2 — TypeScript/JS alias resolution by @aimasteracc in #277
  • chore(pm): update PM state — v0.1.11 release open, v0.1.12 priorities corrected by @aimasteracc in #276
  • feat(extractor): RFC-00...
Read more

v0.1.11 — Python cross-file Extends, MCP is_error, token-efficient output

30 May 17:32
6eb4a5c

Choose a tag to compare

v0.1.11 — Python cross-file Extends, MCP is_error, token-efficient output

Highlights

  • Python inheritance edgesget-callers --include-virtual, get-descendants --include-inherited, cross-file Extends resolution (Issues #245–248, #267–268)
  • MCP is_error sweep — all 90 tool handlers now set is_error: Some(true/false) per rmcp 1.7 (Issue #206 S1)
  • Token-efficient outputoutput_format: text/json per transport, RFC-0094 Phase 2+3, 73% token savings in text mode (Issue #206 S2)
  • RFC-0095 runtime packs — drop-in community packs via MYCELIUM_PACKS_DIR / --packs-dir without recompile
  • RFC-0092 alias resolution — TypeScript, JavaScript, and Python import X as Y; X.method() now resolve to real definitions
  • Charter §2 SLA — 100K-node graph indexed in <30s; 6 SLA tests in CI
  • Issue #214 Pattern 3 — depth-2+ attribute chains no longer produce 1,472 false callers
  • Issue #214 Pattern 2from .mod import X now correctly resolves to symbol, not spurious file path

Install

cargo install mycelium-rcig-cli
pip install mycelium-rcig
npm install -g @mycelium-rcig/node

Full changelog

See CHANGELOG.md for the complete list of changes.