import assert from "node:assert/strict"; import fs from "node:fs"; const page = fs.readFileSync("src/features/projects/ProjectsPage.tsx", "utf8"); const styles = fs.readFileSync("src/styles/projects.css", "utf8"); assert.ok(page.includes("DocumentationHelpLink"), "Projects exposes configured-system help"); assert.ok(page.includes("PageScrollViewport"), "Projects owns bounded list and detail scrolling"); assert.ok(page.includes("]*\bonClick\s*=/.test(page), "Projects uses semantic interactive elements"); assert.ok(styles.includes("@media (max-width: 560px)"), "Projects retains a narrow-viewport editor layout"); assert.ok(styles.includes(":focus-visible"), "Projects retains visible keyboard focus"); console.log("Projects interface pattern contract passed.");