You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/llms.txt lists every document that has a Markdown version, once, in the
order the sidebar shows it: a heading per folder, and per document its
title, the address of its Markdown version and its description. A PDF says
so in its link text. A top-level folder with a page of its own also gets /<its page>/llms.txt, which the site index links to first. There is no llms-full.txt. See ADR-033, which supersedes
ADR-010 in part.
Every page's head links to /llms.txt, a document's head to its Markdown
version, and the home page, documents and folder pages describe themselves
in JSON-LD: a document with its edit date, its source and its Markdown
version. The home page's "For AI agents" block starts at /llms.txt.
The fixture project's typecheck also type-checks the platform's
build-time routes and modules that read generated types, through tsconfig.platform.json: the Markdown and asset routes, the llms.txt
routes, the corpus and section helpers, and the content configuration.
Nothing type-checked them before.
The content health page checks a Google Doc's headings: "A heading skips a
level", judged as the page shows it, and "Two headings say the same", both
under "Worth a look", with a link to the line in Google Docs. See ADR-034.
Two notes: "The page has no summary", for a Google Doc with no paragraph of
plain text, and "A link leads to a Google file that is not on this site",
for a link to a Google Doc or Drive file outside the published folders.
Spreadsheets, slides, folders and open?id= links, whose address does not
say what the file is, are not counted.
Changed
Upgrade step: a project's public/_headers needs rules for /llms.txt
and /*/llms.txt, with the policy of its /*.md rule and Content-Type: text/plain; charset=utf-8; the fixture project's file shows
them. ctcdocs-sync validate requires both on a private deployment.
ctcdocs-access-smoke probes /llms.txt: denied to an anonymous request,
and served with its charset, listing the document it reads as Markdown, to
an admitted one. It reads the index up to 25 MiB, the largest file Workers
Static Assets serves.
The interface stylesheet and every component read the platform's own --kb-* design tokens instead of Starlight's --sl-* ones. One adapter
block in styles.css assigns Starlight's tokens from the platform's, and
reads back the few Starlight owns, such as its type steps, so the design
language no longer depends on Starlight's names. A unit test keeps
Starlight's token names out of components, routes, scripts and lib, and
their reads out of styles.css outside the adapter. A project's brand.css is unchanged and keeps writing the accent triad under
Starlight's names, and the Expressive Code overrides in the preset keep
Starlight's names too, so the code stylesheet and its address do not
change. Compared before and after on the fixture, 35 computed properties of
every element were identical on all 20 pages, the permanent-link redirects
aside, in both themes at desktop and
phone widths, with the search dialog and its backdrop open, with the mobile
menu open, across the first 25 keyboard focus stops, under the pointer on
the first 20 links and controls of two pages, and in print.
A link to a Google Doc copied from a signed-in account
(/document/u/<n>/d/…), to a Google Doc's other views (none, preview, mobilebasic, pub) and to a Drive file (/file/d/…) now opens the site's
page when the file is published, such as a PDF. A link asking for a copy or
a download stays as it is.
The source facts in data/title-report.json are version 4. The first normal
sync after upgrading exports every Google Doc once more to read them: it
takes as long as a full sync, and, like one, rewrites a page wherever
Google's export or the link handling now differ from when the page was last
written.
A folder's page now opens its sidebar group, as "Overview", when the folder
holds no document with a landing title, numbered or not, and no subfolder
labeled like it, so a group never lists two entries with one name. The
label is the first of navigation.landingDocumentTitles. The item names its
folder in aria-label, "Reference: Overview", which the previous and next
links now show in place of the sidebar label. The page is highlighted in
the sidebar when open, and takes its place in previous and next. See ADR-035,
which supersedes ADR-014 in part. The sidebar changes on the next sync.
The browser suite runs its accessibility audits once the page's running
animations have finished, waiting two seconds at most. Switching the theme
fades a sidebar link's background over 150 ms while its text changes at
once, and an audit in between failed on a frame no reader stops on.
Fixed
The home page is found in search by its title alone. Its folder cards,
recent documents and interface text were indexed, so it came back beside
nearly every document a search found, and the 404 page could offer it in
place of the page a stale address named. A folder with no page of its own is
now found by its name at its heading in the full index, which was the only
text naming it that the home page's exclusion would otherwise take away. See ADR-036,
which supersedes ADR-017 in part.
ctcdocs-verify-search checks again that interface text stays out of the
search index. It searched for a sentence no component renders any more, so
the check passed on every build without testing anything. Elements whose
text must stay out of the index are now marked data-ctcdocs-unindexed; the
check fails when a build marks nothing, and when any marked element on any
page lacks data-pagefind-ignore. Pagefind itself then confirms that a
marked page indexes the same as the page without its marked elements, and
that the home page indexes only its title. A project that replaces the
platform's components keeps the marks.