Skip to content

I3291 — Gemini CLI usage events map onto the same record, thought tokens included

Map gemini_cli.api_response (input, output, cached-content, thought tokens) through the receiver of I3288 with no Gemini-specific path beyond the mapping table.

BLOCKED wave 2 · p3 · implementation profile · parallel safe

Part of every-sessions-usage-is-observed — What every AI session consumed is observed from the provider, attributed to the work it served, and never estimated into a fact.

Blocked. This issue cannot start until I3288 is done. The status is derived from that, not declared.

Objective

Map gemini_cli.api_response (input, output, cached-content, thought tokens) through the receiver of I3288 with no Gemini-specific path beyond the mapping table.

Why

The owner named three clients; Gemini differs only in field names and one extra category. Gemini is named in the statement but its encoding was unverified; a protobuf-only export would make this issue impossible under I3288's non_scope. It extends milestone execution-telemetry. Proposed in ADR 0213 (Usage is observed through each provider's official telemetry into one provider-neutral record, and reported, estimated and billed amounts are never merged) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c253#2.

Current state

scripts/lib/advisors/gemini-cli.mjs calls Gemini as an advisor; no usage is read.

Desired state

A Gemini fixture produces records; adding it changed only the mapping and fixtures.

Scope

  • apps/majordomus-cli/src/economics/usage.rs

Dependencies

Acceptance criteria

  • Each Gemini token category maps to a declared common category or to an explicit provider-only field
  • The diff that adds Gemini touches no consumer
  • The Gemini fixture is captured from a named, dated Gemini CLI version
  • Gemini CLI's OTLP http export is verified to be JSON; if it is protobuf only, the issue is reported blocked by I3288's non_scope rather than adding a dependency

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib economics::usage
  • majordomus plan validate

Evidence required

  • test_gemini_usage_maps

Evidence

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

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/I3291.yaml. Read it back with majordomus plan show I3291.

Searches the titles and descriptions of every page this site publishes.