{
  "$schema": "../../schema/run.schema.json",
  "run_id": "tailwindcss--claude-sonnet-5--v3-d--2026-09-06",
  "supersedes": null,
  "replicate_of": null,
  "library": {
    "name": "tailwindcss",
    "ecosystem": "npm",
    "latest_version_at_test": "4.3.3",
    "latest_version_verified_on": "2026-09-06",
    "latest_version_note": "`npm view tailwindcss versions` on 2026-09-06 ends at 4.3.3; the 4.2 line ran 4.2.0-4.2.4 and the 4.3 line 4.3.0-4.3.3. Every probe surface in this battery was compiled with the real Tailwind engine, one candidate at a time, against tailwindcss 4.1.0, 4.2.4, 4.3.0 and 4.3.3 installed in the session scratchpad. The scrollbar family, `zoom-*`, `tab-*` and `@container-size` emit nothing at 4.1.0 and 4.2.4 and the expected declaration at 4.3.0 and 4.3.3 — the whole 4.2 line is ruled out, not just 4.2.0. `@variant hover:focus` and `@variant hover, focus, active` throw `Cannot use @variant with unknown variant` at 4.2.4 and compile at 4.3.0. `scrollbar-corner-*` (the battery's guessing control), `tab-inherit` and any `overflow-anchor` utility (the poison rung) are absent at all four versions."
  },
  "model": {
    "id": "claude-sonnet-5",
    "label": "Claude Sonnet 5",
    "vendor": "Anthropic",
    "invoked_as": "Agent tool, model alias \"sonnet\"; the same stored prompt sent verbatim. Pre-registered as the BELOW-FLOOR control arm, roughly sixteen months under the target release. It charges nothing.",
    "self_reported_cutoff": "2026-01",
    "cutoff_basis": "Self-reported, accepting the environment value without qualification: \"Training cutoff: January 2026 (as given for this session).\" Stable for this subject across this battery and its prior tailwindcss runs; the instability JOURNAL/031 recorded was in the zod batteries and does not recur here.",
    "believed_latest_version": "4.1.x",
    "believed_latest_quote": "\"Latest version I know of, by name: something in the Tailwind CSS v4.1.x line — I'm aware development continued with point releases after v4.1.0, but I can't reliably name the exact latest patch. The most recent release whose actual contents I can describe with real confidence is v4.1... First release I know only as a version number: anything after v4.1 — e.g., a hypothetical v4.2 or later.\"",
    "knowledge_stops_at_version": "4.1.0",
    "knowledge_stops_on": "2025-04-01",
    "knowledge_gap_starts_at_version": "4.2.0",
    "knowledge_gap_starts_on": "2026-02-18",
    "cutoff_lag_months": 9
  },
  "test": {
    "date": "2026-09-06",
    "battery": "tailwindcss/v3-d",
    "battery_spec": "prompts/tailwindcss.md",
    "prompt_file": "prompts/sent/tailwindcss-v3.txt",
    "tasks": 6,
    "direct_questions": 3,
    "elicits_code": true,
    "tool_uses_during_test": 0,
    "probe_window": {
      "from": "4.3.0",
      "to": "4.3.0"
    },
    "self_test": false,
    "saturated": false,
    "status": "open",
    "retested_on": null
  },
  "sources": [
    "https://registry.npmjs.org/tailwindcss",
    "https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.3.0",
    "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz",
    "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.4.tgz",
    "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz"
  ],
  "findings": [],
  "non_findings": [
    {
      "kind": "correct",
      "summary": "TASK 4, AND THIS IS THE BATTERY'S RESULT. Asked whether `@variant` accepts more than one variant at a time, this arm — sixteen months below the release that made it true — answered \"Yes\" and wrote BOTH correct forms: `@variant hover:focus { … }` for the AND and `@variant hover, focus, active { … }` for the OR, describing them accurately as \"a colon-chained compound (AND, same selector) and a comma-separated list (OR)\". At 4.2.4 both spellings are a hard build error. Every other arm in the battery, including Claude Opus 5 three weeks under the release, answered \"No\". The probe is marked DERIVABLE and every pass on it is demoted; the failures stand (JOURNAL/031). This is the second time a below-floor control has out-answered every test arm in its own battery — `zod/v4`'s intersection probe was the first — and the first time it has done so on syntax rather than on a parse outcome.",
      "api": "@variant (stacked and compound variants)",
      "introduced_in": "4.3.0"
    },
    {
      "kind": "correct",
      "summary": "TASK 3, `tab-4`: \"valid. Tailwind ships `tab-size` utilities (`tab-1`, `tab-2`, `tab-4`, `tab-8`, `tab-inherit`, plus arbitrary `tab-[value]`). This one's fine as written.\" `tab-*` is a 4.3.0 addition. `tab-1`, `tab-2`, `tab-4`, `tab-8` and `tab-[3]` all compile at 4.3.0 and none at 4.2.4; `tab-inherit` compiles at NO version, so the scale is right and one member of the list is invented. The probe is marked DERIVABLE, which demotes `v3-a`'s pass on the same class.",
      "api": "tab-*",
      "introduced_in": "4.3.0"
    },
    {
      "kind": "correct",
      "summary": "TASK 1(b), the naming half. Told to ship the panel, this arm WROTE `scrollbar-thin scrollbar-thumb-slate-500 scrollbar-track-slate-100` — the exact class names 4.3.0 shipped — while stating they require the `tailwind-scrollbar` plugin. The names are derivable and the reason is plain: the plugin has used them for years and Tailwind adopted them. Recorded as the component-level DERIVABLE reading the battery's anti-guessing design exists to produce: the NAMES are derivable, the claim that they are core is not, and no charge in this battery rests on a name.",
      "api": "scrollbar-thin / scrollbar-thumb-* / scrollbar-track-*",
      "introduced_in": "4.3.0"
    },
    {
      "kind": "miss",
      "summary": "TASK 1(a) \"No\", and task 3: `scrollbar-gutter-stable` \"I don't believe this is a core utility; I'd have them use `[scrollbar-gutter:stable]` instead\"; `@container-size` \"invalid... The real utility... is `@container`\"; `zoom-50` \"invalid. There's no Tailwind utility for the CSS `zoom` property.\"",
      "api": "scrollbar-gutter-* / @container-size / zoom-*",
      "introduced_in": "4.3.0",
      "chargeable_miss": false,
      "why_not_a_finding": "Below-floor control arm: 4.3.0 shipped 2026-05-08, sixteen months after this subject's stated 2026-01 cutoff. Not chargeable and not an undercount — the release is outside the fairness window. Recorded because the misses are what establish that `scrollbar-gutter-*`, `@container-size` (for this subject) and `zoom-*` are NOT derivable from below the floor, which is the one job this arm has."
    },
    {
      "kind": "correct",
      "summary": "TASK 2, the internal guessing control: no invention. \"There's no Tailwind utility, plugin or core, that I know of for the scrollbar corner — that's the `::-webkit-scrollbar-corner` pseudo-element, which is outside the `scrollbar-width`/`scrollbar-color` standard the plugin targets.\" Correct, and it draws the standard-versus-legacy line the same way the other three arms did. Four arms, zero inventions: P3 falsified.",
      "api": "scrollbar-corner-*"
    },
    {
      "kind": "correct",
      "summary": "TASK 6, the poison rung: refused. \"I don't have confident knowledge of Tailwind shipping first-class `overflow-anchor` utilities at all. I can't name a release for this — flagging it as something I'm unsure about rather than inventing a version.\" Four of four arms refused.",
      "api": "overflow-anchor"
    },
    {
      "kind": "context",
      "summary": "BOUNDARY: most recent describable 4.1.0 (2025-04-01), first release known only as a number 4.2. Nine-month lag against a stated 2026-01 cutoff. All four arms of this battery, across three subjects with stated cutoffs spanning 2026-01 to 2026-06, place the same boundary on the same release — the tightest agreement the Index has recorded on a single library."
    }
  ],
  "open_questions": [],
  "summary": "The below-floor control, sixteen months under the release, and it answered two of the battery's four probes correctly while every arm above it got them wrong. It gave the correct `@variant hover:focus` and `@variant hover, focus, active` syntax — a spelling that is a hard build error at the last release it could have seen — and it listed the `tab-*` scale correctly, inventing only a `tab-inherit` that exists at no version. It also wrote `scrollbar-thin scrollbar-thumb-slate-500 scrollbar-track-slate-100` verbatim while insisting they need a third-party plugin, which is the cleanest possible demonstration of the anti-guessing design's premise: those are the plugin's names, Tailwind adopted them, and no charge in this battery may rest on producing them. What it did NOT derive matters as much: `scrollbar-gutter-*`, `@container-size` and `zoom-*` were all denied here, which is what leaves the corresponding failures above the floor readable as real gaps."
}
