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
feat(spec): gate the shipped llms.txt against the real package surface (#11688)
`packages/spec/llms.txt` ships in the npm tarball as context for AI consumers
and is hand-kept with no generator, so nothing ever re-derived what it asserts.
It had drifted: eleven advertised symbols existed in no entry point, two
advertised packages did not exist, the schema-inventory heading disagreed with
the sum of its own table, and the package heading claimed 19 against a real 68.
Add `check:llms-txt`, which re-derives every checkable claim: symbols against
the checked-in api-surface/ shards, subpaths against the manifest `exports`,
per-domain counts against src/<domain>/**/*.zod.ts, and the package table
against the workspace. Symbol claims resolve at the strictness their position
earns — namespace bullets and fenced imports name an entry point and must
resolve from it, the architecture overview resolves against the union.
Repair the claims the gate was otherwise born red on. Deliberately no
`gen:llms-txt`: the numbers are not the claim, the prose beside them is.
Claude-Session: https://claude.ai/code/session_01Rxnd8cyFnoU8V5y21PaTsy
Co-authored-by: Claude <noreply@anthropic.com>
why: 'audits spec source prose: a citation in the asserting spelling (`.objectui-sha` = `<sha>`) must equal the root pin file — no artifact, and deliberately no `gen:`, because rewriting the sha without re-measuring the anchors beside it is the failure mode (#10274)',
280
280
},
281
+
// #11344. The nearest sibling to `check:objectui-pin-citations` above, and
282
+
// classified NO_GENERATOR for the same reason rather than for a bookkeeping
283
+
// one. `llms.txt` is hand-kept prose that SHIPS in the tarball (`files`), and
284
+
// the obvious `gen:` — restamp each count, drop each dead symbol — is the one
285
+
// operation that must never be offered: the number is not the claim, the
286
+
// sentence beside it is. Restamping `| integration | 7 | Connector (Database,
287
+
// File Storage, GitHub, MQ, SaaS, Vercel) |` to `1` would leave a freshly
288
+
// dated row listing six connectors that do not exist, converting a loud
289
+
// staleness into a silent lie. A failure here is a re-read of the section.
290
+
{
291
+
check: 'check:llms-txt',
292
+
why: 'audits the shipped llms.txt: every advertised symbol must resolve against api-surface/, every `@objectstack/spec/x` against the manifest `exports`, and every declared count against src/ and the workspace — no artifact, and deliberately no `gen:`, because restamping a count without re-reading the prose beside it is the failure mode (#11344)',
0 commit comments