Skip to content

Completion Report: ANU-11 - Build the Anuva Bento Contract and Deterministic Player

Status: Completion review passed; awaiting explicit ready-and-merge approval.

Implementation summary

ANU-11 replaces the provisional spike contract with:

  • private server-safe package @anuva/bento-contract 1.0.0;
  • exact contract, protocol, player, runtime, and Bento compatibility;
  • runtime schema validation with stable codes and paths;
  • pure normalization, asset planning, and compatibility transforms;
  • equal Main, Companion, and Emphasis document semantics;
  • optional per-surface transparency independent of surface kind;
  • stable fragment identity and deterministic absolute-time state;
  • the complete approved player command/event surface;
  • SHA-256 and media-type checked external asset loading;
  • a player-only offline static artifact with checksums, license, and notices; and
  • normative documentation and local CMS/Python/Unity compatibility fixtures.

The contract package imports in Node with no window, document, DOM library, editor, renderer, or browser runtime dependency.

Acceptance evidence

Acceptance criterion Result Evidence
Schemas accept valid fixtures and reject incompatible or unsafe data with stable errors Pass 103 contract checks plus 37 adapter checks
Contract package has no editor DOM dependency and works in server tests Pass ES2022-only TypeScript build and isolated Node import
Player exposes load/reset/seek/tick/show/hide/clear/fragment and readiness/error events Pass Typed protocol, request-correlated bridge events, concurrent-load cancellation, and real-browser host command sequence
Deterministic replay and arbitrary seek pass for approved animations/assets Pass Sequential tick equals reset plus direct seek; backwards/forwards seek, fragments, assets, and fixed state fingerprints
Player artifacts are versioned, checksummed, offline, transparency-capable, and retain notices Pass Player-only build, verified-byte blob rendering, 10-file manifest, repeatable SHA-256, marker exclusion, optional Main transparency probe, license/notices
Compatibility lets CMS, Python, and Unity reject unsupported combinations Pass for repository contract fixtures Exact consumer declarations pass; old contract and missing clock capability reject before use

Equal surface and transparency decision

Main, Companion, and Emphasis are required but structurally equivalent. The representative documents are all opaque. Contract checks prove that optional transparency is valid on each kind, and the Web host loads a transparent Main probe successfully. No acceptance claim depends on Emphasis being transparent.

Artifacts

Artifact Local reference Identity
Contract package working/anu-11/anuva-bento-contract-1.0.0.tgz SHA-256 43000c5b1aac6181f0b66610f0f8e883b8e3eea860f964e487c9575371922072
Static player working/anu-11/anuva-bento-player-1.0.0/ Manifest SHA-256 cd25840e5bf15ccb8fc2abefab054698c46b2dea15a03c9115cf89c6b490328f

Both hashes repeated across two builds. These are ignored local handoff artifacts, not published or canonical releases.

Completion review

  • The committed Product Main contract, ANU-11 issue, approved implementation plan, PR diff, local verification, and documentation evidence were reviewed.
  • PR #3 was a cleanly mergeable draft at review time. GitHub had no configured status checks, requested changes, or formal review records; Girish supplied the completion-review approval in the implementation task.
  • Review findings in structural validation, chart-snapshot materialization, verified-byte rendering, stable asset errors, request correlation, and concurrent-load cancellation were fixed and covered by focused regressions before this report was refreshed.

Verification summary

  • Baseline install, upstream build, Windows single-file build, ANU-10 checks, Anuva build, and all 45,362 convergence checks passed before product changes.
  • The production contract suite passed 103 checks.
  • The Bento adapter suite passed 37 checks.
  • The player-only production graph emitted 55.39 kB JavaScript, 19.00 kB gzip.
  • The real-browser host resolved only after all three players and assets were ready and passed request correlation, safe hidden failure/recovery, superseded-load cancellation, verified-byte blob rendering, reset, seek, tick, show, hide, clear, fragment, equal-surface, and optional-transparency checks.
  • The exact packaged player booted independently with versioned generator and ready marker.
  • Package inspection retained LICENSE, THIRD_PARTY_NOTICES.md, schema, compatibility metadata, ESM, declarations, and source maps.

Deferred work and residual risk

  • Unity/Vuplex integration, transport, transparency, lifecycle, virtual-screen, and capture behavior remain unverified by approved deferral.
  • Performance, startup latency, memory, CPU/GPU, frame time, and concurrent player behavior remain unmeasured by approved deferral.
  • CMS, Python, and Unity evidence is repository-local compatibility evidence, not downstream integration.
  • External authentication and immutable asset-proxy provisioning remain consumer responsibilities; credentials and signed or expiring URLs must never enter the contract.
  • Release publication and immutable downstream release references require a later approved private release flow.