execution-telemetry — Execution telemetry, only from providers that expose it honestly
Execution telemetry is recorded for providers that report it truthfully, and absence is recorded as absence rather than estimated.
ACTIVE 1 of 4 issues done
- ready
- 0
- blocked
- 3
- active
- 0
- verify
- 0
- done
- 1
- cancelled
- 1
Problem
Nothing here measures what a session actually consumed. Every economic statement about AI-assisted work in this repository is currently an argument rather than a measurement.
Outcome
Execution telemetry is recorded for providers that report it truthfully, and absence is recorded as absence rather than estimated.
Current state
The telemetry record (I0301, #1051) defines each fact with its reporter and an explicit not_reported; nothing receives a provider's usage yet. ADR 0213 moved the receiving to the Rust economics fabric of every-sessions-usage-is-observed, and this milestone no longer waits on the shell-era runtime-adapters. It depends on no milestone: its order with that fabric is carried by its issues (I0303 after I3288, I3288 after I0301), because a milestone dependency on every-sessions-usage-is-observed would block I0301, which I3288 there needs, and neither could finish (I3287).
Desired state
A completed task carries measured execution facts, or an explicit record that the provider did not supply them.
Scope
- apps/majordomus-cli/src/economics
- share/schemas
- share
- test/cases
- docs
- site/data/generated
Out of scope
- Estimating a number a provider does not report
Acceptance criteria
- Telemetry is recorded only where the provider reports it
- A provider that reports nothing produces an explicit absence, never a guess
- The record is durable and readable back through the existing history surface
Validation
- bash test/run.sh
Evidence required
- suite
Risks
- A provider's self-reported usage may itself be unreliable; the record must say who reported it.
Issues
Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.
| issue | status | wave | depends on | title |
|---|---|---|---|---|
| I0301 | DONE | 0 | — | Define the execution record, including what an absence looks like |
| I0302 | CANCELLED | 1 | I0301 | Record telemetry a provider reports, and refuse anything it did not |
| I0303 | BLOCKED | 2 | I3288 | Prove a silent provider produces an explicit absence, never a guess |
| I0304 | BLOCKED | 3 | I0303 | Read the measurements back through the history surface, under a bound |
| I0305 | BLOCKED | 4 | I0304 | Publish the telemetry claim and record what remains unmeasured |
The graph
flowchart LR
I0301["I0301<br/>Define the execution record, including what an absence looks like"]:::done
I0302["I0302<br/>Record telemetry a provider reports, and refuse anything it did not"]:::cancelled
I0303["I0303<br/>Prove a silent provider produces an explicit absence, never a guess"]:::blocked
I0304["I0304<br/>Read the measurements back through the history surface, under a bound"]:::blocked
I0305["I0305<br/>Publish the telemetry claim and record what remains unmeasured"]:::blocked
I0301 --> I0302
I0303 --> I0304
I0304 --> I0305
classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2pxLinked from this diagram (5)
- I0301 Define the execution record, including what an absence looks like
- I0302 Record telemetry a provider reports, and refuse anything it did not
- I0303 Prove a silent provider produces an explicit absence, never a guess
- I0304 Read the measurements back through the history surface, under a bound
- I0305 Publish the telemetry claim and record what remains unmeasured
Canonical record: .ai/repo/project/milestones/execution-telemetry.yaml. Read it back with majordomus plan show execution-telemetry.