Honest, machine-readable evidence inventory for the implemented MCP slice.
Internal contract checks, unsupported surfaces, unmeasured surfaces, and official conformance results remain separate buckets. Passing the internal contract never becomes an official conformance score.
Summary
Functions
Returns the canonical IDs that the internal contract suite must evidence.
Builds the evidence report for the 2026-07-28 profile.
Renders a report/2 map as a short Markdown summary, as
mix snodo.contract --format markdown prints it.
Verifies the pinned frozen requirement artifact and its server inventory.
Functions
@spec internal_contracts() :: [String.t()]
Returns the canonical IDs that the internal contract suite must evidence.
@spec report(Snodo.Protocol.Profile.t(), keyword()) :: map()
Builds the evidence report for the 2026-07-28 profile.
profile must have version "2026-07-28", such as
Snodo.Protocol.V2026_07_28.profile(). The report is a string-keyed map
with "protocolProfile" (the profile's manifest), "evidence"
("internalPass", "unsupported", "unmeasured", and "officialPass"),
and "officialServerConformance" (the frozen result of the official
conformance run). mix snodo.contract --format json prints this map.
Options:
:internal_pass- the internal contract IDs whose evidence passed, each frominternal_contracts/0and listed once. Defaults to[]. Any other value raisesArgumentError.
Renders a report/2 map as a short Markdown summary, as
mix snodo.contract --format markdown prints it.
@spec verify_requirements_manifest!(Path.t()) :: :ok
Verifies the pinned frozen requirement artifact and its server inventory.