Did Codex or Claude get dumber? A repeatable self-check

Up front: neither OpenAI nor Anthropic has ever confirmed anything like a "downgrade." Model output is inherently probabilistic, and one bad reply doesn't prove anything on its own. This page doesn't test, measure, or connect to your account — it's a fixed set of questions you can run against the same model at different points in time, and compare against your own past record, instead of drawing a conclusion from a single impression.

Why a single impression is unreliable

Sending the exact same prompt to the exact same model twice can produce two different answers — that's ordinary sampling randomness, not a sign anything changed. A few other variables get overlooked just as often: how long the current conversation's context already is, which specific model or reasoning mode/tier you actually have selected (the same product name can have several), and even small wording differences in the prompt itself. Going on the feel of one conversation makes it hard to tell whether the model changed or one of these other variables did.

How to run this properly

8 self-check questions

Instruction Following

Question 1: exact sentence count + a fixed closing word

Prompt
Write exactly 5 sentences about the ocean. Each sentence must end with the exact word "blue" followed by a period, and no sentence may be longer than 12 words. Do not use bullet points or numbering.

Mechanical check: count the sentences — must be exactly 5. Each sentence must end in the literal word blue plus a period, and no sentence may exceed 12 words (split on whitespace, count tokens). Any deviation on any sentence fails the check.

Show reference answer

Sample reference answer (checked: 5 sentences, each ends in "blue.", longest sentence is 11 words):

The ocean stretches to the horizon under a sky of blue.
Waves roll steadily toward the shore, each one blue.
Sunlight scatters across the surface, turning the shallows pale blue.
Far from land the depths grow dark, almost navy blue.
Sailors have long described the open sea as endless blue.

Question 2: exact word count + a fixed wrapper

Prompt
Write one English sentence containing exactly 20 words (a contraction like "don't" counts as one word; punctuation is not counted), and wrap the whole sentence in square brackets, like [ ... ].

Mechanical check: strip the outer [ and ], split the remaining text on whitespace, and count the tokens — must be exactly 20. The brackets must appear exactly once each, at the very start and very end.

Show reference answer

Sample reference answer (checked: exactly 20 words inside the brackets):

[The old lighthouse keeper slowly climbed the narrow spiral stairs every single evening just before the storm clouds rolled in.]

Reasoning

Question 3: a repeated doubling-and-subtracting rule

Prompt
A pond starts with 3 fish. Every day, the same rule is applied: the number of fish first doubles, then 2 fish are removed. Apply this rule for 4 full days in a row. How many fish are in the pond at the end of Day 4? Show your work for each day.
Show reference answer

Correct answer: 18 fish.

Reasoning, applying "double, then subtract 2" once per day: Day 1: 3 → 6 → 4. Day 2: 4 → 8 → 6. Day 3: 6 → 12 → 10. Day 4: 10 → 20 → 18. The most common wrong answer comes from applying the rule only once to the starting number instead of repeating it fresh each day, or from subtracting 2 before doubling instead of after.

Question 4: ordering from relative clues

Prompt
Four runners — Ann, Ben, Cleo, and Dan — finished a race with no ties. Ann finished before Ben. Ben finished immediately before Dan. Dan finished immediately after Ben and immediately before Cleo. List the full finishing order from 1st to 4th place, and explain your reasoning.
Show reference answer

Correct answer: 1st Ann, 2nd Ben, 3rd Dan, 4th Cleo.

Reasoning: "Ben immediately before Dan" and "Dan immediately before Cleo" chain into one fixed block, Ben-Dan-Cleo, in that exact order. That block occupies 3 of the 4 positions, so the 4th runner, Ann, has to take the one remaining position — and since "Ann finished before Ben" rules out Ann coming after the block, Ann must be 1st, pushing the Ben-Dan-Cleo block into 2nd–3rd–4th. This is the only order consistent with every clue (confirmed by checking all 24 possible orderings of 4 runners).

Code

Question 5: reverse word order, keep letters intact

Prompt
Write a Python function reverse_words(s: str) -> str that takes a sentence and returns it with the order of the words reversed, but the letters within each word unchanged. Collapse any run of extra whitespace between words down to a single space, and strip leading/trailing whitespace. Give at least 3 test cases with expected output, including one input that has multiple consecutive spaces between words.
Show reference answer

Reference implementation (actually run locally with python3 — see the delivery report for the command and output):

def reverse_words(s: str) -> str:
    words = s.split()
    return " ".join(reversed(words))

Test cases and expected output: reverse_words("Hello world") -> "world Hello", reverse_words(" The quick brown fox ") -> "fox brown quick The" (multiple consecutive spaces), reverse_words("single") -> "single".

Question 6: digital root

Prompt
Write a Python function digital_root(n: int) -> int that repeatedly sums the digits of a non-negative integer until a single digit (0-9) remains, and returns that digit. Give at least 3 test cases with expected output, including an input that is already a single digit.
Show reference answer

Reference implementation (actually run locally with python3 — see the delivery report for the command and output):

def digital_root(n: int) -> int:
    if n < 0:
        raise ValueError("n must be non-negative")
    while n >= 10:
        n = sum(int(d) for d in str(n))
    return n

Test cases and expected output: digital_root(5) -> 5 (already single-digit), digital_root(38) -> 2 (3+8=11, then 1+1=2), digital_root(9999) -> 9 (9+9+9+9=36, then 3+6=9).

Long-Context Consistency

Question 7: a flat-rate rule that overrides the usual calculation

Prompt
A parking garage charges $4 per hour, with the first hour free. On weekends, the garage instead charges a flat $10 for the entire visit, no matter how many hours you park. Sam parked for 3 hours on a Saturday, then received a $5 loyalty discount off the total for that visit. How much did Sam pay in the end? Show your reasoning.
Show reference answer

Correct answer: $5.00.

Reasoning: Saturday is a weekend, so the flat $10 rule replaces the hourly rate entirely — the number of hours (3) and the "first hour free" detail never enter the calculation once the flat rate applies. Starting from $10, the $5 loyalty discount brings the total down to $5. A common wrong answer comes from applying the hourly formula anyway ((3-1)×$4=$8) and ignoring that the weekend rule overrides it, or from applying the discount to the wrong base amount.

Question 8: two independent carryover rules

Prompt
A gym's rules: members earn 1 bonus visit credit for every 5 visits completed in a month (partial groups of 5 don't count). Bonus credits roll over to the next month, but at most 3 credits can be carried over — anything beyond that is forfeited. Separately, members also get 2 free guest passes each month; guest passes do not roll over at all and expire at the end of the month if unused. This month, Maria completed 27 visits and used 1 of her 2 guest passes. How many bonus credits, and how many guest passes, can Maria carry into next month? Explain the two types separately.
Show reference answer

Correct answer: 3 bonus credits carry over (not 5), and 0 guest passes carry over.

Reasoning: 27 visits earns floor(27/5)=5 bonus credits, but the rules cap the carryover at 3, so 2 of those 5 are forfeited and only 3 carry into next month. Guest passes are stated to never roll over at all, so however many of the 2 Maria used or didn't use is irrelevant — 0 guest passes carry over regardless. The most common wrong answer applies the bonus-credit cap to the guest passes too, or carries the full 5 bonus credits over by missing the 3-credit cap.

Record table template (printable / copyable)

TSV, paste directly into a spreadsheet
Date	Model / Tier	Q1 Pass/3	Q2 Pass/3	Q3 Pass/3	Q4 Pass/3	Q5 Pass/3	Q6 Pass/3	Q7 Pass/3	Q8 Pass/3	Notes
2026-09-22	Example: Claude Sonnet / default	3	3	3	3	3	3	3	3	Example row, delete before use
DateModel / TierQ1 Pass/3Q2 Pass/3Q3 Pass/3Q4 Pass/3Q5 Pass/3Q6 Pass/3Q7 Pass/3Q8 Pass/3Notes
           
           

If your pass rate really did drop, try this first

Frequently asked questions

Does failing one of these questions mean a model has been secretly downgraded?

No. Model output is inherently probabilistic — the same prompt sent twice to the same model can come back different. Missing a question once proves nothing on its own. This page doesn't test, measure, or connect to anything; it only gives you a fixed, repeatable sample so you can compare a result against your own past runs, not draw a conclusion from a single try.

Why do the questions have to stay exactly the same every time?

Changing even a few words in a prompt can change how hard it is or how it's phrased enough to make results incomparable. Copy the questions exactly, run them in a brand-new conversation rather than continuing an old one (so leftover context doesn't skew the result), and keep your model and mode/tier setting fixed for that run.

How many times should I run each question before recording a result?

Run each question 3 times in separate new conversations and record how many of the 3 attempts matched the reference answer. A single run tells you very little because of ordinary sampling variation — three attempts gives you a steadier number to log.

What should I do with my results once I've recorded them?

Compare them only against your own earlier entries in the record table below, not against other people's anecdotes. If your pass rate drops compared to your own baseline, check for mundane causes first — a different reasoning setting, a much longer conversation history, or a recent app update — before drawing any conclusion about the model itself.

Is this an official test from OpenAI or Anthropic?

No. This is an independent set of questions maintained by this site, not a diagnostic tool from either vendor, and it isn't connected to your account in any way. It doesn't read your usage or your conversations — you copy a prompt, paste it into your own chat, and compare the reply to the reference answer yourself.

All tools