Skip to content

Spec Proposal: Federation Governance Metadata — Provenance, Mutual Trust & Execution Contract #86

Description

@ejoaquin

Problem

ai-catalog defines a publishing format with identity verification (trustManifest), source lineage (provenance[]), legal terms (termsOfServiceUrl, privacyPolicyUrl), and structural federation via nested catalogs (Design Goal #5: Scalable Federation). The recent proposals for dependencies (#63), deployment metadata (#64), and lifecycle (#65) fill additional gaps for single-registry use.

But structural federation (catalog A links to catalog B) has no governance layer. When catalogs get consumed by other registries — federated, mirrored, or aggregated across org boundaries — three governance gaps remain:

  1. No residency semantics. provenance[].relation tracks build lineage ("publishedFrom", "derivedFrom") but has no vocabulary for registry-level residency: is this entry owned here, federated from elsewhere, or an unverified mirror?
  2. No bilateral consent. trustManifest.trustSchema defines a trust framework but doesn't model bilateral consent between registries — publisher A approving registry B to federate their entries, with scoping and revocation.
  3. No structured execution terms. termsOfServiceUrl and privacyPolicyUrl point to legal documents but provide no machine-readable policy for runtime enforcement — quota limits, data residency requirements, SLA targets.

These gaps are acute in B2B scenarios — e.g., a SaaS provider's agents federated into a customer's enterprise registry. Neither MCP nor A2A address cross-registry governance at the protocol level.

Suggested Direction

Building on existing Trust Manifest primitives:

Extend Provenance Link vocabulary for federation residency:

  • New relation values: "federatedFrom", "mirroredFrom"
  • New optional field: residency enum (owned / federated / mirrored)
  • New optional field: lastSynced (datetime — when this copy was last reconciled with source)

mutualTrust — bilateral consent state machine (distinct from trustSchema):

  • trustSchema = what framework governs an artifact. mutualTrust = who has agreed to federate it.
  • State machine: unverifiedone_waymutualrevoked
  • Negotiation via .well-known endpoints (DNS) or DID Document service endpoints (decentralized)

executionContract — structured complement to existing termsOfServiceUrl:

  • Machine-readable runtime policy: quota limits, data handling rules, SLA targets
  • termsOfServiceUrl remains the human-readable legal doc; executionContract is the machine-parseable counterpart

Interoperability Impact

Related Work

Next Steps

Happy to draft spec text + examples in a follow-up PR once directional alignment is confirmed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions