@a5c-ai/agent-catalog 5.0.1-staging.c9bb2c61

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.
Files changed (135) hide show
  1. package/README.md +117 -0
  2. package/dist/assets.d.ts +4 -0
  3. package/dist/assets.d.ts.map +1 -0
  4. package/dist/assets.js +76 -0
  5. package/dist/cli.d.ts +168 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +336 -0
  8. package/dist/data.d.ts +54 -0
  9. package/dist/data.d.ts.map +1 -0
  10. package/dist/data.js +636 -0
  11. package/dist/discovery-snapshot.json +319345 -0
  12. package/dist/discovery.d.ts +143 -0
  13. package/dist/discovery.d.ts.map +1 -0
  14. package/dist/discovery.js +728 -0
  15. package/dist/evidence-projection.d.ts +4 -0
  16. package/dist/evidence-projection.d.ts.map +1 -0
  17. package/dist/evidence-projection.js +34 -0
  18. package/dist/evidence.d.ts +13 -0
  19. package/dist/evidence.d.ts.map +1 -0
  20. package/dist/evidence.js +227 -0
  21. package/dist/graph.d.ts +20 -0
  22. package/dist/graph.d.ts.map +1 -0
  23. package/dist/graph.js +194 -0
  24. package/dist/index.d.ts +11 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +28 -0
  27. package/dist/models.d.ts +559 -0
  28. package/dist/models.d.ts.map +1 -0
  29. package/dist/models.js +2 -0
  30. package/dist/sdk.d.ts +48 -0
  31. package/dist/sdk.d.ts.map +1 -0
  32. package/dist/sdk.js +902 -0
  33. package/dist/transport-mux-cutover.d.ts +9 -0
  34. package/dist/transport-mux-cutover.d.ts.map +1 -0
  35. package/dist/transport-mux-cutover.js +158 -0
  36. package/dist/ui.d.ts +2 -0
  37. package/dist/ui.d.ts.map +1 -0
  38. package/dist/ui.js +8 -0
  39. package/docs/ontology-evidence.md +82 -0
  40. package/evidence/ontology-evidence/claims/catalog-processes-and-packaging.json +89 -0
  41. package/evidence/ontology-evidence/claims/plugins-hooks-discovery.json +136 -0
  42. package/evidence/ontology-evidence/claims/runtime-core.json +113 -0
  43. package/evidence/ontology-evidence/claims/vendor-web.json +977 -0
  44. package/evidence/ontology-evidence/evidence-sources/catalog-processes-and-packaging.json +48 -0
  45. package/evidence/ontology-evidence/evidence-sources/plugins-hooks-discovery.json +88 -0
  46. package/evidence/ontology-evidence/evidence-sources/runtime-core.json +78 -0
  47. package/evidence/ontology-evidence/evidence-sources/vendor-web.json +918 -0
  48. package/evidence/ontology-evidence/manifest.json +56 -0
  49. package/graph/agent-catalog.graph.yaml +43 -0
  50. package/graph/edges/relations/agent-runtime/babysitter-agent.yaml +31 -0
  51. package/graph/edges/relations/agent-runtime/discovery-and-paths.yaml +433 -0
  52. package/graph/edges/relations/agent-runtime/session-and-lifecycle.yaml +137 -0
  53. package/graph/edges/relations/agent-runtime/transports-and-modalities.yaml +387 -0
  54. package/graph/edges/relations/capabilities/babysitter-agent-links.yaml +46 -0
  55. package/graph/edges/relations/capabilities/capability-vocabulary-links-agents.yaml +478 -0
  56. package/graph/edges/relations/capabilities/capability-vocabulary-links-providers.yaml +40 -0
  57. package/graph/edges/relations/capabilities/capability-vocabulary-links-transports.yaml +70 -0
  58. package/graph/edges/relations/capabilities/support-record-links-agents.yaml +478 -0
  59. package/graph/edges/relations/capabilities/support-record-links-providers.yaml +40 -0
  60. package/graph/edges/relations/capabilities/support-record-links-transports.yaml +70 -0
  61. package/graph/edges/relations/evolution.yaml +16 -0
  62. package/graph/edges/relations/hooks-and-plugins.yaml +462 -0
  63. package/graph/edges/relations/identity-babysitter-agent.yaml +11 -0
  64. package/graph/edges/relations/identity.yaml +218 -0
  65. package/graph/edges/relations/processes-and-packages.yaml +71 -0
  66. package/graph/edges/relations/provenance/babysitter-agent-and-claude-web.yaml +102 -0
  67. package/graph/edges/relations/provenance/catalog-core-agents.yaml +370 -0
  68. package/graph/edges/relations/provenance/catalog-core-models.yaml +88 -0
  69. package/graph/edges/relations/provenance/catalog-core-providers.yaml +220 -0
  70. package/graph/edges/relations/provenance/evidence-sources.yaml +136 -0
  71. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-discovery.yaml +124 -0
  72. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-hooks.yaml +244 -0
  73. package/graph/edges/relations/provenance/hooks-plugins-and-discovery-plugins.yaml +166 -0
  74. package/graph/edges/relations/provenance/processes-packages-and-paths.yaml +490 -0
  75. package/graph/edges/relations/provenance/runtime-and-capabilities-capability.yaml +202 -0
  76. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-claude.yaml +210 -0
  77. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-codex.yaml +302 -0
  78. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-copilot.yaml +170 -0
  79. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-cursor.yaml +146 -0
  80. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-gemini.yaml +143 -0
  81. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-omp.yaml +76 -0
  82. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-openclaw.yaml +112 -0
  83. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-opencode.yaml +139 -0
  84. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-agents-pi.yaml +40 -0
  85. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-providers.yaml +112 -0
  86. package/graph/edges/relations/provenance/runtime-and-capabilities-capabilitySupport-transports.yaml +190 -0
  87. package/graph/edges/relations/provenance/runtime-and-capabilities-modality.yaml +88 -0
  88. package/graph/edges/relations/provenance/runtime-and-capabilities-transport.yaml +172 -0
  89. package/graph/nodes/agents/babysitter-agent.yaml +43 -0
  90. package/graph/nodes/agents/products.yaml +163 -0
  91. package/graph/nodes/agents/versions.yaml +282 -0
  92. package/graph/nodes/capabilities/capabilities.yaml +234 -0
  93. package/graph/nodes/capabilities/modalities.yaml +74 -0
  94. package/graph/nodes/capabilities/supports/agents/babysitter-agent.yaml +46 -0
  95. package/graph/nodes/capabilities/supports/agents/claude.yaml +166 -0
  96. package/graph/nodes/capabilities/supports/agents/codex.yaml +190 -0
  97. package/graph/nodes/capabilities/supports/agents/copilot.yaml +121 -0
  98. package/graph/nodes/capabilities/supports/agents/cursor.yaml +104 -0
  99. package/graph/nodes/capabilities/supports/agents/gemini.yaml +104 -0
  100. package/graph/nodes/capabilities/supports/agents/omp.yaml +74 -0
  101. package/graph/nodes/capabilities/supports/agents/openclaw.yaml +67 -0
  102. package/graph/nodes/capabilities/supports/agents/opencode.yaml +103 -0
  103. package/graph/nodes/capabilities/supports/agents/pi.yaml +65 -0
  104. package/graph/nodes/capabilities/supports/provider-versions.yaml +73 -0
  105. package/graph/nodes/capabilities/supports/transport-runtimes.yaml +122 -0
  106. package/graph/nodes/evidence/babysitter-agent-and-claude-web.yaml +83 -0
  107. package/graph/nodes/evidence/claims.yaml +315 -0
  108. package/graph/nodes/evidence/claude-code-capability-claims.yaml +170 -0
  109. package/graph/nodes/evidence/claude-code-docs-core.yaml +103 -0
  110. package/graph/nodes/evidence/claude-code-docs-extensions.yaml +114 -0
  111. package/graph/nodes/evidence/codex-web.yaml +155 -0
  112. package/graph/nodes/evidence/copilot-web.yaml +213 -0
  113. package/graph/nodes/evidence/cursor-web.yaml +191 -0
  114. package/graph/nodes/evidence/evidence-sources.yaml +206 -0
  115. package/graph/nodes/evidence/gemini-cli-web.yaml +177 -0
  116. package/graph/nodes/evidence/omp-web.yaml +129 -0
  117. package/graph/nodes/evidence/opencode-web.yaml +144 -0
  118. package/graph/nodes/hooks-and-plugins/hook-mappings.yaml +399 -0
  119. package/graph/nodes/hooks-and-plugins/hook-surfaces.yaml +160 -0
  120. package/graph/nodes/hooks-and-plugins/plugin-artifacts.yaml +229 -0
  121. package/graph/nodes/hooks-and-plugins/plugin-targets.yaml +330 -0
  122. package/graph/nodes/models.yaml +103 -0
  123. package/graph/nodes/processes-and-packages/ci-surfaces.yaml +45 -0
  124. package/graph/nodes/processes-and-packages/packages.yaml +89 -0
  125. package/graph/nodes/processes-and-packages/processes.yaml +44 -0
  126. package/graph/nodes/providers/products.yaml +102 -0
  127. package/graph/nodes/providers/versions.yaml +108 -0
  128. package/graph/nodes/runtime-semantics/discovery-signals-hooks.yaml +185 -0
  129. package/graph/nodes/runtime-semantics/discovery-signals-host.yaml +254 -0
  130. package/graph/nodes/runtime-semantics/lifecycle-semantics.yaml +151 -0
  131. package/graph/nodes/runtime-semantics/paths.yaml +289 -0
  132. package/graph/nodes/runtime-semantics/session-semantics.yaml +214 -0
  133. package/graph/nodes/transports.yaml +202 -0
  134. package/graph/schema/ontology-schema.yaml +529 -0
  135. package/package.json +65 -0
@@ -0,0 +1,9 @@
1
+ export declare function isTransportMuxDocEvidenceId(evidenceId: string): boolean;
2
+ export declare function hasTransportMuxDocEvidence(evidenceIds: string[]): boolean;
3
+ export declare function isTransportMuxCutoverReady(): boolean;
4
+ export declare function effectiveTransportMuxClaimStatus(status: string, evidenceIds: string[]): string;
5
+ export declare function effectiveTransportMuxUnresolvedGaps(unresolvedGaps: string[], evidenceIds: string[]): string[];
6
+ export declare function shouldSurfaceTransportRuntime(runtimeId: string): boolean;
7
+ export declare function shouldSurfaceTransportProtocol(evidenceIds: string[]): boolean;
8
+ export declare function shouldSurfaceCapabilitySupport(subjectKind: string, subjectId: string, evidenceIds: string[]): boolean;
9
+ //# sourceMappingURL=transport-mux-cutover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-mux-cutover.d.ts","sourceRoot":"","sources":["../src/transport-mux-cutover.ts"],"names":[],"mappings":"AA4HA,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAEzE;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ9F;AAED,wBAAgB,mCAAmC,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAK7G;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAKxE;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAK7E;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAQrH"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isTransportMuxDocEvidenceId = isTransportMuxDocEvidenceId;
7
+ exports.hasTransportMuxDocEvidence = hasTransportMuxDocEvidence;
8
+ exports.isTransportMuxCutoverReady = isTransportMuxCutoverReady;
9
+ exports.effectiveTransportMuxClaimStatus = effectiveTransportMuxClaimStatus;
10
+ exports.effectiveTransportMuxUnresolvedGaps = effectiveTransportMuxUnresolvedGaps;
11
+ exports.shouldSurfaceTransportRuntime = shouldSurfaceTransportRuntime;
12
+ exports.shouldSurfaceTransportProtocol = shouldSurfaceTransportProtocol;
13
+ exports.shouldSurfaceCapabilitySupport = shouldSurfaceCapabilitySupport;
14
+ const node_fs_1 = __importDefault(require("node:fs"));
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ const TRANSPORT_MUX_DOC_EVIDENCE_IDS = [
17
+ "repo-transport-mux-readme",
18
+ "repo-transport-mux-architecture",
19
+ "repo-transport-mux-migration",
20
+ ];
21
+ const TRANSPORT_MUX_SCORECARD_OVERRIDE_ENV = "A5C_AGENT_CATALOG_TRANSPORT_MUX_CUTOVER";
22
+ const TRANSPORT_MUX_RUNTIME_SUBJECT_ID = "transportRuntime:amux-proxy";
23
+ const TRANSPORT_MUX_PROVISIONAL_GAP = "transport-mux document-backed runtime claims stay provisional until packages/transport-mux scorecard:migration is green.";
24
+ function uniqueStrings(values) {
25
+ return Array.from(new Set(values));
26
+ }
27
+ function repoRoot() {
28
+ return node_path_1.default.resolve(__dirname, "..", "..", "..");
29
+ }
30
+ function readRepoFile(relativePath) {
31
+ return node_fs_1.default.readFileSync(node_path_1.default.join(repoRoot(), relativePath), "utf8");
32
+ }
33
+ function repoFileExists(relativePath) {
34
+ return node_fs_1.default.existsSync(node_path_1.default.join(repoRoot(), relativePath));
35
+ }
36
+ function countFiles(relativeDir, suffix) {
37
+ const absoluteDir = node_path_1.default.join(repoRoot(), relativeDir);
38
+ if (!node_fs_1.default.existsSync(absoluteDir)) {
39
+ return 0;
40
+ }
41
+ return node_fs_1.default.readdirSync(absoluteDir).filter((entry) => entry.endsWith(suffix)).length;
42
+ }
43
+ function containsAll(documentText, snippets) {
44
+ return snippets.every((snippet) => documentText.includes(snippet));
45
+ }
46
+ function cutoverOverride() {
47
+ const override = process.env[TRANSPORT_MUX_SCORECARD_OVERRIDE_ENV]?.trim().toLowerCase();
48
+ if (!override) {
49
+ return undefined;
50
+ }
51
+ if (["green", "ready", "current", "true", "1"].includes(override)) {
52
+ return true;
53
+ }
54
+ if (["red", "provisional", "false", "0"].includes(override)) {
55
+ return false;
56
+ }
57
+ return undefined;
58
+ }
59
+ function evaluateTransportMuxCutover() {
60
+ const override = cutoverOverride();
61
+ if (override !== undefined) {
62
+ return override;
63
+ }
64
+ const requiredFiles = [
65
+ "packages/transport-mux/README.md",
66
+ "packages/transport-mux/migration.md",
67
+ "packages/transport-mux/architecture.md",
68
+ "packages/transport-mux/package.json",
69
+ "packages/transport-mux/src/index.ts",
70
+ "packages/agent-mux/cli/src/commands/launch.ts",
71
+ ];
72
+ if (!requiredFiles.every(repoFileExists)) {
73
+ return false;
74
+ }
75
+ const readmeDoc = readRepoFile("packages/transport-mux/README.md");
76
+ const migrationDoc = readRepoFile("packages/transport-mux/migration.md");
77
+ const architectureDoc = readRepoFile("packages/transport-mux/architecture.md");
78
+ const packageJson = JSON.parse(readRepoFile("packages/transport-mux/package.json"));
79
+ const packageEntrypoint = readRepoFile("packages/transport-mux/src/index.ts");
80
+ const launchCommand = readRepoFile("packages/agent-mux/cli/src/commands/launch.ts");
81
+ const legacyPythonTests = countFiles("packages/agent-mux/amux-proxy/tests", ".py");
82
+ const jsContractTests = countFiles("packages/transport-mux/tests", ".ts") +
83
+ countFiles("packages/transport-mux/tests/transports", ".ts") +
84
+ countFiles("packages/transport-mux/tests/e2e", ".ts");
85
+ const docsHonestyChecks = [
86
+ containsAll(readmeDoc, ["internal-only placeholder seam", "not the active runtime or release owner yet"]),
87
+ containsAll(readmeDoc, ["workspace-local development", "not a published npm deliverable"]),
88
+ containsAll(migrationDoc, [
89
+ "private workspace package and placeholder seam",
90
+ "does not yet own publish, release, or externally installable runtime truth",
91
+ ]),
92
+ containsAll(migrationDoc, [
93
+ "`files`, `publishConfig`, and `prepack` must stay absent",
94
+ "Referenced packaged artifacts must exist locally or be removed from package metadata.",
95
+ ]),
96
+ containsAll(architectureDoc, [
97
+ "`launch.ts` starts the `transport-mux` runtime",
98
+ "`transport-mux` boots the protocol codec and provider adapter implied by that config.",
99
+ ]),
100
+ ];
101
+ const scorecard = [
102
+ legacyPythonTests === 0 ||
103
+ migrationDoc.includes("Historical archive: legacy Python tests under `packages/agent-mux/amux-proxy/tests` remain available as reference material for the still-active historical runtime path."),
104
+ packageJson.private === true &&
105
+ !("files" in packageJson) &&
106
+ !("publishConfig" in packageJson) &&
107
+ !("prepack" in (packageJson.scripts ?? {})),
108
+ Boolean(packageJson.scripts?.["scorecard:migration"]) && jsContractTests > 0,
109
+ launchCommand.includes("@a5c-ai/transport-mux") && packageEntrypoint.includes("export * from './runtime.js';"),
110
+ docsHonestyChecks.every(Boolean),
111
+ ];
112
+ return scorecard.every(Boolean);
113
+ }
114
+ function isTransportMuxDocEvidenceId(evidenceId) {
115
+ return TRANSPORT_MUX_DOC_EVIDENCE_IDS.includes(evidenceId);
116
+ }
117
+ function hasTransportMuxDocEvidence(evidenceIds) {
118
+ return evidenceIds.some((evidenceId) => isTransportMuxDocEvidenceId(evidenceId));
119
+ }
120
+ function isTransportMuxCutoverReady() {
121
+ return evaluateTransportMuxCutover();
122
+ }
123
+ function effectiveTransportMuxClaimStatus(status, evidenceIds) {
124
+ if (!hasTransportMuxDocEvidence(evidenceIds)) {
125
+ return status;
126
+ }
127
+ if (isTransportMuxCutoverReady()) {
128
+ return status === "scorecard-gated" ? "current" : status;
129
+ }
130
+ return "provisional";
131
+ }
132
+ function effectiveTransportMuxUnresolvedGaps(unresolvedGaps, evidenceIds) {
133
+ if (!hasTransportMuxDocEvidence(evidenceIds) || isTransportMuxCutoverReady()) {
134
+ return unresolvedGaps;
135
+ }
136
+ return uniqueStrings([...unresolvedGaps, TRANSPORT_MUX_PROVISIONAL_GAP]);
137
+ }
138
+ function shouldSurfaceTransportRuntime(runtimeId) {
139
+ if (runtimeId !== "amux-proxy") {
140
+ return true;
141
+ }
142
+ return isTransportMuxCutoverReady();
143
+ }
144
+ function shouldSurfaceTransportProtocol(evidenceIds) {
145
+ if (!hasTransportMuxDocEvidence(evidenceIds)) {
146
+ return true;
147
+ }
148
+ return isTransportMuxCutoverReady();
149
+ }
150
+ function shouldSurfaceCapabilitySupport(subjectKind, subjectId, evidenceIds) {
151
+ if (subjectKind === "TransportRuntime" && subjectId === TRANSPORT_MUX_RUNTIME_SUBJECT_ID) {
152
+ return isTransportMuxCutoverReady();
153
+ }
154
+ if (hasTransportMuxDocEvidence(evidenceIds)) {
155
+ return isTransportMuxCutoverReady() || subjectKind !== "TransportRuntime";
156
+ }
157
+ return true;
158
+ }
package/dist/ui.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { getAgentVersionSlug, getUiAgentCards, getUiAgentOntologyEntry, getUiAgentOntologyList, } from "./sdk";
2
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,OAAO,CAAC"}
package/dist/ui.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUiAgentOntologyList = exports.getUiAgentOntologyEntry = exports.getUiAgentCards = exports.getAgentVersionSlug = void 0;
4
+ var sdk_1 = require("./sdk");
5
+ Object.defineProperty(exports, "getAgentVersionSlug", { enumerable: true, get: function () { return sdk_1.getAgentVersionSlug; } });
6
+ Object.defineProperty(exports, "getUiAgentCards", { enumerable: true, get: function () { return sdk_1.getUiAgentCards; } });
7
+ Object.defineProperty(exports, "getUiAgentOntologyEntry", { enumerable: true, get: function () { return sdk_1.getUiAgentOntologyEntry; } });
8
+ Object.defineProperty(exports, "getUiAgentOntologyList", { enumerable: true, get: function () { return sdk_1.getUiAgentOntologyList; } });
@@ -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
+ }