2 KiB
Marketplace telemetry contract v1
All shown/opened/installed/dismissed marketplace telemetry uses one envelope:
m2.market.telemetry.v1.
m2.market.evidence.v1 is reserved for S6 job evidence records only. Do not write install,
proposal, Store, Scout, or CLI telemetry with the evidence schema.
Envelope
{
"schema_version": "m2.market.telemetry.v1",
"event_id": "evt_01j2telemetry",
"event_type": "market.install.succeeded",
"occurred_at": "2026-07-02T00:00:00Z",
"tenant_id": "m2",
"operator_id": "op_chris",
"agent_id": "chris-m2o",
"listing_id": "lst_mm-pdf-report",
"solution_id": "sol_mm-pdf-report",
"solution_version": "1.0.0",
"proposal_id": "prop_01j2abc",
"source": "cli",
"content_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
"payload": {}
}
Required fields: schema_version, event_id, event_type, occurred_at, tenant_id,
source, and at least one of listing_id, solution_id, or proposal_id.
Telemetry must contain summaries and IDs only. No raw client data, secrets, transcript bodies, or private job artifacts.
Event type registry
market.listing.shownmarket.listing.openedmarket.proposal.generatedmarket.proposal.shownmarket.proposal.openedmarket.proposal.acceptedmarket.proposal.dismissedmarket.install.startedmarket.install.succeededmarket.install.failedmarket.install.refundedmarket.uninstall.succeededmarket.upgrade.succeededmarket.invoke.succeededmarket.invoke.failed
Indexers may fold telemetry into listing.stats.installs, listing.stats.proposals_shown, and
listing.stats.proposals_accepted. Self-purchases and self-generated proposal loops are excluded
from quality statistics.
Job evidence reservation
m2.market.evidence.v1 records are S6 job evidence records and carry evidence_id, job_id,
wanted, tools, contributors, metering, resources, outcome, reusable_verdict,
scrub_status, and content_hash. They are not a general event envelope.