Skip to content

spec: bring description/version to displayName's authoritative-source parity (ADR-0017)#60

Draft
tadasant wants to merge 2 commits into
mainfrom
spec/entry-field-authoritative-source-parity
Draft

spec: bring description/version to displayName's authoritative-source parity (ADR-0017)#60
tadasant wants to merge 2 commits into
mainfrom
spec/entry-field-authoritative-source-parity

Conversation

@tadasant

@tadasant tadasant commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

⚠️ AI-assisted draft. This PR's content (the ADR and spec prose) was drafted by an AI assistant working on Tadas's behalf. Tadas will review, vet, and rewrite as needed, and will remove this disclosure once he has done so. Until then, treat this as a steered placeholder, not Tadas's finished position.


What & why

ADR-0016 made the Catalog Entry displayName OPTIONAL and gave it a precise authoritative-source rule: omit it when the referenced artifact already carries its own canonical name (A2A Agent Card name, MCP Server Card title) to avoid drift; when present it takes precedence for display; and a companion "Resolving an Artifact's Display Name" section defines the consumer resolution order.

displayName is not the only entry member that restates a value the referenced artifact already carries. description and version have the same duplication-and-drift problem against the same artifact, but the spec documents them as plain optional fields with no equivalent guidance. That's incoherent — a publisher reading the field list is told to omit displayName against the Server Card's title but given no steer on description/version, which map onto the Server Card's own required description and version. This PR closes that gap.

Field overlap this PR is built on:

Entry field A2A Agent Card MCP Server Card / SEP-2127 MCP Registry server.json
displayName name (required) title title
description description (required) description (required) description
version version (required) version version

Changes

  • New adr/0017-entry-field-authoritative-source-parity.md (Status: Proposed) — extends ADR-0016's rule to description and version, with an explicit in/out Scope section (out: tags, updatedAt, publisher/trustManifest, metadata, identifier/type/url/data, each with reasoning).
  • specification/ai-catalog.md:
    • description field description — parallel authoritative-source guidance + pointer to a new resolution section.
    • version field description — authoritative-source guidance adapted for its structural role: it's part of the identifier+version uniqueness key and consumers sort on it, so it stays REQUIRED for multi-version listings and a present value is sort-authoritative (SHOULD equal the artifact's version; a contradiction is a publishing error, not a free-form override) rather than a cosmetic override.
    • New "Resolving an Artifact's Description" section next to "Resolving an Artifact's Display Name".
    • MCP and Claude Plugins mapping-appendix rows for description/version aligned with the existing title/displayName row.

No schema change — description and version are already OPTIONAL in the CDDL. This is guidance only and is not a breaking change (existing catalogs that populate these fields remain conformant).

Scope

Deliberately tight: one ADR + field-description edits + one resolution section + mapping-row alignment. No refactoring of unrelated spec parts.

Verification

  • Local spec build reproduces CI exactly (uv run --python 3.12 --locked per .github/workflows/publish-spec.yml) and succeeds with the edits; the new resolving-an-artifacts-description anchor id is present in the rendered HTML.
  • Verified the version continuation paragraph renders as prose (<p> inside the <dd>), not a code block, in the built HTML.
  • Cross-references use GitHub-form anchors matching the existing sibling link #resolving-an-artifacts-display-name (the spec's accepted convention; works on GitHub, consistent with PR docs: refactor MCP mapping appendix to Server Cards + align with MCP spec #53).
  • Field overlap confirmed against A2A Agent Card (required name/description/version), MCP Server Card / SEP-2127 (title, required description, version), and MCP Registry server.json (title/description/version).
  • Opened as a draft; AI-authorship disclosure at the top of this description per the repo operating rule.

Drafted as a follow-up to ADR-0016 / PR #53, ahead of an AI Catalog bi-weekly working-group discussion.

  • Independent fresh-eyes review performed (in-process subagent over the full diff, both ADRs, CDDL, and both mapping appendices). One blocking accuracy issue found and fixed — MCP Server Card description is OPTIONAL in SEP-2127 (only name+version required), so the ADR's "REQUIRED description" claim was corrected; the multi-version version wording was also sharpened. Remaining review notes were non-blocking and left as defensible (see commit 13dd39a).

… parity

Adds ADR-0017 and the matching spec edits so the entry-level fields that
duplicate a referenced artifact's own canonical value (description, version)
follow the same SHOULD-omit-when-authoritative / present-takes-precedence /
avoid-drift rule already established for displayName in ADR-0016.

- description: parallel authoritative-source guidance + new
  "Resolving an Artifact's Description" consumer resolution order
- version: authoritative-source guidance adapted for its structural role
  (uniqueness key + sorting; required for multi-version listings)
- MCP + Claude Plugins mapping-appendix rows aligned with the title row
github-actions Bot added a commit that referenced this pull request Jul 2, 2026
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Preview: https://ai-catalog.io/pr/60/

This comment is updated automatically while the pull request preview is available.

…sion wording

Review feedback:
- MCP Server Card `description` is OPTIONAL in SEP-2127 (only name+version
  required), not REQUIRED as originally stated.
- Frame the multi-version `version` requirement as emergent from the
  identifier+version uniqueness key rather than as already-stated normative
  text in the Multi-Version Entries section.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant