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"]
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.jsonbinds 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 withreviewPending: true;documented: falseon all 84. The four skills bound toconnectsoft-tech-leadare among the unreviewed.- Platform
definitions/factory-agents.catalog.yamlhas 46 entries,ingest/agent-inventory.v1.yaml45; the work-preparation orchestrator isprompt-packthere andtargetin AgentKit. .ai/registry/openclaw-skill-diff.mdrecords 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.