{"version":"2.1.219","anchor":"fast-mode-unavailability-reworked-into-machine-readable-reas","canonical_anchor":"fast-mode-unavailability-reworked-into-machine-readable-reas","heading":"Fast mode unavailability reworked into machine-readable reason codes","tier":"internal","area":"Models","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219\/e\/fast-mode-unavailability-reworked-into-machine-readable-reas","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219","markdown":"### Fast mode unavailability reworked into machine-readable reason codes\n\nFast mode unavailability is tracked as reason codes internally, feeding clearer messages and telemetry.\n\n**What**\n\nThe check for why Fast mode is unavailable now returns a code rather than an English sentence, with a separate function that turns the code into the user-facing text.\n\n**Details**\n\n- Codes include `not_first_party`, `disabled_by_env`, `model_not_allowed`, `sdk_opt_in_required`, `pending`, plus server-supplied reasons such as `extra_usage_disabled`.\n- Telemetry gains a `fast_mode_disabled_reason` field with a schema enum for the codes.\n- The org-status cache records provenance as `source: \"guess\"` or `source: \"server\"`, and only emits a change event when the value or the reason actually changed.\n\n**Evidence**\n\n`sdk_opt_in_required`\n\n- Area: Models\n- Names: `fast_mode_disabled_reason`\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 0\/5"}