diff --git a/.gitignore b/.gitignore index e0c97ec..eb0b7e1 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,8 @@ inputs/original-assets/ *.map .worktrees/ .superpowers/sdd/ + +# Private source material and local visual-check artifacts are never published. +/private-handoff/ +/.playwright-mcp/ +/baseline-infrastructure.png diff --git a/playwright.content.config.ts b/playwright.content.config.ts index 1a49a85..6c4a328 100644 --- a/playwright.content.config.ts +++ b/playwright.content.config.ts @@ -4,7 +4,7 @@ import { defineConfig, devices } from '@playwright/test'; // These do not need the full suite's fault-injection client. export default defineConfig({ testDir: './tests/browser', - testMatch: 'contact-refinements.spec.ts', + testMatch: ['contact-refinements.spec.ts', 'title-navigation.spec.ts', 'arrival-finale.spec.ts'], workers: 2, use: { serviceWorkers: 'block' }, projects: [ diff --git a/scripts/verify-artifacts.mjs b/scripts/verify-artifacts.mjs index d30dae9..37cd08f 100644 --- a/scripts/verify-artifacts.mjs +++ b/scripts/verify-artifacts.mjs @@ -218,7 +218,7 @@ const assertSemanticHtml = (html, inputs, contract) => { } continue; } - const headings = [...section.querySelectorAll(':scope > h2')] + const headings = [...section.querySelectorAll('h2')] .filter((node) => isVisibleSemanticNode(node, appRoot)); if (label === undefined || headings.length !== 1 || headings[0].id !== `${section.id}-heading` || headings[0].textContent !== label) { diff --git a/src/App.vue b/src/App.vue index 23f431e..6df9779 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,6 +9,7 @@ import './styles/world.css'; import './styles/evolution.css'; import './styles/chromatic.css'; import './styles/refinements.css'; +import './styles/title-navigation.css'; import './styles/print.css'; defineProps<{ inputs: Readonly }>(); diff --git a/src/components/AppShell.vue b/src/components/AppShell.vue index 5d28b8b..bbe978f 100644 --- a/src/components/AppShell.vue +++ b/src/components/AppShell.vue @@ -219,6 +219,7 @@ onUnmounted(() => removePageListeners()); @@ -226,7 +227,7 @@ onUnmounted(() => removePageListeners());
- +

{{ content.profile.introduction }}

@@ -247,12 +248,20 @@ onUnmounted(() => removePageListeners());
+
@@ -281,6 +290,7 @@ onUnmounted(() => removePageListeners());
+ => {