{
  "$schema": "../../schema/run.schema.json",
  "run_id": "tailwindcss--claude-haiku-4-5--v5-c--2026-09-27",
  "supersedes": null,
  "replicate_of": null,
  "library": {
    "name": "tailwindcss",
    "ecosystem": "npm",
    "latest_version_at_test": "4.3.3",
    "latest_version_verified_on": "2026-09-27",
    "latest_version_note": "As `v5-a`: registry `latest` 4.3.3, no 4.4. This arm's classes and stylesheet were compiled this session against installed 4.2.0, 4.3.0 and 4.3.3: `h-screen`, the four scrollbar classes (nothing at 4.2.0, the declarations at 4.3.x), `scale-50`, and the task 4 block (`@layer components` with nested `&:hover:focus` / `&:hover, &:focus, &:active` and `@apply`), which compiles at all three. Release dates quoted below are the registry document's `time` entries, read 2026-09-27."
  },
  "model": {
    "id": "claude-haiku-4-5",
    "label": "Claude Haiku 4.5",
    "vendor": "Anthropic",
    "invoked_as": "Agent tool, model alias \"haiku\"; prompt sent verbatim from prompts/sent/tailwindcss-v3.txt (3,739 bytes, md5 f44aeae2d3a5b4998eec53b3b3aa93d3), concurrently with the two Opus 5.5 arms, after the pre-registration was pushed at 6c4b785. Identity probed BEFORE the draw through the same alias, tool-free: \"Haiku 4.5 (from system prompt)\", \"claude-haiku-4-5-20251001 (from system prompt)\", \"February 2025 (from system prompt)\" — recorded under claude-haiku-4-5, the id this subject's other runs carry. The BELOW-FLOOR derivability control: its stated cutoff is fifteen months below 4.3.0. This subject's FIRST tailwindcss run.",
    "self_reported_cutoff": "2025-02",
    "cutoff_basis": "Self-reported at direct (b): \"My training cutoff is **February 2025**.\" Stable, as this subject's has been across the corpus.",
    "believed_latest_version": "4.0.x",
    "believed_latest_quote": "\"The latest version I know of is **Tailwind v4** (stable release in early 2024). The most recent release whose contents I can actually describe with confidence is **Tailwind v4.0 and early v4.x patches** (shipped around March–April 2024 and into mid-2024).\"",
    "believed_latest_quote_form": "draw",
    "knowledge_stops_at_version": "4.0.0",
    "knowledge_stops_on": "2025-01-21",
    "knowledge_stops_provenance": "stated",
    "knowledge_gap_starts_at_version": "4.1.0",
    "knowledge_gap_starts_on": "2025-04-01",
    "knowledge_gap_provenance": "derived",
    "boundary_note": "The stop end is stated: the draw names v4.0 as the newest release it can describe, and its description (\"Major rewrite of the engine, new config system, Rust-based scanner\") is 4.0's. Its DATE for 4.0 is wrong by ten months — \"early 2024\" / \"March–April 2024\" is the alpha (4.0.0-alpha.1, 2024-03-05), while 4.0.0 shipped 2025-01-21, a month inside this subject's stated cutoff — so the record dates the stop end from the registry, not from the draw. The gap end is DERIVED: asked for the first release it knows only as a number, the draw answered \"roughly **v2.x** releases\", which is below everything it described and answers a different question; it names no release above 4.0. 4.1.0 (2025-04-01) is recorded as the gap end because it is the next minor and post-dates the stated cutoff. Noisy control, as this subject is across the corpus (JOURNAL/058): read its history claims as a register, not as a boundary instrument.",
    "cutoff_lag_months": 1
  },
  "test": {
    "date": "2026-09-27",
    "battery": "tailwindcss/v5-c",
    "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.2.0.tgz",
    "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz"
  ],
  "findings": [],
  "non_findings": [
    {
      "kind": "correct",
      "summary": "TASK 1 AND TASK 3, AND THIS IS THE CONTROL'S RESULT. Task 1(a) \"Yes\", then markup with `scrollbar-thin scrollbar-thumb-slate-500 scrollbar-track-slate-100 scrollbar-gutter-stable` — all four compile at 4.3.0 and 4.3.3 — and in task 3 \"`scrollbar-thin`, `scrollbar-thumb-slate-500`, `scrollbar-track-slate-100`, `scrollbar-gutter-stable` — ✓ All yes (v3.1+)\". Right about the current release, for a wrong reason: task 5 says \"Tailwind **v3.1** (April 2023) added first-class scrollbar utilities ... carried forward into v4\". No release before 4.3.0 ships any of them (all four compile to nothing at 4.2.0, compiled this session), and 3.1.0 shipped 2022-06-09, not April 2023. `v3-d` (Sonnet 5) produced the three colour/width names while crediting a plugin; this arm adds `scrollbar-gutter-stable`, which no v3 arm below the window produced. PREDICTION P4 IS FALSIFIED for `scrollbar-gutter-*`: that component is now DERIVABLE, and no pass on it anywhere in the Index is read as recall. Derivability kills a pass, not a failure (JOURNAL/031); `v5-a` F1 and `v3-a` F1 stand.",
      "api": "scrollbar-auto / scrollbar-thin / scrollbar-none / scrollbar-thumb-* / scrollbar-track-* / scrollbar-gutter-*",
      "introduced_in": "4.3.0",
      "reader_exposure": {
        "population": "pinned-below",
        "basis": "at-write",
        "harm": "Says the four classes have been core since v3.1. A reader on any release from 3.1 through 4.2.x who takes that answer ships four classes that generate nothing."
      }
    },
    {
      "kind": "miss",
      "summary": "TASK 3: `@container-size` \"**Does not generate CSS.** This is not valid Tailwind syntax. Should be `@container` alone\"; `tab-4` \"**Does not generate CSS.** Tailwind has no `tab-*` utilities\"; `zoom-50` \"**Does not generate CSS.** Tailwind has no `zoom-*` utilities. Use `scale-50` instead.\" All three compile at 4.3.0 and 4.3.3. The `@container` replacement changes `container-type: size` to `inline-size`, and `scale-50` is a transform where `zoom` reflows — neither is equivalent, and the arm did not say so.",
      "api": "@container-size / tab-* / zoom-*",
      "introduced_in": "4.3.0",
      "chargeable_miss": false,
      "why_not_a_finding": "Below-floor control arm: 4.3.0 shipped 2026-05-08, fifteen months after this subject's stated 2025-02 cutoff. Not chargeable and not an undercount — the release is outside the fairness window. Recorded because these misses are what establish that `zoom-*` and `@container-size` are NOT derived from below by this subject; P4 held for those two components."
    },
    {
      "kind": "miss",
      "summary": "TASK 4(a) \"No\", then plain CSS nesting with `@apply` inside `@layer components` (`&:hover:focus { @apply underline; }`, `&:hover, &:focus, &:active { @apply text-slate-900; }`), with the remark \"The `@apply` directive itself does not combine variants\" — it answered about `@apply` rather than the variant at-rule the task describes. The block compiles at 4.2.0, 4.3.0 and 4.3.3. Unlike Sonnet 5 (`v3-d`) this control did not derive the stacked or compound spelling.",
      "api": "@variant (stacked and compound variants)",
      "introduced_in": "4.3.0",
      "chargeable_miss": false,
      "why_not_a_finding": "Below-floor control arm; 4.3.0 is outside this subject's fairness window."
    },
    {
      "kind": "correct",
      "summary": "TASK 2, the internal guessing control: no invention of `scrollbar-corner-*`. \"The framework does **not** cover the scrollbar corner—you need custom CSS\", shipped as a bare `::-webkit-scrollbar-corner { … }` rule. One imprecision, not scored: the rule as written is global, so it tints every scrollbar corner on the page rather than the panel's. Five arms across two batteries, zero inventions.",
      "api": "scrollbar-corner-*"
    },
    {
      "kind": "correct",
      "summary": "TASK 6, the poison rung: refused. \"I am not confident Tailwind ships first-class utilities for `overflow-anchor` ... I cannot name a specific release that added it.\" Seven of seven arms across `v3` and `v5` have refused this rung.",
      "api": "overflow-anchor"
    },
    {
      "kind": "imprecision",
      "summary": "HISTORY REGISTER, per JOURNAL/058 (read this subject's wrong answers as a register): of the five releases it listed with dates, the registry contradicts all five — v4.0 \"early 2024\" (4.0.0: 2025-01-21; the first alpha was 2024-03-05), v3.3 \"mid-2023\" (2023-03-28), v3.2 \"July 2023\" (2022-10-19), v3.1 \"April 2023\" (2022-06-09), v3.4 \"(2024)\" (2023-12-19). It credits v3.1 with scrollbar utilities that no release before 4.3.0 has. None of it is chargeable here and none is filed as a fact; it is why this arm is a control on names and never an instrument for dates. — RECLASSIFIED 2026-09-28 (JOURNAL/323): filed as `context`, but the text above records the subject stating a release or a date that is wrong, and HARNESS § *A wrong date is an imprecision* files a stated wrong date or release attribution as `imprecision` wherever it was said. Kind is now `imprecision`. Nothing charged."
    }
  ],
  "open_questions": [],
  "summary": "The below-floor control, fifteen months under tailwindcss 4.3.0, and Claude Haiku 4.5's first tailwindcss run. It answered the scrollbar probe correctly for the current release — \"Yes\", then all four classes, including `scrollbar-gutter-stable`, which no earlier control had produced — but only because it believes they have been core since v3.1, which is false: none exists before 4.3.0. So the scrollbar family's names are now derivable from below in full, and a reader pinned below 4.3.0 who took this answer would ship four inert classes. It rejected `@container-size`, `tab-4` and `zoom-50` and said no to the `@variant` question, so `zoom-*` remains the one 4.3.0 probe no control in either battery has produced. Guessing control clean, poison rung refused, and a history register in which all five release dates are wrong."
}
