Compatibility
Compatibility is checked before package, player, or asset use.
The production manifest declares:
| Field | Required value |
|---|---|
| Contract | anuva/bento-presentation 1.0.0 |
| Protocol | anuva/bento-player 1.0.0 |
| Player | 1.0.0 |
| Bento base | 1.0.8 |
It also declares required capabilities including absolute host time, stable fragments, SHA-256 asset integrity, composite surfaces, optional per-surface transparency, and every approved player command.
Consumers provide lists of supported contract, protocol, player, and Bento
versions plus capabilities. evaluateAnuvaCompatibility returns:
supported: truewhen every exact version and capability is accepted; orsupported: falsewith stable reasons such asUNSUPPORTED_CONTRACT_VERSION,UNSUPPORTED_PROTOCOL_VERSION,UNSUPPORTED_PLAYER_VERSION,UNSUPPORTED_BENTO_VERSION, orMISSING_CAPABILITY.
No fallback, best-effort parsing, minor-version assumption, or runtime download is permitted. A future version must be explicitly added by both producer and consumer.
The production editor adds exact editor protocol 1.1.0, editor 1.1.0,
contract package distribution 1.1.0, template catalog 1.0.0,
template-family schema 1.0.0, and shared renderer
1.0.8-anuva-renderer.1. Its required capabilities include
editor.host-request-save, editor.focus.stable, and
templates.catalog.packaged. Template families with another presentation
contract or renderer version fail before selection. The presentation contract,
player protocol/artifact, and template-family object schema remain 1.0.0;
editor and player artifact manifests must report the same renderer version.
Repository-local CMS, Python, and Unity declarations prove the compatibility algorithm and rejection behavior. They are contract fixtures, not downstream integration evidence.