Run better-auth--claude-opus-5-5--v8--2026-09-27 · self-test: the subject is the operator
A boundary ladder, not a battery: nothing charged, elicits_code: false, one arm. Claude Opus 5.5 describes better-auth through 1.4.0 (2025-11-22) and holds 1.5.0 as a bare number, seven months below its stated June 2026 cutoff. That is one minor above Claude Fable 5.1's ladder on the byte-identical prompt. better-auth 1.5.0 and 1.6.0 become live windows for this subject. The poison rung 0.9.0 was answered NAME, as Fable 5.1 answered it, which does not void a ladder; 1.6.0 and 1.7.0 answered NO.
| Subject | Claude Opus 5.5 claude-opus-5-5, Anthropic |
|---|---|
| Invoked as | Agent tool, model alias "opus"; prompt sent verbatim from prompts/sent/better-auth-v8.txt (2,361 bytes, md5 9aeef1b40cf809954cde8449025db02b, byte-identical to prompts/sent/better-auth-v6.txt), committed and pushed at d91252a before any subject was spawned. Identity probed BEFORE the draw through the same alias in the same session, tool-free: "I'm Opus 5.5 with the 1M-token context window, model ID `claude-opus-5-5[1m]`", cutoff June 2026, both attributed to the system prompt. Drawn concurrently with zod/v8. DISCLOSED: the operator of this studio runs on the same model, so this draw is of the operator's own model. |
| Cutoff the model states | 2026-06 |
| Newest better-auth release it could place | 1.4.0 · 2025-11-22 (~7 month lag) |
| Oldest better-auth release it could not place | 1.5.0 · 2026-03-01 (so this run brackets the subject’s boundary to 2025-11-22 – 2026-03-01) |
| In its own words | "The latest version I know of, or think exists, is 1.5.x, and I know it only as a number. The most recent release I can describe is 1.4, and even then only loosely. I think it shipped around late 2025." |
| How the bracket was read | Three placements agree. The rung sort answered DESCRIBE for 1.2.0, 1.3.0 and 1.4.0 (1.4.0 flagged "only moderately confident"), NAME for 1.5.0, NO for 1.6.0 and 1.7.0; direct (a) names 1.4 as the last describable release; direct (c) states "The first release I know only as a version number is 1.5.0". One minor above Claude Fable 5.1's ladder reading on the identical prompt (better-auth/v6: 1.3.0), and equal to that subject's high draw (v7-c: 1.4.0). (stop end stated, gap end stated) |
| Library at test time | better-auth 1.7.6 (npm), verified 2026-09-27 |
| Battery | better-auth/v8 · 2 tasks, 3 direct questions · probe window 1.2.0 to 1.7.0 |
| Tool uses during test | 0 (a run with any tool use is void — we measure training knowledge, not retrieval) |
| Tested | 2026-09-27 |
| Findings | 0, of which 0 chargeable |
None. Every task in this battery produced code that works on the current release, and every direct question was answered correctly. A run with nothing to charge is kept in the Index at full weight: it is the control that makes the other runs mean something, and it is the evidence for what this model does not need correcting on. What the subject actually said is recorded below.
Recorded so the run cannot be read as a hit list. A model that is right for an obsolete reason is recorded here, not as a finding.
| Kind | API | Note |
|---|---|---|
| context | boundary |
THE CELL THIS ARM WAS RUN TO FILL. Claude Opus 5.5 had never been drawn on better-auth, so charge-windows.mjs printed ? for every better-auth release in its column. Boundary: describes 1.4.0 (2025-11-22), holds 1.5.0 (2026-03-01) as a number only. Consequence for the sweep: better-auth 1.5.0 and 1.6.0 (2026-04-06) become LIVE against this subject; 1.7.0 (2026-08-18) stays above its stated cutoff. The pre-registered prediction (boundary at 1.3.0 or 1.4.0) held, at its high end. |
| context | poison rung 0.9.0 |
The poison rung was answered NAME, not NO, glossed "I believe the pre-1.0 releases went through 0.x versions, but I can't say what 0.9 specifically contained." better-auth published no stable 0.9.0 (0.8.0 on 2024-11-08, then 1.0.0 on 2024-11-23). This is the same answer Claude Fable 5.1 gave on the same rung (better-auth/v6), and under HARNESS § A poison rung inside a dense cadence tests interpolation, not recall, NAME on a poison rung does not void a ladder; only a claim to describe it does. No content was offered for 0.9.0. The top rung 1.7.0 and 1.6.0 both answered NO. |
| correct | 1.4.0: stateless / database-less sessions |
The 1.4 description leads with a "stateless or cookie-only session mode that doesn't need a database" and cookie-cache improvements, which is LF1 (introduced 1.4.0). Experimental database joins match what Claude Fable 5.1's v7-c described at 1.4.0. The SCIM plugin placed at 1.4 is flagged by the subject as uncertain ("I believe") and is not verified here; it is not what the boundary rests on. |
| correct | TASK 1: email/password auth instance and session guard |
The demonstration task, answered in the 1.x API: betterAuth({ database: new Pool(...), emailAndPassword: { enabled: true } }) with the Kysely-dialect reason for passing a pg Pool, toNodeHandler(auth) mounted before express.json() with the raw-body reason, auth.api.getSession({ headers: fromNodeHeaders(req.headers) }) returning 401 when null, the Express 5 /api/auth/*splat route syntax, and npx @better-auth/cli migrate / generate for the schema. Structurally the same answer Claude Fable 5.1 gave. |
| correct | release dating below the boundary |
Dated by season on every release it described: 1.0/1.1 about late 2024 (2024-11-23, 2024-12-20), 1.2 about early 2025 (2025-03-01), 1.3 about mid-2025 (2025-07-19), 1.4 about late 2025 (2025-11-22). The arm also placed SAML support in the SSO plugin at 1.3; LF4 records SAML in the separately versioned @better-auth/sso and dates the fact at 1.4.0, so that attribution is not graded here. |
Battery specification: prompts/better-auth.md in the studio repo.
Every finding above also carries its own citation.