Skip to content

Registries and asset publication

Target

This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.

Merged page (2026-10-09)

This page replaces the Agent Mesh pages Agent Registry and Skill Registry and the AgentRegistryService / SkillRegistryService rows of the Control Plane catalog, which described the same registries under two owners. Publication is owned here (BC-04); the Agent & Orchestration runtime keeps a read model for release loading. See the ownership map and release loading.

What is registered

Asset Identity Version unit Authored in
Agent definition Stable role id AgentVersion: instructions, bound skills, tool permissions, model-profile requirement, memory policy, execution policy, budget, fallback chain Factory authoring repository (to be created; Target)
Skill definition Stable skill id SkillVersion: instructions, workflow guidance, examples, references, scripts, templates, tool/model/knowledge requirements, compatibility, tests, evaluations Factory authoring repository (to be created; Target)
Tool / MCP server Tool id Schema version, side-effect class, authorization and secret requirements, timeout, retry, rate limits, audit requirements Tool packages, MCP server manifests
Workflow definition Workflow id DAG, steps, conditions, approvals, timers Factory authoring repository (to be created; Target)
Policy Policy id Versioned rules Trust & Operations (BC-18)
Model profile Profile id Capability, privacy, budget requirements Model & Compute (BC-07)

Git remains the authoring authority. The registry stores release manifests, not another mutable authoring copy. Any generated IDE or runtime adapter is a derived artefact.

Publication

A release is an immutable manifest that resolves the complete dependency closure of one asset: agent → skills → tool schemas → workflow → policy revision → model-profile requirement → evaluation suite → template/runtime compatibility. It records source commits and content hashes for every element.

flowchart LR
    Authored["Authored in Git<br/>(Factory authoring repositories, tool packages)"] --> Review["Review and evaluation gates"]
    Review --> Validate["Closure validation<br/>missing / unreviewed / incompatible → blocked"]
    Validate --> Release["Immutable release<br/>manifest + hashes + source commits"]
    Release --> Loader["Runtime release loader<br/>(read model)"]
    Release --> Alias["Mutable alias (e.g. latest)"]
    Alias -. selects at submission only .-> Run["Accepted run pins the release"]
Hold "Alt" / "Option" to enable pan & zoom

Invariants:

  • Publication is blocked while any dependency is missing, unreviewed or incompatible with the target runtime.
  • The same inputs reproduce the same release identity; one changed skill changes the release hash.
  • A running work item keeps its release even if an alias moves. Revocation prevents new runs and defines a policy for in-flight runs; it never silently repoints them.
  • Release metadata is tenant-access-controlled; manifests never contain secrets.
  • Agent, skill and tool remain distinct concepts: an instructional skill grants no execution power; only a tool has side effects.

Proposed contracts (illustrative): POST /factory/asset-releases/validate reports closure, review and compatibility issues; a publish command records the release after gates pass; GET /factory/asset-releases/{id} returns manifest and evidence; events AssetReleasePublished, AssetReleaseRevoked.

Status vocabulary

The Factory defines one asset lifecycle, owned by this registry (Target; user decision D19, 2026-10-09):

State Meaning
Draft Authored in Git; may change freely; never loadable by a run
InReview A release candidate with its dependency closure resolved; review and evaluation gates pending or failing
Published An immutable release exists with manifest, hashes and source commits; evaluation evidence attached for a stated profile
Deprecated No new runs may pin it; in-flight runs follow the revocation policy

Whether an executable implementation exists (a tool package, a runtime adapter) is a separate attribute of a release, never folded into the state. The status vocabularies found in the earlier AgentKit, Platform and OpenClaw repositories (implemented/target, implemented/prompt-pack, reviewPending) describe those experiments and are not reconciled into this lifecycle; those repositories are reference inputs, not Factory assets (review question R-01 closed by D19).

Permission scoping

Retained from the former Agent Registry page. Every agent version carries an explicit least-privilege scope: tool permissions, model-profile constraints, knowledge classification ceiling, resource actions. Scopes are declared at publication and enforced at runtime by the tool executor, the model gateway and the knowledge retrieval boundary; registration alone grants no standing access. Policy definitions come from Trust & Operations; decisions are recorded per invocation.

Skill contracts

Retained from the former Skill Registry page. A skill version declares input and output contracts, required tools and permissions, model expectations and validation rules, so that agents binding the same skill are interchangeable and outputs are validatable. Executions are recorded as attempts of a run (BC-03/BC-06), not as a separate aggregate; the former SkillExecution aggregate is folded into the run journal.

Agent pools

Warm capacity, concurrency limits, health draining and scale signals belong to Execution capacity (BC-26, Execution plane), not to the registry. The former AgentPoolManager row is reassigned there.

Current implementation

Nothing of this page exists in the Factory. The repositories below are earlier, non-Factory experiments (user decision D19, 2026-10-09); their contents were verified as reference input only.

  • AgentKit .ai/registry/manifest.json: 100 agents (45 implemented, 55 target), 84 skills, 6 workflows, 9 clusters; bindings.json binds 40 skills to 38 agents; 44 skills are unbound (often direct developer tools, not a defect by itself).
  • dist/connectsoft-ai-agentkit/skills/*/contract.json: 36 contracts at 0.1.0 with reviewPending: true; documented: false on all 84. The four skills bound to connectsoft-tech-lead are among the unreviewed.
  • Platform definitions/factory-agents.catalog.yaml has 46 entries, ingest/agent-inventory.v1.yaml 45; the work-preparation orchestrator is prompt-pack there and target in AgentKit.
  • .ai/registry/openclaw-skill-diff.md records three skills whose OpenClaw copies diverge in content.
  • No registry service, release manifest, closure validator, hash or revocation exists. Nothing resolves a release at run time because no run exists.

Later capabilities

Catalog UI, approval workflows for publication, signed packages, distribution through a marketplace (BC-27), capability-based discovery.