Skip to content

Network health dashboard and alerting for managed publisher networks #2168

@bokelley

Description

@bokelley

Context

Managed publisher networks need visibility into the health of their adagents.json deployment across hundreds or thousands of domains. The NetworkConsistencyChecker in @adcp/client (adcontextprotocol/adcp-client#539) provides the detection logic, and #2167 wires it into the CrawlerService post-crawl pipeline with event emission. This issue covers the user-facing layer: a dashboard and alerting for network operators.

Related:

What to build

1. Network health dashboard (admin)

An org-scoped view showing a network operator the health of their managed domains. Key metrics:

  • Coverage % — percentage of authoritative file properties with valid pointer files on their domains
  • Orphaned pointers — domains pointing to the network's authoritative URL but not listed in properties
  • Stale pointers — domains removed from authoritative file that still have pointer files
  • Missing pointers — properties in authoritative file with no valid pointer on the domain
  • Schema errors — validation errors in the authoritative file itself
  • Agent health — per-agent endpoint reachability and response times

Per-domain detail view: each domain shows pointer status, matched property, authorized agents, and any errors.

Historical trends: coverage % over time, issue count over time (crawl-over-crawl).

2. Alerting

Extend the existing notification infrastructure (server/src/notifications/registry.ts) to support network operator alerts:

  • Slack webhook on new failures (grouped by authoritative URL, not per-domain spam)
  • Email digest option for non-Slack users
  • Alert conditions:
    • New orphaned or stale pointer detected
    • Coverage drops below configurable threshold (e.g. 95%)
    • Schema validation failure on authoritative file (critical — breaks all domains)
    • Agent endpoint unreachable for more than one crawl cycle
    • Missing pointer persists for more than N crawl cycles

3. API endpoints

Serve the dashboard and enable programmatic access:

  • GET /api/network-health/:authoritativeUrl — latest consistency report
  • GET /api/network-health/:authoritativeUrl/history — historical reports for trends
  • GET /api/network-health — summary across all tracked networks
  • POST /api/network-health/:authoritativeUrl/alerts — configure alert thresholds

Data sources

All data comes from the CrawlerService post-crawl pipeline (#2167):

  • network_consistency_reports table (persisted reports)
  • Event stream (network.orphaned_pointer, network.stale_pointer, etc.)
  • Existing manifest_references table (verification status, completeness scores)

Who this helps

Network operators (Mediavine, Raptive, CafeMedia) who need to monitor deployment health across their managed domains without manually running CLI tools. This is the ads.txt-validator equivalent for adagents.json — but integrated from day one rather than built as a third-party afterthought.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions