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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions