Skip to content

Refine measurement protocol after red-team review#1117

Open
bokelley wants to merge 3 commits intomainfrom
bokelley/measurement-agent
Open

Refine measurement protocol after red-team review#1117
bokelley wants to merge 3 commits intomainfrom
bokelley/measurement-agent

Conversation

@bokelley
Copy link
Contributor

Summary

Implements all 11 design improvements from comprehensive red-team review across measurement providers, orchestrators, and protocol design experts. The measurement protocol domain now has cleaner schema design, better extensibility, and alignment with how measurement providers actually work.

Key improvements:

  • Schema bug fixes: oneOf→anyOf for identifiers, remove ghost study_id, extract inline enums
  • Per-item scope discriminator on results for clean campaign vs channel discrimination
  • Conversion-specific fields on exposure events (conversion_value, order_id, customer_type)
  • provider_managed transport type for agents connecting to ad platforms directly
  • All documentation updated to reflect schema changes and capabilities

Test Results

All 297 tests pass (16 suites). OpenAPI spec up-to-date. Full type checking passes.

Context

This work was completed after soliciting expert feedback from measurement providers, orchestrators, and protocol design specialists. See details in the commit message for the full list of changes and rationale.

Addresses all 11 design concerns and bugs from comprehensive red-team review across measurement providers, orchestrators, and protocol design experts. Key improvements:

- Fix schema bugs: oneOf→anyOf for identifiers, remove ghost study_id, extract inline enums, make metrics optional when unready
- Add per-item scope discriminator to results array for cleaner campaign vs channel discrimination
- Add conversion-specific fields to exposure events (conversion_value, order_id, customer_type)
- Add provider_managed transport type for agents connecting to ad platforms directly
- Update all documentation to reflect schema changes and new capabilities

All 297 tests pass. Protocol is now cleaner, more extensible, and better aligned with how measurement providers actually work.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@bokelley bokelley force-pushed the bokelley/measurement-agent branch from 03e8157 to 1fc47f6 Compare February 18, 2026 08:27
bokelley and others added 2 commits February 18, 2026 08:43
…tracker schema

Measurement trackers now reference the existing url-asset.json and url-asset-type.json
from the creative domain, eliminating the duplicate tracker.json and tracker-type.json.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…osing-methodology

Address diff review feedback:
- Flatten methodologies from array-of-profile-objects to array-of-enum-values,
  matching the pattern used by other AdCP protocol capabilities
- Remove methodology_profile definition (best_for, limitations,
  minimum_requirements, time_to_insight_days) — these vary per advertiser
  and are details of how the service works, not protocol capabilities
- Remove exposure_event_version — premature with only one version
- Remove choosing-methodology.mdx — methodology education is out of scope
  for the protocol spec

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant