Resolve #58: Add ADR-0017 and migrate to namespace extensions map#77
Resolve #58: Add ADR-0017 and migrate to namespace extensions map#77mindpower wants to merge 2 commits into
Conversation
|
Preview: https://ai-catalog.io/pr/77/ This comment is updated automatically while the pull request preview is available. |
| ## Value Types | ||
| 1. **Metadata** (`https://ai-catalog.org/extensions/metadata`) | ||
| - Used to store generic, schemaless key-value pairs (replacing the legacy metadata field). | ||
| 2. **SBOM** (`https://ai-catalog.org/extensions/sbom`) |
There was a problem hiding this comment.
Do we want to add SBOM out of the gate? Alternatively: we just have the metadata field and add to it if we see ecosystem adoption of specifics
There was a problem hiding this comment.
I would expect SBOM to be a trust attestation type rather than included in metadata
| After extensive discussions in the July 2 and July 9, 2026 working group meetings, the team concluded that the requirements of the two projects are fundamentally different. ARD requires the ability to aggregate rich, namespaced descriptions of resources directly in the discovery payload, while AI-Catalog requires strict, minimal schema definitions. | ||
|
|
||
| ## Decision | ||
| The ARD (Agentic Resource Discovery) specification will be **loosely coupled** with the AI-Catalog specification. |
There was a problem hiding this comment.
Let's just remove this line so it doesn't look like we are making decisions on behalf of the ARD group.
…, and migrate metadata to extensions array This commit formalizes the resolution to Issue #58 regarding extensibility and JSON-LD namespaces. Based on working group consensus (July 9, 2026), we are adopting a loosely coupled architecture with ARD to preserve AI-Catalog's minimalist parser. Changes included: - Added ADR-0017 to formally document the rejection of JSON-LD @context and the decision to loosely couple the ARD specification. - Updated `specification/ai-catalog.md` to remove the legacy `metadata` property across Catalog Entry and Trust Manifest schemas. - Replaced the Extensibility section with the new `extensions` array design, enforcing URL/reverse-DNS keys for vendor-specific fields.
6a70372 to
e79245d
Compare
|
Thanks for all the feedback and suggestions! I've updated the PR to reflect that. Here is a summary of the changes:
Example: {
"specVersion": "1.0",
"entries": [
{
"identifier": "urn:air:treasury.gov:okf:fiscaldata",
"type": "text/vnd.okf+markdown",
"tags": ["finance", "treasury"],
"extensions": {
"metadata": {
"location": "US-West",
"environment": "staging",
"version-compatible": [">=1.0.0"]
},
"okf": {
"@context": "https://openknowledgeformat.org/ns#",
"type": "Financial Dataset",
"taxonomy": "us-gaap",
"conformsTo": ["us-gaap:Revenue", "ifrs:Revenue"]
}
}
}
]
}Let me know what you think of the new structure! |
tadasant
left a comment
There was a problem hiding this comment.
Looks great to me, thanks for iterating @mindpower !
Tehsmash
left a comment
There was a problem hiding this comment.
Two tiny requests, otherwise LGTM.
| "type": "text/vnd.okf+markdown", | ||
| "tags": ["finance", "treasury"], | ||
| "extensions": { | ||
| "metadata": { |
There was a problem hiding this comment.
We should make sure this example is compliant with: "To avoid collisions between independent publishers, the keys MUST be a valid URL or a reverse-DNS string"
| "metadata": { | |
| "https://ai-catalog.org/extensions/metadata": { |
|
|
||
| ## Value Types | ||
| 1. **Metadata** (`https://ai-catalog.org/extensions/metadata`) | ||
| - Used to store generic, schemaless key-value pairs (replacing the legacy metadata field). |
There was a problem hiding this comment.
No need to mention "legacy" IMO unless we're doing official deprecations of existing fields as part of the spec.
| - Used to store generic, schemaless key-value pairs (replacing the legacy metadata field). | |
| - Used to store generic, schemaless key-value pairs. |
|
LGTM with the minor changes suggested by Sam. |
+1 |
Summary
This PR formally resolves Issue #58 (Proposal for JSON-LD
@contextNamespaces) by implementing the consensus reached during the July 2 and July 9 Working Group meetings and also comments on that issue.To preserve the AI-Catalog's minimalist parser and avoid the complexity of JSON-LD graph resolution, the TSC agreed to reject the
@contextproposal. Instead, we are adopting a loosely coupled architecture with the Agentic Resource Discovery (ARD) specification and replacing the legacymetadataproperty with a strictextensionsarray.Changes Included
ADR-0017: Documents the decision to loosely couple ARD and AI-Catalog, preserving AI-Catalog as a strictly-typed "publishing format" while allowing ARD to evolve independently as a rich "discovery format."ai-catalog.md:metadataproperty from the Catalog Entry, Trust Manifest, and root schemas.extensionsarray mechanism.Motivation
This architecture allows AI-Catalog to remain a lightweight, fast "thin pointer," while freeing downstream aggregators (like ARD) to build the complex semantic envelopes they need for federated discovery without forcing those requirements into the base protocol.
Closes #58