Skip to content

Define Entry Trust Manifest publisher-domain alignment - #7

Closed
jonathanhefner wants to merge 1 commit into
mainfrom
agent/trust-manifest-publisher-domain-alignment
Closed

Define Entry Trust Manifest publisher-domain alignment#7
jonathanhefner wants to merge 1 commit into
mainfrom
agent/trust-manifest-publisher-domain-alignment

Conversation

@jonathanhefner

@jonathanhefner jonathanhefner commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Summary

The specification requires a Trust Manifest’s identity domain to align with the publisher domain in the containing Catalog Entry’s identifier. That requirement cannot currently be applied consistently because Catalog Entry identifiers are extensible, not every identifier communicates a publisher domain, and the alignment procedure is undefined.

This PR defines a clear boundary for core Entry Trust Manifests: they are supported on Catalog Entries with publisher-authorized urn:air identifiers. Entries with other identifiers remain valid Catalog Entries, but cannot include a core Entry Trust Manifest.

For supported entries, the specification defines interoperable publisher-domain alignment for did:web, HTTPS, and SPIFFE identities. When alignment cannot be established, consumers disregard the Trust Manifest’s claims and apply their normal policy for an entry without a usable Trust Manifest.

ADR-0024 records this decision and its rationale. The accompanying documentation and examples are updated accordingly.

Rationale

This keeps two distinct use cases separate:

  • Registries can publish Catalog Entries using non-urn:air identifiers when they cannot truthfully assign a publisher-controlled identifier.
  • Entry Trust Manifests remain publisher-scoped and therefore require an identifier that communicates the publisher domain unambiguously.

The specification can add support for other identifier or identity forms later if it defines an equally unambiguous publisher-domain relationship for them.

Publisher-domain alignment is only a consistency check. It does not establish domain control, publisher or signer authorization, signature validity, artifact integrity, authenticity, or trust. Those properties continue to require their corresponding verification procedures and an independent trust policy.

Related work

This PR addresses the publisher-domain alignment concern in Agent-Card/ai-catalog#70.

It complements Agent-Card/ai-catalog#105, which permits registries to use non-urn:air identifiers while intentionally leaving Trust Manifest behavior out of scope.

It proposes a narrower alternative to the identity-related change in Agent-Card/ai-catalog#81. That PR’s digest concern is independent.

Agent-Card/ai-catalog#104 is currently a merge prerequisite because it removes examples that would otherwise contradict this rule.

Validation

  • Specification build
  • Strict MkDocs build
  • git diff --check
  • Bounded standards and security review

AI usage disclosure: This PR was developed with AI coding-agent research, implementation assistance, and bounded adversarial review under direct human supervision and review.

@jonathanhefner
jonathanhefner force-pushed the agent/trust-manifest-publisher-domain-alignment branch from dd5feb3 to 7c87a94 Compare September 2, 2026 16:46
Comment thread docs/guides/adding-trust.md Outdated
Comment thread docs/guides/adding-trust.md Outdated
Comment thread specification/ai-catalog.md Outdated
Comment thread specification/ai-catalog.md Outdated
Comment thread specification/ai-catalog.md Outdated
Comment thread adr/0024-entry-trust-manifest-publisher-domain-alignment.md Outdated
Comment thread adr/0024-entry-trust-manifest-publisher-domain-alignment.md Outdated
Comment thread adr/0024-entry-trust-manifest-publisher-domain-alignment.md Outdated
Comment thread adr/0024-entry-trust-manifest-publisher-domain-alignment.md Outdated
Comment thread adr/0024-entry-trust-manifest-publisher-domain-alignment.md Outdated
@jonathanhefner
jonathanhefner force-pushed the agent/trust-manifest-publisher-domain-alignment branch from 7c87a94 to ad58818 Compare September 2, 2026 19:19
Comment thread docs/guides/adding-trust.md Outdated
Comment thread specification/ai-catalog.md Outdated
Comment thread specification/ai-catalog.md Outdated
Make the existing publisher-domain requirement interoperable by limiting Entry Trust Manifests to publisher-authorized `urn:air` entries and defining how `did:web`, HTTPS, and IDNA-shaped SPIFFE identities supply the comparison domain.

Delegate identity syntax to the governing standards, compare complete IDNA2008 domains exactly after ASCII case normalization, and keep ports, paths, queries, and fragments in the identity but outside publisher-domain comparison. Keep publisher authorization as a producer requirement while defining the consumer response when usable alignment cannot be established.

Record that alignment checks consistency only and that a Trust Manifest signature covers its `identity` but not the containing Catalog Entry identifier by itself. Update stale identity examples, the authoring guide, and ADR-0024 to reflect the boundary.

Signed-off-by: Jonathan Hefner <jonathan@hefner.pro>
@jonathanhefner
jonathanhefner force-pushed the agent/trust-manifest-publisher-domain-alignment branch from ad58818 to 7466e6d Compare September 2, 2026 20:50
@jonathanhefner

Copy link
Copy Markdown
Owner Author

Submitted as Agent-Card#107.

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