Add native AI Credits aggregation coverage#137
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
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
CanonicalAiCreditsMetricsfromgetReportUsageMetrics(..., '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(',') | ||
|
|
Member
Author
There was a problem hiding this comment.
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)) | ||
| } |
Member
Author
There was a problem hiding this comment.
Addressed in 2afd03a by switching nativeRecord() to use the shared parsed header constant.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.test: add native AI Credits aggregation coveragetest: reuse parsed native report headerChanges
src/pipeline/nativeReportUsageAggregation.test.tswith a local native aggregation harness.quantity,gross_amount,discount_amount, andnet_amountas actual AIC values instead of PRU comparison fields.runPipeline, App/UI, report adapters, and production aggregators.Testing
npm test- passed, 166 testsnpm run lint- passednpm run build- passed, with the existing Vite chunk-size warningChecklist
npm run lint)