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
Test coverage
Refs: adcontextprotocol/adcp#4173, adcontextprotocol/adcp#4175
Background
(RFC 4175) merged the
ads.txt MANAGERDOMAINfallback foradagents.jsondiscovery into the spec andadcprepo. The validator now:/{publisher}/.well-known/adagents.jsonfirst/{publisher}/ads.txtfor aMANAGERDOMAIN=directive/{manager}/.well-known/adagents.jsondiscovery_method: 'direct' | 'authoritative_location' | 'ads_txt_managerdomain'(required) andmanager_domain?: stringonAdAgentsValidationResultadcp-clientneeds to implement this fallback logic and expose the new fields.Implementation
ads.txt MANAGERDOMAINfallback in thevalidate_adagentspathdiscovery_method: DiscoveryMethod(required, defaults to'direct') andmanager_domain?: stringtoAdAgentsValidationResultDiscoveryMethodtypeMANAGERDOMAIN=directive form only — comment form (# managerdomain=) must be rejectedMANAGERDOMAINlines: last-wins (IAB-aligned per #4173 resolution)Test coverage
discovery_method: 'direct'discovery_method: 'authoritative_location'discovery_method: 'ads_txt_managerdomain'and populatesmanager_domain# managerdomain=is NOT followedMANAGERDOMAINlines → last entry winsRefs: adcontextprotocol/adcp#4173, adcontextprotocol/adcp#4175