Specification
Directory of the normative CMN documents and the shortest reading paths for publishers, implementers, and indexers.
Use this page as the map of the protocol itself. If you want operational docs or reference implementations, continue to Tools; if you want the protocol contracts, start here.
Start with the path that matches your role
- New to CMN: Read 01. Substrate, 02. Mycelium, and 03. Spore in order.
- Publishing from your own domain: Focus on 02. Mycelium, 03. Spore, and 06. URI.
- Consuming or verifying foreign spores: Read 01. Substrate, 04. Taste, and 07. Algorithm Registry.
- Defining conventions: Start with 05. Strain.
- Running a Synapse-compatible indexer: Read 05. Strain for the convention model, then the Synapse convention documents in the tools docs.
Core documents
01. Substrate - Discovery & Identity
Domain discovery, cmn.json, Ed25519 key binding, and the sovereignty model.
02. Mycelium - Domain Manifest
How a domain publishes its signed inventory of spores and related metadata.
03. Spore - Package Format
The immutable package format, bonds, and content-addressed release model.
04. Taste - Safety Evaluation
Verdict vocabulary, gate rules, and the subjective trust layer for foreign code.
05. Strain - Conventions & Conformance
How interoperable conventions are declared, composed, and checked.
06. URI - Addressing Scheme
The cmn:// address format for domains, spores, and related resources.
07. Algorithm Registry
Canonical identifiers for hashes, signatures, key types, and tree algorithms.
Supporting references
Glossary
Definitions for the protocol vocabulary used throughout the spec.
End-to-End Example
Walkthrough of publishing, indexing, discovering, spawning, and re-releasing a spore.
Versioning
The protocol version lives in the $schema URL path, for example https://cmn.dev/schemas/v1/spore.json.
- Major version changes (
v1tov2) mean a compatibility break. - Clarifications and backward-compatible optional fields stay within the same version.
All CMN schema documents for a given release share the same version segment.
License
This specification is released under CC0-1.0 (Public Domain).