Skip to content

support manager domain fallback #704

@patmmccann

Description

@patmmccann

Background

(RFC 4175) merged the ads.txt MANAGERDOMAIN fallback for adagents.json discovery into the spec and adcp repo. The validator now:

  • Attempts /{publisher}/.well-known/adagents.json first
  • On 404, consults /{publisher}/ads.txt for a MANAGERDOMAIN= directive
  • If found, attempts /{manager}/.well-known/adagents.json
  • Surfaces discovery_method: 'direct' | 'authoritative_location' | 'ads_txt_managerdomain' (required) and manager_domain?: string on AdAgentsValidationResult

adcp-client needs to implement this fallback logic and expose the new fields.

Implementation

  • Implement the one-hop ads.txt MANAGERDOMAIN fallback in the validate_adagents path
  • Add discovery_method: DiscoveryMethod (required, defaults to 'direct') and manager_domain?: string to AdAgentsValidationResult
  • Export DiscoveryMethod type
  • MANAGERDOMAIN= directive form only — comment form (# managerdomain=) must be rejected
  • Ambiguous/duplicate MANAGERDOMAIN lines: last-wins (IAB-aligned per #4173 resolution)
  • Manager domain 404 → terminal failure (not silent pass)

Test coverage

  • Direct path sets discovery_method: 'direct'
  • URL-reference path sets discovery_method: 'authoritative_location'
  • Manager domain path sets discovery_method: 'ads_txt_managerdomain' and populates manager_domain
  • Comment-form # managerdomain= is NOT followed
  • Duplicate MANAGERDOMAIN lines → last entry wins
  • Manager domain 404 → validation failure

Refs: adcontextprotocol/adcp#4173, adcontextprotocol/adcp#4175

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