Skip to content

Repository Impact: Bento readiness gate for ANU-14

Summary

ANU-17 is a narrow cross-repository readiness correction with one implementation owner. Product Main defines and reviews the gate; anuva-bento changes the contract, editor bridge/session, catalog packaging, tests, and local technical documentation. CMS remains a consumer and does not implement a workaround.

No ownership boundary changes, so no product ADR is required.

Ownership matrix

Repository Owned scope Explicit non-goals Inputs/dependencies Outputs/contracts Verification
anuva-main-video-creator ANU-17 plan, Bento handoff, progress, preview, planning/completion review Bento or CMS implementation; new general CLI authority ANU-17 intake; ANU-14 gate; ANU-8 ownership and compatibility policy Approved gate, one repository child, final acceptance record Manifest validation/dry run; strict docs build; index validation; child/PR/completion evidence
anuva-bento Editor protocol/types/schema; validated save dispatch; stable focus/session state; deterministic template catalog; editor/contract artifacts; tests and docs CMS persistence, scene mapping, host UI, AI, Web preview; presentation-envelope change Completed ANU-11/12 baseline; ANU-14 readiness requirements Reviewed 1.1.0 editor protocol/artifact/contract package, catalog descriptor and hashes, CompletionReport Contract/schema tests; editor/store tests; deterministic packaging; manifest/hash inspection; browser and network checks
anuvax-cms Later consume the reviewed artifact under ANU-14 Patching Bento behavior, scraping iframe state, synthesizing keys, copying catalogs Completed ANU-13; reviewed ANU-17 artifact Provenance record and host behavior are ANU-14 work, not an ANU-17 deliverable No CMS code change in ANU-17; ANU-14 resumes only after artifact acceptance
anuva-python-server No change Package or protocol implementation None None Not affected
anuva-unity-video-creator No change Editor host behavior None None Not affected

Contract changes

request-save

The editor request union gains:

command: "request-save"
payload: { trigger: "manual" | "autosave" }

The host supplies requestId. The bridge invokes the same validated session-save operation as the editor Save control and emits save-request containing the same requestId, current accepted baseRevision, trigger, and validated complete envelope. The editor does not persist or mint an accepted revision.

focus

The editor request union gains:

command: "focus"
payload: { surface, slideId, sceneId? }

surface and slideId are authoritative Bento inputs. Bento validates ownership, changes the active surface if needed, navigates through the supported store operation, and exposes the real active slide. sceneId is opaque correlation data owned by CMS and does not enter the presentation envelope.

Catalog and manifest

One generated JSON catalog contains the exact Signal and Paper family objects used by the runtime. The editor manifest exposes a descriptor equivalent to:

templateCatalog: {
  path,
  formatVersion,
  sha256,
  familyIds
}

Exact field naming may be refined in the implementation plan, but the manifest must remain explicit, deterministic, checksummed, host-loadable, and derived from one source of truth.

Versions and capabilities

  • Editor protocol: 1.1.0
  • Editor artifact: 1.1.0
  • Server-safe contract package: 1.1.0
  • Presentation contract, player protocol, renderer, and template-family object version: unchanged unless their shapes or behavior change
  • Required advertised capabilities: editor.host-request-save, editor.focus.stable-slide, and templates.catalog.packaged, or equally explicit reviewed identifiers

Sequencing and blockers

flowchart LR
    Plan["ANU-17 planning PR merged"]
    Child["Bento implementation child Ready"]
    Deliver["Bento 1.1.0 PR and CompletionReport"]
    Review["ANU-17 Product Main completion review"]
    Resume["ANU-14 may resume CMS implementation"]

    Plan --> Child --> Deliver --> Review --> Resume
  • ANU-11, ANU-12, and ANU-13 are Done and provide the accepted baseline.
  • ANU-14 remains In Progress but its approved plan stops before CMS code changes while the Bento artifact gate is open.
  • The proposed Bento child has no unfinished implementation-child dependency and can become Ready after the ANU-17 planning PR merges.
  • No decision phase is required unless implementation proposes an envelope, renderer/player, ownership, or incompatible scope change.

Repository Linear issue draft

Add Bento host-save, stable focus, and packaged template catalog

  • Client key: bento-editor-readiness
  • Repository: anuva-bento
  • Priority: High
  • Dependencies: None inside ANU-17

Scope

Extend the closed editor protocol, TypeScript contract, runtime validation, and JSON Schema with host-requested save and stable focus commands. Route requested saves through the existing validated save path. Track real per-surface active slides and navigate through the supported Bento store API without dirtying or mutating the document. Generate and package a deterministic Signal/Paper catalog from the runtime family definitions and expose its identity and SHA-256 in the editor manifest. Advance the editor protocol, editor artifact, and contract package to 1.1.0, advertise explicit capabilities, and preserve renderer/player compatibility, hard-offline behavior, security, and notices.

Acceptance

  • Contract types, runtime validator, and JSON Schema agree on both commands and reject malformed or unknown data.
  • Manual/autosave request correlation, base revision, trigger, validation failure, and duplicate request IDs have deterministic focused coverage.
  • Focus works for all surfaces and non-first slides; missing/cross-surface targets fail structurally; repeated focus preserves content, dirty/revision state, and undo/redo history.
  • The session reports and preserves the real active slide per surface.
  • Signal/Paper catalog rebuilds are byte-deterministic and exactly equal the runtime source objects.
  • The manifest verifies catalog path, format, family IDs, and SHA-256.
  • 1.1.0 artifacts advertise the three required capabilities, retain exact renderer compatibility, license/notices, and hard-offline behavior.
  • A real host/editor browser scenario and clean package rebuild pass.

Docs

Create the issue-local index.md, ImplementationPlan.md, ImplementationLog.md, and CompletionReport.md. Update normative editor-host protocol, template/catalog authoring, packaging/manifest, compatibility and capabilities, errors, security, and verification pages. Return exact Bento preview URLs after every logical docs update.

Verification

Run the repository's contract, adapter, editor, build, package, convergence, and strict documentation checks, including npm run test:anuva, npm run test:editor, npm run build:anuva, npm run package:editor, contract build/package inspection, deterministic clean rebuild comparison, schema/runtime parity tests, focused Store navigation tests, direct browser host/editor smoke, network denial, manifest/hash/license/notices inspection, recursive docs-index validation, and strict MkDocs build.

Product Main sync

The CompletionReport must identify the reviewed commit and PR, exact protocol, editor, contract, renderer, and family versions, capability identifiers, artifact and catalog paths/hashes, acceptance evidence, limitations, recovery state, preview URLs, and the precise handoff that allows ANU-14 to resume.

Cross-repository integration verification

Product Main completion review will:

  1. Verify the Bento child is Done and its PR merged.
  2. Inspect the committed contract/schema and CompletionReport evidence.
  3. Verify the editor and contract artifacts are 1.1.0, hashes are recorded, and required capabilities are explicit.
  4. Confirm the catalog is host-loadable, deterministic, checksummed, and limited to the approved Signal/Paper families.
  5. Confirm browser evidence covers request-save, focus, and catalog loading without public network access.
  6. Confirm ANU-14's gate can be satisfied without CMS workarounds.

Product Main sync and completion

  • Keep ANU-17 In Progress through planning and child delivery.
  • Record the created child ID and link after the planning PR merges.
  • Do not mark ANU-17 Done merely because artifacts exist locally; require the merged Bento PR and CompletionReport.
  • Use a fresh Product Main completion branch and guarded completion PR.
  • Only after the completion PR merges may the guarded Linear change-complete operation move ANU-17 to Done.
  • ANU-14 remains independently governed by its approved CMS plan and PR workflow.