Skip to content

I0302 — Record telemetry a provider reports, and refuse anything it did not

Add the command that attaches measured execution facts to the active task, accepting only values a provider actually reported and refusing any field the caller cannot attribute to a reporter.

BLOCKED wave 1 · p2 · implementation profile · runs alone

Part of execution-telemetry — Execution telemetry, only from providers that expose it honestly.

Blocked. This issue cannot start until I0301, milestone:execution-telemetry are done. The status is derived from that, not declared.

Objective

Add the command that attaches measured execution facts to the active task, accepting only values a provider actually reported and refusing any field the caller cannot attribute to a reporter.

Why

The tool never invokes a model, so it cannot measure a session itself; the numbers have to be handed to it. The boundary where they arrive is the only place their provenance can still be checked.

Current state

The record has a shape and nothing writes one.

Desired state

A worker or a wrapper hands measured facts to one command, they are validated and stored against the task, and a value with no reporter is refused with a finding that names the field.

Scope

  • lib
  • bin

Out of scope

  • Any network call, poll, or background collection
  • Deriving one field from another to fill a gap

Dependencies

What waits on this

Acceptance criteria

  • Measured facts attach to the active task and survive into the completed record
  • A field without a reporter, or with a reporter that is not named, is refused
  • No code path fabricates, interpolates or defaults a measured value
  • The command works with no network and leaves no background process

Validation

  • bash test/run.sh

Evidence required

  • suite

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Risk

A provider's self-reported usage may itself be wrong; the record says who reported it so that a later correction has something to correct.

Timeline

started
verified
completed

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I0302.yaml. Read it back with majordomus plan show I0302.