This document defines what it means to conform to the current AIP specification surface in this repository.
Conformance in this repo is schema-level and fixture-level.
An implementation is conformant when it can:
- produce payloads that validate against the canonical schemas in
schemas/ - reject payloads that violate those schemas
- preserve the current lifecycle vocabulary and settlement semantics
- implement the authentication and replay rules in 03-transport-and-auth.md
This document does not certify business quality, auction performance, fraud quality, or uptime by itself.
The current conformance surface is the schema list in tests/conformance-manifest.json:
platform-request.jsoncontext-request.jsonbid.jsonauction-result.jsonevent-exposure-shown.jsonevent-interaction-started.jsonevent-delegation-started.jsonevent-delegation-activity.jsonevent-delegation-expired.jsonevent-task-completed.jsonledger-record.json
Conformant implementations must preserve the v1.0 lifecycle vocabulary:
exposure_showninteraction_starteddelegation_starteddelegation_activitydelegation_expiredtask_completed
Conformant implementations must also preserve these normative semantics:
- only the highest-value verified event is billable per
serve_token - external click-out flows may settle as
CPX -> CPC -> CPA - delegated flows may settle as
CPX -> CPE -> CPA delegation_started,delegation_activity, anddelegation_expiredare non-billable control eventssession_timeout_secondsin the winning bid is an inactivity timeout- each verified
delegation_activityresets that timeout no_matchis the canonical empty auction outcome
Selection logic remains operator-defined and is not tested by this suite.
The conformance suite validates four things:
- Every schema listed in
tests/conformance-manifest.jsonis structurally valid. - Every file in
examples/validates against its canonical schema. - Every file in
tests/valid/validates against its canonical schema. - Every file in
tests/invalid/fails validation against its canonical schema.
From the repository root:
npm testThe test command runs:
python3 tools/run_conformance.pyThe runner writes a machine-readable report to:
tests/conformance-results.json
As of March 27, 2026, the repository suite contains:
- 11 schema checks
- 13 example payload checks
- 10 valid fixture checks
- 6 invalid fixture checks
An implementation claiming AIP conformance should be able to demonstrate all of the following:
- it accepts payloads shaped like the repository examples and valid fixtures
- it rejects malformed payloads shaped like the repository invalid fixtures
- it uses the current event vocabulary and identifier family
- it enforces the request-signing, timestamp, nonce, and replay rules from the transport/auth chapter
- it does not emit deprecated public outcomes such as
no_fill,no_bid,cpx_exposure,cpc_click, orcpa_conversion
Passing this suite does not by itself prove:
- production security maturity
- auction quality
- fraud detection quality
- payout correctness
- latency SLOs
- interoperability with undocumented private extensions
Those require implementation review and bilateral integration testing in addition to schema conformance.
When sharing conformance results externally, publish at minimum:
- the commit or version tested
- the exact
tests/conformance-manifest.jsonused - the pass/fail counts by category
- any skipped checks
- the generated
tests/conformance-results.jsonartifact