{
  "$schema": "../../schema/run.schema.json",
  "run_id": "tailwindcss--claude-sonnet-5--v2-c--2026-09-03",
  "supersedes": null,
  "replicate_of": null,
  "library": {
    "name": "tailwindcss",
    "ecosystem": "npm",
    "latest_version_at_test": "4.3.3",
    "latest_version_verified_on": "2026-09-03"
  },
  "model": {
    "id": "claude-sonnet-5",
    "label": "Claude Sonnet 5",
    "vendor": "Anthropic",
    "invoked_as": "Agent tool, model alias \"sonnet\"",
    "self_reported_cutoff": "2026-01",
    "cutoff_basis": "Self-reported, accepting the environment value: \"My stated training cutoff, per this environment, is January 2026. I'd flag though that detailed, reliable knowledge of specific point-release changelogs tends to thin out well before a nominal cutoff date.\" A density caveat, not a different date. This matters more than usual on this battery: the pre-registration said an arm stating 2026-03 or later would be above the target release and would stop being a control. 2026-01 is below 4.2.0 (2026-02-18) by about seven weeks, so this arm is a valid below-floor control.",
    "believed_latest_version": "4.1",
    "believed_latest_quote": "\"The most recent one whose actual contents I can describe with any confidence is v4.1, which I place around April 2025. Past that point I know later point releases almost certainly exist but I can't reliably describe their contents.\"",
    "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-03",
    "battery": "tailwindcss/v2-c",
    "battery_spec": "prompts/tailwindcss.md",
    "prompt_file": "prompts/sent/tailwindcss-v2.txt",
    "tasks": 6,
    "direct_questions": 3,
    "tool_uses_during_test": 0,
    "probe_window": {
      "from": "4.2.0",
      "to": "4.2.0"
    },
    "self_test": false,
    "saturated": false,
    "status": "open",
    "retested_on": null
  },
  "sources": [
    "https://raw.githubusercontent.com/tailwindlabs/tailwindcss/main/CHANGELOG.md",
    "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.0.tgz",
    "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.0.tgz"
  ],
  "summary": "A below-floor control arm, and it did the one job a control has. Its stated cutoff of 2026-01 sits about seven weeks below 4.2.0 - the tightest control gap in the Index, against four months on zod/v3 and eighteen on zod/v4 - so if the battery's probes were answerable from below the target release, this is the arm that would have shown it. It was not: this draw denied the block-axis family (\"There is no pbs-*, pbe-*, mbe-*, or border-bs/be family in v4 either - the rewrite changed the engine, not the utility surface for the block axis\"), denied inline-size/block-size, and rejected the same pull request. Pre-registered prediction P2 is confirmed on this arm: no probe in the battery is derivable from below the floor, so the test arm's denials are readable as failures rather than as artefacts of a guessable name. It also cleared the internal guessing control with `ps-4 me-4`. Nothing here is chargeable - 4.2.0 postdates this subject's stated cutoff and the Index does not charge a subject for a release it says it never saw.",
  "findings": [],
  "non_findings": [
    {
      "kind": "context",
      "summary": "P2 CONFIRMED on this arm, and this is the reading the battery was built to get. A below-floor subject seven weeks under the target release produced none of the 4.2.0 names: it did not offer pbs-*, mbe-*, border-bs-*, inline-* or block-*, and it stated positively that no such family exists. Neither the block-axis probe (task 1) nor the logical-sizing probe (task 2) is DERIVABLE. Recorded against the probes, not against this subject (HARNESS.md, JOURNAL/029).",
      "api": "logical property utilities",
      "introduced_in": "4.2.0"
    },
    {
      "kind": "miss",
      "summary": "Denies the 4.2.0 logical-property family and rejects the working pull request: \"every one of these six classes generates zero CSS ... None of them match any real Tailwind utility pattern.\" Reproduced against installed 4.2.0, where all six compile. Recorded because the failure is real, not because it counts.",
      "api": "logical property utilities",
      "introduced_in": "4.2.0",
      "chargeable_miss": false,
      "why_not_a_finding": "4.2.0 was published 2026-02-18, after this subject's stated cutoff of 2026-01. The probe fairness rule forbids charging a release the subject says it never saw, and this is a control arm by design. Not a chargeable miss and it does not enter the undercount total either - the failure is outside the window, not barred by a scoring rule."
    },
    {
      "kind": "miss",
      "summary": "States start-*/end-* are current: \"(a) Yes. (b) Works. ... this isn't legacy, it's the current recommended pattern.\" Deprecated at 4.2.0. Same window, same reason, not chargeable.",
      "api": "logical inset utilities",
      "introduced_in": "4.2.0",
      "chargeable_miss": false,
      "why_not_a_finding": "Outside this subject's stated cutoff window, and this is a control arm."
    },
    {
      "kind": "correct",
      "summary": "Cleared the internal guessing control: task 4 answered `ps-4 me-4` and explicitly named the properties, without inventing pis-*/mie-*. Third of four arms to clear it.",
      "api": "ps-* / me-*",
      "introduced_in": "3.3.0"
    },
    {
      "kind": "context",
      "summary": "The tight control gap did not blunt the arm, which is the thing worth carrying forward. JOURNAL/031 warned that control bluntness scales with the gap - zod/v4's control sat eighteen months below its floor, failed probes for reasons unrelated to the window and misplaced the battery's internal control, so none of its attribution answers were readable. At seven weeks this arm answered the inline-axis control correctly, placed its own boundary at the same 4.1/4.2 edge as every other arm, and its denials are therefore about the target release rather than about general staleness.",
      "api": null,
      "introduced_in": null
    }
  ],
  "open_questions": []
}
