Skip to content

Separate artifact identity from registry coordinates - #2

Closed
jonathanhefner wants to merge 1 commit into
mainfrom
agent/issue-102-registry-identifier-guidance
Closed

Separate artifact identity from registry coordinates#2
jonathanhefner wants to merge 1 commit into
mainfrom
agent/issue-102-registry-identifier-guidance

Conversation

@jonathanhefner

@jonathanhefner jonathanhefner commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • recommend globally unique absolute identifiers, while retaining publisher-controlled urn:air identifiers as the preferred form when available
  • require consumers to treat unrecognized identifier schemes as opaque, without treating identifier syntax as proof of publisher identity or trust
  • add a concise preserve-or-mint policy for registry projections
  • prohibit silently replacing a published primary identifier when a publisher-assigned identifier becomes available later
  • preserve proprietary registry coordinates in namespaced extensions
  • clarify that registry assignment, catalog hosting, and artifact publishing are independent roles
  • record the decision in proposed ADR-0021

Motivation

This is a proposed resolution for Agent-Card/ai-catalog#102.

The issue presents registry-domain and publisher-domain AIR identifiers as the two choices. This PR separates the artifact identifier, artifact publisher, registry operator, and native registry coordinates instead.

The projection policy is:

  1. Reuse an identifier already published for the artifact.
  2. Otherwise preserve an authorized publisher-assigned identifier.
  3. Otherwise mint and persist an identifier under registry control.
  4. Keep native coordinates in a namespaced extension.

A registry does not silently change an identifier after publication. Explicit identifier migration and aliases remain future work.

No new core JSON field is added.

Scope

This draft is intentionally limited to ADR-0021 and the corresponding identifier and registry-projection text in the specification. It does not change Trust Manifest behavior.

Related questions—including OCI/xRegistry mapping corrections, mirror representation, identifier migration and aliases, and AIR namespace registration—are left for separate follow-up work.

Validation

  • .venv/bin/mkdocs build --strict --site-dir /tmp/ai-catalog-issue-102-site
  • .venv/bin/python tools/build_spec.py specification/ai-catalog.md /tmp/ai-catalog-issue-102-spec.html
  • git diff --check

@jonathanhefner
jonathanhefner force-pushed the agent/issue-102-registry-identifier-guidance branch from 654207f to b817b29 Compare August 26, 2026 18:56
Comment thread adr/0021-separate-artifact-identity-from-registry-coordinates.md Outdated
Comment thread specification/ai-catalog.md Outdated
Comment thread specification/ai-catalog.md Outdated
Comment thread specification/ai-catalog.md Outdated
@jonathanhefner
jonathanhefner force-pushed the agent/issue-102-registry-identifier-guidance branch from 2e53258 to 2582e64 Compare August 26, 2026 20:28
Clarify how a registry creates AI Catalog entries for existing artifacts
that lack publisher-assigned `urn:air` identifiers. Preserve authorized
publisher identifiers when available; otherwise assign and persist a
registry-controlled identifier without conflating the registry with the
artifact publisher.

Keep native registry coordinates in namespaced `extensions`, treat
unrecognized schemes as opaque, and defer identifier migration rather
than silently changing published identifiers.
@jonathanhefner
jonathanhefner force-pushed the agent/issue-102-registry-identifier-guidance branch from 2582e64 to 6d24850 Compare August 26, 2026 21:31
@jonathanhefner

Copy link
Copy Markdown
Owner Author

Submitted upstream as Agent-Card#105.

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