Release loading¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Publication is owned by the Control plane (registries and asset publication). The runtime consumes releases; it keeps a read model and never accepts an independent publication write.
Resolution at run acceptance¶
- The run request names a release id or a mutable alias. Aliases are resolved once, at acceptance, into a release id.
- The runtime loader fetches the release manifest and verifies content hashes of every element: agent instructions, skill contents, tool schemas, workflow definition, policy revision, model-profile requirement, evaluation suite reference, runtime compatibility.
- The verified set becomes part of the immutable execution snapshot of the run, together with source revisions, the resolved provider/model/deployment, context and index versions and limits.
- The snapshot never changes for the life of the run, including across restarts and attempts; a revoked release stops new runs and triggers the revocation policy for in-flight runs.
sequenceDiagram
participant CP as Run Control (Control plane)
participant L as Release loader (runtime read model)
participant REG as Registry (BC-04)
participant W as Common executor
CP->>L: Dispatch attempt with release id + lease
L->>REG: GET release manifest (cached by id, immutable)
REG-->>L: Manifest + hashes + source commits
L->>L: Verify hashes, check runtime compatibility
L-->>W: Resolved execution snapshot
W->>W: Execute attempt against the snapshot only
Hold "Alt" / "Option" to enable pan & zoom
Rules¶
- A loader rejects a manifest whose hashes do not match or whose runtime compatibility (adapter version, checkpoint format, tool schema versions) is unsatisfied; the attempt fails with an explicit reason instead of degrading.
- The loader exposes read-only queries for the console (which release ran, what it contained); it exposes no write path.
- Runtime copies of assets generated from a release are derived artefacts; edits there do not flow back into authoring.
- Permission scopes declared at publication are enforced by the tool executor, the model gateway and the knowledge retrieval boundary at every invocation; the loader passes them through unchanged.
Current implementation¶
No loader, manifest or snapshot exists. The agents framework builds agents from configuration and keyed services at startup; FactoryAgentBase runs whatever AIAgent was injected. The AgentKit dist/ adapters and OpenClaw workspaces belong to earlier, non-Factory experiments (user decision D19, 2026-10-09) and are not Factory releases.