import assert from "node:assert/strict"; import { readFileSync } from "node:fs"; import { resolve } from "node:path"; import { fileURLToPath } from "node:url"; const webuiRoot = resolve(fileURLToPath(new URL("..", import.meta.url))); const read = (path) => readFileSync(resolve(webuiRoot, path), "utf8"); const settings = read("src/features/settings/SettingsPage.tsx"); const retention = read("src/features/privacy/RetentionPolicyManagement.tsx"); const confirmDialog = read("src/components/ConfirmDialog.tsx"); const credentials = read("src/components/CredentialEnvelopeManager.tsx"); const iconRail = read("src/layout/IconRail.tsx"); const moduleLoadBoundary = read("src/components/ModuleLoadBoundary.tsx"); const titlebar = read("src/layout/Titlebar.tsx"); const temporalDataMenu = read("src/layout/TemporalDataMenu.tsx"); const helpMenu = read("src/layout/HelpMenu.tsx"); const helpContext = read("src/utils/helpContext.ts"); const pageLayout = read("src/components/PageLayout.tsx"); const workspaceLayout = read("src/components/WorkspaceLayout.tsx"); const actionToolbar = read("src/components/ActionToolbar.tsx"); const contentGrid = read("src/components/ContentGrid.tsx"); const formSection = read("src/components/FormSection.tsx"); const dialogAnatomy = read("src/components/DialogAnatomy.tsx"); const adminPageLayout = read("src/components/admin/AdminPageLayout.tsx"); const layoutStyles = read("src/styles/layout.css"); const authGateStyles = read("src/styles/auth-gate.css"); assert.match(settings, /contextId: "core\.settings"/, "settings expose stable contextual documentation"); assert.match(settings, /There are no unsaved profile changes\./, "profile save explains its clean state"); assert.match(settings, /There are no unsaved interface changes\./, "preference save explains its clean state"); assert.match(retention, /\s*