From 7402cf930f9710d20f8682d693dc5d4a87861a6a Mon Sep 17 00:00:00 2001 From: Aleksandr Zverev Date: Wed, 14 Oct 2026 09:50:46 +0300 Subject: [PATCH 1/2] feat(models): refresh Command Code catalog to 1.82.1 Synchronize the static capability snapshot with command-code@1.82.1. Two image-capable reasoning models are new: google/gemini-4-argon (low/medium/high) and meta/muse-wonder-1.0 (low/medium/high/xhigh). No models were retired and no existing efforts, output limits, or image flags changed. Add reviewed display pricing for both, verified against the official pricing page on 2026-10-14: gemini-4-argon at $2 input / $10 output with a $0.10 cache read, and muse-wonder-1.0 at $4 input / $20 output with a $0.20 cache read. Neither publishes a cache-write rate. --- CHANGELOG.md | 5 +++++ README.md | 2 +- src/commandcode-catalog.ts | 10 ++++++++-- src/pricing.ts | 4 +++- tests/fixtures/commandcode-model-ids.json | 4 +++- tests/fixtures/commandcode-pricing.json | 4 +++- tests/test-pricing.ts | 14 ++++++++++++-- 7 files changed, 35 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ebcaee..cd3553e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## Unreleased + +- Refresh the static capability snapshot to `command-code@1.82.1` by adding `google/gemini-4-argon` (image input, reasoning, `low`/`medium`/`high` efforts) and `meta/muse-wonder-1.0` (image input, reasoning, `low`/`medium`/`high`/`xhigh` efforts). +- Add reviewed display pricing for both new models, verified against the official pricing page on 2026-10-14: `google/gemini-4-argon` at $2 input / $10 output / $0.10 cache read per million tokens, and `meta/muse-wonder-1.0` at $4 input / $20 output / $0.20 cache read. Neither publishes a cache-write rate. The snapshot now covers all 89 advertised models. + ## 0.7.7 - 2026-10-11 - Recognize the `off` reasoning effort now published for the DeepSeek V4 and V4.1 models, so the catalog parser no longer rejects it and the generate transport never forwards `off` as `reasoning_effort`. The Provider API and Oh My Pi adapters translate the level from the model's thinking metadata on their own wire. diff --git a/README.md b/README.md index 3000228..cc5f368 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ The following environment variables are intended for tests, local mocks, and com ## Image input -The provider advertises image input only for models marked with the `image` input modality in the official Command Code CLI model catalog. The capability snapshot currently follows `command-code@1.79.2`; unknown models default to text-only until their upstream metadata is reviewed. A daily GitHub Actions job synchronizes the CLI version, image capabilities, reasoning flags, reasoning efforts, and model-specific output limits with the latest published CLI package, also dropping manual effort overrides that upstream has published itself, and opens or updates a reviewable pull request when they change. Pricing remains manually reviewed because temporary promotions and long-context tiers require explicit review. +The provider advertises image input only for models marked with the `image` input modality in the official Command Code CLI model catalog. The capability snapshot currently follows `command-code@1.82.1`; unknown models default to text-only until their upstream metadata is reviewed. A daily GitHub Actions job synchronizes the CLI version, image capabilities, reasoning flags, reasoning efforts, and model-specific output limits with the latest published CLI package, also dropping manual effort overrides that upstream has published itself, and opens or updates a reviewable pull request when they change. Pricing remains manually reviewed because temporary promotions and long-context tiers require explicit review. For vision-capable models, Pi's native provider adapters forward image blocks from user messages and tool results using the documented OpenAI or Anthropic message schema. Unknown and text-only models remain marked text-only in Pi. diff --git a/src/commandcode-catalog.ts b/src/commandcode-catalog.ts index 9f51328..40beae8 100644 --- a/src/commandcode-catalog.ts +++ b/src/commandcode-catalog.ts @@ -1,4 +1,4 @@ -export const COMMAND_CODE_CLI_VERSION = "1.79.2" +export const COMMAND_CODE_CLI_VERSION = "1.82.1" export type CommandCodeInputType = "text" | "image" export type CommandCodeReasoningEffort = @@ -11,7 +11,7 @@ export type CommandCodeReasoningEffort = | "max" /** - * Generated from command-code@1.79.2 by `npm run sync:commandcode-catalog`. + * Generated from command-code@1.82.1 by `npm run sync:commandcode-catalog`. * Do not edit manually. */ export const MODEL_INPUT_MODALITIES: Readonly> = { @@ -35,6 +35,7 @@ export const MODEL_INPUT_MODALITIES: Readonly> = { "google/gemini-3.6-flash": true, "google/gemini-3.7-flash": true, "google/gemini-3.8-flash": true, + "google/gemini-4-argon": true, "gpt-5.3-codex": true, "gpt-5.4": true, "gpt-5.4-mini": true, @@ -124,6 +127,7 @@ export const MODEL_REASONING: Readonly> = { "meta/muse-spark-1.2-contributor": true, "meta/muse-spark-1.3": true, "meta/muse-spark-1.3-contributor": true, + "meta/muse-wonder-1.0": true, "MiniMaxAI/MiniMax-M3": true, "mistral/mistral-large-4": true, "moonshotai/Kimi-K2.7-Code": true, @@ -182,6 +186,7 @@ export const MODEL_EFFORTS: Readonly> = { "meta/muse-spark-1.1": { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 }, "meta/muse-spark-1.2": { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 }, "meta/muse-spark-1.3": { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 }, + "meta/muse-wonder-1.0": { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 0 }, "meta/muse-spark-1.2-contributor": { input: 0.1, output: 0.2, @@ -305,6 +306,7 @@ export const MODEL_COSTS: Readonly> = { cacheRead: 0.15, cacheWrite: 0.08334, }, + "google/gemini-4-argon": { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 0 }, "google/gemini-3.8-flash": { input: 1.5, output: 7.5, diff --git a/tests/fixtures/commandcode-model-ids.json b/tests/fixtures/commandcode-model-ids.json index f48d54a..9f2a5e5 100644 --- a/tests/fixtures/commandcode-model-ids.json +++ b/tests/fixtures/commandcode-model-ids.json @@ -1,5 +1,5 @@ { - "fetchedAt": "2026-10-09T06:21:21.675Z", + "fetchedAt": "2026-10-14T06:43:23.341Z", "source": "https://api.commandcode.ai/provider/v1/models", "modelIds": [ "claude-sonnet-5-5", @@ -66,6 +66,7 @@ "stepfun/Step-3.5-Flash", "tencent/hy3-paid", "tencent/hy4-preview", + "google/gemini-4-argon", "google/gemini-3.8-flash", "google/gemini-3.7-flash", "google/gemini-3.6-flash", @@ -85,6 +86,7 @@ "meta/muse-spark-1.2-contributor", "meta/muse-spark-1.3", "meta/muse-spark-1.3-contributor", + "meta/muse-wonder-1.0", "xai/grok-4.5", "xai/grok-4.6", "xai/grok-4.7", diff --git a/tests/fixtures/commandcode-pricing.json b/tests/fixtures/commandcode-pricing.json index 03b0ef0..74223cc 100644 --- a/tests/fixtures/commandcode-pricing.json +++ b/tests/fixtures/commandcode-pricing.json @@ -1,5 +1,5 @@ { - "verifiedAt": "2026-10-09", + "verifiedAt": "2026-10-14", "source": "https://commandcode.ai/docs/resources/pricing-limits", "tierPolicy": "Use request-wide input tiers; the highest threshold exceeded by input plus cache tokens applies to the full request.", "tiers": { @@ -75,6 +75,7 @@ "meta/muse-spark-1.1": [1.25, 4.25, 0.15, 0], "meta/muse-spark-1.2": [1.25, 4.25, 0.15, 0], "meta/muse-spark-1.3": [1.25, 4.25, 0.15, 0], + "meta/muse-wonder-1.0": [4, 20, 0.2, 0], "meta/muse-spark-1.2-contributor": [0.1, 0.2, 0.002, 0], "meta/muse-spark-1.3-contributor": [0.1, 0.2, 0.002, 0], "claude-sonnet-5-5": [2, 10, 0.1, 2.5], @@ -100,6 +101,7 @@ "gpt-5.3-codex": [2, 8, 0.5, 0], "gpt-5.4-mini": [0.75, 4.5, 0.075, 0], "google/gemini-3.7-flash": [1.5, 7.5, 0.15, 0.08334], + "google/gemini-4-argon": [2, 10, 0.1, 0], "google/gemini-3.8-flash": [1.5, 7.5, 0.15, 0], "google/gemini-3.6-flash": [1.5, 7.5, 0.15, 0], "google/gemini-3.5-flash": [1.5, 9, 0.15, 0], diff --git a/tests/test-pricing.ts b/tests/test-pricing.ts index 8e657d6..f471e15 100644 --- a/tests/test-pricing.ts +++ b/tests/test-pricing.ts @@ -55,7 +55,7 @@ function assertCost( describe("MODEL_COSTS pricing overlay", () => { it("covers the current Command Code model catalog snapshot", () => { assert.equal(fixture.source, "https://api.commandcode.ai/provider/v1/models") - assert.match(fixture.fetchedAt, /^2026-10-09T/) + assert.match(fixture.fetchedAt, /^2026-10-14T/) const catalogIds = [...fixture.modelIds].sort() const pricedIds = Object.keys(MODEL_COSTS).sort() @@ -347,9 +347,19 @@ describe("MODEL_COSTS pricing overlay", () => { }) }) + it("uses reviewed rates for the mid-October catalog additions", () => { + assertCost("google/gemini-4-argon", { + input: 2, + output: 10, + cacheRead: 0.1, + cacheWrite: 0, + }) + assertCost("meta/muse-wonder-1.0", { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 0 }) + }) + it("tracks pricing provenance", () => { assert.equal(PRICING_SOURCE_URL, "https://commandcode.ai/docs/resources/pricing-limits") - assert.equal(PRICING_LAST_VERIFIED, "2026-10-09") + assert.equal(PRICING_LAST_VERIFIED, "2026-10-14") }) it("fails once temporary pricing needs review", () => { From f8c2fdf10b89b2e0c3f3ec0305b9668c06f10c6f Mon Sep 17 00:00:00 2001 From: Patrick Wozniak Date: Thu, 15 Oct 2026 23:00:26 +0200 Subject: [PATCH 2/2] feat(models): refresh CLI catalog and October 15 prices --- CHANGELOG.md | 2 ++ README.md | 2 +- src/commandcode-catalog.ts | 14 ++++++---- src/pricing.ts | 8 ++++-- tests/fixtures/commandcode-model-ids.json | 8 ++++-- tests/fixtures/commandcode-pricing.json | 8 ++++-- tests/test-pricing.ts | 32 ++++++++++++++++++----- 7 files changed, 55 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e5ac38..d7da46e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Advance the capability snapshot to `command-code@1.82.4`, adding Qwen3.8-Max-Prime vision/reasoning/output limits and replacing free Ling 3.1 with the paid model. Review October 15 prices for Qwen Prime, paid Ling, Muse Spark Open, Nemotron 3.5 Super VL and free Cat Jam; the pricing snapshot now covers 93 live API models. Models absent from the CLI snapshot retain conservative capabilities rather than guessed vision/reasoning support. + - Refresh the static capability snapshot to `command-code@1.82.1` by adding `google/gemini-4-argon` (image input, reasoning, `low`/`medium`/`high` efforts) and `meta/muse-wonder-1.0` (image input, reasoning, `low`/`medium`/`high`/`xhigh` efforts). - Add reviewed display pricing for both new models, verified against the official pricing page on 2026-10-14: `google/gemini-4-argon` at $2 input / $10 output / $0.10 cache read per million tokens, and `meta/muse-wonder-1.0` at $4 input / $20 output / $0.20 cache read. Neither publishes a cache-write rate. The snapshot now covers all 89 advertised models. - Repair catalog synchronization for CLI 1.82.4: read each model's explicit input modalities instead of relying on the removed text-only set and property adjacency. Unexpected metadata still fails closed. Package inspection disables npm lifecycle scripts. diff --git a/README.md b/README.md index cc5f368..fb383e4 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ The following environment variables are intended for tests, local mocks, and com ## Image input -The provider advertises image input only for models marked with the `image` input modality in the official Command Code CLI model catalog. The capability snapshot currently follows `command-code@1.82.1`; unknown models default to text-only until their upstream metadata is reviewed. A daily GitHub Actions job synchronizes the CLI version, image capabilities, reasoning flags, reasoning efforts, and model-specific output limits with the latest published CLI package, also dropping manual effort overrides that upstream has published itself, and opens or updates a reviewable pull request when they change. Pricing remains manually reviewed because temporary promotions and long-context tiers require explicit review. +The provider advertises image input only for models marked with the `image` input modality in the official Command Code CLI model catalog. The capability snapshot currently follows `command-code@1.82.4`; unknown models default to text-only until their upstream metadata is reviewed. A daily GitHub Actions job synchronizes the CLI version, image capabilities, reasoning flags, reasoning efforts, and model-specific output limits with the latest published CLI package, also dropping manual effort overrides that upstream has published itself, and opens or updates a reviewable pull request when they change. Pricing remains manually reviewed because temporary promotions and long-context tiers require explicit review. For vision-capable models, Pi's native provider adapters forward image blocks from user messages and tool results using the documented OpenAI or Anthropic message schema. Unknown and text-only models remain marked text-only in Pi. diff --git a/src/commandcode-catalog.ts b/src/commandcode-catalog.ts index 40beae8..c2ce71b 100644 --- a/src/commandcode-catalog.ts +++ b/src/commandcode-catalog.ts @@ -1,4 +1,4 @@ -export const COMMAND_CODE_CLI_VERSION = "1.82.1" +export const COMMAND_CODE_CLI_VERSION = "1.82.4" export type CommandCodeInputType = "text" | "image" export type CommandCodeReasoningEffort = @@ -11,7 +11,7 @@ export type CommandCodeReasoningEffort = | "max" /** - * Generated from command-code@1.82.1 by `npm run sync:commandcode-catalog`. + * Generated from command-code@1.82.4 by `npm run sync:commandcode-catalog`. * Do not edit manually. */ export const MODEL_INPUT_MODALITIES: Readonly> = { @@ -67,6 +67,7 @@ export const MODEL_INPUT_MODALITIES: Readonly> = { "gpt-6-sol": true, "gpt-6.1-sol": true, "inclusionai/ling-3.0-flash-sante:free": true, - "inclusionai/ling-3.1-flash:free": true, + "inclusionai/ling-3.1-flash": true, "meituan/LongCat-2.0": true, "meta/muse-spark-1.1": true, "meta/muse-spark-1.2": true, @@ -144,6 +145,7 @@ export const MODEL_REASONING: Readonly> = { "Qwen/Qwen3.8-Flash": true, "Qwen/Qwen3.8-Max": true, "Qwen/Qwen3.8-Max-0902": true, + "Qwen/Qwen3.8-Max-Prime": true, "Qwen/Qwen3.8-Omni-Flash": true, "sakana/fugu-ultra": true, "stealth/glyph-cluster:free": true, @@ -198,7 +200,7 @@ export const MODEL_EFFORTS: Readonly> = { "inclusionai/ling-3.0-flash-sante:free": 32_768, - "inclusionai/ling-3.1-flash:free": 32_768, + "inclusionai/ling-3.1-flash": 32_768, "mistral/mistral-large-4": 262_144, "poolside/laguna-s-2.1-free": 32_768, "Qwen/Qwen3.8-27B": 32_768, + "Qwen/Qwen3.8-Max-Prime": 131_072, "Qwen/Qwen3.8-Omni-Flash": 131_072, "stealth/glyph-cluster:free": 256_000, "z-ai/glm-5.3-flash": 131_072, diff --git a/src/pricing.ts b/src/pricing.ts index bd8c219..3c22c3e 100644 --- a/src/pricing.ts +++ b/src/pricing.ts @@ -20,7 +20,7 @@ export interface TemporaryPricing { } export const PRICING_SOURCE_URL = "https://commandcode.ai/docs/resources/pricing-limits" -export const PRICING_LAST_VERIFIED = "2026-10-14" +export const PRICING_LAST_VERIFIED = "2026-10-15" export const ZERO_MODEL_COST: CommandCodeModelCost = { input: 0, @@ -40,11 +40,15 @@ export const ZERO_MODEL_COST: CommandCodeModelCost = { export const MODEL_COSTS: Readonly> = { // Free models "inclusionai/ling-3.0-flash-sante:free": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, - "inclusionai/ling-3.1-flash:free": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, + "stealth/cat-jam:free": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, "poolside/laguna-s-2.1-free": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, "stealth/glyph-cluster:free": { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, // Open and open-weight models + "inclusionai/ling-3.1-flash": { input: 0.3, output: 0.9, cacheRead: 0.06, cacheWrite: 0 }, + "Qwen/Qwen3.8-Max-Prime": { input: 4, output: 12, cacheRead: 0.5, cacheWrite: 5 }, + "meta/muse-spark-open": { input: 1.25, output: 4.25, cacheRead: 0.15, cacheWrite: 0 }, + "nvidia/nemotron-3.5-super-vl": { input: 0.2, output: 0.5, cacheRead: 0.04, cacheWrite: 0 }, "mistral/mistral-large-4": { input: 1.36, output: 4.18, cacheRead: 0.14, cacheWrite: 0 }, "tencent/hy3-paid": { input: 0.14, output: 0.58, cacheRead: 0.035, cacheWrite: 0 }, "tencent/hy4-preview": { input: 0.834, output: 2.501, cacheRead: 0.042, cacheWrite: 0 }, diff --git a/tests/fixtures/commandcode-model-ids.json b/tests/fixtures/commandcode-model-ids.json index 9f2a5e5..7f1e1a6 100644 --- a/tests/fixtures/commandcode-model-ids.json +++ b/tests/fixtures/commandcode-model-ids.json @@ -1,5 +1,5 @@ { - "fetchedAt": "2026-10-14T06:43:23.341Z", + "fetchedAt": "2026-10-15T20:57:28.959Z", "source": "https://api.commandcode.ai/provider/v1/models", "modelIds": [ "claude-sonnet-5-5", @@ -51,6 +51,7 @@ "xiaomi/mimo-v2.5-pro", "xiaomi/mimo-v2.5", "Qwen/Qwen3.8-Omni-Flash", + "Qwen/Qwen3.8-Max-Prime", "Qwen/Qwen3.8-Max-0902", "Qwen/Qwen3.8-Max", "Qwen/Qwen3.8-27B", @@ -75,17 +76,20 @@ "google/gemini-3.1-flash-lite", "sakana/fugu-ultra", "nvidia/nemotron-3-ultra-550b-a55b", + "nvidia/nemotron-3.5-super-vl", "thinkingmachines/inkling", "thinkingmachines/inkling-small", "stealth/glyph-cluster:free", + "stealth/cat-jam:free", "poolside/laguna-s-2.1-free", "inclusionai/ling-3.0-flash-sante:free", - "inclusionai/ling-3.1-flash:free", + "inclusionai/ling-3.1-flash", "meta/muse-spark-1.1", "meta/muse-spark-1.2", "meta/muse-spark-1.2-contributor", "meta/muse-spark-1.3", "meta/muse-spark-1.3-contributor", + "meta/muse-spark-open", "meta/muse-wonder-1.0", "xai/grok-4.5", "xai/grok-4.6", diff --git a/tests/fixtures/commandcode-pricing.json b/tests/fixtures/commandcode-pricing.json index 74223cc..d77f9e0 100644 --- a/tests/fixtures/commandcode-pricing.json +++ b/tests/fixtures/commandcode-pricing.json @@ -1,5 +1,5 @@ { - "verifiedAt": "2026-10-14", + "verifiedAt": "2026-10-15", "source": "https://commandcode.ai/docs/resources/pricing-limits", "tierPolicy": "Use request-wide input tiers; the highest threshold exceeded by input plus cache tokens applies to the full request.", "tiers": { @@ -22,9 +22,13 @@ }, "costs": { "inclusionai/ling-3.0-flash-sante:free": [0, 0, 0, 0], - "inclusionai/ling-3.1-flash:free": [0, 0, 0, 0], + "stealth/cat-jam:free": [0, 0, 0, 0], "poolside/laguna-s-2.1-free": [0, 0, 0, 0], "stealth/glyph-cluster:free": [0, 0, 0, 0], + "inclusionai/ling-3.1-flash": [0.3, 0.9, 0.06, 0], + "Qwen/Qwen3.8-Max-Prime": [4, 12, 0.5, 5], + "meta/muse-spark-open": [1.25, 4.25, 0.15, 0], + "nvidia/nemotron-3.5-super-vl": [0.2, 0.5, 0.04, 0], "mistral/mistral-large-4": [1.36, 4.18, 0.14, 0], "tencent/hy3-paid": [0.14, 0.58, 0.035, 0], "tencent/hy4-preview": [0.834, 2.501, 0.042, 0], diff --git a/tests/test-pricing.ts b/tests/test-pricing.ts index f471e15..e0857fb 100644 --- a/tests/test-pricing.ts +++ b/tests/test-pricing.ts @@ -31,7 +31,7 @@ const freeModels = new Set([ "poolside/laguna-s-2.1-free", "stealth/glyph-cluster:free", "inclusionai/ling-3.0-flash-sante:free", - "inclusionai/ling-3.1-flash:free", + "stealth/cat-jam:free", ]) function assertCost( @@ -55,7 +55,7 @@ function assertCost( describe("MODEL_COSTS pricing overlay", () => { it("covers the current Command Code model catalog snapshot", () => { assert.equal(fixture.source, "https://api.commandcode.ai/provider/v1/models") - assert.match(fixture.fetchedAt, /^2026-10-14T/) + assert.match(fixture.fetchedAt, /^2026-10-15T/) const catalogIds = [...fixture.modelIds].sort() const pricedIds = Object.keys(MODEL_COSTS).sort() @@ -339,10 +339,10 @@ describe("MODEL_COSTS pricing overlay", () => { cacheRead: 0.016, cacheWrite: 0, }) - assertCost("inclusionai/ling-3.1-flash:free", { - input: 0, - output: 0, - cacheRead: 0, + assertCost("inclusionai/ling-3.1-flash", { + input: 0.3, + output: 0.9, + cacheRead: 0.06, cacheWrite: 0, }) }) @@ -357,9 +357,27 @@ describe("MODEL_COSTS pricing overlay", () => { assertCost("meta/muse-wonder-1.0", { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 0 }) }) + it("covers October 15 additions without treating paid Ling as free", () => { + assertCost("Qwen/Qwen3.8-Max-Prime", { input: 4, output: 12, cacheRead: 0.5, cacheWrite: 5 }) + assertCost("nvidia/nemotron-3.5-super-vl", { + input: 0.2, + output: 0.5, + cacheRead: 0.04, + cacheWrite: 0, + }) + assertCost("meta/muse-spark-open", { + input: 1.25, + output: 4.25, + cacheRead: 0.15, + cacheWrite: 0, + }) + assertCost("stealth/cat-jam:free", { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }) + assert.equal(MODEL_COSTS["inclusionai/ling-3.1-flash:free"], undefined) + }) + it("tracks pricing provenance", () => { assert.equal(PRICING_SOURCE_URL, "https://commandcode.ai/docs/resources/pricing-limits") - assert.equal(PRICING_LAST_VERIFIED, "2026-10-14") + assert.equal(PRICING_LAST_VERIFIED, "2026-10-15") }) it("fails once temporary pricing needs review", () => {