Stop indexing the AG-UI documentation mirror that upstream deleted - #169
Merged
Merged
Conversation
CopilotKit#7092 deleted showcase/shell-docs/src/content/ag-ui/ upstream on 2026-09-11, about 14 hours after #164 added that tree to the docs source's file_patterns. The config still claims 96 files whose source is gone, and search-docs still advertises docs.copilotkit.ai/ag-ui/... links that die as the site rebuilds. These assertions fail against the shipped YAML as it stands: 4 ag-ui coverage cases plus both tool-description cases. A third describe block is new — a search tool's description is what an LLM reads to route a query, so a stale coverage claim there was invisible to every test we had.
…ver it CopilotKit#7092 (merged 2026-09-11T22:44:24Z, 112 files, -25,059 lines) deleted showcase/shell-docs/src/content/ag-ui/ from CopilotKit/CopilotKit. #164 had added that tree to the docs source's file_patterns and its full walk finished 2026-09-11T08:11:58Z — about 14 hours earlier. We indexed a tree that was retired that night. Removed the ag-ui file_patterns entry and the comment block arguing for it. Restored both tool descriptions to their pre-#164 text, verbatim. The search-docs one is the point of this change: it claimed to cover "the AG-UI protocol pages hosted on the CopilotKit docs site (docs.copilotkit.ai/ag-ui/ ...)", which is what an LLM reads to pick a tool, and those pages no longer exist. search-ag-ui-docs already indexes the canonical upstream copy and hands back docs.ag-ui.com links that resolve, so nothing becomes unsearchable — only the link target changes to the one that survives. The unclaimed_exempt_paths comment claiming content/ag-ui/ is "CLAIMED, and always will be" is replaced rather than inverted: the directory is gone, so the audit cannot fire on it either way and an exemption would only blind it to whatever lands at that path next. No exemption added. scripts/test-path-filter.ts kept, comment corrected — #164 only edited comments there, and one now names a third subtree that does not exist.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is wrong
showcase/shell-docs/src/content/ag-ui/no longer exists. CopilotKit#7092,"fix(docs): remove retired AG-UI mirror", merged
2026-09-11T22:44:24Z(
tylerslaton, merge3e86b8d55) — 112 files, 20 additions, 25,059deletions — deleted the whole tree plus
src/app/sitemap.tsandsrc/app/llms-mdx/[[...slug]]/route.ts. Confirmed against the live API:#164 (
298b7fa) had addedshowcase/shell-docs/src/content/ag-ui/**/*.mdxtothe
docssource'sfile_patterns. Its full walk completed2026-09-11T08:11:58Z— about 14 hours before the deletion landed. Weindexed a tree that was retired that night.
Today the production sitemap still advertises 96
/ag-ui/URLs from a stalebuild; 88 serve 200 and 8 already return 500. As the site rebuilds, those URLs
die, and our index keeps handing them out.
No content becomes unsearchable.
search-ag-ui-docsalready indexes theupstream
ag-ui-protocol/ag-uirepo (~1,317 chunks) and answers withdocs.ag-ui.comlinks, which resolve. Only the link target changes — to theone that will still exist.
What changed
Removed the
ag-uifile_patternsentry and the comment block above itthat argued for indexing the tree.
Restored both tool descriptions to their pre-Index the 96 AG-UI documentation pages hosted on docs.copilotkit.ai #164 text, verbatim. This
is the most important part of the change.
search-docsclaimed to cover"the AG-UI protocol pages hosted on the CopilotKit docs site
(docs.copilotkit.ai/ag-ui/...)" — a false claim, and it is what an LLM
reads to decide which tool to call. It now reads:
search-ag-ui-docs— which Index the 96 AG-UI documentation pages hosted on docs.copilotkit.ai #164 softened into "one of two near-identicalcopies" — is again described as the AG-UI documentation, with no mention
of a second copy.
unclaimed_exempt_paths: stale comment replaced, no exemption added.Index the 96 AG-UI documentation pages hosted on docs.copilotkit.ai #164's comment said
content/ag-ui/"is deliberately absent from this listand always will be: it is not exempt, it is CLAIMED". That reasoning is
obsolete. The directory is gone, so the
unclaimed_contentaudit has nothingto walk there and cannot fire either way; an exemption would only blind the
audit to whatever lands at that path next.
Per-file decision on the rest of #164
git show 298b7fa --statlists three files.deploy/copilotkit-docs.yamlscripts/test-path-filter.tscontent/docs/, which #159 had widened tocontent/.src/__tests__/copilotkit-docs-config.test.tsdescribeblock is new: whatsearch-docsadvertises. Its machine-relay block postdates #164 and is untouched.RED → GREEN
Harness calls the shipped
walkSourceFiles()andderiveUrl()over theshipped
deploy/copilotkit-docs.yaml. No database, no network, noproduction.
The checkout is CopilotKit
4b7c0d35fd505e981a03cd7d3cba400234b0eb4b— thefirst parent of the deletion merge, i.e.
mainimmediately before #7092.That commit is required to demonstrate the before-state at all: at any commit
after it the files are simply gone, so a red run there would prove nothing
about our config.
RED (config as on
main):GREEN (this branch, same command, same checkout):
File-count delta: 962 → 866, exactly −96. The prose and reference counts do
not move.
Negative check: the existing 866 URLs are byte-identical
#159 and #164 both came close to breaking the ordered, first-match-wins
url_derivation.strip_prefix. Removing a pattern must not disturb it. Fullpath → URLmanifests for thedocs/andreference/subtrees, before andafter:
Mutation-tested, so the empty diff is not vacuous. Swapping the two
strip_prefixentries so the shortercontent/prefix wins first — the exactdefect this check exists to catch — produces 1,364 differing rows, every
prose page gaining a spurious
/docssegment(
/quickstart→/docs/quickstart). The check fires. Restoring the configreturns the manifest to byte-identical.
The new assertions are mutation-tested the same way: against #164's config,
7 of them fail (4 ag-ui coverage cases, 3 tool-description cases).
Local gate
npm run build✅ ·npx tsc --noEmit✅ ·npm test198 files / 3,949tests passed, 0 failed, 1 skipped ✅ ·
node scripts/check-test-shapes.mjs✅ (no new violations) ·
npx prettier --checkon all three touched files ✅No pre-existing failure to control for — the suite is fully green.
Deploying this: a reindex IS required
Merging this config change does not remove already-indexed chunks. The ~866
ag-ui chunks sitting in the
docssource stay there until a full walk of thatsource rewrites it. The chunks will keep being returned, with dying
docs.copilotkit.ai/ag-ui/...links, until then.#160's
config_fingerprintshould force that walk automatically, sincefile_patternsis folded into the fingerprint. Measured on the two configs:The branch value is exactly the pre-#164 fingerprint, so the stored value no
longer matches and the orchestrator takes the full-walk path.
How an operator confirms it, after deploy and the next reindex:
/health— thedocssource's document count falls from ~962 back toward~866, i.e. down by roughly the ag-ui contribution (~866 chunks across
96 files).
search-docsfor something only those pages said (e.g. "AG-UIRunAgentInput", "AG-UI Rust SDK subscriber") returns no
docs.copilotkit.ai/ag-ui/...URLs;search-ag-ui-docsanswers the samequery with
docs.ag-ui.comlinks.CopilotKit/CopilotKit.
If the count does not move, the fingerprint path did not fire and a manual full
reindex of the
docssource is the fallback.