@a5c-ai/agent-catalog 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -0
- package/docs/ontology-evidence.md +82 -0
- package/evidence/ontology-evidence/claims/catalog-processes-and-packaging.json +89 -0
- package/evidence/ontology-evidence/claims/plugins-hooks-discovery.json +136 -0
- package/evidence/ontology-evidence/claims/runtime-core.json +113 -0
- package/evidence/ontology-evidence/claims/vendor-web.json +977 -0
- package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +48 -0
- package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +88 -0
- package/evidence/ontology-evidence/evidence-sources/runtime-core.json +78 -0
- package/evidence/ontology-evidence/evidence-sources/vendor-web.json +918 -0
- package/evidence/ontology-evidence/manifest.json +56 -0
- package/graph/agent-catalog.graph.yaml +43 -0
- package/graph/edges/relations/agent-runtime/babysitter-agent.yaml +31 -0
- package/graph/edges/relations/agent-runtime/discovery-and-paths.yaml +433 -0
- package/graph/edges/relations/agent-runtime/session-and-lifecycle.yaml +137 -0
- package/graph/edges/relations/agent-runtime/transports-and-modalities.yaml +387 -0
- package/graph/edges/relations/capabilities/babysitter-agent-links.yaml +46 -0
- package/graph/edges/relations/capabilities/capability-vocabulary-links-agents.yaml +478 -0
- package/graph/edges/relations/capabilities/capability-vocabulary-links-providers.yaml +40 -0
- package/graph/edges/relations/capabilities/capability-vocabulary-links-transports.yaml +70 -0
- package/graph/edges/relations/capabilities/support-record-links-agents.yaml +478 -0
- package/graph/edges/relations/capabilities/support-record-links-providers.yaml +40 -0
- package/graph/edges/relations/capabilities/support-record-links-transports.yaml +70 -0
- package/graph/edges/relations/evolution.yaml +16 -0
- package/graph/edges/relations/hooks-and-plugins.yaml +462 -0
- package/graph/edges/relations/identity-babysitter-agent.yaml +11 -0
- package/graph/edges/relations/identity.yaml +218 -0
- package/graph/edges/relations/processes-and-packages.yaml +71 -0
- package/graph/edges/relations/provenance/babysitter-agent-and-claude-web.yaml +102 -0
- package/graph/edges/relations/provenance/catalog-core-agents.yaml +370 -0
- package/graph/edges/relations/provenance/catalog-core-models.yaml +88 -0
- package/graph/edges/relations/provenance/catalog-core-providers.yaml +220 -0
- package/graph/edges/relations/provenance/evidence-sources.yaml +136 -0
- package/graph/edges/relations/provenance/hooks-plugins-and-discovery-discovery.yaml +124 -0
- package/graph/edges/relations/provenance/hooks-plugins-and-discovery-hooks.yaml +244 -0
- package/graph/edges/relations/provenance/hooks-plugins-and-discovery-plugins.yaml +166 -0
- package/graph/edges/relations/provenance/processes-packages-and-paths.yaml +490 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capability.yaml +202 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-claude.yaml +210 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-codex.yaml +302 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-copilot.yaml +170 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-cursor.yaml +146 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-gemini.yaml +143 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-omp.yaml +76 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-openclaw.yaml +112 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-opencode.yaml +139 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-pi.yaml +40 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-providers.yaml +112 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-transports.yaml +190 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-modality.yaml +88 -0
- package/graph/edges/relations/provenance/runtime-and-capabilities-transport.yaml +172 -0
- package/graph/nodes/agents/babysitter-agent.yaml +43 -0
- package/graph/nodes/agents/products.yaml +163 -0
- package/graph/nodes/agents/versions.yaml +282 -0
- package/graph/nodes/capabilities/capabilities.yaml +234 -0
- package/graph/nodes/capabilities/modalities.yaml +74 -0
- package/graph/nodes/capabilities/supports/agents/babysitter-agent.yaml +46 -0
- package/graph/nodes/capabilities/supports/agents/claude.yaml +166 -0
- package/graph/nodes/capabilities/supports/agents/codex.yaml +190 -0
- package/graph/nodes/capabilities/supports/agents/copilot.yaml +121 -0
- package/graph/nodes/capabilities/supports/agents/cursor.yaml +104 -0
- package/graph/nodes/capabilities/supports/agents/gemini.yaml +104 -0
- package/graph/nodes/capabilities/supports/agents/omp.yaml +74 -0
- package/graph/nodes/capabilities/supports/agents/openclaw.yaml +67 -0
- package/graph/nodes/capabilities/supports/agents/opencode.yaml +103 -0
- package/graph/nodes/capabilities/supports/agents/pi.yaml +65 -0
- package/graph/nodes/capabilities/supports/provider-versions.yaml +73 -0
- package/graph/nodes/capabilities/supports/transport-runtimes.yaml +122 -0
- package/graph/nodes/evidence/babysitter-agent-and-claude-web.yaml +83 -0
- package/graph/nodes/evidence/claims.yaml +315 -0
- package/graph/nodes/evidence/claude-code-capability-claims.yaml +170 -0
- package/graph/nodes/evidence/claude-code-docs-core.yaml +103 -0
- package/graph/nodes/evidence/claude-code-docs-extensions.yaml +114 -0
- package/graph/nodes/evidence/codex-web.yaml +155 -0
- package/graph/nodes/evidence/copilot-web.yaml +213 -0
- package/graph/nodes/evidence/cursor-web.yaml +191 -0
- package/graph/nodes/evidence/evidence-sources.yaml +206 -0
- package/graph/nodes/evidence/gemini-cli-web.yaml +177 -0
- package/graph/nodes/evidence/omp-web.yaml +129 -0
- package/graph/nodes/evidence/opencode-web.yaml +144 -0
- package/graph/nodes/hooks-and-plugins/hook-mappings.yaml +399 -0
- package/graph/nodes/hooks-and-plugins/hook-surfaces.yaml +160 -0
- package/graph/nodes/hooks-and-plugins/plugin-artifacts.yaml +229 -0
- package/graph/nodes/hooks-and-plugins/plugin-targets.yaml +330 -0
- package/graph/nodes/models.yaml +103 -0
- package/graph/nodes/processes-and-packages/ci-surfaces.yaml +45 -0
- package/graph/nodes/processes-and-packages/packages.yaml +89 -0
- package/graph/nodes/processes-and-packages/processes.yaml +44 -0
- package/graph/nodes/providers/products.yaml +102 -0
- package/graph/nodes/providers/versions.yaml +108 -0
- package/graph/nodes/runtime-semantics/discovery-signals-hooks.yaml +185 -0
- package/graph/nodes/runtime-semantics/discovery-signals-host.yaml +254 -0
- package/graph/nodes/runtime-semantics/lifecycle-semantics.yaml +151 -0
- package/graph/nodes/runtime-semantics/paths.yaml +289 -0
- package/graph/nodes/runtime-semantics/session-semantics.yaml +214 -0
- package/graph/nodes/transports.yaml +202 -0
- package/graph/schema/ontology-schema.yaml +529 -0
- package/index.d.ts +1 -0
- package/index.js +3 -0
- package/package.json +67 -0
package/README.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# @a5c-ai/agent-catalog
|
|
2
|
+
|
|
3
|
+
`@a5c-ai/agent-catalog` is a public package for the shared agent ontology, discovery catalog, packaged evidence shards, and graph-backed helper APIs used across the Babysitter toolchain.
|
|
4
|
+
|
|
5
|
+
The package is published through the central `release.yml` and `staging-publish.yml` workflows. `main` publishes production releases, and `staging` publishes prerelease builds with the `staging` dist-tag.
|
|
6
|
+
|
|
7
|
+
## What ships
|
|
8
|
+
|
|
9
|
+
The published workspace surface is defined by `package.json`:
|
|
10
|
+
|
|
11
|
+
- package root export: compiled runtime helpers from `dist/index.js` and `dist/index.d.ts`
|
|
12
|
+
- `./graph` and `./graph/*`: the source-of-truth ontology YAML under `graph/`
|
|
13
|
+
- `./evidence` and `./evidence/*`: generated evidence shards under `evidence/ontology-evidence/`
|
|
14
|
+
- `./docs` and `./docs/*`: shipped package docs under `docs/`
|
|
15
|
+
- packaged files: `README.md`, `dist/`, `graph/`, `docs/`, and `evidence/`
|
|
16
|
+
|
|
17
|
+
Anything outside that list is maintained in the repo only and is not part of the installed package contract.
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
Import runtime helpers from the package root when you need graph-backed metadata, discovery snapshots, UI projections, or evidence lookups:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import {
|
|
25
|
+
getCatalogDiscoverySnapshot,
|
|
26
|
+
getOntologyEvidenceSnapshot,
|
|
27
|
+
getUiAgentOntologyList,
|
|
28
|
+
resolveCatalogGraphAssetPath,
|
|
29
|
+
resolveCatalogEvidenceAssetPath,
|
|
30
|
+
} from "@a5c-ai/agent-catalog";
|
|
31
|
+
|
|
32
|
+
const graphPath = resolveCatalogGraphAssetPath("agent-catalog.graph.yaml");
|
|
33
|
+
const evidencePath = resolveCatalogEvidenceAssetPath("ontology-evidence", "manifest.json");
|
|
34
|
+
|
|
35
|
+
const discovery = getCatalogDiscoverySnapshot();
|
|
36
|
+
const evidence = getOntologyEvidenceSnapshot();
|
|
37
|
+
const agents = getUiAgentOntologyList();
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use exported asset subpaths when you need the raw packaged files:
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
const graphEntrypoint = require.resolve("@a5c-ai/agent-catalog/graph/agent-catalog.graph.yaml");
|
|
44
|
+
const evidenceManifest = require.resolve("@a5c-ai/agent-catalog/evidence/ontology-evidence/manifest.json");
|
|
45
|
+
const docsEntrypoint = require.resolve("@a5c-ai/agent-catalog/docs/ontology-evidence.md");
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Downstream consumers should not reconstruct repo paths from `process.cwd()` or assume a monorepo checkout. Use the exported helpers and subpaths instead.
|
|
49
|
+
|
|
50
|
+
## Package surface
|
|
51
|
+
|
|
52
|
+
The package surface is intentionally split by concern:
|
|
53
|
+
|
|
54
|
+
- graph access: `getCatalogGraph()`, `getGraphDocument()`, `getOntologySchema()`, and the `./graph` asset export
|
|
55
|
+
- evidence access: `getOntologyEvidenceManifest()`, `getOntologyEvidenceSnapshot()`, evidence and claim lookup helpers, and the `./evidence` asset export
|
|
56
|
+
- discovery access: `getCatalogDiscoverySnapshot()`, `refreshCatalogDiscoverySnapshot()`, search helpers, and `listCatalog*` discovery collections
|
|
57
|
+
- SDK-facing projections: fallback harness metadata, host detection rules, plugin targets, package/process topology, and UI-oriented agent views
|
|
58
|
+
- asset resolution: `resolveCatalogAssetPath()`, `resolveCatalogGraphAssetPath()`, and `resolveCatalogEvidenceAssetPath()`
|
|
59
|
+
|
|
60
|
+
For a deeper graph/evidence walkthrough, see [`docs/ontology-evidence.md`](./docs/ontology-evidence.md).
|
|
61
|
+
|
|
62
|
+
## Source of truth and generated assets
|
|
63
|
+
|
|
64
|
+
- `graph/` is the editable source of truth for the ontology, relations, package/process metadata, and evidence nodes.
|
|
65
|
+
- `graph/agent-catalog.graph.yaml` is the root graph document entrypoint used by validators and packaged asset consumers.
|
|
66
|
+
- `evidence/ontology-evidence/` is generated from the graph evidence nodes for installed-package consumption.
|
|
67
|
+
- `dist/discovery-snapshot.json` is generated during build for runtime discovery helpers; it is part of the compiled runtime, not an editable source file.
|
|
68
|
+
- `docs/ontology-evidence.md` is the shipped deep-dive for graph/evidence conventions.
|
|
69
|
+
|
|
70
|
+
When graph structure or evidence claims change, update the YAML inputs first, then regenerate derived artifacts.
|
|
71
|
+
|
|
72
|
+
## Docs taxonomy
|
|
73
|
+
|
|
74
|
+
- `README.md`: package contract, usage, lifecycle policy, and taxonomy index
|
|
75
|
+
- `docs/ontology-evidence.md`: shipped deep-dive for graph layout, evidence policy, and refresh workflow
|
|
76
|
+
- `protocol.pseudocode.task.md`: internal planning scaffolding kept in the package root for repo context only; it is not in `files`, is not exported from `package.json`, and is not part of the shipped package surface
|
|
77
|
+
|
|
78
|
+
## Lifecycle policy
|
|
79
|
+
|
|
80
|
+
- The package must stay publishable: it ships with `publishConfig.access = public`, includes this README in `files`, and is owned by the central publish workflows.
|
|
81
|
+
- `npm run ci:test --workspace=@a5c-ai/agent-catalog` is the release-equivalent contract for this workspace. It covers build output, graph validation, evidence freshness, package contract tests, and the publish lifecycle policy check.
|
|
82
|
+
- `release.yml` and `staging-publish.yml` version, pack, and publish this package alongside the SDK, hooks-mux, agent-mux, and plugin compiler surfaces that consume it.
|
|
83
|
+
|
|
84
|
+
## Downstream compatibility
|
|
85
|
+
|
|
86
|
+
- Public and monorepo consumers may depend on the package's documented exports and packaged graph/evidence assets.
|
|
87
|
+
- Breaking changes to exported APIs, graph documents, evidence layout, or generated discovery data require a semver-major release and must keep downstream consumer contract tests green in the same change.
|
|
88
|
+
- Workspace consumers in this repo should still be updated in lockstep whenever a change would otherwise break their install, build, or runtime assumptions.
|
|
89
|
+
|
|
90
|
+
## Expected validation
|
|
91
|
+
|
|
92
|
+
Run this workspace command before landing changes that affect graph data, generated evidence, exports, packaged docs, or downstream consumers:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npm run ci:test --workspace=@a5c-ai/agent-catalog
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For evidence-only refresh work, the package-local sequence is:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm run generate:evidence --workspace=@a5c-ai/agent-catalog
|
|
102
|
+
npm run validate:graph --workspace=@a5c-ai/agent-catalog
|
|
103
|
+
npm run validate:evidence:freshness --workspace=@a5c-ai/agent-catalog
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## CI contract matrix
|
|
107
|
+
|
|
108
|
+
`npm run test:agent-catalog-contracts` is the enforced downstream compatibility matrix for `@a5c-ai/agent-catalog` in CI. It currently covers these consumer surfaces:
|
|
109
|
+
|
|
110
|
+
- package export and packaged-asset contract: `packages/agent-catalog/src/catalog.test.ts`, `packages/agent-catalog/src/discovery.contract.test.ts`, `packages/agent-catalog/src/sdk.contract.test.ts`, `packages/agent-catalog/src/discovery.packaged.test.ts`
|
|
111
|
+
- catalog API integration: `packages/catalog/src/app/api/agents/route.contract.test.ts`, `packages/catalog/src/app/api/agents/[slug]/route.contract.test.ts`, `packages/catalog/src/app/api/catalog-integration.contract.test.ts`
|
|
112
|
+
- SDK fallback metadata integration: `packages/sdk/src/harness/amuxFallbackMetadata.contract.test.ts`
|
|
113
|
+
- hooks-mux discovery integration: `packages/hooks-mux/core/src/discovery/__tests__/detector.contract.test.ts`
|
|
114
|
+
- agent-mux integration: `packages/agent-mux/core/tests/host-detection.contract.test.ts`, `packages/agent-mux/core/tests/invocation.contract.test.ts`
|
|
115
|
+
- agent-plugins-mux integration: `packages/agent-plugins-mux/src/__tests__/targets.contract.test.ts`
|
|
116
|
+
|
|
117
|
+
If a new consumer family or route starts importing `@a5c-ai/agent-catalog`, update this matrix and add its contract test to `test:agent-catalog-contracts` in the same change.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Agent Catalog Graph And Evidence
|
|
2
|
+
|
|
3
|
+
`packages/agent-catalog/graph` is the source of truth for the shared agent ontology. This file is the shipped deep-dive for graph and evidence conventions. For the broader package contract and docs taxonomy, start with [`../README.md`](../README.md).
|
|
4
|
+
|
|
5
|
+
## Docs taxonomy
|
|
6
|
+
|
|
7
|
+
- `README.md` is the package contract and the index for usage, exported surfaces, lifecycle policy, and file taxonomy.
|
|
8
|
+
- `docs/ontology-evidence.md` is the shipped reference for graph layout, evidence policy, packaged asset access, and refresh workflow.
|
|
9
|
+
- `protocol.pseudocode.task.md` remains an internal planning artifact in the package root. It is maintained in-repo for authoring context only and is not part of the shipped package surface because it is outside `package.json` `files` and `exports`.
|
|
10
|
+
|
|
11
|
+
## Layout
|
|
12
|
+
|
|
13
|
+
- `agent-catalog.graph.yaml`
|
|
14
|
+
- root graph document entrypoint used by validators and wrappers; imports can point at YAML files or directories
|
|
15
|
+
- `schema/ontology-schema.yaml`
|
|
16
|
+
- allowed node kinds, edge kinds, and required attributes
|
|
17
|
+
- `nodes/agents`, `nodes/providers`
|
|
18
|
+
- product/version splits instead of single mixed node files
|
|
19
|
+
- `nodes/capabilities`, `nodes/hooks-and-plugins`, `nodes/runtime-semantics`
|
|
20
|
+
- large conceptual areas split into stable subdocuments
|
|
21
|
+
- `nodes/processes-and-packages`, `nodes/evidence`
|
|
22
|
+
- process/package/CI and evidence/claim surfaces split into smaller docs
|
|
23
|
+
- `edges/relations`
|
|
24
|
+
- relation-family documents such as identity, runtime, capabilities, hooks/plugins, provenance, and evolution
|
|
25
|
+
|
|
26
|
+
## Modeled concepts
|
|
27
|
+
|
|
28
|
+
- product/version splits for agents, model providers, and models
|
|
29
|
+
- transport protocols vs transport runtimes
|
|
30
|
+
- capabilities vs capability-support records
|
|
31
|
+
- hook surfaces vs hook mappings
|
|
32
|
+
- plugin targets vs plugin artifacts
|
|
33
|
+
- discovery signals, session semantics, lifecycle semantics, paths, process descriptors, package surfaces, CI surfaces, claims, and evidence sources
|
|
34
|
+
|
|
35
|
+
## Graph and evidence conventions
|
|
36
|
+
|
|
37
|
+
- graph YAML under `graph/` is the editable source of truth
|
|
38
|
+
- `evidence/ontology-evidence/` is a derived directory export of evidence-source and claim nodes for easier installed-package consumption
|
|
39
|
+
- `manifest.json` lists the shard files; runtime helpers assemble them through `getOntologyEvidenceSnapshot()`
|
|
40
|
+
- the shard files are grouped into small batches by evidence domain so the derived export does not regress back into a single monolith
|
|
41
|
+
- packaged docs are intentionally narrow: only `docs/` is shipped, while planning artifacts at the package root stay internal-only
|
|
42
|
+
|
|
43
|
+
## Evidence policy
|
|
44
|
+
|
|
45
|
+
- repo-backed claims come from SDK fallback metadata, hooks-mux discovery, agent-mux host detection, agent-plugins-mux targets, transport-mux protocol/provider docs, and existing catalog/process surfaces
|
|
46
|
+
- web-backed claims are limited to first-party vendor docs already referenced by the graph evidence nodes
|
|
47
|
+
- vendor-backed evidence is currently defined as `kindLabel: web` plus `trustLevel: official-web`
|
|
48
|
+
- every vendor-backed `EvidenceSource` must declare:
|
|
49
|
+
- `reviewOwner`: internal owner responsible for refresh
|
|
50
|
+
- `reviewedAt`: the last explicit review timestamp
|
|
51
|
+
- `freshnessWindowDays`: maximum allowed age for that review before CI fails
|
|
52
|
+
- the graph root policy caps `freshnessWindowDays` at 45 days and defines the machine-checkable selector and reachability rules used by CI
|
|
53
|
+
- every `Claim` now carries explicit provenance semantics:
|
|
54
|
+
- `provenanceKind`: `repo-observation`, `vendor-documentation`, or `vendor-inference`
|
|
55
|
+
- `evidenceStrength`: `corroborated`, `partial`, or `inferred`
|
|
56
|
+
- `unresolvedGaps`: required markers for any vendor claim that is not fully corroborated
|
|
57
|
+
- capability-support quality is derived from `supported_by_claim` edges rather than raw evidence IDs alone, so externally asserted capabilities can be separated into strongly corroborated support versus weaker vendor-doc inference
|
|
58
|
+
- corroborated external capability assertions are expected to include at least one corroborated vendor claim backed by multiple first-party evidence sources; weaker assertions must keep explicit gap markers
|
|
59
|
+
|
|
60
|
+
## Package asset access
|
|
61
|
+
|
|
62
|
+
Downstream consumers should use the package's exported graph, evidence, and docs subpaths instead of rebuilding paths from `process.cwd()` or repository layout.
|
|
63
|
+
|
|
64
|
+
- raw graph entrypoint: `require.resolve("@a5c-ai/agent-catalog/graph/agent-catalog.graph.yaml")`
|
|
65
|
+
- raw evidence manifest: `require.resolve("@a5c-ai/agent-catalog/evidence/ontology-evidence/manifest.json")`
|
|
66
|
+
- raw docs entrypoint: `require.resolve("@a5c-ai/agent-catalog/docs/ontology-evidence.md")`
|
|
67
|
+
- runtime helpers exported by the package:
|
|
68
|
+
- `resolveCatalogGraphAssetPath("agent-catalog.graph.yaml")`
|
|
69
|
+
- `resolveCatalogEvidenceAssetPath("ontology-evidence", "manifest.json")`
|
|
70
|
+
|
|
71
|
+
The package runtime uses the same resolver path for graph and evidence assets in both monorepo-source and installed-package usage.
|
|
72
|
+
|
|
73
|
+
## Refresh workflow
|
|
74
|
+
|
|
75
|
+
1. Update the relevant YAML source under `packages/agent-catalog/graph/nodes/evidence/`.
|
|
76
|
+
2. Re-check the vendor page, then update `capturedAt`, `reviewedAt`, `locator`, and any affected claims or `unresolvedGaps`.
|
|
77
|
+
3. Run `npm run generate:evidence --workspace=@a5c-ai/agent-catalog`.
|
|
78
|
+
4. Run `npm run validate:graph --workspace=@a5c-ai/agent-catalog`.
|
|
79
|
+
5. Run `npm run validate:evidence:freshness --workspace=@a5c-ai/agent-catalog`.
|
|
80
|
+
6. Before landing a change, run `npm run ci:test --workspace=@a5c-ai/agent-catalog`.
|
|
81
|
+
|
|
82
|
+
`validate:evidence:freshness` fails when vendor-backed evidence is stale, missing review metadata, no longer reachable, or no longer meets the corroboration/gap rules for vendor claims. For offline local work, set `AGENT_CATALOG_SKIP_VENDOR_WEB_CHECK=1` to skip the remote HTTP reachability pass; CI should not use that escape hatch.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "EvidenceShard",
|
|
3
|
+
"entryKind": "claims",
|
|
4
|
+
"group": "catalog-processes-and-packaging",
|
|
5
|
+
"generatedAt": "2026-04-24T00:00:00.000Z",
|
|
6
|
+
"entries": [
|
|
7
|
+
{
|
|
8
|
+
"id": "claim:repo-agent-catalog-package",
|
|
9
|
+
"kind": "Claim",
|
|
10
|
+
"claimId": "repo-agent-catalog-package",
|
|
11
|
+
"statement": "agent-catalog is the shared workspace package for graph-backed ontology, wrappers, and CI/version validation.",
|
|
12
|
+
"subjectKind": "catalog",
|
|
13
|
+
"subjectId": "graph:agent-catalog",
|
|
14
|
+
"confidence": "high",
|
|
15
|
+
"provenanceKind": "repo-observation",
|
|
16
|
+
"evidenceStrength": "corroborated",
|
|
17
|
+
"status": "current",
|
|
18
|
+
"evidenceIds": [
|
|
19
|
+
"repo-agent-catalog-package"
|
|
20
|
+
],
|
|
21
|
+
"unresolvedGaps": []
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "claim:repo-agent-mux-model-catalog",
|
|
25
|
+
"kind": "Claim",
|
|
26
|
+
"claimId": "repo-agent-mux-model-catalog",
|
|
27
|
+
"statement": "Agent-mux already ships a model-catalog process, so the new ontology can assimilate process discovery beyond the old packages/catalog browser.",
|
|
28
|
+
"subjectKind": "catalog",
|
|
29
|
+
"subjectId": "graph:agent-catalog",
|
|
30
|
+
"confidence": "high",
|
|
31
|
+
"provenanceKind": "repo-observation",
|
|
32
|
+
"evidenceStrength": "corroborated",
|
|
33
|
+
"status": "current",
|
|
34
|
+
"evidenceIds": [
|
|
35
|
+
"repo-agent-mux-model-catalog"
|
|
36
|
+
],
|
|
37
|
+
"unresolvedGaps": []
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "claim:repo-babysitter-agent-cli",
|
|
41
|
+
"kind": "Claim",
|
|
42
|
+
"claimId": "repo-babysitter-agent-cli",
|
|
43
|
+
"statement": "babysitter-agent exposes create-run and resume flows plus harness invocation, daemon, observer, and MCP server commands.",
|
|
44
|
+
"subjectKind": "catalog",
|
|
45
|
+
"subjectId": "graph:agent-catalog",
|
|
46
|
+
"confidence": "high",
|
|
47
|
+
"provenanceKind": "repo-observation",
|
|
48
|
+
"evidenceStrength": "corroborated",
|
|
49
|
+
"status": "current",
|
|
50
|
+
"evidenceIds": [
|
|
51
|
+
"repo-babysitter-agent-package",
|
|
52
|
+
"repo-babysitter-agent-cli"
|
|
53
|
+
],
|
|
54
|
+
"unresolvedGaps": []
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "claim:repo-babysitter-agent-package",
|
|
58
|
+
"kind": "Claim",
|
|
59
|
+
"claimId": "repo-babysitter-agent-package",
|
|
60
|
+
"statement": "babysitter-agent is an optional a5c.ai runtime CLI package published separately from the SDK.",
|
|
61
|
+
"subjectKind": "catalog",
|
|
62
|
+
"subjectId": "graph:agent-catalog",
|
|
63
|
+
"confidence": "high",
|
|
64
|
+
"provenanceKind": "repo-observation",
|
|
65
|
+
"evidenceStrength": "corroborated",
|
|
66
|
+
"status": "current",
|
|
67
|
+
"evidenceIds": [
|
|
68
|
+
"repo-babysitter-agent-package"
|
|
69
|
+
],
|
|
70
|
+
"unresolvedGaps": []
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "claim:repo-process-catalog",
|
|
74
|
+
"kind": "Claim",
|
|
75
|
+
"claimId": "repo-process-catalog",
|
|
76
|
+
"statement": "The current catalog process is a Next.js application that browses processes, skills, domains, specializations, and agents through indexed API routes.",
|
|
77
|
+
"subjectKind": "catalog",
|
|
78
|
+
"subjectId": "graph:agent-catalog",
|
|
79
|
+
"confidence": "high",
|
|
80
|
+
"provenanceKind": "repo-observation",
|
|
81
|
+
"evidenceStrength": "corroborated",
|
|
82
|
+
"status": "current",
|
|
83
|
+
"evidenceIds": [
|
|
84
|
+
"repo-process-catalog"
|
|
85
|
+
],
|
|
86
|
+
"unresolvedGaps": []
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "EvidenceShard",
|
|
3
|
+
"entryKind": "claims",
|
|
4
|
+
"group": "plugins-hooks-discovery",
|
|
5
|
+
"generatedAt": "2026-04-24T00:00:00.000Z",
|
|
6
|
+
"entries": [
|
|
7
|
+
{
|
|
8
|
+
"id": "claim:repo-codex-windows-hooks",
|
|
9
|
+
"kind": "Claim",
|
|
10
|
+
"claimId": "repo-codex-windows-hooks",
|
|
11
|
+
"statement": "The Codex plugin documents a version-specific lifecycle nuance: Windows hooks require Codex CLI 0.119.0 or newer.",
|
|
12
|
+
"subjectKind": "catalog",
|
|
13
|
+
"subjectId": "graph:agent-catalog",
|
|
14
|
+
"confidence": "high",
|
|
15
|
+
"provenanceKind": "repo-observation",
|
|
16
|
+
"evidenceStrength": "corroborated",
|
|
17
|
+
"status": "current",
|
|
18
|
+
"evidenceIds": [
|
|
19
|
+
"repo-codex-windows-hooks"
|
|
20
|
+
],
|
|
21
|
+
"unresolvedGaps": []
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "claim:repo-hooks-detector",
|
|
25
|
+
"kind": "Claim",
|
|
26
|
+
"claimId": "repo-hooks-detector",
|
|
27
|
+
"statement": "Hooks-mux uses ordered detection rules with confidence levels and env-signal conditions for harness auto-detection.",
|
|
28
|
+
"subjectKind": "catalog",
|
|
29
|
+
"subjectId": "graph:agent-catalog",
|
|
30
|
+
"confidence": "high",
|
|
31
|
+
"provenanceKind": "repo-observation",
|
|
32
|
+
"evidenceStrength": "corroborated",
|
|
33
|
+
"status": "current",
|
|
34
|
+
"evidenceIds": [
|
|
35
|
+
"repo-hooks-detector"
|
|
36
|
+
],
|
|
37
|
+
"unresolvedGaps": []
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "claim:repo-target-claude",
|
|
41
|
+
"kind": "Claim",
|
|
42
|
+
"claimId": "repo-target-claude",
|
|
43
|
+
"statement": "Claude Code exposes a plugin.json target with native markdown commands and named hooks including SessionStart, Stop, and tool hooks.",
|
|
44
|
+
"subjectKind": "catalog",
|
|
45
|
+
"subjectId": "graph:agent-catalog",
|
|
46
|
+
"confidence": "high",
|
|
47
|
+
"provenanceKind": "repo-observation",
|
|
48
|
+
"evidenceStrength": "corroborated",
|
|
49
|
+
"status": "current",
|
|
50
|
+
"evidenceIds": [
|
|
51
|
+
"repo-target-claude"
|
|
52
|
+
],
|
|
53
|
+
"unresolvedGaps": []
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "claim:repo-target-codex",
|
|
57
|
+
"kind": "Claim",
|
|
58
|
+
"claimId": "repo-target-codex",
|
|
59
|
+
"statement": "Codex is modeled as a package.json target with derived skills and shell-hook registration.",
|
|
60
|
+
"subjectKind": "catalog",
|
|
61
|
+
"subjectId": "graph:agent-catalog",
|
|
62
|
+
"confidence": "high",
|
|
63
|
+
"provenanceKind": "repo-observation",
|
|
64
|
+
"evidenceStrength": "corroborated",
|
|
65
|
+
"status": "current",
|
|
66
|
+
"evidenceIds": [
|
|
67
|
+
"repo-target-codex"
|
|
68
|
+
],
|
|
69
|
+
"unresolvedGaps": []
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "claim:repo-target-copilot",
|
|
73
|
+
"kind": "Claim",
|
|
74
|
+
"claimId": "repo-target-copilot",
|
|
75
|
+
"statement": "GitHub Copilot maps session lifecycle and user-prompt hook names and derives skills from command surfaces.",
|
|
76
|
+
"subjectKind": "catalog",
|
|
77
|
+
"subjectId": "graph:agent-catalog",
|
|
78
|
+
"confidence": "high",
|
|
79
|
+
"provenanceKind": "repo-observation",
|
|
80
|
+
"evidenceStrength": "corroborated",
|
|
81
|
+
"status": "current",
|
|
82
|
+
"evidenceIds": [
|
|
83
|
+
"repo-target-copilot"
|
|
84
|
+
],
|
|
85
|
+
"unresolvedGaps": []
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "claim:repo-target-cursor",
|
|
89
|
+
"kind": "Claim",
|
|
90
|
+
"claimId": "repo-target-cursor",
|
|
91
|
+
"statement": "Cursor is modeled with sessionStart and stop hooks, markdown commands, and derived skills.",
|
|
92
|
+
"subjectKind": "catalog",
|
|
93
|
+
"subjectId": "graph:agent-catalog",
|
|
94
|
+
"confidence": "high",
|
|
95
|
+
"provenanceKind": "repo-observation",
|
|
96
|
+
"evidenceStrength": "corroborated",
|
|
97
|
+
"status": "current",
|
|
98
|
+
"evidenceIds": [
|
|
99
|
+
"repo-target-cursor"
|
|
100
|
+
],
|
|
101
|
+
"unresolvedGaps": []
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "claim:repo-target-gemini",
|
|
105
|
+
"kind": "Claim",
|
|
106
|
+
"claimId": "repo-target-gemini",
|
|
107
|
+
"statement": "Gemini CLI exposes SessionStart and AfterAgent hooks and ships a multi-file manifest surface.",
|
|
108
|
+
"subjectKind": "catalog",
|
|
109
|
+
"subjectId": "graph:agent-catalog",
|
|
110
|
+
"confidence": "high",
|
|
111
|
+
"provenanceKind": "repo-observation",
|
|
112
|
+
"evidenceStrength": "corroborated",
|
|
113
|
+
"status": "current",
|
|
114
|
+
"evidenceIds": [
|
|
115
|
+
"repo-target-gemini"
|
|
116
|
+
],
|
|
117
|
+
"unresolvedGaps": []
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "claim:repo-target-index",
|
|
121
|
+
"kind": "Claim",
|
|
122
|
+
"claimId": "repo-target-index",
|
|
123
|
+
"statement": "Agent-plugins-mux centralizes supported plugin targets and canonical-to-native hook-name mappings.",
|
|
124
|
+
"subjectKind": "catalog",
|
|
125
|
+
"subjectId": "graph:agent-catalog",
|
|
126
|
+
"confidence": "high",
|
|
127
|
+
"provenanceKind": "repo-observation",
|
|
128
|
+
"evidenceStrength": "corroborated",
|
|
129
|
+
"status": "current",
|
|
130
|
+
"evidenceIds": [
|
|
131
|
+
"repo-target-index"
|
|
132
|
+
],
|
|
133
|
+
"unresolvedGaps": []
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "EvidenceShard",
|
|
3
|
+
"entryKind": "claims",
|
|
4
|
+
"group": "runtime-core",
|
|
5
|
+
"generatedAt": "2026-04-24T00:00:00.000Z",
|
|
6
|
+
"entries": [
|
|
7
|
+
{
|
|
8
|
+
"id": "claim:repo-agent-mux-host",
|
|
9
|
+
"kind": "Claim",
|
|
10
|
+
"claimId": "repo-agent-mux-host",
|
|
11
|
+
"statement": "Agent-mux maintains host-harness env signal precedence plus metadata extraction for session and run identifiers.",
|
|
12
|
+
"subjectKind": "catalog",
|
|
13
|
+
"subjectId": "graph:agent-catalog",
|
|
14
|
+
"confidence": "high",
|
|
15
|
+
"provenanceKind": "repo-observation",
|
|
16
|
+
"evidenceStrength": "corroborated",
|
|
17
|
+
"status": "current",
|
|
18
|
+
"evidenceIds": [
|
|
19
|
+
"repo-agent-mux-host"
|
|
20
|
+
],
|
|
21
|
+
"unresolvedGaps": []
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "claim:repo-sdk-fallback",
|
|
25
|
+
"kind": "Claim",
|
|
26
|
+
"claimId": "repo-sdk-fallback",
|
|
27
|
+
"statement": "Static fallback metadata defines per-harness host env signals, orchestration capabilities, and the shared session directory.",
|
|
28
|
+
"subjectKind": "catalog",
|
|
29
|
+
"subjectId": "graph:agent-catalog",
|
|
30
|
+
"confidence": "high",
|
|
31
|
+
"provenanceKind": "repo-observation",
|
|
32
|
+
"evidenceStrength": "corroborated",
|
|
33
|
+
"status": "current",
|
|
34
|
+
"evidenceIds": [
|
|
35
|
+
"repo-sdk-fallback"
|
|
36
|
+
],
|
|
37
|
+
"unresolvedGaps": []
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "claim:repo-transport-mux-architecture",
|
|
41
|
+
"kind": "Claim",
|
|
42
|
+
"claimId": "repo-transport-mux-architecture",
|
|
43
|
+
"statement": "transport-mux architecture documents the protocol/provider seam and normalized route/auth contracts, but downstream runtime truth depends on the migration scorecard remaining green.",
|
|
44
|
+
"subjectKind": "catalog",
|
|
45
|
+
"subjectId": "graph:agent-catalog",
|
|
46
|
+
"confidence": "high",
|
|
47
|
+
"provenanceKind": "repo-observation",
|
|
48
|
+
"evidenceStrength": "corroborated",
|
|
49
|
+
"status": "scorecard-gated",
|
|
50
|
+
"evidenceIds": [
|
|
51
|
+
"repo-transport-mux-architecture",
|
|
52
|
+
"repo-transport-mux-scorecard"
|
|
53
|
+
],
|
|
54
|
+
"unresolvedGaps": [
|
|
55
|
+
"Architecture docs alone are not sufficient runtime truth if scorecard:migration goes red."
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "claim:repo-transport-mux-migration",
|
|
60
|
+
"kind": "Claim",
|
|
61
|
+
"claimId": "repo-transport-mux-migration",
|
|
62
|
+
"statement": "transport-mux migration records the amux-proxy cutover state and preserves the external contract, but downstream runtime truth stays provisional until the migration scorecard is green.",
|
|
63
|
+
"subjectKind": "catalog",
|
|
64
|
+
"subjectId": "graph:agent-catalog",
|
|
65
|
+
"confidence": "high",
|
|
66
|
+
"provenanceKind": "repo-observation",
|
|
67
|
+
"evidenceStrength": "corroborated",
|
|
68
|
+
"status": "scorecard-gated",
|
|
69
|
+
"evidenceIds": [
|
|
70
|
+
"repo-transport-mux-migration",
|
|
71
|
+
"repo-transport-mux-scorecard"
|
|
72
|
+
],
|
|
73
|
+
"unresolvedGaps": [
|
|
74
|
+
"Migration docs describe cutover intent and state; use the scorecard to determine whether runtime truth is active."
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "claim:repo-transport-mux-readme",
|
|
79
|
+
"kind": "Claim",
|
|
80
|
+
"claimId": "repo-transport-mux-readme",
|
|
81
|
+
"statement": "transport-mux README documents the harness-facing protocol split and exposed amux-proxy transport ids, but those runtime assertions stay provisional unless the migration scorecard is green.",
|
|
82
|
+
"subjectKind": "catalog",
|
|
83
|
+
"subjectId": "graph:agent-catalog",
|
|
84
|
+
"confidence": "high",
|
|
85
|
+
"provenanceKind": "repo-observation",
|
|
86
|
+
"evidenceStrength": "corroborated",
|
|
87
|
+
"status": "scorecard-gated",
|
|
88
|
+
"evidenceIds": [
|
|
89
|
+
"repo-transport-mux-readme",
|
|
90
|
+
"repo-transport-mux-scorecard"
|
|
91
|
+
],
|
|
92
|
+
"unresolvedGaps": [
|
|
93
|
+
"Treat transport-mux README runtime claims as provisional whenever scorecard:migration is not green."
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "claim:repo-transport-mux-scorecard",
|
|
98
|
+
"kind": "Claim",
|
|
99
|
+
"claimId": "repo-transport-mux-scorecard",
|
|
100
|
+
"statement": "transport-mux runtime and release truth is active only while the migration scorecard remains green; otherwise doc-derived downstream catalog assertions must be treated as provisional.",
|
|
101
|
+
"subjectKind": "catalog",
|
|
102
|
+
"subjectId": "graph:agent-catalog",
|
|
103
|
+
"confidence": "high",
|
|
104
|
+
"provenanceKind": "repo-observation",
|
|
105
|
+
"evidenceStrength": "corroborated",
|
|
106
|
+
"status": "current",
|
|
107
|
+
"evidenceIds": [
|
|
108
|
+
"repo-transport-mux-scorecard"
|
|
109
|
+
],
|
|
110
|
+
"unresolvedGaps": []
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|