Skip to content

Add native AI Credits aggregation coverage#137

Merged
asizikov merged 2 commits into
mainfrom
asizikov/native-aggregation-tests
Jun 5, 2026
Merged

Add native AI Credits aggregation coverage#137
asizikov merged 2 commits into
mainfrom
asizikov/native-aggregation-tests

Conversation

@asizikov

@asizikov asizikov commented Jun 5, 2026

Copy link
Copy Markdown
Member

Summary

Native AI Credits parsing and metric extraction are in place, but future aggregation work needs focused coverage before any production upload support is wired in. This PR adds an isolated test-only harness that rolls parsed native records through getReportUsageMetrics(record, 'native-ai-credits') so reviewers can validate the intended date, user, model, and product rollups without changing the current production pipeline.

Commit Change
test: add native AI Credits aggregation coverage Adds isolated native AI Credits rollup tests using synthetic parsed records and existing labeling helpers.
test: reuse parsed native report header Addresses review feedback by parsing the native header once at module scope and reusing it for each native row parse.

Changes

  • Adds src/pipeline/nativeReportUsageAggregation.test.ts with a local native aggregation harness.
  • Covers rollups by normalized ISO date, user, display model label, and friendly product label.
  • Verifies native AI Credits use quantity, gross_amount, discount_amount, and net_amount as actual AIC values instead of PRU comparison fields.
  • Reuses a shared parsed native header constant in response to review feedback.
  • Keeps native upload support isolated from runPipeline, App/UI, report adapters, and production aggregators.

Testing

  • npm test - passed, 166 tests
  • npm run lint - passed
  • npm run build - passed, with the existing Vite chunk-size warning

Checklist

  • Specs lint passes (npm run lint)
  • Tests updated if applicable
  • Documentation updated if applicable

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 5, 2026 14:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a focused, test-only aggregation harness for native AI Credits usage records so reviewers can validate how getReportUsageMetrics(record, 'native-ai-credits') should roll up by date/user/model/product without wiring native upload support into the production pipeline.

Changes:

  • Introduces an in-test aggregation harness that sums CanonicalAiCreditsMetrics from getReportUsageMetrics(..., 'native-ai-credits').
  • Adds assertions for rollups by normalized ISO date, username, display model label, and friendly product label.
  • Ensures native AI Credits metrics use native quantity/gross/discount/net fields and produce expected totals.
Show a summary per file
File Description
src/pipeline/nativeReportUsageAggregation.test.ts Adds a native AI Credits aggregation harness and rollup assertions across date/user/model/product dimensions.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 1/1 changed files
  • Comments generated: 2

Comment on lines +25 to +26
].join(',')

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 2afd03a by parsing the native header once at module scope and reusing that parsed header for each native row.

Comment on lines +100 to +102
function nativeRecord(values: string[]): TokenUsageRecord {
return parseNativeAiCreditsUsageRecord(buildRow(values), parseTokenUsageHeader(NATIVE_AI_CREDITS_HEADER))
}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 2afd03a by switching nativeRecord() to use the shared parsed header constant.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@asizikov
asizikov merged commit dbd86b3 into main Jun 5, 2026
9 checks passed
@asizikov
asizikov deleted the asizikov/native-aggregation-tests branch June 5, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants