From 94ccb80ddcdf682223b718229b718f28b4c33ec7 Mon Sep 17 00:00:00 2001 From: olddonkey Date: Thu, 24 Sep 2026 21:41:36 -0700 Subject: [PATCH 1/3] feat(grok): show product usage breakdown under the weekly bar The Grok credits proxy (`/v1/billing?format=credits`) publishes a `productUsage` array next to `creditUsagePercent`, but the decoder dropped it. Show it as plain "Usage breakdown" text rows under the single weekly bar, never as extra rate windows or progress bars. Product shares are percentages of the same weekly pool as the aggregate: every observed payload sums to it, including below-100% multi-product samples (2 = 1+1, 3 = 2+1, 4 = 3+1, 6 = 4+2 for GrokBuild + GrokChat). The display is guarded accordingly: - decode `productUsage` fail-soft; malformed entries never affect the weekly total or period - attach products only when the aggregate is the wire `creditUsagePercent` and the shares sum to its raw value within 1 pp; never under the on-demand `used/cap` fallback or a period-only answer - `completing(with:)` keeps only its own products, so a grok.com total never carries proxy shares - keep reset-credit rows first and append the breakdown instead of replacing `details` wholesale in both Grok fetch strategies Supersedes #3900 (closed pending per-product evidence, see #2989). Co-Authored-By: Claude Opus 5.5 --- .github/pr-proof/grok-product-usage/README.md | 22 ++ .../grok-product-usage/after-dark.png | Bin 0 -> 36529 bytes .github/pr-proof/grok-product-usage/after.png | Bin 0 -> 35587 bytes .../pr-proof/grok-product-usage/before.png | Bin 0 -> 26586 bytes .../Grok/GrokCreditsProxyFetcher.swift | 51 +++- .../Grok/GrokProviderDescriptor.swift | 30 +- .../Providers/Grok/GrokStatusProbe.swift | 31 +++ .../Grok/GrokWebBillingFetcher.swift | 25 +- .../GrokCreditsProxyFetcherTests.swift | 256 ++++++++++++++++++ .../GrokMenuCardModelTests.swift | 30 ++ .../GrokRemainingResetsRoutingTests.swift | 33 ++- docs/grok.md | 16 ++ 12 files changed, 473 insertions(+), 21 deletions(-) create mode 100644 .github/pr-proof/grok-product-usage/README.md create mode 100644 .github/pr-proof/grok-product-usage/after-dark.png create mode 100644 .github/pr-proof/grok-product-usage/after.png create mode 100644 .github/pr-proof/grok-product-usage/before.png diff --git a/.github/pr-proof/grok-product-usage/README.md b/.github/pr-proof/grok-product-usage/README.md new file mode 100644 index 0000000000..fde919b466 --- /dev/null +++ b/.github/pr-proof/grok-product-usage/README.md @@ -0,0 +1,22 @@ +# Grok product usage breakdown proof + +The production `UsageMenuCardView` is rendered offscreen at 310 pt from a +**live** Grok snapshot, with the model built by `UsageMenuCardView.Model.make` +and `hidePersonalInfo: true`. + +- **Source data:** the `usage` object printed by this branch's + `CodexBarCLI usage --provider grok --source oauth --format json` + (2026-09-23 15:56 UTC). It read only `~/.grok/auth.json`, with an isolated + `CFFIXED_USER_HOME` and `CODEXBAR_DISABLE_KEYCHAIN_ACCESS=1`. +- **Redaction:** the account email and organization were removed from that + JSON before rendering. The decoded snapshot has one primary window + (Weekly, 1% used) and the new `Usage breakdown` section (`Grok Build 1%`). +- **Before and after:** `after.png` and `after-dark.png` render that snapshot + as-is. `before.png` renders the same snapshot with `details` cleared, which + is what main produces for this payload because its decoder drops + `productUsage`. This change does not touch any view code. + +No app was launched, no window was shown, and nothing was captured from the +screen. The render harness was a temporary test that was not committed: +decode the JSON with an ISO 8601 `JSONDecoder`, build the card model, then +`NSHostingView` + `cacheDisplay` into a 2× bitmap. diff --git a/.github/pr-proof/grok-product-usage/after-dark.png b/.github/pr-proof/grok-product-usage/after-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..094861e7ed547182475a231fc296748b8bb48d7a GIT binary patch literal 36529 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 I-zeaJ05-fkxBvhE literal 0 HcmV?d00001 diff --git a/.github/pr-proof/grok-product-usage/after.png b/.github/pr-proof/grok-product-usage/after.png new file mode 100644 index 0000000000000000000000000000000000000000..7d27271b730d37c096a07250f60c71ded62a90ed GIT binary patch literal 35587 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 [GrokProductUsage] + { + // Shares must compose this payload's credit percentage; mismatched or on-demand shapes are dropped. + guard !products.isEmpty else { return [] } + let sum = products.reduce(0) { $0 + $1.usedPercent } + return abs(sum - creditUsagePercent) <= Self.productCompositionTolerancePercent ? products : [] + } + private static func windowMinutes(start: String?, end: Date?, now: Date) -> Int? { guard let start = ISO8601DateParser.parse(start), let end, end > start, start <= now, @@ -115,6 +129,37 @@ public enum GrokCreditsProxyFetcher { let onDemandCap: CreditsAmount? let onDemandUsed: CreditsAmount? let subscriptionTier: String? + let productUsage: LossyProductUsageArray? + } + + private struct LossyProductUsageArray: Decodable { + let values: [GrokProductUsage] + + init(from decoder: Decoder) { + self.values = (try? decoder.singleValueContainer().decode([LossyProductUsage].self))? + .compactMap(\.value) ?? [] + } + } + + private struct LossyProductUsage: Decodable { + let value: GrokProductUsage? + + private enum CodingKeys: String, CodingKey { + case product + case usagePercent + } + + init(from decoder: Decoder) { + let container = try? decoder.container(keyedBy: CodingKeys.self) + let product = (try? container?.decode(String.self, forKey: .product))? + .trimmingCharacters(in: .whitespacesAndNewlines) + let percent = try? container?.decode(Double.self, forKey: .usagePercent) + if let product, !product.isEmpty, let percent, percent.isFinite, percent >= 0 { + self.value = GrokProductUsage(product: product, usedPercent: percent) + } else { + self.value = nil + } + } } private struct CurrentPeriod: Decodable { diff --git a/Sources/CodexBarCore/Providers/Grok/GrokProviderDescriptor.swift b/Sources/CodexBarCore/Providers/Grok/GrokProviderDescriptor.swift index 1baaac936a..5f59c924e1 100644 --- a/Sources/CodexBarCore/Providers/Grok/GrokProviderDescriptor.swift +++ b/Sources/CodexBarCore/Providers/Grok/GrokProviderDescriptor.swift @@ -23,6 +23,16 @@ public enum GrokProviderDescriptor { manualCookieHeader: nil).sourceMode ?? base }) + fileprivate static func withResetCreditDetails( + usage: UsageSnapshot, + resetCredits: GrokRateLimitResetCreditsSnapshot?, + now: Date) -> UsageSnapshot + { + let enriched = usage.withGrokResetCredits(resetCredits) + let resetSections = GrokRemainingResetsFetcher.detailSections(snapshot: resetCredits, now: now) + return enriched.replacing(details: .value(resetSections + enriched.details)) + } + static func makeDescriptor() -> ProviderDescriptor { ProviderDescriptor( id: .grok, @@ -201,12 +211,10 @@ struct GrokCLIFetchStrategy: ProviderFetchStrategy { at: snapshot.updatedAt, requiresCompleteness: context.requiresOptionalUsageCompleteness) return self.makeResult( - usage: usage - .withGrokResetCredits(resetResolution.snapshot) - .replacing(details: .value( - GrokRemainingResetsFetcher.detailSections( - snapshot: resetResolution.snapshot, - now: snapshot.updatedAt))), + usage: GrokProviderDescriptor.withResetCreditDetails( + usage: usage, + resetCredits: resetResolution.snapshot, + now: snapshot.updatedAt), sourceLabel: "grok-cli", supplementalUsageTask: resetResolution.supplementalUsageTask, diagnostic: snapshot.diagnostic) @@ -530,12 +538,10 @@ struct GrokWebFetchStrategy: ProviderFetchStrategy { at: snapshot.updatedAt, requiresCompleteness: context.requiresOptionalUsageCompleteness) return self.makeResult( - usage: usage - .withGrokResetCredits(resetResolution.snapshot) - .replacing(details: .value( - GrokRemainingResetsFetcher.detailSections( - snapshot: resetResolution.snapshot, - now: snapshot.updatedAt))), + usage: GrokProviderDescriptor.withResetCreditDetails( + usage: usage, + resetCredits: resetResolution.snapshot, + now: snapshot.updatedAt), sourceLabel: billingResult.sourceLabel, supplementalUsageTask: resetResolution.supplementalUsageTask, diagnostic: enrichedBilling.usedPercent == nil ? GrokStatusProbe.usageUnavailableMessage : nil) diff --git a/Sources/CodexBarCore/Providers/Grok/GrokStatusProbe.swift b/Sources/CodexBarCore/Providers/Grok/GrokStatusProbe.swift index 46f90c9c4b..7d03741e83 100644 --- a/Sources/CodexBarCore/Providers/Grok/GrokStatusProbe.swift +++ b/Sources/CodexBarCore/Providers/Grok/GrokStatusProbe.swift @@ -1,5 +1,33 @@ import Foundation +enum GrokProductUsageDetails { + static func sections(for products: [GrokProductUsage]) -> [ProviderDetailSection] { + let rows = products.enumerated() + .filter { $0.element.usedPercent.isFinite && $0.element.usedPercent > 0 } + .sorted { + $0.element.usedPercent == $1.element.usedPercent + ? $0.offset < $1.offset + : $0.element.usedPercent > $1.element.usedPercent + } + .map { _, usage in + let product = usage.product.trimmingCharacters(in: .whitespacesAndNewlines) + let label = switch product { + case "GrokBuild": "Grok Build" + case "GrokChat": "Grok Chat" + case "GrokImagine": "Grok Imagine" + case "GrokAppBuilder": "Grok App Builder" + default: product + } + return ProviderDetailSection.makeRow( + id: "grok.product.\(product)", + label: label, + value: UsageFormatter.percentString(usage.usedPercent)) + } + guard !rows.isEmpty else { return [] } + return [.makeSection(title: "Usage breakdown", rows: rows)] + } +} + public struct GrokUsageSnapshot: Sendable { public let billing: GrokBillingResponse? public let webBilling: GrokWebBillingSnapshot? @@ -34,6 +62,7 @@ public struct GrokUsageSnapshot: Sendable { // Primary window: credit usage (against included limit) from the CLI RPC, // falling back to the web billing RPC used by grok.com when the agent surface lacks billing. var primary: RateWindow? + var details: [ProviderDetailSection] = [] if let billing, let percent = billing.monthlyUsedPercent { @@ -52,6 +81,7 @@ public struct GrokUsageSnapshot: Sendable { windowMinutes: webBilling.windowMinutes, resetsAt: webBilling.resetsAt, resetDescription: nil) + details = GrokProductUsageDetails.sections(for: webBilling.productUsage) } let identity = ProviderIdentitySnapshot( @@ -68,6 +98,7 @@ public struct GrokUsageSnapshot: Sendable { tertiary: nil, costUsage: self.localSummary?.toCostUsageTokenSnapshot( historyDays: GrokLocalSessionScanner.defaultLookbackDays), + details: details, updatedAt: self.updatedAt, identity: identity) } diff --git a/Sources/CodexBarCore/Providers/Grok/GrokWebBillingFetcher.swift b/Sources/CodexBarCore/Providers/Grok/GrokWebBillingFetcher.swift index 22cc28a12a..b88992ab3b 100644 --- a/Sources/CodexBarCore/Providers/Grok/GrokWebBillingFetcher.swift +++ b/Sources/CodexBarCore/Providers/Grok/GrokWebBillingFetcher.swift @@ -4,6 +4,16 @@ import Foundation import FoundationNetworking #endif +public struct GrokProductUsage: Sendable, Equatable { + public let product: String + public let usedPercent: Double + + public init(product: String, usedPercent: Double) { + self.product = product + self.usedPercent = usedPercent + } +} + public struct GrokWebBillingSnapshot: Sendable, Equatable { public let usedPercent: Double? public let resetsAt: Date? @@ -17,6 +27,8 @@ public struct GrokWebBillingSnapshot: Sendable, Equatable { public let usedPercentIsWirePublished: Bool /// The parser validated an active current period with an omitted proto3 usage scalar. public let usedPercentIsImplicitZero: Bool + /// Shares compose this snapshot's credit `usedPercent` from the same payload before clamping; empty if unverified. + public let productUsage: [GrokProductUsage] public init( usedPercent: Double?, @@ -24,7 +36,8 @@ public struct GrokWebBillingSnapshot: Sendable, Equatable { windowMinutes: Int? = nil, subscriptionTier: String? = nil, usedPercentIsWirePublished: Bool = true, - usedPercentIsImplicitZero: Bool = false) + usedPercentIsImplicitZero: Bool = false, + productUsage: [GrokProductUsage] = []) { self.usedPercent = usedPercent self.resetsAt = resetsAt @@ -32,6 +45,7 @@ public struct GrokWebBillingSnapshot: Sendable, Equatable { self.subscriptionTier = subscriptionTier self.usedPercentIsWirePublished = usedPercentIsWirePublished self.usedPercentIsImplicitZero = usedPercentIsImplicitZero + self.productUsage = productUsage } /// Overlay the CLI settings plan name. Usage percent stays on the existing credits rules. @@ -42,12 +56,14 @@ public struct GrokWebBillingSnapshot: Sendable, Equatable { windowMinutes: self.windowMinutes, subscriptionTier: GrokPlan.displayName(from: raw) ?? self.subscriptionTier, usedPercentIsWirePublished: self.usedPercentIsWirePublished, - usedPercentIsImplicitZero: self.usedPercentIsImplicitZero) + usedPercentIsImplicitZero: self.usedPercentIsImplicitZero, + productUsage: self.productUsage) } /// Keep period and plan metadata a second billing surface did not publish. Usage percent /// always stays with the surface that produced this snapshot, so an unknown percent is - /// never backfilled from another response. + /// never backfilled from another response. Product shares compose that same payload's + /// `usedPercent` and are never borrowed from another billing surface. func completing(with other: GrokWebBillingSnapshot) -> GrokWebBillingSnapshot { GrokWebBillingSnapshot( usedPercent: self.usedPercent, @@ -55,7 +71,8 @@ public struct GrokWebBillingSnapshot: Sendable, Equatable { windowMinutes: other.resetsAt == nil ? self.windowMinutes : other.windowMinutes, subscriptionTier: self.subscriptionTier ?? other.subscriptionTier, usedPercentIsWirePublished: self.usedPercentIsWirePublished, - usedPercentIsImplicitZero: self.usedPercentIsImplicitZero) + usedPercentIsImplicitZero: self.usedPercentIsImplicitZero, + productUsage: self.productUsage) } } diff --git a/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift b/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift index eae5f4e375..7044e3e103 100644 --- a/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift +++ b/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift @@ -119,6 +119,45 @@ struct GrokCreditsProxyFetcherTests { #expect(enriched.subscriptionTier == "SuperGrok Heavy") } + @Test + func `unknown proxy usage does not attach its products to grok dot com totals`() async throws { + let now = try Self.date("2026-08-12T00:00:00Z") + let proxy = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + {"config":{"currentPeriod":{"start":"2026-08-06T00:00:00Z","end":"2026-08-13T00:00:00Z"}, + "productUsage":[{"product":"GrokBuild","usagePercent":3}]}} + """.utf8), now: now) + #expect(proxy.usedPercent == nil) + #expect(proxy.windowMinutes == 10080) + #expect(proxy.productUsage.isEmpty) + + let grpcSnapshots = [ + GrokWebBillingSnapshot(usedPercent: 12, resetsAt: nil), + GrokWebBillingSnapshot( + usedPercent: 0, + resetsAt: nil, + usedPercentIsWirePublished: false, + usedPercentIsImplicitZero: true), + ] + for grpcSnapshot in grpcSnapshots { + let result = try await GrokOAuthFetchStrategy.resolvingUnknownUsage( + proxy, + credentials: Self.credentials, + grpcBilling: { _ in grpcSnapshot }) + let usage = GrokUsageSnapshot( + billing: nil, + webBilling: result.snapshot, + credentials: nil, + localSummary: nil, + cliVersion: nil, + updatedAt: now).toUsageSnapshot() + + #expect(result.snapshot.usedPercent == grpcSnapshot.usedPercent) + #expect(result.snapshot.productUsage.isEmpty) + #expect(usage.primary?.usedPercent == grpcSnapshot.usedPercent) + #expect(!usage.details.contains { $0.title == "Usage breakdown" }) + } + } + @Test func `completion never pairs a duration with a different reset`() { let original = GrokWebBillingSnapshot( @@ -759,6 +798,223 @@ struct GrokCreditsProxyFetcherTests { } } +extension GrokCreditsProxyFetcherTests { + @Test + func `live weekly credits payload retains product composition`() throws { + let now = try Self.date("2026-09-23T00:00:00Z") + let payload = [ + #"{"config":{"currentPeriod":{"type":"USAGE_PERIOD_TYPE_WEEKLY","#, + #""start":"2026-09-20T18:42:45.537749+00:00","#, + #""end":"2026-09-27T18:42:45.537749+00:00"},"creditUsagePercent":1.0,"onDemandCap":{"val":0},"#, + #""onDemandUsed":{"val":0},"productUsage":[{"product":"GrokBuild","usagePercent":1.0}],"#, + #""isUnifiedBillingUser":true,"#, + #""prepaidBalance":{"val":0},"topUpMethod":"TOP_UP_METHOD_SAVED_PAYMENT_METHOD","#, + #""billingPeriodStart":"2026-09-20T18:42:45.537749+00:00","#, + #""billingPeriodEnd":"2026-09-27T18:42:45.537749+00:00"}}"#, + ].joined() + let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data(payload.utf8), now: now) + + #expect(snapshot.usedPercent == 1) + #expect(try snapshot.resetsAt == (Self.date("2026-09-27T18:42:45.537749+00:00"))) + #expect(snapshot.windowMinutes == 10080) + #expect(snapshot.productUsage == [GrokProductUsage(product: "GrokBuild", usedPercent: 1)]) + } + + @Test + func `proxy retains product wire order and unknown names`() throws { + let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + {"config":{"creditUsagePercent":42,"productUsage":[ + {"product":"GrokImagine","usagePercent":2.5}, + {"product":" FutureGrok ","usagePercent":0}, + {"product":"GrokChat","usagePercent":39.5} + ]}} + """.utf8)) + + #expect(snapshot.productUsage == [ + GrokProductUsage(product: "GrokImagine", usedPercent: 2.5), + GrokProductUsage(product: "FutureGrok", usedPercent: 0), + GrokProductUsage(product: "GrokChat", usedPercent: 39.5), + ]) + } + + @Test + func `malformed products do not change the weekly total or period`() throws { + let now = try Self.date("2026-09-23T00:00:00Z") + let base = #""" + {"config":{"creditUsagePercent":42,"currentPeriod":{"start":"2026-09-20T00:00:00Z","end":"2026-09-27T00:00:00Z"} + """# + let baseline = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)}}".utf8), now: now) + let cases: [(String, [GrokProductUsage])] = [ + (#", "productUsage":{}"#, []), + (#", "productUsage":"wrong""#, []), + (#", "productUsage":[{"product":"GrokBuild","usagePercent":"1"}]"#, []), + (#", "productUsage":[{"usagePercent":1}]"#, []), + (#", "productUsage":[{"product":"GrokBuild","usagePercent":-1}]"#, []), + (#", "productUsage":[{"product":" ","usagePercent":1}]"#, []), + (#", "productUsage":[{"product":"GrokImagine","usagePercent":1e400}]"#, []), + ( + #", "productUsage":[{"product":"GrokChat","usagePercent":42},42]"#, + [GrokProductUsage(product: "GrokChat", usedPercent: 42)]), + ] + for (fragment, expectedProducts) in cases { + let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)\(fragment)}}".utf8), now: now) + #expect(snapshot.productUsage == expectedProducts) + #expect(snapshot.usedPercent == baseline.usedPercent) + #expect(snapshot.resetsAt == baseline.resetsAt) + #expect(snapshot.windowMinutes == baseline.windowMinutes) + #expect(snapshot.subscriptionTier == baseline.subscriptionTier) + #expect(snapshot.usedPercentIsWirePublished == baseline.usedPercentIsWirePublished) + #expect(snapshot.usedPercentIsImplicitZero == baseline.usedPercentIsImplicitZero) + } + #expect(baseline.productUsage.isEmpty) + } + + @Test + func `products attach only to the published credit percentage`() throws { + let cases: [(String, Double?)] = [ + (#""onDemandCap":{"val":100},"onDemandUsed":{"val":3}"#, 3), + (#""billingPeriodEnd":"2026-09-27T00:00:00Z""#, nil), + ] + for (fields, percent) in cases { + let payload = "{\"config\":{\(fields),\"productUsage\":[{\"product\":\"GrokBuild\",\"usagePercent\":3}]}}" + let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data(payload.utf8)) + #expect(snapshot.usedPercent == percent) + #expect(snapshot.productUsage.isEmpty) + } + } + + @Test + func `product shares that do not compose the credit percentage are dropped`() throws { + let now = try Self.date("2026-09-23T00:00:00Z") + let base = #""" + {"config":{"creditUsagePercent":30,"currentPeriod":{"start":"2026-09-20T00:00:00Z","end":"2026-09-27T00:00:00Z"} + """# + let baseline = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)}}".utf8), now: now) + let products = [ + #", "productUsage":[{"product":"GrokBuild","usagePercent":60}]"#, + #", "productUsage":[{"product":"GrokBuild","usagePercent":20},{"product":"GrokChat","usagePercent":5}]"#, + ] + for fragment in products { + let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)\(fragment)}}".utf8), now: now) + #expect(snapshot.productUsage.isEmpty) + #expect(snapshot.usedPercent == baseline.usedPercent) + #expect(snapshot.resetsAt == baseline.resetsAt) + #expect(snapshot.windowMinutes == baseline.windowMinutes) + #expect(snapshot.subscriptionTier == baseline.subscriptionTier) + #expect(snapshot.usedPercentIsWirePublished == baseline.usedPercentIsWirePublished) + #expect(snapshot.usedPercentIsImplicitZero == baseline.usedPercentIsImplicitZero) + } + } + + @Test + func `product shares within rounding of the credit percentage are kept`() throws { + let rounded = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + {"config":{"creditUsagePercent":10,"productUsage":[ + {"product":"GrokBuild","usagePercent":6.0}, + {"product":"GrokChat","usagePercent":3.6} + ]}} + """.utf8)) + #expect(rounded.usedPercent == 10) + #expect(rounded.productUsage == [ + GrokProductUsage(product: "GrokBuild", usedPercent: 6), + GrokProductUsage(product: "GrokChat", usedPercent: 3.6), + ]) + + let full = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + {"config":{"creditUsagePercent":100,"productUsage":[ + {"product":"GrokBuild","usagePercent":46}, + {"product":"GrokAppBuilder","usagePercent":45}, + {"product":"GrokChat","usagePercent":7}, + {"product":"GrokAutomations","usagePercent":2} + ]}} + """.utf8)) + #expect(full.usedPercent == 100) + #expect(full.productUsage == [ + GrokProductUsage(product: "GrokBuild", usedPercent: 46), + GrokProductUsage(product: "GrokAppBuilder", usedPercent: 45), + GrokProductUsage(product: "GrokChat", usedPercent: 7), + GrokProductUsage(product: "GrokAutomations", usedPercent: 2), + ]) + } + + @Test + func `product shares use the raw overage credit percentage`() throws { + let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + {"config":{"creditUsagePercent":120,"productUsage":[{"product":"GrokBuild","usagePercent":120}]}} + """.utf8)) + #expect(snapshot.usedPercent == 100) + #expect(snapshot.productUsage == [GrokProductUsage(product: "GrokBuild", usedPercent: 120)]) + } + + @Test + func `billing snapshot copies keep product composition`() { + let products = [GrokProductUsage(product: "GrokBuild", usedPercent: 1)] + let proxyWithProducts = GrokWebBillingSnapshot(usedPercent: 1, resetsAt: nil, productUsage: products) + let grpcLike = GrokWebBillingSnapshot(usedPercent: 2, resetsAt: nil) + let otherProducts = GrokWebBillingSnapshot( + usedPercent: 3, + resetsAt: nil, + productUsage: [GrokProductUsage(product: "GrokChat", usedPercent: 3)]) + #expect(proxyWithProducts.applying(subscriptionTier: "SuperGrok").productUsage == products) + #expect(grpcLike.completing(with: proxyWithProducts).productUsage.isEmpty) + #expect(proxyWithProducts.completing(with: grpcLike).productUsage == products) + #expect(proxyWithProducts.completing(with: otherProducts).productUsage == products) + } + + @Test + func `product details share the primary weekly pool without extra bars`() throws { + let products = [ + GrokProductUsage(product: "GrokBuild", usedPercent: 1), + GrokProductUsage(product: "GrokChat", usedPercent: 5), + GrokProductUsage(product: "GrokImagine", usedPercent: 0), + GrokProductUsage(product: " FutureGrok ", usedPercent: 0.2), + GrokProductUsage(product: "GrokAppBuilder", usedPercent: 5), + ] + let now = Date(timeIntervalSince1970: 1_800_000_000) + let usage = GrokUsageSnapshot( + billing: nil, + webBilling: GrokWebBillingSnapshot(usedPercent: 11.2, resetsAt: nil, productUsage: products), + credentials: nil, + localSummary: nil, + cliVersion: nil, + updatedAt: now).toUsageSnapshot() + let section = try #require(usage.details.first) + + #expect(usage.primary?.usedPercent == 11.2) + #expect(usage.details.count == 1) + #expect(section.title == "Usage breakdown") + #expect(section.rows.map(\.id) == [ + "grok.product.GrokChat", "grok.product.GrokAppBuilder", "grok.product.GrokBuild", + "grok.product.FutureGrok", + ]) + #expect(section.rows.map(\.label) == ["Grok Chat", "Grok App Builder", "Grok Build", "FutureGrok"]) + #expect(section.rows.map(\.value) == ["5%", "5%", "1%", "<1%"]) + #expect(section.rows.allSatisfy { $0.progress == nil && $0.secondaryValue == nil }) + #expect(usage.secondary == nil) + #expect(usage.tertiary == nil) + #expect(usage.extraRateWindows?.isEmpty != false) + #expect(GrokProductUsageDetails.sections(for: []).isEmpty) + + let empty = GrokUsageSnapshot( + billing: nil, + webBilling: GrokWebBillingSnapshot(usedPercent: 11.2, resetsAt: nil), + credentials: nil, + localSummary: nil, + cliVersion: nil, + updatedAt: now).toUsageSnapshot() + let unknown = GrokUsageSnapshot( + billing: nil, + webBilling: GrokWebBillingSnapshot(usedPercent: nil, resetsAt: nil, productUsage: products), + credentials: nil, + localSummary: nil, + cliVersion: nil, + updatedAt: now).toUsageSnapshot() + #expect(empty.details.isEmpty) + #expect(unknown.primary == nil) + #expect(unknown.details.isEmpty) + } +} + private final class EventRecorder: @unchecked Sendable { private let lock = NSLock() private var storage: [String] = [] diff --git a/Tests/CodexBarTests/GrokMenuCardModelTests.swift b/Tests/CodexBarTests/GrokMenuCardModelTests.swift index 5a8ec88f1e..a7102a9b28 100644 --- a/Tests/CodexBarTests/GrokMenuCardModelTests.swift +++ b/Tests/CodexBarTests/GrokMenuCardModelTests.swift @@ -197,6 +197,36 @@ struct GrokMenuCardModelTests { #expect(model.providerDetails.isEmpty) } + @Test + func `product composition appears in card details without adding a metric`() throws { + let now = Date(timeIntervalSince1970: 1_800_000_000) + let billing = GrokWebBillingSnapshot( + usedPercent: 29, + resetsAt: now.addingTimeInterval(5 * 86400), + windowMinutes: 10080, + productUsage: [ + GrokProductUsage(product: "GrokBuild", usedPercent: 28), + GrokProductUsage(product: "GrokChat", usedPercent: 1), + ]) + let usage = GrokUsageSnapshot( + billing: nil, + webBilling: billing, + credentials: nil, + localSummary: nil, + cliVersion: nil, + updatedAt: now).toUsageSnapshot() + let window = try #require(usage.primary) + let withoutProducts = try Self.model(now: now, window: window) + let withProducts = try Self.model(now: now, window: window, details: usage.details) + + #expect(withProducts.metrics.map(\.id) == withoutProducts.metrics.map(\.id)) + #expect(withProducts.metrics.count == 1) + #expect(withProducts.providerDetails.count == 1) + #expect(withProducts.providerDetails.first?.title == "Usage breakdown") + #expect(withProducts.providerDetails.first?.rows.map(\.label) == ["Grok Build", "Grok Chat"]) + #expect(withProducts.providerDetails.first?.rows.map(\.value) == ["28%", "1%"]) + } + @Test func `untyped coupon details cannot invent current reset credits`() throws { let now = Date(timeIntervalSince1970: 1_787_647_576) diff --git a/Tests/CodexBarTests/GrokRemainingResetsRoutingTests.swift b/Tests/CodexBarTests/GrokRemainingResetsRoutingTests.swift index 04d8d9e42b..c26ac58b21 100644 --- a/Tests/CodexBarTests/GrokRemainingResetsRoutingTests.swift +++ b/Tests/CodexBarTests/GrokRemainingResetsRoutingTests.swift @@ -84,7 +84,8 @@ struct GrokRemainingResetsRoutingTests { GrokWebBillingResult( snapshot: GrokWebBillingSnapshot( usedPercent: 29, - resetsAt: now.addingTimeInterval(86400)), + resetsAt: now.addingTimeInterval(86400), + productUsage: [GrokProductUsage(product: "GrokBuild", usedPercent: 4)]), sourceLabel: "Chrome Profile 2", authContext: .cookie("sso=winning")) }, @@ -104,6 +105,30 @@ struct GrokRemainingResetsRoutingTests { #expect(capturedCookie.value == "sso=winning") #expect(result.usage.details.first?.rows.first?.value == "1 available") + #expect(result.usage.details.count == 2) + #expect(result.usage.details[1].title == "Usage breakdown") + #expect(result.usage.details[1].rows.first?.value == "4%") + } + + @Test + func `web strategy keeps product details when no reset credit is available`() async throws { + let result = try await GrokWebFetchStrategy().fetch( + Self.webContext(includeOptionalUsage: true), + webBilling: { _ in + GrokWebBillingResult( + snapshot: GrokWebBillingSnapshot( + usedPercent: 29, + resetsAt: nil, + productUsage: [GrokProductUsage(product: "GrokChat", usedPercent: 3)]), + sourceLabel: "Chrome", + authContext: .cookie("sso=winning")) + }, + settingsTier: { _ in nil }, + remainingResets: { _, _, _ in .empty }) + + #expect(result.usage.details.count == 1) + #expect(result.usage.details.first?.title == "Usage breakdown") + #expect(result.usage.details.first?.rows.first?.label == "Grok Chat") } @Test @@ -169,7 +194,8 @@ struct GrokRemainingResetsRoutingTests { billing: nil, webBilling: GrokWebBillingSnapshot( usedPercent: 29, - resetsAt: now.addingTimeInterval(86400)), + resetsAt: now.addingTimeInterval(86400), + productUsage: [GrokProductUsage(product: "GrokImagine", usedPercent: 2)]), credentials: nil, localSummary: nil, cliVersion: nil, @@ -185,6 +211,9 @@ struct GrokRemainingResetsRoutingTests { #expect(result.usage.grokResetCredits == resetCredits) #expect(result.usage.details.first?.rows.first?.value == "1 available") + #expect(result.usage.details.count == 2) + #expect(result.usage.details[1].title == "Usage breakdown") + #expect(result.usage.details[1].rows.first?.label == "Grok Imagine") #expect(result.supplementalUsageTask == nil) } diff --git a/docs/grok.md b/docs/grok.md index d1ad11ec55..757c6d9f65 100644 --- a/docs/grok.md +++ b/docs/grok.md @@ -239,6 +239,22 @@ The grok.com billing gRPC-web endpoint remains a best-effort fallback. when `resetsAt` matches a common cycle, falling back to the registered "Credits" label otherwise. Settings and history views continue to use "Credits" as the stable metric name. +- **Usage breakdown by product**: + - From `config.productUsage` on `/v1/billing?format=credits` + (`[{ "product": "GrokBuild", "usagePercent": 1.0 }]`; also `GrokChat`, + `GrokImagine`, `GrokAppBuilder`). Shares only appear next to the total from + the same payload. If the proxy sends products without a total and the + percent comes from the grok.com fallback, the products are dropped. + - Every product percentage is a share of the same weekly pool as the primary + window, so it is never a rate window or progress bar. It renders as plain + `Usage breakdown` text rows (`Grok Build 1%`) under the weekly bar, sorted by + share, with zero-usage products omitted. + - Shown only when the primary window comes from the wire `creditUsagePercent` + and the kept product shares add up to that raw (unclamped) percentage within + 1 percentage point. Every sample so far satisfies this (100 = 46 + 45 + 7 + 2, + 20 = 20, 1 = 1). Shares are dropped under the on-demand `used/cap` fallback, + under a period-only answer, and whenever they don't add up. Malformed arrays or + entries are dropped individually and never change the weekly total or period. - **Usage-limit reset coupons**: - From `GetRemainingResets`, not from `/v1/billing?format=credits`. - Shown as a `Limit Reset Credits` detail row (`1 available`, next expiry). From d869b4a14dc91623926637540a9581d5defe0e27 Mon Sep 17 00:00:00 2001 From: olddonkey Date: Thu, 24 Sep 2026 21:58:36 -0700 Subject: [PATCH 2/3] test(grok): pin live multi-product credits payloads Four live `?format=credits` payloads from one account (2026-09-25), below 100% with two products after grok.com chat usage: 2 = 1+1, 3 = 2+1, 4 = 3+1, 6 = 4+2 (GrokBuild + GrokChat). Each parses to its wire products and sums to the weekly total; the 6 = 4+2 payload renders one bar plus "Grok Chat 4%" / "Grok Build 2%" rows. Also refresh the card renders from a live two-product snapshot and document the samples (grok.com chat = GetGrokCreditsConfig product id 4). Co-Authored-By: Claude Opus 5.5 --- .github/pr-proof/grok-product-usage/README.md | 33 ++--- .../grok-product-usage/after-dark.png | Bin 36529 -> 40809 bytes .github/pr-proof/grok-product-usage/after.png | Bin 35587 -> 39711 bytes .../pr-proof/grok-product-usage/before.png | Bin 26586 -> 26713 bytes .../GrokCreditsProxyFetcherTests.swift | 116 ++++++++++++++++++ docs/grok.md | 7 +- 6 files changed, 139 insertions(+), 17 deletions(-) diff --git a/.github/pr-proof/grok-product-usage/README.md b/.github/pr-proof/grok-product-usage/README.md index fde919b466..302364bf37 100644 --- a/.github/pr-proof/grok-product-usage/README.md +++ b/.github/pr-proof/grok-product-usage/README.md @@ -1,22 +1,25 @@ # Grok product usage breakdown proof -The production `UsageMenuCardView` is rendered offscreen at 310 pt from a -**live** Grok snapshot, with the model built by `UsageMenuCardView.Model.make` -and `hidePersonalInfo: true`. +These images are the production `UsageMenuCardView`, rendered offscreen at +310 pt from a **live** multi-product Grok snapshot. The card model was built +with `UsageMenuCardView.Model.make` and `hidePersonalInfo: true`. -- **Source data:** the `usage` object printed by this branch's +- **Source:** the `usage` object printed by this branch's `CodexBarCLI usage --provider grok --source oauth --format json` - (2026-09-23 15:56 UTC). It read only `~/.grok/auth.json`, with an isolated - `CFFIXED_USER_HOME` and `CODEXBAR_DISABLE_KEYCHAIN_ACCESS=1`. + (2026-09-25 04:54 UTC). The run read only `~/.grok/auth.json`, with an + isolated `CFFIXED_USER_HOME` and `CODEXBAR_DISABLE_KEYCHAIN_ACCESS=1`. - **Redaction:** the account email and organization were removed from that - JSON before rendering. The decoded snapshot has one primary window - (Weekly, 1% used) and the new `Usage breakdown` section (`Grok Build 1%`). -- **Before and after:** `after.png` and `after-dark.png` render that snapshot - as-is. `before.png` renders the same snapshot with `details` cleared, which - is what main produces for this payload because its decoder drops - `productUsage`. This change does not touch any view code. + JSON before rendering. +- **What the snapshot contains:** one primary window (Weekly, 6% used) and a + `Usage breakdown` section with `Grok Chat 4%` and `Grok Build 2%`. Those rows + come from the live credits payload + `creditUsagePercent 6 = GrokChat 4 + GrokBuild 2`. +- **Before and after:** `after.png` and `after-dark.png` render the snapshot + as-is. `before.png` renders the same snapshot with `details` cleared. That is + what released 0.65.0 shows for this payload, because its decoder drops + `productUsage`. This change touches no view code. No app was launched, no window was shown, and nothing was captured from the -screen. The render harness was a temporary test that was not committed: -decode the JSON with an ISO 8601 `JSONDecoder`, build the card model, then -`NSHostingView` + `cacheDisplay` into a 2× bitmap. +screen. The render harness was a temporary test and was not committed. It +decodes the JSON with an ISO 8601 `JSONDecoder`, builds the card model, then +renders through `NSHostingView` + `cacheDisplay` into a 2× bitmap. diff --git a/.github/pr-proof/grok-product-usage/after-dark.png b/.github/pr-proof/grok-product-usage/after-dark.png index 094861e7ed547182475a231fc296748b8bb48d7a..8d0e16944dbe77875744847b3c7224aabffb66a9 100644 GIT binary patch literal 40809 zcmeFZXH-*58#auBAV&lN4@C&Qc|Z`58c0y2NfS|#L+>KJg%*eu#R$?BkrEXIIdnpm z5=tnc1P}y5FQG{wp$7=?hVwkbF|KiBgg&;L{6 zy!%Jmf4-lCo)uM3=WU=~7`=7P{b*=7M9)6w^d5+iXlOKO^zPn%7<7&>wOZ<779d6m zo0_P-;E;iBvgIkeoTu<+wSGY4%fqh^-(FpO^I5`1x8Nl1fnL(RzgTwfCH>S-HG?N7 zN(kP#!eGE{c`i!U*1_GOmdl%=wxuI%dwM2%xuT)b*v~j{ziyxVyQ*8UN+)lh{4%d! zQQhdYOMl&R_R&t!L%P=*tPUAyig*k+-Vy-H$S%`@h_d&|t4-j{fDAl*)O- zv3Cto&#eEgd7th>SpXBYiGM2EVpyNHR^tH=w|{AWAiCJ$?+5+2lzu$5X;I?G4`#nS zPRt!Z`=9RoUFwN1wdotd3_lwFZTsWJTXt()|8$yKsySJBAld^1{JQk}|9bF|(W3Kz zL%UD+jyFQgU4QzvLh0F1|Jwt@F;)6sI#`CMHf^!R{8#WVJ$TwWBKzOsf8Q0=`N%kt z9C*J^^1o&~`;omm{@+HarT+h6qS^O%%G59N1`PN6%{jy$sGyD2cZcuqpxKSx6I$=x z_;+~B7IYA+)^~I(wF~hX>o}wfgiziYk6g<~golU;CiAKvuH@tlF>6Jl-?1C3`E-n= z7=wbx_K}EV_pzl+{CXMSQ9#kZRv&vn2YJ*A*%{R7&pw)5j(1#nTMAv&eTfAU8`ANH zzB~97W2`6YcrQJ7<=a{b&ockhx zY>M^nEFkjiSJ-R>gL8Z*U#R;Yc_AU;o6WbTFf*K;!?L+cmcrG#ce;N`{_=Ls+Flv^ zoiSqy>DR9wxJOwA!}can#}f`|>$xdLAN0O&B|Xh-nvJ}qJr6lpOzYpMCpO_a!6%#L z$bcb3r8nps(21~jmKDXnuD?E^GD$W?{ukNdhpWOSDV14}an}Xm`@~3`pZL6Y&k`|otBT~tq*oH2^<=^^L6*%m$o_NKfSAD30u)za4^Dr$dV*R zOuv9TZ(K<)n!k&?vq{50$Z!Tl*v#(^Ax`}FYG6k-4$Fj> zJf2*P=^}={yJoOmGo&9@#bxgZb$Y~*tXA*Ec7yTzmo#hDk{Qa95{o$-Xs4C4$y>yc ztqwuKiz83>W=H<(dejhGlgxkq`)(cZS@d41te_lAiOKx0OwE{Ob`41=aRC;{%#NMt#Q^H6bMxZEr)J z$fD+K67USoVC(@$eso_vZylQi&;`=E@^(^hOT-6s{%vZK+j4>j=&!zb^POIC_nlcS z$Pba%!AjWp%qaz6lz)E>;LTzFzg|Z9^O+_3bdrZZ{t7xB#2q8^eBz}-}Xc5 zAvo!kmjT~qmAy4c%{-_zk;6CM0zPF^S|6@^cdIXjuDixi^chopX5y3rf*i@OlDQO*n{yfV(1JHv7s)Hb`FVLPJ|ZJuUAhnlk~nr zZ@nhu9Z0;D#t0pKcDqS9)wE_)JghQ4FQM0)aQYIp{EGuHIJ2*z?~-n-*!AQ@y+qz= z2c*1H+C3o=Szn11UZ)!UP$#|a=d*tvxmIv^S7wO?2IYIS)lADzRMyDHi1@J8Lnj{2 z*Ki-KRpmhceMy=(G;LSe6=ybf20umXL^_P>f8RbFMTJ8xcGhf8562b{^I?biNzDg) zVtl*FKoOJe=?pL1Z`t_=cdt`+4!*tx`HI4(721g4>jo%|+1N{LC@r9K_c}gFpSh0H zI%tlpm$=_Z40EX2=$0&nj?{Z?L-v~f_twarjp_!_9r97c6EZ4dAC6+u%OnXfzO_

WSRt@rIoKwmM;a&ML%y8T-#yGWr=?Dkm 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

B?RCZZ>Wtc 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

JgX5?fTvXiWafA4~ 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 I-zeaJ05-fkxBvhE diff --git a/.github/pr-proof/grok-product-usage/after.png b/.github/pr-proof/grok-product-usage/after.png index 7d27271b730d37c096a07250f60c71ded62a90ed..5c6b65157817955f9d0f8a6dff25cda32e504dab 100644 GIT binary patch literal 39711 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 Date: Thu, 24 Sep 2026 23:24:35 -0700 Subject: [PATCH 3/3] fix(grok): drop the whole product breakdown on any malformed entry Malformed `productUsage` entries were dropped one by one before the 1 pp composition check, so an incomplete list could still pass it: with `creditUsagePercent: 6`, a valid Chat 5 plus a malformed Build entry left 5, within tolerance, and rendered as a complete "Usage breakdown". Decode products all-or-nothing: a single malformed entry (or a non-array value) now yields no breakdown. The weekly total, period, tier, and usage flags are unchanged, and unknown product names or zero-usage entries remain valid. Co-Authored-By: Claude Opus 5.5 --- .../Grok/GrokCreditsProxyFetcher.swift | 25 ++++++----- .../GrokCreditsProxyFetcherTests.swift | 45 +++++++++++++++++-- docs/grok.md | 6 ++- 3 files changed, 59 insertions(+), 17 deletions(-) diff --git a/Sources/CodexBarCore/Providers/Grok/GrokCreditsProxyFetcher.swift b/Sources/CodexBarCore/Providers/Grok/GrokCreditsProxyFetcher.swift index c7ce222be4..7715536663 100644 --- a/Sources/CodexBarCore/Providers/Grok/GrokCreditsProxyFetcher.swift +++ b/Sources/CodexBarCore/Providers/Grok/GrokCreditsProxyFetcher.swift @@ -101,7 +101,7 @@ public enum GrokCreditsProxyFetcher { _ products: [GrokProductUsage], creditUsagePercent: Double) -> [GrokProductUsage] { - // Shares must compose this payload's credit percentage; mismatched or on-demand shapes are dropped. + // Shares must compose this payload's credit percentage; any malformed entry drops the breakdown. guard !products.isEmpty else { return [] } let sum = products.reduce(0) { $0 + $1.usedPercent } return abs(sum - creditUsagePercent) <= Self.productCompositionTolerancePercent ? products : [] @@ -133,32 +133,33 @@ public enum GrokCreditsProxyFetcher { } private struct LossyProductUsageArray: Decodable { - let values: [GrokProductUsage] + let values: [GrokProductUsage]? init(from decoder: Decoder) { self.values = (try? decoder.singleValueContainer().decode([LossyProductUsage].self))? - .compactMap(\.value) ?? [] + .map(\.value) } } private struct LossyProductUsage: Decodable { - let value: GrokProductUsage? + let value: GrokProductUsage private enum CodingKeys: String, CodingKey { case product case usagePercent } - init(from decoder: Decoder) { - let container = try? decoder.container(keyedBy: CodingKeys.self) - let product = (try? container?.decode(String.self, forKey: .product))? + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + let product = try container.decode(String.self, forKey: .product) .trimmingCharacters(in: .whitespacesAndNewlines) - let percent = try? container?.decode(Double.self, forKey: .usagePercent) - if let product, !product.isEmpty, let percent, percent.isFinite, percent >= 0 { - self.value = GrokProductUsage(product: product, usedPercent: percent) - } else { - self.value = nil + let percent = try container.decode(Double.self, forKey: .usagePercent) + guard !product.isEmpty, percent.isFinite, percent >= 0 else { + throw DecodingError.dataCorrupted(.init( + codingPath: decoder.codingPath, + debugDescription: "Invalid product usage")) } + self.value = GrokProductUsage(product: product, usedPercent: percent) } } diff --git a/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift b/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift index 48276f6a0f..7cdb58f42a 100644 --- a/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift +++ b/Tests/CodexBarTests/GrokCreditsProxyFetcherTests.swift @@ -885,16 +885,17 @@ extension GrokCreditsProxyFetcherTests { """# let baseline = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)}}".utf8), now: now) let cases: [(String, [GrokProductUsage])] = [ + (#", "productUsage":null"#, []), (#", "productUsage":{}"#, []), (#", "productUsage":"wrong""#, []), (#", "productUsage":[{"product":"GrokBuild","usagePercent":"1"}]"#, []), (#", "productUsage":[{"usagePercent":1}]"#, []), + (#", "productUsage":[{"product":42,"usagePercent":1}]"#, []), + (#", "productUsage":[{"product":"GrokBuild"}]"#, []), (#", "productUsage":[{"product":"GrokBuild","usagePercent":-1}]"#, []), (#", "productUsage":[{"product":" ","usagePercent":1}]"#, []), (#", "productUsage":[{"product":"GrokImagine","usagePercent":1e400}]"#, []), - ( - #", "productUsage":[{"product":"GrokChat","usagePercent":42},42]"#, - [GrokProductUsage(product: "GrokChat", usedPercent: 42)]), + (#", "productUsage":[{"product":"GrokChat","usagePercent":42},42]"#, []), ] for (fragment, expectedProducts) in cases { let snapshot = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)\(fragment)}}".utf8), now: now) @@ -909,6 +910,44 @@ extension GrokCreditsProxyFetcherTests { #expect(baseline.productUsage.isEmpty) } + @Test + func `a malformed product entry drops the whole breakdown near the tolerance`() throws { + let now = try Self.date("2026-09-23T00:00:00Z") + let base = #""" + {"config":{"creditUsagePercent":6,"currentPeriod":{"start":"2026-09-20T00:00:00Z", + "end":"2026-09-27T00:00:00Z"},"subscriptionTier":"SUPERGROK_HEAVY" + """# + let baseline = try GrokCreditsProxyFetcher.parseSnapshot(Data("\(base)}}".utf8), now: now) + let malformed = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + \(base),"productUsage":[{"product":"GrokChat","usagePercent":5}, + {"product":"GrokBuild","usagePercent":"1"}]}} + """.utf8), now: now) + + #expect(malformed.productUsage.isEmpty) + #expect(malformed.usedPercent == 6) + #expect(malformed.resetsAt == baseline.resetsAt) + #expect(malformed.windowMinutes == baseline.windowMinutes) + #expect(malformed.subscriptionTier == baseline.subscriptionTier) + #expect(malformed.usedPercentIsWirePublished == baseline.usedPercentIsWirePublished) + #expect(malformed.usedPercentIsImplicitZero == baseline.usedPercentIsImplicitZero) + + let exactRemainder = try GrokCreditsProxyFetcher.parseSnapshot(Data(""" + {"config":{"creditUsagePercent":5,"productUsage":[ + {"product":"GrokChat","usagePercent":5},{"usagePercent":1}]}} + """.utf8), now: now) + #expect(exactRemainder.usedPercent == 5) + #expect(exactRemainder.productUsage.isEmpty) + + let usage = GrokUsageSnapshot( + billing: nil, + webBilling: malformed, + credentials: nil, + localSummary: nil, + cliVersion: nil, + updatedAt: now).toUsageSnapshot() + #expect(usage.details.isEmpty) + } + @Test func `products attach only to the published credit percentage`() throws { let cases: [(String, Double?)] = [ diff --git a/docs/grok.md b/docs/grok.md index abb039e382..5e46645ae8 100644 --- a/docs/grok.md +++ b/docs/grok.md @@ -256,8 +256,10 @@ The grok.com billing gRPC-web endpoint remains a best-effort fallback. 4 = 3 + 1, and 6 = 4 + 2. grok.com chat is `GrokChat`, which is product id 4 on `GetGrokCreditsConfig`; Build is id 2. Values are whole percents on both surfaces. Shares are dropped under the on-demand `used/cap` fallback, - under a period-only answer, and whenever they don't add up. Malformed arrays or - entries are dropped individually and never change the weekly total or period. + under a period-only answer, and whenever they don't add up. A single malformed + entry, or a non-array value, drops the whole breakdown. That way a partial + list can't pass the sum check as if it were complete. It never changes the + weekly total or period. - **Usage-limit reset coupons**: - From `GetRemainingResets`, not from `/v1/billing?format=credits`. - Shown as a `Limit Reset Credits` detail row (`1 available`, next expiry).