Repository navigation
v0.5.0
Breaking release. The word "catalog" is gone from Mycelium. A catalog is a browse-list of obtainable items; Mycelium's output has edges, which a catalog structurally can't express. The merged model is a graph — so the artifacts are now named for what they are and for the job each does.
There are no compatibility shims. The old names are gone, and the old routes return 404.
Breaking — rendered artifacts
| Before | After | Job |
|---|---|---|
CATALOG.md |
MAP.md |
the lossy map to read into context to orient |
catalog.json |
graph.json |
the full-fidelity graph to query with jq |
The filenames now carry the usage rule that the docs used to have to assert: read the map, query the graph.
Breaking — HTTP routes
/CATALOG.md→/MAP.md/catalog.json→/graph.json/still serves the map (nowMAP.md)
The old paths return 404, enforced by a regression test.
Breaking — CLI flags
build, serve, and audit now all take --dir for the artifact directory (replacing --catalog and build's --out). One directory concept, one flag name.
myco build --dir .myco serve --dir .myco audit --dir .
scan --out is unchanged — it names a file (the manifest), a genuinely different concept. This is the point of the change: --out now means exactly one thing, where before it meant "a file" on scan and "a directory" on build.
Breaking — schema and sidecar
schema/catalog.md→schema/graph.md- This repo's own
mycelium.tomlcapabilitycatalog→ecosystem-graph
Internal
internal/catalog→internal/graph;type Catalog→type Graph- Artifact filenames now have a single source of truth (
graph.MapName,graph.GraphJSONName) rather than being re-encoded per package
Upgrading
Update any consumer that fetches /CATALOG.md or /catalog.json, and any invocation passing --catalog or build --out. A myco serve invocation still passing --catalog is a hard parse error, not a warning — if you run the hub from a service unit, update the unit and the binary together.
Full Changelog: v0.4.0...v0.5.0