From 02a855484f96d456471f92fb4481a882814a28e6 Mon Sep 17 00:00:00 2001 From: aabdi Date: Fri, 19 Jun 2026 00:36:22 +0700 Subject: [PATCH 1/6] feat: [failing-main-001] - [Remove committed lint drift blocking CI] --- .../components/RegistryGraphFlow.test.tsx | 2 +- .../models/components/RegistryGraphFlow.tsx | 4 --- ...ontent-reconciliation-sidebar-meta.test.ts | 5 ++- .../glossary-architecture-index.test.ts | 6 ++-- src/lib/content/pages.ts | 2 +- .../navigation/generated-docs-page-tree.ts | 32 +++++++++++++------ 6 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/features/models/components/RegistryGraphFlow.test.tsx b/src/features/models/components/RegistryGraphFlow.test.tsx index 701f1862..1e0c0953 100644 --- a/src/features/models/components/RegistryGraphFlow.test.tsx +++ b/src/features/models/components/RegistryGraphFlow.test.tsx @@ -8,8 +8,8 @@ import { PageAssetsProvider } from "@/features/docs/components/page-assets-conte import { PageMessagesProvider } from "@/features/docs/components/page-messages-context"; import { GraphNodeLabel, - RegistryGraphFlow, nodeVisualRoleHasHandles, + RegistryGraphFlow, } from "@/features/models/components/RegistryGraphFlow"; import { REGISTRY_GRAPH_FLOW_INTERACTION } from "@/features/models/components/registry-graph-flow-theme"; import { diff --git a/src/features/models/components/RegistryGraphFlow.tsx b/src/features/models/components/RegistryGraphFlow.tsx index bc18301f..a8107328 100644 --- a/src/features/models/components/RegistryGraphFlow.tsx +++ b/src/features/models/components/RegistryGraphFlow.tsx @@ -248,10 +248,6 @@ function AttentionHeadNode({ data, }: NodeProps>) { const visualRole = data.visualRole ?? "default"; - const isHeadBox = - visualRole === "query-head" || - visualRole === "key-head" || - visualRole === "value-head"; const hasHandles = nodeVisualRoleHasHandles(visualRole); return ( diff --git a/src/lib/content/content-reconciliation-sidebar-meta.test.ts b/src/lib/content/content-reconciliation-sidebar-meta.test.ts index 060cfe0c..432b6f4a 100644 --- a/src/lib/content/content-reconciliation-sidebar-meta.test.ts +++ b/src/lib/content/content-reconciliation-sidebar-meta.test.ts @@ -63,7 +63,10 @@ describe("Phase 2/3 reconciliation docs sidebar meta (US-003)", () => { expect(sidebarUrls).toHaveLength(sectionPages.length); const sidebarTitles = folder.children - .filter((node): node is Extract => node.type === "page") + .filter( + (node): node is Extract => + node.type === "page", + ) .map((node) => node.name); for (const page of sectionPages) { expect(sidebarTitles).toContain(page.messages.title); diff --git a/src/lib/content/glossary-architecture-index.test.ts b/src/lib/content/glossary-architecture-index.test.ts index 560a0fe3..753dfa32 100644 --- a/src/lib/content/glossary-architecture-index.test.ts +++ b/src/lib/content/glossary-architecture-index.test.ts @@ -187,9 +187,9 @@ describe("Phase 2 glossary and architecture index navigation (US-007)", () => { for (const slug of CURRENT_GLOSSARY_SLUGS) { const title = EXPECTED_GLOSSARY_TITLES[slug]; - expect(linkNodes.some((entry) => entry.url === `/docs/glossary/${slug}`)).toBe( - true, - ); + expect( + linkNodes.some((entry) => entry.url === `/docs/glossary/${slug}`), + ).toBe(true); expect(linkNodes.some((entry) => entry.name === title)).toBe(true); } }); diff --git a/src/lib/content/pages.ts b/src/lib/content/pages.ts index a61402bc..8a189f68 100644 --- a/src/lib/content/pages.ts +++ b/src/lib/content/pages.ts @@ -5,8 +5,8 @@ import { loadPageMessages } from "@/lib/content/page-messages-load"; import { type PageFrontmatter, type PageMessages, - pageMessagesSchema, pageFrontmatterSchema, + pageMessagesSchema, } from "@/lib/content/schemas"; import { isShippedLocalizedDocsSlug } from "@/lib/content/shipped-localized-docs"; import { parseYamlFrontmatterBlock } from "@/lib/content/yaml-frontmatter"; diff --git a/src/lib/navigation/generated-docs-page-tree.ts b/src/lib/navigation/generated-docs-page-tree.ts index 8c62d6cb..6f0e9113 100644 --- a/src/lib/navigation/generated-docs-page-tree.ts +++ b/src/lib/navigation/generated-docs-page-tree.ts @@ -1,10 +1,11 @@ import type { Node, Root } from "fumadocs-core/page-tree"; -import { loadPublishedDocsPagesSync, type DocsPageSource } from "@/lib/content/pages"; +import { + type DocsPageSource, + loadPublishedDocsPagesSync, +} from "@/lib/content/pages"; import { getConceptById, - getModelById, getModuleById, - getPaperById, getSystemById, getTrainingRegimeById, } from "@/lib/content/registry-runtime"; @@ -171,7 +172,9 @@ function generateGlossaryNodes(pages: DocsPageSource[]): Node[] { name: "Sequence And Attention", match: (page) => { const record = getConceptById(page.frontmatter.registryId); - return record ? GLOSSARY_SEQUENCE_AND_ATTENTION_SLUGS.has(record.slug) : false; + return record + ? GLOSSARY_SEQUENCE_AND_ATTENTION_SLUGS.has(record.slug) + : false; }, }, { @@ -212,7 +215,9 @@ function generateConceptNodes(pages: DocsPageSource[]): Node[] { }, { name: "Inference", - match: (page) => getConceptById(page.frontmatter.registryId)?.conceptType === "inference", + match: (page) => + getConceptById(page.frontmatter.registryId)?.conceptType === + "inference", }, { name: "Architecture", @@ -237,7 +242,9 @@ function generateModuleNodes(pages: DocsPageSource[]): Node[] { name: "Attention Foundations", match: (page) => { const record = getModuleById(page.frontmatter.registryId); - return record ? MODULE_ATTENTION_FOUNDATION_SLUGS.has(record.slug) : false; + return record + ? MODULE_ATTENTION_FOUNDATION_SLUGS.has(record.slug) + : false; }, }, { @@ -267,7 +274,8 @@ function generateModuleNodes(pages: DocsPageSource[]): Node[] { { name: "Normalization", match: (page) => - getModuleById(page.frontmatter.registryId)?.moduleType === "normalization", + getModuleById(page.frontmatter.registryId)?.moduleType === + "normalization", }, { name: "Positional And Sequence Encoding", @@ -368,7 +376,10 @@ export function buildGeneratedDocsPageTree(baseTree: Root): Root { } const gettingStarted = baseTree.children.find( - (node) => node.type === "page" && "url" in node && node.url === "/docs/getting-started", + (node) => + node.type === "page" && + "url" in node && + node.url === "/docs/getting-started", ); const children: Node[] = []; @@ -380,7 +391,10 @@ export function buildGeneratedDocsPageTree(baseTree: Root): Root { children.push({ type: "folder", name: SECTION_TITLES[section], - children: generateSectionNodes(section, pagesBySection.get(section) ?? []), + children: generateSectionNodes( + section, + pagesBySection.get(section) ?? [], + ), }); } From 3ea0c0a212fc65faba7b113c1a99a6fca117554a Mon Sep 17 00:00:00 2001 From: aabdi Date: Fri, 19 Jun 2026 00:40:20 +0700 Subject: [PATCH 2/6] feat: failing-main-002 - Stabilize coverage-mode verifier execution --- src/lib/verify/docs-shell-convergence.test.ts | 11 +++++++++++ src/lib/verify/docs-shell-convergence.ts | 5 +---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/lib/verify/docs-shell-convergence.test.ts b/src/lib/verify/docs-shell-convergence.test.ts index 4fd8e52c..5b004b43 100644 --- a/src/lib/verify/docs-shell-convergence.test.ts +++ b/src/lib/verify/docs-shell-convergence.test.ts @@ -81,4 +81,15 @@ describe("assertDocsShellConvergence", () => { DOCS_SHELL_CONVERGENCE_REASONS.missingGlossaryLabel, ); }); + + test("reports a missing token glossary link from the rendered sidebar HTML", () => { + const missingTokenLinkHtml = UNIFIED_SHELL_HTML.replace( + `Token`, + "Token", + ); + + expect(assertDocsShellConvergence(missingTokenLinkHtml)).toBe( + DOCS_SHELL_CONVERGENCE_REASONS.missingTokenGlossaryLink, + ); + }); }); diff --git a/src/lib/verify/docs-shell-convergence.ts b/src/lib/verify/docs-shell-convergence.ts index 1f8ad624..24e73aa7 100644 --- a/src/lib/verify/docs-shell-convergence.ts +++ b/src/lib/verify/docs-shell-convergence.ts @@ -1,12 +1,10 @@ import { - collectSidebarPageLinks, extractNdSidebarHtml, hasLegacyPlaceholderSidebar, PLACEHOLDER_SIDEBAR_DESCRIPTION, stripHtmlScripts, TOKEN_GLOSSARY_URL, } from "@/lib/navigation/docs-sidebar-contract"; -import { source } from "@/lib/source"; /** Stable failure reasons for unified docs shell convergence checks. */ export const DOCS_SHELL_CONVERGENCE_REASONS = { @@ -56,8 +54,7 @@ export function assertDocsShellConvergence(html: string): string | null { return DOCS_SHELL_CONVERGENCE_REASONS.missingGlossaryLabel; } - const pageTreeLinks = collectSidebarPageLinks(source.pageTree); - if (!pageTreeLinks.some((link) => link.url === TOKEN_GLOSSARY_URL)) { + if (!sidebar.includes(`href="${TOKEN_GLOSSARY_URL}"`)) { return DOCS_SHELL_CONVERGENCE_REASONS.missingTokenGlossaryLink; } From 3a316dbbf1e23a84bb5cb55d1575ccb8ce97e496 Mon Sep 17 00:00:00 2001 From: aabdi Date: Fri, 19 Jun 2026 00:57:20 +0700 Subject: [PATCH 3/6] feat: [failing-main-003] - [Prove local and GitHub Actions CI return to green] --- .../layout/model-atlas-docs-header.test.tsx | 5 ++- .../navigation/generated-docs-page-tree.ts | 1 + src/lib/source.test.ts | 10 +++++ .../docs-sidebar-navigation.a11y.test.tsx | 44 ++++++++----------- .../a11y/primary-navigation.a11y.test.tsx | 5 ++- ...-1-attention-tag-landing-built-app.test.ts | 10 +++-- 6 files changed, 43 insertions(+), 32 deletions(-) diff --git a/src/components/layout/model-atlas-docs-header.test.tsx b/src/components/layout/model-atlas-docs-header.test.tsx index 0bbd1312..5e6e26c3 100644 --- a/src/components/layout/model-atlas-docs-header.test.tsx +++ b/src/components/layout/model-atlas-docs-header.test.tsx @@ -197,10 +197,13 @@ describe("ModelAtlasDocsHeader", () => { const drawer = document.getElementById(panelId ?? ""); expect(drawer).toBeTruthy(); expect(drawer?.getAttribute("role")).toBe("dialog"); + const primaryNav = within(drawer as HTMLElement).getByRole("navigation", { + name: "Primary", + }); const expectedItems = getPrimaryNavItems(messages); for (const item of expectedItems) { - const link = within(drawer as HTMLElement).getByRole("link", { + const link = within(primaryNav).getByRole("link", { name: item.label, }); expect(link.getAttribute("href")).toBe(item.href); diff --git a/src/lib/navigation/generated-docs-page-tree.ts b/src/lib/navigation/generated-docs-page-tree.ts index 6f0e9113..86759bd6 100644 --- a/src/lib/navigation/generated-docs-page-tree.ts +++ b/src/lib/navigation/generated-docs-page-tree.ts @@ -391,6 +391,7 @@ export function buildGeneratedDocsPageTree(baseTree: Root): Root { children.push({ type: "folder", name: SECTION_TITLES[section], + defaultOpen: true, children: generateSectionNodes( section, pagesBySection.get(section) ?? [], diff --git a/src/lib/source.test.ts b/src/lib/source.test.ts index c10971b4..9b5d109f 100644 --- a/src/lib/source.test.ts +++ b/src/lib/source.test.ts @@ -273,4 +273,14 @@ describe("docs navigation source", () => { expect(separatorNames).toContain(separatorName); } }); + + test("top-level docs sidebar sections render expanded by default", () => { + for (const node of source.pageTree.children) { + if (node.type !== "folder") { + continue; + } + + expect(node.defaultOpen).toBe(true); + } + }); }); diff --git a/src/tests/a11y/docs-sidebar-navigation.a11y.test.tsx b/src/tests/a11y/docs-sidebar-navigation.a11y.test.tsx index 8dfd58e6..a4c99d70 100644 --- a/src/tests/a11y/docs-sidebar-navigation.a11y.test.tsx +++ b/src/tests/a11y/docs-sidebar-navigation.a11y.test.tsx @@ -25,6 +25,20 @@ describe("docs sidebar navigation accessibility", () => { restoreFetchMock(); }); + async function ensureSidebarFolderExpanded( + sidebar: HTMLElement, + name: string, + ) { + const folder = within(sidebar).getByRole("button", { name }); + if (folder.getAttribute("aria-expanded") === "true") { + return; + } + + await act(async () => { + folder.click(); + }); + } + test("CanonicalDocsLayout exposes keyboard-reachable Token and GQA sidebar links", async () => { captureOriginalFetch(); await installDocsSearchFetchMock(); @@ -54,19 +68,8 @@ describe("docs sidebar navigation accessibility", () => { expect(within(sidebar).queryByLabelText("Toggle Theme")).toBe(null); expect(sidebar.querySelector("[data-theme-toggle]")).toBe(null); - const glossaryFolder = within(sidebar).getByRole("button", { - name: "Glossary", - }); - await act(async () => { - glossaryFolder.click(); - }); - - const modulesFolder = within(sidebar).getByRole("button", { - name: "Modules", - }); - await act(async () => { - modulesFolder.click(); - }); + await ensureSidebarFolderExpanded(sidebar, "Glossary"); + await ensureSidebarFolderExpanded(sidebar, "Modules"); const tokenLink = within(sidebar).getByRole("link", { name: "Token" }); expect(tokenLink.getAttribute("href")).toBe(TOKEN_GLOSSARY_URL); @@ -113,19 +116,8 @@ describe("docs sidebar navigation accessibility", () => { }); expect(homeLink.getAttribute("href")).toBe("/vi"); - const glossaryFolder = within(sidebar).getByRole("button", { - name: "Glossary", - }); - await act(async () => { - glossaryFolder.click(); - }); - - const modulesFolder = within(sidebar).getByRole("button", { - name: "Modules", - }); - await act(async () => { - modulesFolder.click(); - }); + await ensureSidebarFolderExpanded(sidebar, "Glossary"); + await ensureSidebarFolderExpanded(sidebar, "Modules"); const tokenLink = within(sidebar).getByRole("link", { name: "Token" }); expect(tokenLink.getAttribute("href")).toBe("/vi/docs/glossary/token"); diff --git a/src/tests/a11y/primary-navigation.a11y.test.tsx b/src/tests/a11y/primary-navigation.a11y.test.tsx index a3463010..e8667990 100644 --- a/src/tests/a11y/primary-navigation.a11y.test.tsx +++ b/src/tests/a11y/primary-navigation.a11y.test.tsx @@ -100,10 +100,13 @@ describe("primary navigation accessibility smoke", () => { const panel = document.getElementById(panelId ?? ""); expect(panel).toBeTruthy(); expect(panel?.getAttribute("role")).toBe("dialog"); + const primaryNav = within(panel as HTMLElement).getByRole("navigation", { + name: "Primary", + }); const expectedItems = getPrimaryNavItems(context.messages); for (const item of expectedItems) { - const link = within(panel as HTMLElement).getByRole("link", { + const link = within(primaryNav).getByRole("link", { name: item.label, }); expect(link.getAttribute("href")).toBe(item.href); diff --git a/src/tests/content/phase-1-attention-tag-landing-built-app.test.ts b/src/tests/content/phase-1-attention-tag-landing-built-app.test.ts index a1b7d970..8c107a90 100644 --- a/src/tests/content/phase-1-attention-tag-landing-built-app.test.ts +++ b/src/tests/content/phase-1-attention-tag-landing-built-app.test.ts @@ -4,6 +4,7 @@ import { readBuiltAppServerHtml, } from "@/lib/build/built-app-html-test-utils"; import { PHASE_1_GROUPED_QUERY_ATTENTION_MODULE_URL } from "@/lib/content/phase-1-published-resources"; +import { extractNdPageHtml } from "@/lib/navigation/docs-page-footer-contract"; import { stripHtmlScripts } from "@/lib/navigation/docs-sidebar-contract"; import { shouldRunBuiltHtmlConvergenceTests } from "@/lib/verify/server-lifecycle"; @@ -38,11 +39,12 @@ describe("Phase 1 attention tag landing built-app HTML", () => { } const visibleHtml = stripHtmlScripts(html); - const gqaLinkCount = visibleHtml.split(GQA_HREF).length - 1; + const ndPageHtml = extractNdPageHtml(visibleHtml); + const gqaLinkCount = ndPageHtml.split(GQA_HREF).length - 1; expect(gqaLinkCount).toBe(1); - expect(visibleHtml).toContain("Grouped-Query Attention"); - expect(visibleHtml).toContain('href="/search?tag=attention"'); - expect(visibleHtml).not.toContain("lorem"); + expect(ndPageHtml).toContain("Grouped-Query Attention"); + expect(ndPageHtml).toContain('href="/search?tag=attention"'); + expect(ndPageHtml).not.toContain("lorem"); }); }); From b0726141122c0c1401890ac3fe7edf3cfab8043e Mon Sep 17 00:00:00 2001 From: aabdi Date: Fri, 19 Jun 2026 01:01:39 +0700 Subject: [PATCH 4/6] feat: [failing-main-003] - [Prove local and GitHub Actions CI return to green] --- src/tests/search/search-api.test.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/tests/search/search-api.test.ts b/src/tests/search/search-api.test.ts index 59e47c61..26dbc3c2 100644 --- a/src/tests/search/search-api.test.ts +++ b/src/tests/search/search-api.test.ts @@ -28,6 +28,11 @@ import { const SAMPLE_URL = SAMPLE_MODULE_URL; const TOKEN_URL = TOKEN_GLOSSARY_URL; +const STATIC_CLIENT_GQA_URL = `${TEST_DOCS_SEARCH_URL}?static-client=gqa`; +const STATIC_CLIENT_ATTENTION_URL = + `${TEST_DOCS_SEARCH_URL}?static-client=attention`; +const STATIC_CLIENT_KV_CACHE_URL = + `${TEST_DOCS_SEARCH_URL}?static-client=kv-cache`; describe("Phase 1 /api/search regression", () => { for (const assertion of PHASE_1_SEARCH_ASSERTIONS) { @@ -325,7 +330,7 @@ describe("docs search static client", () => { test("orama static client returns grouped-query attention for GQA", async () => { globalThis.fetch = createDocsSearchRouteFetch(); - const client = oramaStaticClient({ from: TEST_DOCS_SEARCH_URL }); + const client = oramaStaticClient({ from: STATIC_CLIENT_GQA_URL }); const results = await client.search("GQA"); expect(results.length).toBeGreaterThan(0); @@ -335,7 +340,7 @@ describe("docs search static client", () => { test("orama static client returns non-empty attention results before app-level reranking", async () => { globalThis.fetch = createDocsSearchRouteFetch(); - const client = oramaStaticClient({ from: TEST_DOCS_SEARCH_URL }); + const client = oramaStaticClient({ from: STATIC_CLIENT_ATTENTION_URL }); const results = await client.search("attention"); expect(results.length).toBeGreaterThan(0); @@ -345,7 +350,7 @@ describe("docs search static client", () => { test("orama static client includes grouped-query attention for KV cache", async () => { globalThis.fetch = createDocsSearchRouteFetch(); - const client = oramaStaticClient({ from: TEST_DOCS_SEARCH_URL }); + const client = oramaStaticClient({ from: STATIC_CLIENT_KV_CACHE_URL }); const results = await client.search("KV cache"); expect(results.length).toBeGreaterThan(0); From 2f1d1cc242ef7d807d98ee9e8e6b4f9a625c2f73 Mon Sep 17 00:00:00 2001 From: aabdi Date: Fri, 19 Jun 2026 01:02:57 +0700 Subject: [PATCH 5/6] feat: [failing-main-003] - [Prove local and GitHub Actions CI return to green] --- src/tests/search/search-api.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/tests/search/search-api.test.ts b/src/tests/search/search-api.test.ts index 26dbc3c2..8c1cb47e 100644 --- a/src/tests/search/search-api.test.ts +++ b/src/tests/search/search-api.test.ts @@ -29,10 +29,8 @@ import { const SAMPLE_URL = SAMPLE_MODULE_URL; const TOKEN_URL = TOKEN_GLOSSARY_URL; const STATIC_CLIENT_GQA_URL = `${TEST_DOCS_SEARCH_URL}?static-client=gqa`; -const STATIC_CLIENT_ATTENTION_URL = - `${TEST_DOCS_SEARCH_URL}?static-client=attention`; -const STATIC_CLIENT_KV_CACHE_URL = - `${TEST_DOCS_SEARCH_URL}?static-client=kv-cache`; +const STATIC_CLIENT_ATTENTION_URL = `${TEST_DOCS_SEARCH_URL}?static-client=attention`; +const STATIC_CLIENT_KV_CACHE_URL = `${TEST_DOCS_SEARCH_URL}?static-client=kv-cache`; describe("Phase 1 /api/search regression", () => { for (const assertion of PHASE_1_SEARCH_ASSERTIONS) { From 0861ab5d6a8e215633115fff64f629a2687d4707 Mon Sep 17 00:00:00 2001 From: aabdi Date: Fri, 19 Jun 2026 01:10:39 +0700 Subject: [PATCH 6/6] feat: [failing-main-003] - [Prove local and GitHub Actions CI return to green] --- src/tests/search/search-api.test.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/tests/search/search-api.test.ts b/src/tests/search/search-api.test.ts index 8c1cb47e..143f8700 100644 --- a/src/tests/search/search-api.test.ts +++ b/src/tests/search/search-api.test.ts @@ -28,9 +28,10 @@ import { const SAMPLE_URL = SAMPLE_MODULE_URL; const TOKEN_URL = TOKEN_GLOSSARY_URL; -const STATIC_CLIENT_GQA_URL = `${TEST_DOCS_SEARCH_URL}?static-client=gqa`; -const STATIC_CLIENT_ATTENTION_URL = `${TEST_DOCS_SEARCH_URL}?static-client=attention`; -const STATIC_CLIENT_KV_CACHE_URL = `${TEST_DOCS_SEARCH_URL}?static-client=kv-cache`; + +function createStaticClientTestUrl(label: string): string { + return `${TEST_DOCS_SEARCH_URL}?static-client=${label}&test-run=${crypto.randomUUID()}`; +} describe("Phase 1 /api/search regression", () => { for (const assertion of PHASE_1_SEARCH_ASSERTIONS) { @@ -328,7 +329,9 @@ describe("docs search static client", () => { test("orama static client returns grouped-query attention for GQA", async () => { globalThis.fetch = createDocsSearchRouteFetch(); - const client = oramaStaticClient({ from: STATIC_CLIENT_GQA_URL }); + const client = oramaStaticClient({ + from: createStaticClientTestUrl("gqa"), + }); const results = await client.search("GQA"); expect(results.length).toBeGreaterThan(0); @@ -338,7 +341,9 @@ describe("docs search static client", () => { test("orama static client returns non-empty attention results before app-level reranking", async () => { globalThis.fetch = createDocsSearchRouteFetch(); - const client = oramaStaticClient({ from: STATIC_CLIENT_ATTENTION_URL }); + const client = oramaStaticClient({ + from: createStaticClientTestUrl("attention"), + }); const results = await client.search("attention"); expect(results.length).toBeGreaterThan(0); @@ -348,7 +353,9 @@ describe("docs search static client", () => { test("orama static client includes grouped-query attention for KV cache", async () => { globalThis.fetch = createDocsSearchRouteFetch(); - const client = oramaStaticClient({ from: STATIC_CLIENT_KV_CACHE_URL }); + const client = oramaStaticClient({ + from: createStaticClientTestUrl("kv-cache"), + }); const results = await client.search("KV cache"); expect(results.length).toBeGreaterThan(0);