fix: terminology alignment and ADR 0007/0010 follow-ups - #79
Conversation
| This document defines the **AI Catalog**: a typed, nestable JSON | ||
| container for discovering heterogeneous AI artifacts. Each entry | ||
| declares its artifact type via a media type and may reference or | ||
| declares its artifact type via a type identifier and may reference or |
There was a problem hiding this comment.
The value of type is still an IANA media type. We are sticking with this value domain because then we don't need to define our own syntax and range of valid values. There is precedence for using type as an indicator of media type in the IETF Web Linking specification https://datatracker.ietf.org/doc/html/rfc8288#section-3.4.1
There was a problem hiding this comment.
+1. We can word like this:
via a type identifier (which is IANA registered media type)
| manifest, an A2A agent card, a Claude Code plugin, a | ||
| dataset descriptor, or a nested AI Catalog. | ||
|
|
||
| AI Card |
There was a problem hiding this comment.
I'm not sure we really want to keep the terminology of AI Card. The repo was renamed and the org hasn't been changed primarily because we didn't want to break links. We have been using "catalog entry" as the primary term.
There was a problem hiding this comment.
Yes let's remove the AI card change part.
Fixes #72.
Four small alignment items, none of them changing behavior on their own:
typeprecisely because it is an open type identifier, and the field definition already uses that framing, so the intro material now matches.application/ai-catalog+jsonresponses, while Location Independence makes serving that media type a SHOULD. A catalog served asapplication/jsonwould pass the well-known flow but fail the link-relation flow. Step 4 now accepts generic JSON media types as long as the document has a validspecVersion.urlacross all objects, but the spec usesuriwhere non-fetchable identifiers are allowed (attestationuri,governanceUri,registryUri,statementUri). Added an update note to the ADR recording that the split is deliberate, so implementers don't read it as drift.