Skip to content

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: true when every exact version and capability is accepted; or
  • supported: false with stable reasons such as UNSUPPORTED_CONTRACT_VERSION, UNSUPPORTED_PROTOCOL_VERSION, UNSUPPORTED_PLAYER_VERSION, UNSUPPORTED_BENTO_VERSION, or MISSING_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.