View Markdown

Publish an application runtime release

The Content Runtime example compiles an editable story revision into an immutable application release. A release pins the executable story behavior and the application resources required by a playable session.

This release belongs to the Content Runtime plugin. It is not a replacement for the Vifu Server, Agent Gateway, or canonical Vifu project.

Release boundary

Architecture diagram
Rendering diagram

The Vifu project attachment stores the active application release reference. Clients call the project-scoped RPC endpoint, and Vifu forwards the validated request to the attached plugin. The plugin creates or advances a session against the selected release.

What the release owns

The example release defines:

  • compiled story systems and state transitions;
  • choices, conditions, host actions, and endings;
  • logical presentation resource references; and
  • the application schema version needed to execute the content.

It does not own:

  • provider credentials or Agent Gateway connections;
  • project keys or launch credentials;
  • canonical Agent profile records;
  • users; or
  • Vifu's Agent traces.

When the release needs an Agent, the plugin invokes the canonical profile through Vifu's authenticated runtime-extension callback.

Stable sessions

Publishing a newer release does not rewrite sessions that already started. Each session keeps the application release reference it was created with, so reconnect and replay continue against the same behavior.

This is an application-level release strategy demonstrated by Content Runtime. Other plugins can use a different compiler or release representation while preserving the same Vifu identity, access, and Agent boundaries.