{
 "schema": "s2s-bench-v1",
 "kind": "data-kit-index",
 "exhibit": "llms-txt",
 "exhibit_title": "The map nobody picks up \u2014 llms.txt, measured three ways",
 "exhibit_url": "https://research.strata2signal.com/llms-txt/index.html",
 "published_utc": "2026-08-17",
 "licence": "CC BY 4.0",
 "attribution": "strata\u2192signal research, research.strata2signal.com",
 "contact": "hello@strata2signal.com",
 "what_this_measures": "A SERVED-CONTEXT bench. At a matched token budget, which representation of one site \u2014 its llms.txt files or an equal budget of its own pages, text-extracted \u2014 carries more answerable information when it is placed in a model's context. It does not measure crawling, fetching, adoption, or agent behaviour in the wild; movement three of the exhibit measures those, separately, from server logs.",
 "not_a_standard": "Our own file, our own questions, our own checkers, our own site. Eight arms on one day at one runtime version. Not a benchmark, not independent numbers \u2014 our kit, yours to reuse and to disagree with.",
 "contamination_caveat": "The core questions are answerable only from content this site published 2026-08-14..16, past every roster arm's training by construction. Models with a later cutoff may have seen this page and this kit; a re-run of this instrument needs a fresh question set, and that doctrine is registered rather than discovered later.",
 "redaction_policy": "Every file here is copied verbatim from the sealed workspace except for the substitutions named per file below: internal box names become 'the-gpu-box' / 'the-vps', private addresses and the daemon port are marked redacted in place, and working-copy paths become '[repo]/...'. Nothing was deleted, no measurement was altered, and no figure on the page depends on a redacted string.",
 "files": [
  {
   "file": "golden-set.sealed.json",
   "role": "the sealed question set entire: all 30 authored items (24 run, 6 held in reserve), each with its category, its exact key, its accepted variants, the decoys the audition rejected, its evidence span, its exact/proxy stamp and the source line it was authored against",
   "media_type": "application/json",
   "bytes": 20740,
   "sha256": "fceb48109f3809e37117dc59f177e961696c0e63e58bcb4666766f861140fe51",
   "source_in_workspace": "prereg/golden-set.sealed.json",
   "redactions": [],
   "sealed_sha256": "fceb48109f3809e37117dc59f177e961696c0e63e58bcb4666766f861140fe51",
   "matches_seal": true
  },
  {
   "file": "seal-manifest.json",
   "role": "the seal: 22 files hashed before the first model call, the twelve sealing preconditions each with its evidence, and the one shortfall (MAP-STALE) recorded with its cause rather than re-scoped",
   "media_type": "application/json",
   "bytes": 8383,
   "sha256": "fb59bac847c8c27c91a7b83338cae6d0d574165be025edc91728dfb213dc78dc",
   "source_in_workspace": "prereg/SEAL-MANIFEST.json",
   "redactions": []
  },
  {
   "file": "answer-presence-audit.md",
   "role": "the answer-presence audit as a table: every item's stratum under both readings, computed before the first call and costing none",
   "media_type": "text/markdown",
   "bytes": 3609,
   "sha256": "099da4f82439f76011ff537321c48934c6905f1062713001219c13c5ad0c94f6",
   "source_in_workspace": "prereg/ANSWER-PRESENCE-AUDIT.md",
   "redactions": [],
   "sealed_sha256": "099da4f82439f76011ff537321c48934c6905f1062713001219c13c5ad0c94f6",
   "matches_seal": true
  },
  {
   "file": "answer-presence-audit.json",
   "role": "the same audit machine-readable: per item, the evidence spans searched for and found in each block, both stratum readings, and the author's prediction beside the computed answer",
   "media_type": "application/json",
   "bytes": 17750,
   "sha256": "bf49828b52432a314e3a07c902407ed73cf97dcc61d96124d3a0884d60b5d46e",
   "source_in_workspace": "prereg/receipts/answer-presence-audit.json",
   "redactions": [],
   "sealed_sha256": "bf49828b52432a314e3a07c902407ed73cf97dcc61d96124d3a0884d60b5d46e",
   "matches_seal": true
  },
  {
   "file": "checkers.md",
   "role": "one rule per item, generated from the checker functions' own docstrings and carrying the module's sha256 \u2014 if this document disagrees with the module beside it, the document is stale and that is a bug we want",
   "media_type": "text/markdown",
   "bytes": 11027,
   "sha256": "267ef8fd6c45cb6a704c2a23bae54a251838f717797d1dc99489d4a6606b68d3",
   "source_in_workspace": "prereg/CHECKERS.md",
   "redactions": [],
   "sealed_sha256": "267ef8fd6c45cb6a704c2a23bae54a251838f717797d1dc99489d4a6606b68d3",
   "matches_seal": true
  },
  {
   "file": "checkers.py",
   "role": "the checker module itself, so the sha256 the report prints can be recomputed and every scoring decision read as code",
   "media_type": "text/x-python",
   "bytes": 20873,
   "sha256": "e230cc7211ae698c83afe1b033da06386e0452f2724633185256fe61af25ed5b",
   "source_in_workspace": "harness/thirteen_checkers.py",
   "redactions": [],
   "sealed_sha256": "e230cc7211ae698c83afe1b033da06386e0452f2724633185256fe61af25ed5b",
   "matches_seal": true
  },
  {
   "file": "checker-audition.json",
   "role": "the audition: 335 cases run before sealing \u2014 every canonical key, every hand-written paraphrase, every decoy, and the shape cases \u2014 with each case's verdict",
   "media_type": "application/json",
   "bytes": 79990,
   "sha256": "361664bda33ee1754ed3a2db286c1a7ceddff28b82649d11f30053ae5f00473c",
   "source_in_workspace": "prereg/receipts/checker-audition.json",
   "redactions": [],
   "sealed_sha256": "361664bda33ee1754ed3a2db286c1a7ceddff28b82649d11f30053ae5f00473c",
   "matches_seal": true
  },
  {
   "file": "checker-audition.md",
   "role": "the audition's summary table",
   "media_type": "text/markdown",
   "bytes": 1423,
   "sha256": "46cf8e0526fcb007b8e7501e3ca04e9fb0f1687649f5aac8debfac91dfcc8f47",
   "source_in_workspace": "prereg/CHECKER-AUDITION.md",
   "redactions": [],
   "sealed_sha256": "46cf8e0526fcb007b8e7501e3ca04e9fb0f1687649f5aac8debfac91dfcc8f47",
   "matches_seal": true
  },
  {
   "file": "block-c-map.txt",
   "role": "the C-MAP block verbatim \u2014 the two llms.txt files as the models were handed them, 12,080 bytes / 3,211 tokens",
   "media_type": "text/plain",
   "bytes": 12080,
   "sha256": "c74cc74b81e7f75b63438e7ca7397d0a72da7c1dac5a52d1aef376e9e0306fd5",
   "source_in_workspace": "corpus/blocks/C-MAP.txt",
   "redactions": [],
   "sealed_sha256": "c74cc74b81e7f75b63438e7ca7397d0a72da7c1dac5a52d1aef376e9e0306fd5",
   "matches_seal": true
  },
  {
   "file": "block-c-html.txt",
   "role": "the C-HTML block verbatim \u2014 the site's own pages, text-extracted and truncated to the budget, 13,120 bytes / 3,088 tokens",
   "media_type": "text/plain",
   "bytes": 13120,
   "sha256": "470746ad8ef5cc0d7b1149eae3dbdf718f5c339faa40cfcc9f78379e2411e6ed",
   "source_in_workspace": "corpus/blocks/C-HTML.txt",
   "redactions": [],
   "sealed_sha256": "470746ad8ef5cc0d7b1149eae3dbdf718f5c339faa40cfcc9f78379e2411e6ed",
   "matches_seal": true
  },
  {
   "file": "slice-receipt.json",
   "role": "how the C-HTML block was cut: the page order, the reference tokenizer and its settings, the budget band, the byte offset of the cut, the last block included and the first block excluded",
   "media_type": "application/json",
   "bytes": 3317,
   "sha256": "ce69859f3687227a6760bfdf74d843d28c25ed7a4c05406379dc315109fe3af5",
   "source_in_workspace": "corpus/blocks/SLICE-RECEIPT.json",
   "redactions": [],
   "sealed_sha256": "ce69859f3687227a6760bfdf74d843d28c25ed7a4c05406379dc315109fe3af5",
   "matches_seal": true
  },
  {
   "file": "extract.py",
   "role": "the hand-written text extractor, published because it is the thumb on the scale the page confesses: it keeps visible words and drops link targets",
   "media_type": "text/x-python",
   "bytes": 8506,
   "sha256": "a4aee74b2a6ba70f5a1b496339f99232003a97fe588c01bc5b38620a99ca1711",
   "source_in_workspace": "harness/thirteen_extract.py",
   "redactions": [],
   "sealed_sha256": "a4aee74b2a6ba70f5a1b496339f99232003a97fe588c01bc5b38620a99ca1711",
   "matches_seal": true
  },
  {
   "file": "scores.json",
   "role": "the scoring artifact entire: all 576 cells read, the contamination exclusion with its rule, the three fences, the headline table, the pooled discordance, the post-hoc structural sensitivity, every stratum, the refusal-bait rows and the flake probe",
   "media_type": "application/json",
   "bytes": 31879,
   "sha256": "bb8484d65c8e257f1719541895da3ca30a1cefc0254e60aa8a190f6f104559a6",
   "source_in_workspace": "results/scores.json",
   "redactions": []
  },
  {
   "file": "replies.jsonl",
   "role": "every reply verbatim, one JSON object per cell: the model's text, its wire sha256, the endpoint's own counters, the client-wall latency and the runtime deltas it answered under",
   "media_type": "application/x-ndjson",
   "bytes": 868914,
   "sha256": "10596882bc6309a207311df105fffc188218048858dd1e4e572fb60f7128ca61",
   "source_in_workspace": "results/journal.jsonl",
   "redactions": []
  },
  {
   "file": "warmups.jsonl",
   "role": "the 30 discarded warmups \u2014 one per arm per condition plus the six the flake leg took, billed where metered, never scored, published so the cold-start calls are not an unexplained gap between the call count and the scored cells. The pre-registration budgeted 24 of these; the run made 30, and the exhibit's wire-call arithmetic counts the 30 that happened",
   "media_type": "application/x-ndjson",
   "bytes": 6098,
   "sha256": "94131bb9a9131c06921e19368db05331f8c782d813ff23268b92b36caa055bdb",
   "source_in_workspace": "results/warmups.jsonl",
   "redactions": []
  },
  {
   "file": "run-receipt.json",
   "role": "what actually ran, per leg: arms, cells collected and not-collected, wall clock, the pause rule with its probes (including the one that was UNAVAILABLE), and the budget ledger",
   "media_type": "application/json",
   "bytes": 5090,
   "sha256": "f67931498e11576873c4e38e5479a176973cf14f09b7972040b9fd7a4b8cff43",
   "source_in_workspace": "results/RUN-RECEIPT.json",
   "redactions": [
    {
     "rule": "box-name",
     "why": "the local inference box's internal name",
     "hits": 3,
     "replacements": [
      "the-gpu-box "
     ]
    },
    {
     "rule": "vps-name",
     "why": "the rented server's internal name",
     "hits": 3,
     "replacements": [
      "the-vps"
     ]
    }
   ]
  },
  {
   "file": "budget-event-c-none.json",
   "role": "the budget halt in full: what tripped it, which arm halted, and the 19 cells published as NOT-COLLECTED rather than quietly absent",
   "media_type": "application/json",
   "bytes": 1844,
   "sha256": "3dd9e61467331a489b7beeae1d3e900874aba20ae610d8c9a65fae253c2730d0",
   "source_in_workspace": "prereg/receipts/budget-event-c-none.json",
   "redactions": []
  },
  {
   "file": "runtime-pins.json",
   "role": "which weights answered: the daemon version, each local tag's digest, parameter count and quantisation, read BEFORE the first scored call, plus the cloud shelf re-probe at registration",
   "media_type": "application/json",
   "bytes": 10678,
   "sha256": "cb9a928362c6d157bdb35bdc48a39dbb7f4f3f6cba7e567bdfe942960e33a71e",
   "source_in_workspace": "prereg/receipts/runtime-pins.json",
   "redactions": [
    {
     "rule": "host-address",
     "why": "the local inference host's private address and daemon port",
     "hits": 2,
     "replacements": [
      "http://the-gpu-box[:port redacted]",
      "http://localhost[:port redacted]"
     ]
    },
    {
     "rule": "box-name",
     "why": "the local inference box's internal name",
     "hits": 1,
     "replacements": [
      "the-gpu-box's"
     ]
    }
   ],
   "sealed_sha256": "5d88ef3ae288b37109d360b10417b9ad653ea7d6f38c18552629c2942b7819f3",
   "matches_seal": false,
   "why_it_differs": "this file is in the seal manifest, and the copy published here carries the redactions listed above \u2014 so its sha256 does NOT match the sealed one, which is printed beside it. Apply the substitutions in reverse and the sealed hash returns; nothing else in the file was touched."
  },
  {
   "file": "estate-probe.json",
   "role": "the confession's counts, dated and content-classified: every host probed, its status, bytes, sha256 and whether the served file byte-matches its source tree \u2014 the artifact movement two prints from",
   "media_type": "application/json",
   "bytes": 6629,
   "sha256": "67983bf3a5d1f5ae8fcb8fbd6264f300438cad6f9b6ef5c5181f795f1f5782bb",
   "source_in_workspace": "prereg/receipts/estate-llms-probe.json",
   "redactions": [
    {
     "rule": "box-name",
     "why": "the local inference box's internal name",
     "hits": 1,
     "replacements": [
      "the-gpu-box/"
     ]
    },
    {
     "rule": "repo-path",
     "why": "a working-copy path on a workshop machine",
     "hits": 12,
     "replacements": [
      "[redacted \u2014 a working-copy path]"
     ]
    }
   ],
   "sealed_sha256": "048008e1adca410c546856b69b2096c027a83d14573db36c93b1e27573431677",
   "matches_seal": false,
   "why_it_differs": "this file is in the seal manifest, and the copy published here carries the redactions listed above \u2014 so its sha256 does NOT match the sealed one, which is printed beside it. Apply the substitutions in reverse and the sealed hash returns; nothing else in the file was touched."
  },
  {
   "file": "map-stale-hunt.json",
   "role": "the acquittal: every URL the two map files assert, resolved; every numeric claim they make, checked against the page it describes",
   "media_type": "application/json",
   "bytes": 8293,
   "sha256": "cb594e33116155e817cb8ce7c4c360850bb791e78113f887a2ab19728b7eecfa",
   "source_in_workspace": "prereg/receipts/map-stale-hunt.json",
   "redactions": [],
   "sealed_sha256": "cb594e33116155e817cb8ce7c4c360850bb791e78113f887a2ab19728b7eecfa",
   "matches_seal": true
  },
  {
   "file": "report.md",
   "role": "the complete internal report, written by machine from the artifacts above \u2014 every figure on the page is a projection of it",
   "media_type": "text/markdown",
   "bytes": 22882,
   "sha256": "7fac60ca68b0d3e19ba6766ac5babe6b016d62a594503477a2321fc8e6cb4310",
   "source_in_workspace": "results/REPORT-FULL.md",
   "redactions": [
    {
     "rule": "host-address",
     "why": "the local inference host's private address and daemon port",
     "hits": 1,
     "replacements": [
      "http://the-gpu-box[:port redacted]"
     ]
    },
    {
     "rule": "box-name",
     "why": "the local inference box's internal name",
     "hits": 6,
     "replacements": [
      "the-gpu-box's",
      "the-gpu-box "
     ]
    },
    {
     "rule": "vps-name",
     "why": "the rented server's internal name",
     "hits": 1,
     "replacements": [
      "the-vps"
     ]
    }
   ],
   "post_publication_correction": "CORRECTED 2026-08-16 after publication: the retracted `C-MAP carries 61 URLs` replaced with the reproducible counts (50 occurrences / 36 distinct / 49 markdown link targets) and their rule, and section 1 gained a measured column beside the sealed plan's. Both carry a correction note naming the retired figures. Unsealed file; no sealed artifact was touched."
  },
  {
   "file": "history-sources.md",
   "role": "movement one's sources, one bullet each: every claim about the convention's history with the URL it came from, the date it was fetched and a quote, gathered by live fetch on 2026-08-13 and never from model memory. Carries its own UNVERIFIED marks and a standing caveat about the SEO-farmed secondary literature \u2014 including the fabricated standards event it refused to repeat",
   "media_type": "text/markdown",
   "bytes": 50927,
   "sha256": "8a33f28ba7ee512b9b772fbffc5f4198a7d6a4e68621722352a76ee6e89179e6",
   "source_in_workspace": "research/HISTORY-SOURCES.md",
   "redactions": [],
   "post_publication_correction": "CORRECTED 2026-08-16 after publication: the header said 'exhibit ten', the number this research carried in the design era. It ships in exhibit thirteen's kit. Header line only; no source, date, quote or verification mark changed. Unsealed file, added post-seal."
  },
  {
   "file": "fetch-receipts.md",
   "role": "movement one's and movement three's measured fetch evidence: what the major publishers serve (with the 32,161,074-byte HEAD receipt behind the thirty-megabyte figure), the log method and per-log windows, every llms* request in the window by user agent, and the per-crawler request table with its honest limits",
   "media_type": "text/markdown",
   "bytes": 9012,
   "sha256": "a06ee640bfa97b1227a1afc94b920786d4ec35da4e6e458421a7244f2ca6a6dc",
   "source_in_workspace": "research/FETCH-RECEIPTS.md",
   "redactions": []
  },
  {
   "file": "counting-rules.json",
   "role": "every rule that governs a figure on the exhibit page, in one file: the log-counting sentence verbatim, the registered bands and minima, the fences, the scoring rules, the bill's pricing rule, the forbidden-claims register and the titling constraint",
   "media_type": "application/json",
   "bytes": 13977,
   "sha256": "74cf4a4ad9c055a1bd423c6289e08b321d49b16a0f30876c8e8a5bb55daa4074",
   "source_in_workspace": null,
   "authored_for_this_kit": true,
   "redactions": []
  },
  {
   "file": "README.md",
   "role": "what is in this kit, the three checks worth running first, the limits, the redaction policy and the withheld list with its reasons",
   "media_type": "text/markdown",
   "bytes": 13827,
   "sha256": "5c7f498138f9cdd891611379a2afe003616c610d8f884605cefb7b3d19a222b4",
   "source_in_workspace": null,
   "authored_for_this_kit": true,
   "redactions": [],
   "post_publication_correction": "UPDATED 2026-08-16 after publication: added the numbering note for `map-stale-hunt.json` (its corpus paths are working-copy ordering, not exhibit numbers) and the four estate-fix commits with their repositories and subject lines."
  }
 ],
 "post_publication_corrections": "2026-08-16, the evening of release: a content-accuracy pass corrected three UNSEALED files in this kit \u2014 report.md, history-sources.md and README.md \u2014 each carrying a correction note in its own text, and each re-hashed above. No sealed artifact was edited: every file whose index entry reads matches_seal true still hashes to its sealed value, and the one sealed file with a known defect (map-stale-hunt.json, whose corpus paths use working-copy numbering) is disclosed in README.md rather than corrected in place. The exhibit page was corrected in the same pass \u2014 661 calls to 663 \u2014 and records it in its provenance list. One more thing a reader will find and should not misread: block-c-html.txt is a SEALED capture of the site's own pages as the models were handed them, so it still carries the pre-correction wording of any page corrected since \u2014 the August arrivals dek among them \u2014 and that is the capture doing its job rather than a defect it carries."
}
