Skip to content

v0.5.0

Choose a tag to compare

@Lockyc Lockyc released this 16 Jul 23:31
· 81 commits to main since this release

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 (now MAP.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.toml capability catalog → 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