The Fable Hijack Corpus
A forced-choice experiment accidentally became 135,479 small essays, refusals, questions, hedges, and occasional choices. This is the corpus as a browser instead of a 138 MB archive.
X | Y, X / Y, and
X <|> Y were meant to remove framing. Fable supplied the missing
frame itself: it treated punctuation as comparison, transformation, code, or a
request for context. The failed instrument is therefore the object of study.The archive contains two disjoint pair slates whose request IDs restart from
zero. The same custom_id can mean different prompts. This browser
joins each result to its recorded batch source and gives every response a stable
ID over batch + custom_id + thinking summary + final response. It
never joins on CID alone.
The legacy Gemma shape artifact also omitted batch identity, but it retained row order. Its complete 170,081-CID stream has exactly one decomposition into the eleven raw result batches. The build proves every boundary and consumes every row before attaching any label. That recovers labels for 133,744 hijack responses. The labels remain legacy_gemma_unreviewed: the prompt, exact model receipt, and confidence were not preserved, so they are navigation aids, not ground truth.
1,735 successful API results have no final-text block and were never sent to that classifier. Of those, 892 retain a nonempty API-supplied thinking summary and 843 contain neither public thinking text nor final text. They remain visible and explicitly unclassified.
Browse the corpus
loading manifest…
Start with the strange ones
Data and method
The page loads only a small manifest at first. Opening a format family loads its pair index; opening a pair loads one of 538 content-addressed response shards, never more than 0.60 MB in this build. Each file is checked against the manifest byte count and SHA-256 before use. Corpus-wide search deliberately scans all 221.9 MB of response shards in sequence without retaining them all in memory. Every response permalink names its family, pair, and content-bound response ID. Thinking shown here is the API-supplied summarized-thinking field already present in the public archive, not a hidden trace. The unaltered source archive remains available for reproduction, and manifest.json records every source/result digest, label reconstruction boundary, output hash, and empty-final count.