Emit a Studio Federation Manifest¶
This tutorial shows the release-safe path for producing the Studio federation document.
Prerequisite: install the optional Studio SDK dependency.
pip install 'scpn-fusion[studio]'
1. Inspect the manifest in Python¶
from scpn_fusion.studio import build_federation_document
doc = build_federation_document()
print(doc["schema_a"]["studio"])
print(doc["schema_a"]["studio_version"])
print(len(doc["schema_a"]["verbs"]))
print(doc["architecture_map"]["version"])
2. Regenerate the committed document¶
scpn-emit-studio-manifest
The command writes docs/_generated/studio_manifest.json.
3. Check release drift¶
scpn-emit-studio-manifest --check
The check fails when the committed JSON no longer byte-matches the generator. Run it after editing:
src/scpn_fusion/studio/verbs.pysrc/scpn_fusion/studio/manifest.pysrc/scpn_fusion/studio/federation.pypackage version metadata
4. Compare a reproduced value¶
import numpy as np
from scpn_fusion.studio import ExactnessClass, reproduce
verdict = reproduce(
ExactnessClass.TOLERANCE,
recomputed_value=np.array([1.0, 2.0, 3.0]),
reference_value=np.array([1.0, 2.0, 3.0 + 1e-12]),
rtol=1e-9,
atol=0.0,
)
assert verdict.reproduced
Use ExactnessClass.BIT_EXACT only for integer, fixed-point, or otherwise
toolchain-independent values. Floating-point kernels should declare a tolerance
or a caller-reduced stochastic comparison.