Completion Report: ANU-13
Status: Implementation and repository verification complete.
Outcome
The active CMS Presentation Video compilation path now produces the production Anuva Bento PresentationConfig v2 aggregate with independent Main, Companion, and Emphasis documents and one authoritative absolute-time timeline.
Compilations are immutable, parent-linked revisions with deterministic content checksums and optimistic conflict details. External render jobs carry exact compatibility pins and an immutable content-addressed package; credentials and signed asset downloads remain transport-only.
Acceptance Evidence
| Area | Evidence |
|---|---|
| Bento dependency | Exact local file dependency, source commit and tarball provenance, player manifest identity, retained license and notices |
| Compatibility | Vendored contract validation and exact CMS consumer evaluation before persistence and package handoff |
| Surfaces | Required equal Main, Companion, and Emphasis documents with complementary default roles |
| Mapping | Stable semantic IDs, deterministic checksum, zero/many items, preserve/replace/clear, fragments, bounded Emphasis |
| Timing | Actual TTS, persisted duration, estimate precedence; pause once; monotonic absolute events and stable ties |
| Revisions | Append-only versions, parent/current pointer, expected revision/checksum success and conflict, workspace filter, last-good preservation |
| Assets and security | Lowercase SHA-256, supported media, package-relative paths, missing/tamper/traversal/executable-content rejection |
| Package | Config and root checksums, exact player files with byte/checksum metadata, licenses/notices, transport grants outside identity |
| Cutover | Generation, preview, in-memory orchestration, fixtures, and render handoff use v2; active markup path removed |
| Development data | Export/import rejects legacy records; a fresh disposable PostgreSQL database initialized the current Payload schema, persisted and reloaded a v2 revision, and passed the v2 fixture guard |
Verification
| Check | Result |
|---|---|
pnpm generate:types |
Passed |
pnpm lint |
Passed: 447 files |
pnpm typecheck |
Passed |
pnpm test:int |
Passed: 20 files, 118 tests |
pnpm test:e2e |
Passed: 6 tests |
| disposable database recreation | Passed: fresh schema, persisted/reloaded revision, Main/Companion/Emphasis documents, 9 timeline events, v2 fixture validation |
git diff --check |
Passed |
| recursive docs index validation | Passed |
| strict MkDocs build and live preview | Passed with fresh changed-page matches |
Limits And Follow-Up
- Python and Unity consumer execution is outside this repository. The exact contract, protocol, player, renderer, Bento versions, and package checksums allow those consumers to reject mismatch before playback.
- Editor embedding, autosave, template selection/application, AI surface edits, and shared Web player hosting remain ANU-14 scope.