Each event needs a unique identifier, tenant, parent work identifier, execution attempt, producer, event type, measured quantity, unit, timestamp, sequence or causation reference, environment, and schema version. It should also reference the applicable entitlement, budget, meter version, provider or tool, and evidence receipt. These fields allow the system to answer who consumed what, for which work, under whose authority, and how the quantity can be verified without copying sensitive business content into the ledger.
Use canonical identifiers from the execution context rather than accepting arbitrary labels from prompts or client code. Validate units and dimensions at ingestion. Unknown models, tools, currencies, or meter versions should fail visibly or enter a quarantined state instead of being coerced into a generic category. The meter should preserve provider-native details behind adapters while exposing a stable event vocabulary to budgets, statements, analytics, and support workflows. Schema evolution needs compatibility tests so a new producer cannot strand older consumers or make historical events impossible to interpret.