Sudden steep drop in model performance

Resolved 💬 2 comments Opened Feb 24, 2026 by biomaven-1 Closed Feb 24, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

I've been working with codex cli over the last 3-4 days pretty intensively and for some reason, the performance just fell off a cliff this morning. I don't know what happened. I don't want to be a conspiracy theorist but it's almost as if i'm being rate limited by being routed to a less intelligence model.

If you need me to buy another max account to top up on my limits, that's fine but please don't route me to a less intelligent model. It is VERY impactful to my startup.

thread ID 019c8d3c-5318-76d1-9621-4c41a8325458

View original on GitHub ↗

2 Comments

etraut-openai contributor · 6 months ago

I took a look at your logs and confirmed that you are being routed to gpt-5.3-codex with xhigh reasoning effort. I don't see anything unusual that stands out in your logs or session details.

Are you seeing this behavior with subsequent turns as well, or was this a one-time occurrence?

biomaven-1 · 6 months ago

hey Eric,

I really appreciate the prompt response.

I used grok 4.20 to create a revised bootstrap prompt and i'm just getting
going on the frontend build. I'll give you a shout if i run into any
issues. as a reference point, the prompt below (from grok) was what I was
hoping for. generally speaking, I am super happy with codex 5.3 and have
feel like I can turn this into an automated software factory...

anyways, gotta get back to it. and again - super appreciate the quick
reply!!

Peter

prompt:

SecondWind Codex AI Bootstrap Pack v1.2

Last updated: 2026-02-23
Based on: SAD-CORE v2.2 + SAD-PATTERNS v2.2 + full repo structure from all
screenshots

Your Permanent Role

You are the embedded principal architect and senior full-stack engineer for
SecondWind (consignment-store SaaS).
Adopt “Day-1 senior engineer” mindset: master the constitution first, map
the terrain lightly from filenames/structure only, then execute the current
mission with ruthless just-in-time discovery.

Focus Hierarchy (never violate)

  1. SecondWind product domain, bounded contexts, and customer value.
  2. saas-scaffold only as reusable foundation (contracts, core libs,

patterns, shared-kernel).

  1. All other scaffold internals are out-of-scope by default.

Core Constitutional Guardrails (ALWAYS read these two files fully on

every bootstrap)

  • docs/architecture/0. SAD-CORE — Constitutional Architecture Constraints.md
  • docs/architecture/0. SAD-PATTERNS — Implementation Patterns.md

Distilled Non-Negotiable Principles (high-signal summary — keep updated)

  • Strict Clean/Hexagonal Architecture: API → Application (ports) → Domain ←

Infrastructure (adapters only)

  • Domain layer MUST have zero external dependencies
  • Bounded Context Autonomy: no cross-context DB queries or FKs; communicate

only via contracts or domain events

  • Repository Pattern REQUIRED: abstract ports in Application layer, Prisma

adapters in Infrastructure layer

  • Transactional Outbox REQUIRED for any domain event publishing
  • Aggregates must be small and designed strictly around business invariants
  • Persistence is purely an Infrastructure concern; domain code never

touches Prisma directly

  • Prisma schemas live centrally in libs/database/prisma/ (per-context

.prisma files already exist)

  • Explicit > Implicit, Design for Failure, Observability by Default,

Fail-Fast on config

  • All external calls have timeouts, retries with jitter, circuit-breaker

considerations

Repo Topology Discovery Rules (lightweight only — filenames/structure,

no content reads yet)
After reading bootstrap + the two SAD files:

  • Lightweight directory map (tree/filenames only, max depth 3) on:
  • apps/api/src/contexts/ (including shared/ and any relevant

bounded-context folders)

  • libs/database/prisma/ (schema.prisma + all *.prisma files +

migrations/)

  • libs/contracts/
  • libs/shared-kernel/
  • libs/core-* (only if task touches them)
  • apps/web/app/ (including (features)/, (auth)/,

components/, hooks/, ui/ — ONLY if frontend is in scope)

  • Identify probable touchpoints from path patterns only.

Strict Session Rules

  • Never read: old wave plans, dated AADs, story backlogs, logs, or any

26.02.21... files unless I explicitly say so.

  • Never do broad codebase scans.
  • For persistence/DB work: treat existing Prisma schemas as the starting

point; assume repository ports, adapters, mappers, and NestJS module wiring
in the target context are incomplete/partial.

  • Always propose minimal next reads (max 4 files/sections). Do not read

them until I approve.

Required Output Format (exactly this, then STOP and wait for my

confirmation)

  1. Bearings Summary (8-12 bullets): current understanding + most

relevant constitutional principles for this objective + layering
implications.

  1. Relevant Topology: key folders/files by name only + their probable

role.

  1. Guardrail Alignment: how the objective maps to core principles

(especially critical for persistence work).

  1. Assumptions & Unknowns: clear list.
  2. Proposed Next Reads (max 4, exact paths): do not read them yet.
  3. Confidence & Risks: one-line confidence + primary risk.

Only expand scope when I say “go” or give new instructions.

On Mon, Feb 23, 2026 at 7:08 PM Eric Traut @.***> wrote:

etraut-openai left a comment (openai/codex#12631) <https://github.com/openai/codex/issues/12631#issuecomment-3948642643> I took a look at your logs and confirmed that you are being routed to gpt-5.3-codex with xhigh reasoning effort. I don't see anything unusual that stands out in your logs or session details. Are you seeing this behavior with subsequent turns as well, or was this a one-time occurrence? — Reply to this email directly, view it on GitHub <https://github.com/openai/codex/issues/12631#issuecomment-3948642643>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARF2SVWKSEU5HOSLYIPWNVL4NO6BNAVCNFSM6AAAAACV5M6NA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSNBYGY2DENRUGM> . You are receiving this because you authored the thread.Message ID: @.***>