Repository navigation
v0.7.0
First-class graph queries, and a breaking graph.json shape change.
⚠️ Breaking: graph.json components are now flat
Each component's declared mycelium.toml fields serialize at the component top
level — .components[].summary, .components[].provides[], .components[].stack[] —
instead of under a .sidecar wrapper. This makes components consistent with overlay
nodes (already flat).
Migration: any consumer that queried .components[].sidecar.provides[] must drop
the .sidecar hop → .components[].provides[] (same for summary, stack).
First-class queries — no hand-written jq
Mycelium now provides the common graph queries instead of leaving agents to
construct them:
myco query <name> [args]—capability,component,components(filtered by
kind/stack),used-by,uses,search— over a localgraph.json(--dir) or
a live hub (--url); readable text, or--jsonto pipe. Baremyco queryprints a
self-documenting index.- Hub
/q/*routes — the same queries over HTTP:GET /q(index),
/q/capability/<name>,/q/components?kind=&stack=,/q/used-by/<name>,
/q/search?q=. Already-filtered JSON, explicit404on an unknown query name — never
the silent-empty result that hand-written jq gives.
Query semantics live once in internal/query; the CLI and the HTTP routes are thin
adapters over it. Docs (MAP.md, schema/graph.md §Querying, README) now lead with the
query interface and demote jq to a labelled fallback.
Full Changelog: v0.6.2...v0.7.0