STUDIO capability manifest¶
scpn_mif_core.studio_manifest advertises MIF's verbs to SCPN STUDIO as a v1
schema-A capability manifest — the document a studio publishes so the federating
Hub knows its verbs and the studio.*.v1 evidence bundles they produce
(SCPN_STUDIO_V1_CONTRACT.md §3). It is the schema-A companion to
scpn_mif_core.evidence (schema B), completing MIF's
contract-conformant data layer.
It is a forward-compatibility surface, not a studio user interface and not a
platform fork: the manifest is content-addressed and its enumeration is
language-agnostic, so the surface digest covers MIF's Python, Rust, Julia, Go,
Lean, and SystemVerilog files rather than only Python. It maps onto the platform
SDK's CapabilityManifest type with no shape change once scpn-studio-platform
is consumed (additive-only contract).
Advertised verbs¶
| Verb | side_effect | Produces |
|---|---|---|
evaluate |
simulated | studio.merge-trigger.v1 |
prove |
read-only | studio.formal-proof.v1 |
cosimulate |
simulated | studio.cosim.v1 |
benchmark |
read-only | studio.benchmark.v1 |
validate_capability_manifest is MIF's consumer-driven contract test for the
manifest (§7): it fails closed unless every §2.3 verb attribute, the
language-agnostic enumeration, and the rule that evidence_types equals the union
of the verbs' produces all hold.
studio_manifest
¶
Advertise MIF's verbs to SCPN STUDIO as a v1 schema-A capability manifest.
The capability manifest is how a studio advertises its verbs and the evidence
bundle types they produce to the federating Hub (SCPN_STUDIO_V1_CONTRACT.md §3).
This builds MIF's manifest from its verb taxonomy and exposes a fail-closed
conformance check — the schema-A analogue of
:func:scpn_mif_core.evidence.validate_studio_bundle, i.e. MIF's consumer-driven
contract test for §7.
It is a forward-compatibility surface, not a studio UI and not a platform fork:
it emits the locked schema-A shape, content-addressed and language-agnostic so the
enumeration covers MIF's Python, Rust, Julia, Go, Lean, and SystemVerilog surfaces
rather than only Python. Once scpn-studio-platform is extracted, this maps onto
the SDK's CapabilityManifest type with no shape change (additive-only contract).
mif_capability_manifest()
¶
Build MIF's v1 schema-A capability manifest.
The content_digest content-addresses the advertised surface (verbs +
evidence types) so the Hub can detect drift deterministically, and
enumeration is language-agnostic because MIF's surface spans Python,
Rust, Julia, Go, Lean, and SystemVerilog.
validate_capability_manifest(manifest)
¶
Fail closed unless manifest conforms to the locked v1 schema-A contract.
MIF's consumer-driven contract test for the capability manifest (§7): it checks
the required top-level fields, the per-verb §2.3 attributes and their
enumerations, the language-agnostic enumeration, and that the advertised
evidence_types are exactly the union of what the verbs produce. It raises a
single ValueError listing every violation.