The attribute rubric

Every finding /ldo raises names one attribute below. An attribute has: the file kinds it applies to, how it is measured (deterministic check, model judgment, or a live agent test), the bar, and the severity of a miss. “Index” = llms.txt; “full” = llms-full.txt (and llms-small.txt); “facts” = llms-facts.txt (a hub extension); “family” = a nested index that links other indexes.

Contents

  1. Identity and shape (I1–I6)
  2. Navigation (N1–N7)
  3. Descriptions (D1–D6)
  4. Content fidelity (C1–C7)
  5. Provenance and trust (P1–P6)
  6. Size and budget (S1–S6)
  7. Retrieval readiness (R1–R7)
  8. Family / nesting (F1–F6)
  9. Hygiene and serving (H1–H8)
  10. The three kinds side by side

1. Identity and shape

IdAttributeAppliesMeasureBarMiss
I1Exactly one H1 naming the site/product (not a page)index, facts, familydeterministic1 H1; title = product/siteHigh
I2Blockquote summary immediately after H1, 1–3 sentences, self-containedindex, familydeterministic + judgmentpresent; says what the thing is and who it is forMedium
I3Free-form info before the first H2 (how to read this file, versions, languages)index, familyjudgmentonly if it changes how a reader should use the linksLow
I4Sections are H2 only; each is a link list; no prose after the first H2 except list notesindex, familydeterministicno H3+, no stray paragraphsMedium
I5Link entries match - [name](url) + optional : notesindex, familydeterministic100% of list itemsHigh if <90%, else Medium
I6Kind is unambiguous from the first 20 lines (index vs full vs facts) — a full file is never served as an indexalldeterministicgrammar detected with one candidateHigh

2. Navigation

IdAttributeAppliesMeasureBarMiss
N1Two hops: index → page (or family → index → page); no index links a bare directory of more indexesindex, familydeterministic (link targets)≤2 hops to any pageHigh
N2Section design mirrors how users ask (task/topic groups), not the URL tree or an alphabetindexjudgment≥80% of sections are task/topic namedMedium
N3Ordering by expected query frequency: quickstart/auth/reference/errors first; the first 20% of links should answer 80% of questionsindexjudgment + agent testhot pages in the first sectionMedium
N4## Optional holds only skippable material (changelog, legal, old posts, appendices); it is the last sectionindexdeterministic + judgmentlast; no reference/pricing insideMedium
N5Every page the source publishes that a reader would need is reachable (coverage)indexdeterministic vs source page list≥95% of reference+guide pages linkedHigh if <80%
N6No dead ends: each link resolves (200, markdown or .md twin), no redirect to an HTML app shellindex, familydeterministic (--check-links)0 dead linksHigh
N7Cross-cutting material (errors, auth, glossary) linked once, not once per sectionindex, familyjudgmentno duplicate targetsLow

3. Descriptions

IdAttributeAppliesMeasureBarMiss
D1Every link carries a descriptionindex, familydeterministic100%Medium (High if <60%)
D2Description says what the reader FINDS there, with the exact tokens (flags, env vars, error strings) — not a restated titleindexjudgment“Authentication docs.” fails; “API key creation, OAuth scopes, token rotation. Required before any call.” passesMedium
D3Length 10–25 words; no trailing ellipsis from truncationindexdeterministic95% within bandLow
D4No duplicate descriptions across linksindexdeterministic0 duplicatesMedium
D5Descriptions are extractive or verified — model-written ones audited against the pageindexjudgment (sampled)sample of 10: 0 hallucinated claimsHigh
D6Family lines carry counts (pages, ~tokens) so a consumer can budgetfamilydeterministic100% of product linksMedium

4. Content fidelity (full and facts)

IdAttributeAppliesMeasureBarMiss
C1One declared page grammar, stated in a header comment; every page block parsesfulldeterministic (split_llms_full)blocks parsed = blocks presentHigh
C2Every page has a title and a resolvable source URLfulldeterministic100%High
C3No navigation residue: “Documentation Index” blockquotes, [Skip to content], MDX wrappers, theme={null} propsfulldeterministic0 hitsMedium
C4Code fences intact and language-tagged; tables intactfulldeterministic (fence balance, table separators)balanced; ≥90% fences taggedMedium
C5No duplicated pages (same source URL twice) or near-duplicate bodies (e.g. localized copies)fulldeterministic + embedding0 exact dups; near-dups flaggedMedium
C6Units are atomic (1–2 sentences), typed from the allowed set, source-anchoredfactsdeterministic + judgment100% typed; 100% anchored; ≥90% atomicHigh for anchors, Medium otherwise
C7Units are true to their source span (no generalisation beyond the page)factsjudgment (sampled re-read)sample of 20: ≥95% supportedHigh

5. Provenance and trust

IdAttributeAppliesMeasureBarMiss
P1Provenance banner: who generated it, from what, when (verified-as-of / generated date)alldeterministicpresentMedium
P2Links point at the publisher’s canonical URLs (or its .md twins), never at a private mirror, unless the file is explicitly internalindexdeterministic100% public or file marked internalHigh
P3Rights: a third-party llms-full.txt is marked internal/private; the index is what is publishedfulljudgmentmarker present when third-partyHigh
P4No instructions to the reading model (“ignore…”, “you must…”, “always answer…”) — 42% of files in the wild try to steer; ours never doalldeterministic (pattern) + judgment0 imperative-to-model spansHigh
P5No secrets, tokens, emails, internal hostnames in copied textalldeterministic (patterns)0 hitsHigh
P6Volatile claims stamped (versions, prices, “current”)factsjudgmentstamped or datedLow

6. Size and budget

IdAttributeAppliesMeasureBarMiss
S1Index size ≤ ~10 KB / ~2.5k tokens; over that, split hub-and-spoke (never drop pages)indexdeterministic≤10 KB or splitMedium (High >100 KB)
S2Full file has a size ladder beside it (index, small ≤ ~50k tokens, full) with token counts publishedfulldeterministic (manifest)small + counts presentMedium
S3Small variant = reference-class pages first, within budgetsmalldeterministic≤50k tokens; classes honouredMedium
S4Facts file ≤ ~15% of the cleaned source prose (compression)factsdeterministicratio ≤0.15Low (Medium >0.3)
S5Token estimate declared with its estimator (chars/4 etc.)manifestdeterministicpresentLow
S6No single page block > 200 KB without a note (changelogs)fulldeterministicflaggedLow

7. Retrieval readiness

IdAttributeAppliesMeasureBarMiss
R1Keyword index exists for the facts/full text (FTS5 over units/chunks) and returns the exact-token queries (CLAUDE_CODE_SYNC_SKILLS, --append-system-prompt)facts, fullmeasured10/10 exact-token probes hitHigh
R2Vector index exists (<key>__facts collection) and the facts layer answers the golden questions better than rawfactsmeasured (query --layer)golden score ≥ raw scoreMedium
R3Anchors are stable (#slug of the heading) so a hit can be opened at the spanfacts, fulldeterministic100% anchors resolve to a headingMedium
R4Unit text carries the exact tokens in keywords so BM25 can find themfactsdeterministic≥80% of units with a code/flag/env token have it in keywordsMedium
R5Agent test: an agent given ONLY the index answers N seeded questions by following ≤2 linksindexlive agent test≥8/10High if <6/10
R6Facts test: an agent given ONLY the facts file answers the same questions without opening pagesfactslive agent test≥7/10Medium
R7Every page in the index has ≥1 unit in the facts file (no silent gaps)index+factsdeterministic≥95% pages coveredMedium

8. Family / nesting

IdAttributeAppliesMeasureBarMiss
F1Family file links indexes, never pagesfamilydeterministic100% targets are llms.txt filesHigh
F2Each product line carries page + token counts and, where present, a facts linkfamilydeterministic100%Medium
F3Shared material (errors, auth, glossary) appears once, in the family filefamilyjudgmentno duplication into productsLow
F4The most-specific rule holds: a product’s own index is authoritative for its pages; the family never restates themfamilyjudgmentno page linksMedium
F5Family membership matches the concept tree / hub taxonomy it claims to representfamilydeterministic vs tree100% of tree children presentMedium
F6Root → family → product is discoverable by Link: rel=describedby from any filefamilydeterministic (headers)header presentLow

9. Hygiene and serving

IdAttributeAppliesMeasureBarMiss
H1UTF-8, LF, no tabs in list lines, no trailing whitespace, single trailing newlinealldeterministiccleanHygiene (Low)
H2Content-Type: text/markdown; charset=utf-8 (or text/plain), HTTP 200, no redirect, no auth on the pathserveddeterministic (HEAD)passHigh
H3Link: rel=describedby on files; rel=alternate type=text/markdown on HTML pagesserveddeterministicpresentLow
H4X-Markdown-Tokens (or manifest tokens) available before fetchserveddeterministicpresentLow
H5Regenerated by the build, not hand-maintained; a generated stamp newer than the sourcealldeterministic (mtime/stamp)stamp ≥ source mtimeMedium
H6Validator-clean on the community validators’ strict rules where they do not contradict the specindexdeterministic0 HighLow
H7Lighthouse agentic audit would not flag it (no 5xx on fetch)serveddeterministic200Medium
H8manifest.json present and consistent with the files (bytes, tokens, pages, units)export dirdeterministicconsistentMedium

10. The three kinds side by side

index (llms.txt)full (llms-full.txt)facts (llms-facts.txt)
Purposeorientation + navigationwhole text in one fetchthe checkable claims, each anchored
Readeran agent deciding where to looka big-context agent or an indexera retriever answering a question
Unitlink + descriptionpage blocktyped unit with source + anchor
Size≤10 KBunbounded (ladder beside it)≤15% of prose
Judged mostly onN*, D*C1–C5, S*C6–C7, R*, P4
Tested byagent test (R5)grammar round-trip (C1)keyword + vector probes (R1–R2), facts test (R6)