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
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.