import assert from "node:assert/strict"; import fs from "node:fs"; const page = fs.readFileSync("src/features/tickets/TicketsPage.tsx", "utf8"); const styles = fs.readFileSync("src/styles/tickets.css", "utf8"); assert.ok(page.includes("WorkspaceActionBar"), "Tickets uses the semantic shared action bar"); assert.ok(page.includes("refreshable"), "The refreshable Tickets workspace exposes Reload"); assert.ok(page.includes("DocumentationHelpLink"), "Tickets exposes contextual documentation"); assert.ok(page.includes("PageScrollViewport"), "Tickets owns bounded queue and detail scrolling"); assert.ok(page.includes("]*\bonClick\s*=/.test(page), "Tickets uses semantic interactive elements"); assert.ok(styles.includes("@media (max-width: 760px)"), "Tickets retains a responsive queue-detail layout"); console.log("Tickets interface pattern contract passed.");