{"reading_guide":"`stages` is RAW AGGREGATE STAGE ACTIVITY (kept for observability and continuity) — it is NOT a conversion funnel: the stages are not actor-linked, so a ratio between two of them is not a conversion rate. For conversion use `qualified`, which excludes first-party/tooling/crawler traffic, deduplicates exposure per actor and follows the SAME actor through its own journey.","qualified":{"cohort":{"qualified_distinct_actors":3,"qualified_deduplicated_exposures":8,"raw_qualified_serves":85,"anonymous_unlinkable_serves":77,"dedup_rule":"one exposure per (actor, source, 24h window); repeated hits by the same actor are reach, not additional trials","by_source":{"agent_card":8,"capabilities":9,"demand_feed":9,"manifest":16,"x402_challenge":43}},"stages":[{"stage":"qualified_exposure","qualified_actors":3},{"stage":"registered","qualified_actors":0},{"stage":"control_proved","qualified_actors":0},{"stage":"own_passport_claimed","qualified_actors":0},{"stage":"evidence_attached","qualified_actors":0},{"stage":"returned","qualified_actors":0}],"next_boundary":{"boundary":"qualified_exposure → registered","n":3,"measurable":true,"rate":0.0,"reason":"3 qualified actor(s) reached 'qualified_exposure' and none reached 'registered'","sample_adequacy":"ANECDOTE — a single-digit denominator cannot distinguish a broken offer from bad luck"},"propagation_loop":{"third_party_passport_fetch":0,"third_party_verification":6},"excluded":"first-party, AG test harnesses, release gates, canaries and registry crawlers are excluded STRUCTURALLY (attribution.caller_class + is_genuine_external) — they are not in any denominator here","honesty":"Anonymous serves are reported as UNLINKABLE reach, never as failed conversions: an anonymous a2a probe that never identifies itself cannot be followed to a registration, so it can neither convert nor fail to convert. The aggregate stage activity remains available under `stages` in /funnel/passports."},"passport_activity":{"measure":"DISTINCT SUBJECTS per behaviour — event counts are reported separately and are NOT passports","behaviours":{"subject_self_claim":{"external":0,"first_party":1,"unknown":0},"third_party_fetch":{"external":0,"first_party":0,"unknown":0},"third_party_verification":{"external":0,"first_party":0,"unknown":0},"subject_evidence_attached":{"external":0,"first_party":0,"unknown":0}},"event_counts":{"passport_requested":18,"passport_issue_failed":15,"passport_issued_events":0},"note":"A passport_issued EVENT is a successful credential production, not an adopting agent: one agent can appear many times and a third party fetching someone else's credential appears too. Only `subject_self_claim` is an agent taking a credential for itself, and only `subject_evidence_attached` deepens it. Never sum these into a single 'passports' number."},"stages":[{"stage":"offer_served","count":85,"total":6080,"breakdown":{"external":85,"first_party":740,"unknown":5255},"by_surface":{"a2a":1212,"http":4868},"distinct_actors":123,"source":"serves of the passport CTA (offer='passport') on llms.txt, the manifest, the agent card, anonymous /check, /capabilities, /demand/feed and the x402 402 challenge — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"offer_followed","count":0,"total":1,"breakdown":{"external":0,"first_party":0,"unknown":1},"by_surface":{"http":1},"distinct_actors":1,"source":"register events carrying a caller-declared src beginning 'passport_offer' — the offer was followed, by the caller's own statement — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"registered","count":2,"total":4,"breakdown":{"external":2,"first_party":0,"unknown":2},"by_surface":{"http":3,"mcp":1},"distinct_actors":4,"source":"agent registrations (all) — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"control_proved","count":0,"total":2,"breakdown":{"external":0,"first_party":0,"unknown":2},"by_surface":{"http":2},"distinct_actors":2,"source":"prove_completed milestones — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"passport_issued","count":0,"total":3,"breakdown":{"external":0,"first_party":3,"unknown":0},"by_surface":{"http":3},"distinct_actors":1,"source":"passport issuances (GET /agents/{id}/passport) — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"passport_verified","count":6,"total":18,"breakdown":{"external":6,"first_party":0,"unknown":12},"by_surface":{"http":12,"mcp":6},"distinct_actors":0,"source":"passport verifications (POST /credentials/verify) — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"evidence_attached","count":0,"total":0,"breakdown":{"external":0,"first_party":0,"unknown":0},"by_surface":{},"distinct_actors":0,"source":"first_attestation_received milestones — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"},{"stage":"returned","count":0,"total":0,"breakdown":{"external":0,"first_party":0,"unknown":0},"by_surface":{},"distinct_actors":0,"source":"liveness refreshes (a proved agent came back) — count = genuine external only (attribution.is_genuine_external); first-party and unknown/unattributable shown separately, never merged"}],"abandonment":{},"exclusions":"AG-owned probes, release gates, canaries, test harnesses and registry crawlers are excluded from external counts structurally (attribution.caller_class EXTERNAL_* gate + attribution.is_genuine_external), and shown under first_party/unknown breakdowns instead of being merged"}