62 lines
2 KiB
Markdown
62 lines
2 KiB
Markdown
# 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
|
|
|
|
```json
|
|
{
|
|
"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.shown`
|
|
- `market.listing.opened`
|
|
- `market.proposal.generated`
|
|
- `market.proposal.shown`
|
|
- `market.proposal.opened`
|
|
- `market.proposal.accepted`
|
|
- `market.proposal.dismissed`
|
|
- `market.install.started`
|
|
- `market.install.succeeded`
|
|
- `market.install.failed`
|
|
- `market.install.refunded`
|
|
- `market.uninstall.succeeded`
|
|
- `market.upgrade.succeeded`
|
|
- `market.invoke.succeeded`
|
|
- `market.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.
|