{"description":"Structured backlog for future agents improving this reference before production implementation work.","backlog_intelligence":{"objective":"Make the future-agent backlog self-prioritizing, inspectable, and executable without chat context.","why":"A future agent should not need to ask what is next. It should be able to inspect the queue, see dependencies and risks, choose the right next task, and cite the evidence needed to finish it.","selectionRules":["Prefer status=next over status=later unless a later task is an explicit dependency.","Prefer high-priority tasks that unblock a roadmap item with lower priority number.","Prefer tasks with executable QA gates over research-only tasks.","Do not select a task whose dependencies are incomplete unless the task is explicitly a dependency stress test.","When multiple tasks tie, choose the one with the strongest objective alignment and clearest evidence path."],"requiredTaskFields":["id","status","priority","title","rationale","roadmapItemIds","dependencies","risk","files","expectedOutput","qaGate","evidenceLinks","acceptanceCriteria","objectiveAlignment"],"riskModel":[{"risk":"high","condition":"A next high-priority task affects contracts, QA, source truth, crawl evidence, or agent ability to continue work."},{"risk":"medium","condition":"A later task affects design, examples, or stress-test breadth but does not block the current operating contract."},{"risk":"low","condition":"A done task is retained for evidence, auditability, and regression context."}],"evidenceRules":["Done tasks should link to endpoints, reports, commands, or files that prove completion.","Next tasks should name the expected report or endpoint they will create.","Tasks that affect formal JSON shape must cite npm run qa:aeo as a QA gate.","Tasks that affect crawl evidence must cite npm run qa:crawl or a Screaming Frog report path.","Tasks that affect visual layout must cite npm run qa:browser and report screenshots."],"passCriteria":["Every task maps to at least one roadmap item.","Every task exposes risk, dependencies, expected output, QA gate, evidence links, and acceptance criteria.","The endpoint exposes next actions in selection order.","Completed tasks retain evidence links.","QA fails when task shape or roadmap mapping drifts."],"objectiveAlignment":"Turns open work into a durable execution surface, reducing hidden loops and making continuation reliable for future agents."},"task_health":{"total":45,"done":43,"next":1,"later":1,"highRiskNext":1,"unmapped":[]},"next_actions":[{"rank":1,"taskId":"address-second-cold-audit-findings","title":"Act on the second zero-context audit of the live site","whyThisIsNext":"Roadmap priority 2; risk=high; qa=npm run qa:all.","expectedOutput":"Create or improve reports/good-bad-example-library/.","qaGate":"npm run qa:all"}],"roadmap_alignment":[{"roadmap_id":"step-by-step-agent-walkthroughs","priority":1,"title":"Step-by-step agent walkthroughs","task_ids":["add-objective-detail-walkthrough-contract","stress-test-walkthrough-model-with-agent-simulation","refresh-human-readable-agent-docs"]},{"roadmap_id":"machine-readable-contracts","priority":2,"title":"Machine-readable contracts","task_ids":["add-contract-schema-validation","add-contract-registry","stress-test-contract-registry-with-drift-fixtures","add-infrastructure-decision-system","reconcile-execution-track-with-task-ledger","close-strategy-layer-gaps","publish-qa-evidence-and-aeo-baseline","add-accessibility-contract","add-performance-budget-contract","address-second-cold-audit-findings"]},{"roadmap_id":"good-bad-example-library","priority":3,"title":"Good and bad example library","task_ids":["add-good-bad-site-study-library","add-conversion-copy-lab","stress-test-conversion-copy-transformations","add-offer-ecosystem-endpoint","expand-site-study-library-across-site-types","add-saas-demo-and-brand-tokens","build-canonical-demo-site","address-second-cold-audit-findings"]},{"roadmap_id":"seo-aeo-evaluation-layer","priority":4,"title":"SEO/AEO evaluation layer","task_ids":["add-seo-aeo-evaluation-layer","add-production-domain-and-crawl-evidence-runners","add-nectiv-derived-seo-aeo-checks","close-strategy-layer-gaps","prepare-cloudflare-pages-deployment","deploy-canonical-reference-and-capture-production-evidence"]},{"roadmap_id":"source-to-site-traceability","priority":5,"title":"Source-to-site traceability","task_ids":["add-source-to-site-traceability-contract","add-page-level-claim-id-instrumentation","add-conversion-copy-lab"]},{"roadmap_id":"site-type-build-playbooks","priority":6,"title":"Site-type build playbooks","task_ids":["add-site-type-build-playbooks","stress-test-site-type-playbooks-with-simulated-builds","add-offer-ecosystem-endpoint","add-infrastructure-decision-system","add-saas-demo-and-brand-tokens","build-canonical-demo-site"]},{"roadmap_id":"page-pattern-library","priority":7,"title":"Reusable page pattern library","task_ids":["add-reusable-page-pattern-library","add-conversion-copy-lab","stress-test-conversion-copy-transformations","add-offer-ecosystem-endpoint","stress-test-page-patterns-with-route-fixtures"]},{"roadmap_id":"browser-visual-qa","priority":8,"title":"Automated browser and visual QA","task_ids":["add-browser-regression-suite","expand-browser-qa-with-visual-diff-and-accessibility","add-accessibility-contract","add-performance-budget-contract"]},{"roadmap_id":"crawl-evidence-artifacts","priority":9,"title":"Crawl evidence as a first-class artifact","task_ids":["add-crawl-evidence-contract-and-summarizer","add-production-domain-and-crawl-evidence-runners","add-crawl-stress-suite","prepare-cloudflare-pages-deployment","deploy-canonical-reference-and-capture-production-evidence"]},{"roadmap_id":"agent-backlog-intelligence","priority":10,"title":"Agent backlog intelligence","task_ids":["add-agent-backlog-intelligence-contract"]},{"roadmap_id":"design-system-contracts","priority":11,"title":"Design system contracts","task_ids":["expand-browser-qa-with-visual-diff-and-accessibility","add-design-system-contract-layer","add-saas-demo-and-brand-tokens","make-design-tokens-real-values","expand-design-system-contract"]},{"roadmap_id":"aeo-geo-model-context","priority":12,"title":"AEO/GEO model context","task_ids":["add-aeo-geo-model-context-fixtures","publish-qa-evidence-and-aeo-baseline","run-live-aeo-geo-visibility-scan"]},{"roadmap_id":"why-explanations-everywhere","priority":13,"title":"Why explanations everywhere","task_ids":["add-objective-detail-walkthrough-contract","add-conversion-copy-lab","stress-test-conversion-copy-transformations","add-offer-ecosystem-endpoint","add-infrastructure-decision-system","add-why-explanations-contract"]},{"roadmap_id":"real-site-comparisons","priority":14,"title":"Comparison against real sites","task_ids":["expand-site-study-library-across-site-types","add-real-site-comparison-contract","add-nectiv-derived-seo-aeo-checks"]},{"roadmap_id":"handoff-reports","priority":15,"title":"Handoff reports","task_ids":["add-infrastructure-decision-system","add-handoff-report-contract","add-handoff-report-format"]}],"tasks":[{"id":"add-contract-schema-validation","status":"done","priority":"high","title":"Validate agent JSON contracts","rationale":"Agents need predictable endpoint shapes before deeper automation and stress testing.","files":["public/schemas/","scripts/qa-aeo.mjs"],"completionCriteria":["JSON schema files exist","QA validates endpoint shapes","File-map paths resolve"],"order":1,"roadmapItemIds":["machine-readable-contracts"],"roadmapPriorities":[2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/schemas/agent-manifest.schema.json","npm run qa:aeo"],"acceptanceCriteria":["JSON schema files exist","QA validates endpoint shapes","File-map paths resolve"],"objectiveAlignment":"Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"add-contract-registry","status":"done","priority":"high","title":"Add formal machine-readable contract registry","rationale":"Agents need a direct map from each formal JSON endpoint to its schema, source file, owner, validation command, evidence, and failure mode.","files":["src/data/agent-reference.ts","src/pages/contract-registry.json.ts","public/schemas/contract-registry.schema.json","scripts/qa-aeo.mjs"],"completionCriteria":["Registry is exposed in /agent-manifest.json and /contract-registry.json","Every registry endpoint and schema returns 200","Every registry source path exists","QA fails if a formal JSON endpoint is missing from the registry"],"order":2,"roadmapItemIds":["machine-readable-contracts"],"roadmapPriorities":[2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/contract-registry.json","npm run qa:aeo"],"acceptanceCriteria":["Registry is exposed in /agent-manifest.json and /contract-registry.json","Every registry endpoint and schema returns 200","Every registry source path exists","QA fails if a formal JSON endpoint is missing from the registry"],"objectiveAlignment":"Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"add-browser-regression-suite","status":"done","priority":"high","title":"Add browser regression and screenshot checks","rationale":"The reference needs automated visual confidence before design-system work. Browser QA now captures desktop/mobile screenshots and checks visible headings plus overflow conditions.","files":["scripts/qa-browser.mjs","reports/browser/","src/pages/browser-visual-qa.json.ts","public/schemas/browser-visual-qa.schema.json","package.json"],"completionCriteria":["Desktop and mobile screenshots are captured","Main routes are checked for clipping and overlap","Failures are reproducible locally","Browser QA report is saved under reports/browser/"],"order":3,"roadmapItemIds":["browser-visual-qa"],"roadmapPriorities":[8],"minimumRoadmapPriority":8,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/browser-visual-qa.json","reports/browser/browser-visual-report.json","npm run qa:browser"],"acceptanceCriteria":["Desktop and mobile screenshots are captured","Main routes are checked for clipping and overlap","Failures are reproducible locally","Browser QA report is saved under reports/browser/"],"objectiveAlignment":"Completes the evaluation layer beyond static crawl and build checks."},{"id":"expand-browser-qa-with-visual-diff-and-accessibility","status":"done","priority":"high","title":"Expand browser QA with visual diff and accessibility checks","rationale":"qa:browser now compares every route/viewport screenshot against committed baselines under tests/browser/baselines/ with pixelmatch (QA_UPDATE_BASELINES=1 accepts intentional changes, and a mutated-screenshot control proves the diff engine detects change), tabs through every desktop route asserting keyboard operability and visible focus indicators, and runs axe-core WCAG 2.0 A/AA scans on every route/viewport. Its first axe run caught scrollable table regions without keyboard access on /repo-map/, fixed with focusable labeled regions.","files":["scripts/qa-browser.mjs","reports/browser/","tests/browser/baselines/","src/data/agent-reference.ts","package.json"],"completionCriteria":["Screenshot baselines can be compared","Keyboard/focus checks run on core routes","Accessibility findings are reported","Failures include reproducible route/viewport evidence"],"order":4,"roadmapItemIds":["browser-visual-qa","design-system-contracts"],"roadmapPriorities":[8,11],"minimumRoadmapPriority":8,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/browser-visual-qa.json","reports/browser/browser-visual-report.json","scripts/qa-browser.mjs","npm run qa:browser"],"acceptanceCriteria":["Screenshot baselines can be compared","Keyboard/focus checks run on core routes","Accessibility findings are reported","Failures include reproducible route/viewport evidence"],"objectiveAlignment":"Completes the evaluation layer beyond static crawl and build checks. Adds polish only after the technical operating system remains intact."},{"id":"add-objective-detail-walkthrough-contract","status":"done","priority":"high","title":"Require every major objective to decompose into detailed checks and rationale","rationale":"This system is for agents building websites. Agents need explicit step-by-step instructions with the why behind each step, not a single broad objective that leaves the work implied.","files":["src/data/agent-reference.ts","docs/system-purpose.md","docs/agent-playbook.md","src/pages/agent-manifest.json.ts","src/pages/walkthroughs.json.ts","public/schemas/walkthroughs.schema.json"],"completionCriteria":["Each roadmap area has objective, why, steps, evidence, pass criteria, warning criteria, fail criteria, stress tests, and objective alignment","Agent manifest and /walkthroughs.json expose the detailed walkthrough model","QA and schemas fail when required walkthrough detail is missing"],"order":5,"roadmapItemIds":["step-by-step-agent-walkthroughs","why-explanations-everywhere"],"roadmapPriorities":[1,13],"minimumRoadmapPriority":1,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/walkthroughs.json","docs/system-purpose.md","npm run qa:aeo"],"acceptanceCriteria":["Each roadmap area has objective, why, steps, evidence, pass criteria, warning criteria, fail criteria, stress tests, and objective alignment","Agent manifest and /walkthroughs.json expose the detailed walkthrough model","QA and schemas fail when required walkthrough detail is missing"],"objectiveAlignment":"Directly supports the system mission by making the agent inspect, plan, build, validate, and improve without prior context. Supports the detailed walkthrough rule and makes the system teach, not merely assert."},{"id":"stress-test-walkthrough-model-with-agent-simulation","status":"done","priority":"high","title":"Stress test walkthrough model with simulated agent runs","rationale":"The walkthrough contract now has generated agent-simulation evidence proving a future agent can start from the main URL, recover the operating model, choose relevant walkthroughs, and cite handoff evidence without chat context.","files":["scripts/qa-agent-simulation.mjs","reports/agent-simulation/","src/data/agent-reference.ts"],"completionCriteria":["A simulated agent can enumerate roadmap priorities from /agent-manifest.json","A simulated agent can choose the right walkthrough for SEO/AEO, buildout, crawl QA, and handoff prompts","Stress-test reports are saved and linked from future handoff evidence"],"order":6,"roadmapItemIds":["step-by-step-agent-walkthroughs"],"roadmapPriorities":[1],"minimumRoadmapPriority":1,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["reports/agent-simulation/agent-simulation-report.json","scripts/qa-agent-simulation.mjs","npm run qa:agent"],"acceptanceCriteria":["A simulated agent can enumerate roadmap priorities from /agent-manifest.json","A simulated agent can choose the right walkthrough for SEO/AEO, buildout, crawl QA, and handoff prompts","Stress-test reports are saved and linked from future handoff evidence"],"objectiveAlignment":"Directly supports the system mission by making the agent inspect, plan, build, validate, and improve without prior context."},{"id":"stress-test-contract-registry-with-drift-fixtures","status":"done","priority":"high","title":"Stress test contract registry with drift fixtures","rationale":"The registry now has live contract checks and fixture-based negative tests proving missing endpoints, schemas, source files, and evidence fail in predictable ways.","files":["scripts/qa-contract-drift.mjs","reports/contracts/","src/data/agent-reference.ts"],"completionCriteria":["Broken endpoint fixture fails","Broken schema fixture fails","Missing source fixture fails","Stress-test report explains the failure modes future agents should recognize"],"order":7,"roadmapItemIds":["machine-readable-contracts"],"roadmapPriorities":[2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["reports/contracts/contract-drift-report.json","scripts/qa-contract-drift.mjs","npm run qa:contracts"],"acceptanceCriteria":["Broken endpoint fixture fails","Broken schema fixture fails","Missing source fixture fails","Stress-test report explains the failure modes future agents should recognize"],"objectiveAlignment":"Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"add-good-bad-site-study-library","status":"done","priority":"high","title":"Add structured good/bad real-site study library","rationale":"Agents need concrete examples that include both patterns worth reusing and failures worth preventing, with evidence paths and checks to add.","files":["src/data/agent-reference.ts","src/pages/site-studies.json.ts","public/schemas/site-studies.schema.json","scripts/qa-aeo.mjs"],"completionCriteria":["At least one real-site study exists","Every study has strong patterns and avoid patterns","Evidence files resolve on disk","Linked roadmap IDs are valid"],"order":8,"roadmapItemIds":["good-bad-example-library"],"roadmapPriorities":[3],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/site-studies.json","data/derived/site-studies/nectiv-digital-2026-06-04/analysis-notes.md"],"acceptanceCriteria":["At least one real-site study exists","Every study has strong patterns and avoid patterns","Evidence files resolve on disk","Linked roadmap IDs are valid"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence."},{"id":"add-seo-aeo-evaluation-layer","status":"done","priority":"high","title":"Add structured SEO/AEO evaluation layer","rationale":"Agents need a repeatable evaluation suite that explains each SEO/AEO check, why it matters, which command proves it, and which checks still require production crawl or domain evidence.","files":["src/data/agent-reference.ts","src/pages/seo-aeo-evaluation.json.ts","public/schemas/seo-aeo-evaluation.schema.json","scripts/qa-aeo.mjs","scripts/qa-seo.mjs","scripts/qa-routes.mjs"],"completionCriteria":["Evaluation endpoint exists","Manifest exposes evaluation checks","Implemented checks name executable QA commands","Planned checks state required evidence paths","QA validates evaluation shape and status"],"order":9,"roadmapItemIds":["seo-aeo-evaluation-layer"],"roadmapPriorities":[4],"minimumRoadmapPriority":4,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:seo && npm run qa:aeo","evidenceLinks":["/seo-aeo-evaluation.json","npm run qa:seo","npm run qa:aeo"],"acceptanceCriteria":["Evaluation endpoint exists","Manifest exposes evaluation checks","Implemented checks name executable QA commands","Planned checks state required evidence paths","QA validates evaluation shape and status"],"objectiveAlignment":"Strengthens the evaluation layer and directly supports launch readiness."},{"id":"add-crawl-evidence-contract-and-summarizer","status":"done","priority":"high","title":"Add crawl evidence contract and export summarizer","rationale":"Agents need crawl outputs to become durable machine-readable evidence instead of loose CSV files or one-off notes.","files":["src/pages/crawl-evidence.json.ts","public/schemas/crawl-evidence.schema.json","scripts/qa-crawl.mjs","data/derived/example-crawl-export/","reports/crawl/"],"completionCriteria":["Crawl evidence endpoint exists","Manifest exposes required exports and severity rules","qa:crawl summarizes Screaming Frog exports","qa:all runs crawl evidence QA","Reports are saved under reports/crawl/"],"order":10,"roadmapItemIds":["crawl-evidence-artifacts"],"roadmapPriorities":[9],"minimumRoadmapPriority":9,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:crawl && npm run qa:all","evidenceLinks":["/crawl-evidence.json","reports/crawl/crawl-evidence-report.json","reports/crawl/nectiv-crawl-evidence-report.json","npm run qa:crawl"],"acceptanceCriteria":["Crawl evidence endpoint exists","Manifest exposes required exports and severity rules","qa:crawl summarizes Screaming Frog exports","qa:all runs crawl evidence QA","Reports are saved under reports/crawl/"],"objectiveAlignment":"Improves evaluation and source-of-truth continuity."},{"id":"add-production-domain-and-crawl-evidence-runners","status":"done","priority":"high","title":"Add production domain and crawl evidence runners","rationale":"Domain/static QA now checks local routes and production discovery surfaces when QA_PRODUCTION_URL is provided. The crawl runner writes a deterministic plan during normal QA and can execute Screaming Frog through the approved wrapper against either the local static build or the deployed canonical URL.","files":["scripts/qa-domain.mjs","scripts/run-crawl-evidence.mjs","reports/domain/","reports/crawl/","src/data/agent-reference.ts"],"completionCriteria":["Domain runner checks apex/www/http/https/TLS and discovery surfaces when a production URL exists","Screaming Frog wrapper can run against static export or production URL","Runner plan and reports are saved under reports/","Normal QA verifies runner shape without unexpectedly launching Screaming Frog"],"order":11,"roadmapItemIds":["crawl-evidence-artifacts","seo-aeo-evaluation-layer"],"roadmapPriorities":[9,4],"minimumRoadmapPriority":4,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:crawl && npm run qa:all","evidenceLinks":["reports/domain/domain-evidence-report.json","reports/crawl/crawl-runner-plan.json","reports/crawl/crawl-runner-report.json","scripts/qa-domain.mjs","scripts/run-crawl-evidence.mjs","npm run qa:domain","npm run qa:crawl-runner","QA_PRODUCTION_URL=<canonical-url> npm run qa:domain","QA_PRODUCTION_URL=<canonical-url> npm run crawl:production"],"acceptanceCriteria":["Domain runner checks apex/www/http/https/TLS and discovery surfaces when a production URL exists","Screaming Frog wrapper can run against static export or production URL","Runner plan and reports are saved under reports/","Normal QA verifies runner shape without unexpectedly launching Screaming Frog"],"objectiveAlignment":"Improves evaluation and source-of-truth continuity. Strengthens the evaluation layer and directly supports launch readiness."},{"id":"add-source-to-site-traceability-contract","status":"done","priority":"high","title":"Add source-to-site traceability contract","rationale":"Agents need a machine-readable source chain before public claims, schema facts, metadata, or LLM summaries can be treated as safe.","files":["src/data/agent-reference.ts","src/pages/source-traceability.json.ts","public/schemas/source-traceability.schema.json","scripts/qa-aeo.mjs","data/"],"completionCriteria":["Traceability endpoint exists","Artifact paths resolve","Allowed claims name allowed locations","Blocked claims have no allowed locations","Page usage references known claim IDs"],"order":12,"roadmapItemIds":["source-to-site-traceability"],"roadmapPriorities":[5],"minimumRoadmapPriority":5,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/source-traceability.json","data/working/example-client-facts.json","npm run qa:aeo"],"acceptanceCriteria":["Traceability endpoint exists","Artifact paths resolve","Allowed claims name allowed locations","Blocked claims have no allowed locations","Page usage references known claim IDs"],"objectiveAlignment":"Supports trustworthy buildout and avoids hallucinated website claims."},{"id":"add-page-level-claim-id-instrumentation","status":"done","priority":"high","title":"Add page-level claim ID instrumentation","rationale":"The traceability ledger now maps claim IDs to visible page sections, schema endpoints, and LLM summary claim IDs, and qa:aeo fails on unknown, missing, or blocked claim usage.","files":["src/pages/services.astro","src/pages/services/schema.json.ts","src/pages/contact/schema.json.ts","src/pages/llms-full.txt.ts","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Visible claim sections reference claim IDs","Schema facts reference claim IDs where possible","QA fails if a blocked claim ID is used publicly","LLM summaries avoid blocked claim IDs"],"order":13,"roadmapItemIds":["source-to-site-traceability"],"roadmapPriorities":[5],"minimumRoadmapPriority":5,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/source-traceability.json","/services/","/services/schema.json","/contact/schema.json","/llms-full.txt","scripts/qa-aeo.mjs","npm run qa:aeo"],"acceptanceCriteria":["Visible claim sections reference claim IDs","Schema facts reference claim IDs where possible","QA fails if a blocked claim ID is used publicly","LLM summaries avoid blocked claim IDs"],"objectiveAlignment":"Supports trustworthy buildout and avoids hallucinated website claims."},{"id":"add-site-type-build-playbooks","status":"done","priority":"high","title":"Add executable site-type build playbooks","rationale":"Agents need more than example categories. They need build order, required inputs, page models, SEO/AEO rules, traceability rules, QA gates, stress tests, and completion criteria by site type.","files":["src/data/agent-reference.ts","src/pages/site-type-playbooks.json.ts","public/schemas/site-type-playbooks.schema.json","scripts/qa-aeo.mjs"],"completionCriteria":["Every example has a playbook","Every playbook includes page model and schema requirements","Every playbook includes qa:all, stress tests, and completion criteria","QA validates playbook/example alignment"],"order":14,"roadmapItemIds":["site-type-build-playbooks"],"roadmapPriorities":[6],"minimumRoadmapPriority":6,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/site-type-playbooks.json","npm run qa:aeo"],"acceptanceCriteria":["Every example has a playbook","Every playbook includes page model and schema requirements","Every playbook includes qa:all, stress tests, and completion criteria","QA validates playbook/example alignment"],"objectiveAlignment":"Moves the execution layer from generic site advice to business-specific build systems."},{"id":"stress-test-site-type-playbooks-with-simulated-builds","status":"done","priority":"high","title":"Stress test site-type playbooks with simulated builds","rationale":"Every playbook now has a fictional simulated build fixture covering prompt, input decisions, pattern-mapped pages, claim publish/block decisions, planned QA gates, stress-test responses, and unresolved risks, validated by qa:playbooks with negative controls that fail on missing inputs, unknown patterns, missing schema, unsourced claims, missing QA gates, and zero-risk dishonesty.","files":["scripts/qa-playbook-simulation.mjs","data/derived/playbook-simulations/playbook-simulation-fixtures.json","reports/playbooks/","src/data/agent-reference.ts","package.json"],"completionCriteria":["Each playbook has a simulated build prompt","Simulation reports capture selected inputs, pages, claim decisions, QA gates, and unresolved risks","Failures become playbook improvements or tasks"],"order":15,"roadmapItemIds":["site-type-build-playbooks"],"roadmapPriorities":[6],"minimumRoadmapPriority":6,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["data/derived/playbook-simulations/playbook-simulation-fixtures.json","reports/playbooks/playbook-simulation-report.json","scripts/qa-playbook-simulation.mjs","npm run qa:playbooks"],"acceptanceCriteria":["Each playbook has a simulated build prompt","Simulation reports capture selected inputs, pages, claim decisions, QA gates, and unresolved risks","Failures become playbook improvements or tasks"],"objectiveAlignment":"Moves the execution layer from generic site advice to business-specific build systems."},{"id":"add-reusable-page-pattern-library","status":"done","priority":"high","title":"Add reusable page pattern library","rationale":"Agents need page-level contracts, not just site-level playbooks. Each page type should define required sections, schema, SEO/AEO, traceability, QA gates, anti-patterns, stress tests, and done criteria.","files":["src/data/agent-reference.ts","src/pages/page-patterns.json.ts","public/schemas/page-patterns.schema.json","scripts/qa-aeo.mjs"],"completionCriteria":["Page-pattern endpoint exists","At least six page patterns exist","Every pattern includes schema, QA gates, anti-patterns, stress tests, and completion criteria","QA validates page-pattern shape"],"order":16,"roadmapItemIds":["page-pattern-library"],"roadmapPriorities":[7],"minimumRoadmapPriority":7,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/page-patterns.json","npm run qa:aeo"],"acceptanceCriteria":["Page-pattern endpoint exists","At least six page patterns exist","Every pattern includes schema, QA gates, anti-patterns, stress tests, and completion criteria","QA validates page-pattern shape"],"objectiveAlignment":"Improves build quality by making page creation systematic."},{"id":"add-conversion-copy-lab","status":"done","priority":"high","title":"Add conversion copy lab and agent copy workflow","rationale":"Agents need explicit copy strategy, weak and strong examples, ethical source boundaries, and conversion-focused writing checks before they create client website copy.","files":["src/pages/copy-lab.astro","src/pages/conversion-copy.json.ts","public/schemas/conversion-copy.schema.json","data/sources/manifests/hormozi-conversion-copy-study-2026-06-06.md","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Copy lab page exists","Machine endpoint exposes copy principles, source boundaries, examples, workflow, anti-patterns, and QA gates","Source study manifest cites public sources","QA validates the copy contract"],"order":17,"roadmapItemIds":["good-bad-example-library","page-pattern-library","why-explanations-everywhere","source-to-site-traceability"],"roadmapPriorities":[3,7,13,5],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/copy-lab/","/conversion-copy.json","/schemas/conversion-copy.schema.json","data/sources/manifests/hormozi-conversion-copy-study-2026-06-06.md","npm run qa:all"],"acceptanceCriteria":["Copy lab page exists","Machine endpoint exposes copy principles, source boundaries, examples, workflow, anti-patterns, and QA gates","Source study manifest cites public sources","QA validates the copy contract"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Improves build quality by making page creation systematic. Supports the detailed walkthrough rule and makes the system teach, not merely assert. Supports trustworthy buildout and avoids hallucinated website claims."},{"id":"stress-test-conversion-copy-transformations","status":"done","priority":"high","title":"Stress test conversion copy transformations with weak-copy fixtures","rationale":"The copy lab should prove that agents can transform weak prompts into specific, mechanism-aware, proof-aware copy while rejecting generic, fake-urgent, and unsupported phrasing.","files":["scripts/qa-copy-stress.mjs","data/derived/copy-stress/copy-stress-fixtures.json","reports/copy-stress/copy-stress-report.json","src/data/agent-reference.ts","package.json"],"completionCriteria":["Weak-copy fixtures exist","Improved-copy fixtures include required conversion signals","Bad-copy controls fail for the expected reasons","qa:copy writes a report and runs inside qa:all"],"order":18,"roadmapItemIds":["good-bad-example-library","page-pattern-library","why-explanations-everywhere"],"roadmapPriorities":[3,7,13],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["data/derived/copy-stress/copy-stress-fixtures.json","reports/copy-stress/copy-stress-report.json","scripts/qa-copy-stress.mjs","npm run qa:copy"],"acceptanceCriteria":["Weak-copy fixtures exist","Improved-copy fixtures include required conversion signals","Bad-copy controls fail for the expected reasons","qa:copy writes a report and runs inside qa:all"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Improves build quality by making page creation systematic. Supports the detailed walkthrough rule and makes the system teach, not merely assert."},{"id":"add-offer-ecosystem-endpoint","status":"done","priority":"high","title":"Add offer ecosystem funnel endpoint","rationale":"Agents need a dedicated system for mapping AI tools, communities, workshops, playbooks, pricing tiers, qualification gates, referral engines, and disclaimers into one coherent website funnel.","files":["src/pages/offer-ecosystem.json.ts","public/schemas/offer-ecosystem.schema.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Offer ecosystem endpoint exists","Funnel layers include role, why, page elements, proof needs, and guardrails","Funnel paths reference known layers","QA validates endpoint and schema coverage"],"order":19,"roadmapItemIds":["good-bad-example-library","page-pattern-library","why-explanations-everywhere","site-type-build-playbooks"],"roadmapPriorities":[3,7,13,6],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/offer-ecosystem.json","/schemas/offer-ecosystem.schema.json","src/pages/offer-ecosystem.json.ts","npm run qa:aeo"],"acceptanceCriteria":["Offer ecosystem endpoint exists","Funnel layers include role, why, page elements, proof needs, and guardrails","Funnel paths reference known layers","QA validates endpoint and schema coverage"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Improves build quality by making page creation systematic. Supports the detailed walkthrough rule and makes the system teach, not merely assert. Moves the execution layer from generic site advice to business-specific build systems."},{"id":"add-infrastructure-decision-system","status":"done","priority":"high","title":"Add tiered infrastructure decision system","rationale":"Agents need to walk through infrastructure choices by requirement tier and concrete scenario examples instead of choosing hosting, CMS, auth, data, analytics, payments, DNS, or deployment defaults by habit.","files":["src/pages/infrastructure-decisions.json.ts","public/schemas/infrastructure-decisions.schema.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Infrastructure endpoint exists","Decision areas include tiers, tradeoffs, questions, and guardrails","Site-type recommendations include defaults and upgrade triggers","Scenario examples cover GitHub, Cloudflare, Astro, Next.js, Stripe, CMS, auth, analytics, forms, and deployment tradeoffs","QA validates required infrastructure coverage"],"order":20,"roadmapItemIds":["site-type-build-playbooks","machine-readable-contracts","why-explanations-everywhere","handoff-reports"],"roadmapPriorities":[6,2,13,15],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/infrastructure-decisions.json","/schemas/infrastructure-decisions.schema.json","src/pages/infrastructure-decisions.json.ts","scenarioExamples","npm run qa:aeo","npm run qa:domain","npm run qa:handoff"],"acceptanceCriteria":["Infrastructure endpoint exists","Decision areas include tiers, tradeoffs, questions, and guardrails","Site-type recommendations include defaults and upgrade triggers","Scenario examples cover GitHub, Cloudflare, Astro, Next.js, Stripe, CMS, auth, analytics, forms, and deployment tradeoffs","QA validates required infrastructure coverage"],"objectiveAlignment":"Moves the execution layer from generic site advice to business-specific build systems. Supports context discovery from the main URL and prevents drift between human docs and agent-readable data. Supports the detailed walkthrough rule and makes the system teach, not merely assert. Completes the operating loop: inspect, build, validate, and hand off."},{"id":"stress-test-page-patterns-with-route-fixtures","status":"done","priority":"high","title":"Stress test page patterns with route fixtures","rationale":"Each page-pattern contract now has a concrete Astro fixture route plus a machine-readable fixture inventory and QA runner that checks route renderability, one H1, visible sections, source notes, schema notes, good/bad examples, agent instructions, and pattern mapping.","files":["src/pages/fixtures/page-patterns/","src/pages/page-pattern-fixtures.json.ts","public/schemas/page-pattern-fixtures.schema.json","scripts/qa-page-pattern-fixtures.mjs","reports/page-pattern-fixtures/","src/data/agent-reference.ts"],"completionCriteria":["Each pattern has a fixture route","Fixture routes pass metadata, section, schema-note, traceability-note, and good/bad example checks","Report captures checked routes and completion evidence"],"order":21,"roadmapItemIds":["page-pattern-library"],"roadmapPriorities":[7],"minimumRoadmapPriority":7,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/fixtures/page-patterns/","/page-pattern-fixtures.json","/schemas/page-pattern-fixtures.schema.json","scripts/qa-page-pattern-fixtures.mjs","reports/page-pattern-fixtures/page-pattern-fixtures-report.json","npm run qa:fixtures"],"acceptanceCriteria":["Each pattern has a fixture route","Fixture routes pass metadata, section, schema-note, traceability-note, and good/bad example checks","Report captures checked routes and completion evidence"],"objectiveAlignment":"Improves build quality by making page creation systematic."},{"id":"expand-site-study-library-across-site-types","status":"done","priority":"high","title":"Expand site-study library across strong and weak website types","rationale":"The library now includes six studies spanning agency SEO/AEO, agent-facing specification/documentation, personal consultant, SaaS/product, content-led expert consultant, and an intentionally poor local-service fixture with evidence paths and mapped checks.","files":["src/data/agent-reference.ts","reports/crawl/","data/derived/site-studies/"],"completionCriteria":["At least six site studies exist","At least one study covers agent-facing specification/documentation surfaces","Each study includes good and bad patterns","Each study maps findings to roadmap items or QA checks","Studies include at least one intentionally poor example"],"order":22,"roadmapItemIds":["good-bad-example-library","real-site-comparisons"],"roadmapPriorities":[3,14],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:seo && npm run qa:aeo","evidenceLinks":["/site-studies.json","data/derived/site-studies/poor-ai-generated-service-site/analysis-notes.md","data/derived/site-studies/specification-website-2026-06-09/analysis-notes.md","data/derived/site-studies/specification-website-2026-06-09/crawl_overview.csv","data/derived/site-studies/ryanpierce-ai-2026-05-21/ryanpierce-ai-analysis.md","data/derived/site-studies/the-prep-casa-2026-05-21/the-prep-casa-analysis.md","data/derived/site-studies/jordan-browne-moore-2026-06-03/jordan-browne-moore-website-audit.md","npm run qa:aeo"],"acceptanceCriteria":["At least six site studies exist","At least one study covers agent-facing specification/documentation surfaces","Each study includes good and bad patterns","Each study maps findings to roadmap items or QA checks","Studies include at least one intentionally poor example"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Keeps the reference layer grounded in live market examples."},{"id":"add-real-site-comparison-contract","status":"done","priority":"high","title":"Add real-site comparison contract","rationale":"Agents need a repeatable way to compare target sites against reference studies, score dimensions, separate reusable patterns from gaps, and convert findings into tasks.","files":["src/pages/real-site-comparisons.json.ts","public/schemas/real-site-comparisons.schema.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Comparison endpoint exists","At least one profile references an existing site study","Profiles map to contracts and follow-up tasks","QA validates dimensions, profiles, study IDs, and task IDs"],"order":23,"roadmapItemIds":["real-site-comparisons"],"roadmapPriorities":[14],"minimumRoadmapPriority":14,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:seo && npm run qa:aeo","evidenceLinks":["/real-site-comparisons.json","/schemas/real-site-comparisons.schema.json","/site-studies.json","npm run qa:aeo"],"acceptanceCriteria":["Comparison endpoint exists","At least one profile references an existing site study","Profiles map to contracts and follow-up tasks","QA validates dimensions, profiles, study IDs, and task IDs"],"objectiveAlignment":"Keeps the reference layer grounded in live market examples."},{"id":"add-crawl-stress-suite","status":"done","priority":"high","title":"Add crawl and endpoint stress testing","rationale":"qa:crawl-stress now re-crawls the static export with a built-in license-free crawler on every QA run: it follows internal links from the homepage, seeds sitemap and manifest endpoints, enforces documented response-time/size/redirect budgets from /crawl-evidence.json, fails on broken links and orphaned sitemap URLs, and proves its rules with synthetic negative controls. Its first run caught four sample routes present in the sitemap but unreachable from the homepage.","files":["scripts/qa-crawl-stress.mjs","reports/crawl/crawl-stress-report.json","src/data/agent-reference.ts","public/schemas/crawl-evidence.schema.json","package.json"],"completionCriteria":["Static export crawl is repeatable","Endpoint response budgets are documented","Broken links and redirect chains fail QA"],"order":24,"roadmapItemIds":["crawl-evidence-artifacts"],"roadmapPriorities":[9],"minimumRoadmapPriority":9,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:crawl && npm run qa:all","evidenceLinks":["reports/crawl/crawl-stress-report.json","scripts/qa-crawl-stress.mjs","/crawl-evidence.json","npm run qa:crawl-stress"],"acceptanceCriteria":["Static export crawl is repeatable","Endpoint response budgets are documented","Broken links and redirect chains fail QA"],"objectiveAlignment":"Improves evaluation and source-of-truth continuity."},{"id":"reconcile-execution-track-with-task-ledger","status":"done","priority":"high","title":"Keep the execution-track document verifiably aligned with the task ledger","rationale":"The execution-track document had drifted: copy/offer and agent-simulation work was complete in the ledger but still marked next in the doc, which would have sent a fresh agent into redundant work. The doc now lists backing task IDs per item, and qa:contracts parses it and fails when a doc status contradicts /agent-tasks.json, with negative fixtures proving the failure paths.","files":["docs/site-expansion-execution-track.md","scripts/qa-contract-drift.mjs","reports/contracts/","src/data/agent-reference.ts"],"completionCriteria":["Execution-track items list their backing task IDs","qa:contracts fails when a doc status contradicts the task ledger","Drift fixtures prove done-while-open, open-while-done, and unknown-task failures"],"order":25,"roadmapItemIds":["machine-readable-contracts"],"roadmapPriorities":[2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["docs/site-expansion-execution-track.md","reports/contracts/contract-drift-report.json","scripts/qa-contract-drift.mjs","npm run qa:contracts"],"acceptanceCriteria":["Execution-track items list their backing task IDs","qa:contracts fails when a doc status contradicts the task ledger","Drift fixtures prove done-while-open, open-while-done, and unknown-task failures"],"objectiveAlignment":"Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"add-nectiv-derived-seo-aeo-checks","status":"done","priority":"high","title":"Add Nectiv-derived SEO/AEO checks to the evaluation layer","rationale":"The Nectiv crawl lessons now run as a dedicated guardrail suite covering LLM surfaces, indexable H1/description/canonical requirements, sitemap coverage, crawl critical findings, and explicit production-domain evidence warnings.","files":["scripts/qa-nectiv-lessons.mjs","reports/seo-aeo/","src/data/agent-reference.ts","reports/crawl/","reports/domain/"],"completionCriteria":["QA checks production-domain evidence state","QA compares sitemap URLs with configured indexable core pages","QA requires llms.txt and llms-full.txt when AEO/AI-search claims exist","QA flags indexable pages without H1, meta description, or canonical","QA distinguishes crawler-visible critical findings from production-domain evidence warnings"],"order":26,"roadmapItemIds":["real-site-comparisons","seo-aeo-evaluation-layer"],"roadmapPriorities":[14,4],"minimumRoadmapPriority":4,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:seo && npm run qa:aeo","evidenceLinks":["reports/seo-aeo/nectiv-derived-checks-report.json","scripts/qa-nectiv-lessons.mjs","/site-studies.json","/seo-aeo-evaluation.json","npm run qa:nectiv"],"acceptanceCriteria":["QA checks production-domain evidence state","QA compares sitemap URLs with configured indexable core pages","QA requires llms.txt and llms-full.txt when AEO/AI-search claims exist","QA flags indexable pages without H1, meta description, or canonical","QA distinguishes crawler-visible critical findings from production-domain evidence warnings"],"objectiveAlignment":"Keeps the reference layer grounded in live market examples. Strengthens the evaluation layer and directly supports launch readiness."},{"id":"add-agent-backlog-intelligence-contract","status":"done","priority":"high","title":"Add agent backlog intelligence contract","rationale":"The backlog needs to tell future agents what to do next, why, what it maps to, what risk it carries, and which evidence proves completion.","files":["src/pages/agent-tasks.json.ts","public/schemas/agent-tasks.schema.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Agent tasks expose roadmap IDs","Next actions are generated in priority order","Tasks include risk, dependencies, expected output, QA gate, evidence links, and acceptance criteria","QA validates backlog shape and roadmap mapping"],"order":27,"roadmapItemIds":["agent-backlog-intelligence"],"roadmapPriorities":[10],"minimumRoadmapPriority":10,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/agent-tasks.json","/schemas/agent-tasks.schema.json","npm run qa:aeo"],"acceptanceCriteria":["Agent tasks expose roadmap IDs","Next actions are generated in priority order","Tasks include risk, dependencies, expected output, QA gate, evidence links, and acceptance criteria","QA validates backlog shape and roadmap mapping"],"objectiveAlignment":"Supports continuous improvement without hidden open loops."},{"id":"add-design-system-contract-layer","status":"done","priority":"high","title":"Add backend design-system contract layer","rationale":"Future visual work needs machine-readable rules for tokens, components, accessibility, responsive behavior, anti-patterns, QA gates, and stress tests before UI polish begins.","files":["src/pages/design-system-contracts.json.ts","public/schemas/design-system-contracts.schema.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Design contract endpoint exists","Manifest and llms-full expose design rules","Contract registry includes ownership and schema","QA validates tokens, component rules, anti-patterns, and QA gates"],"order":28,"roadmapItemIds":["design-system-contracts"],"roadmapPriorities":[11],"minimumRoadmapPriority":11,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/design-system-contracts.json","/schemas/design-system-contracts.schema.json","npm run qa:aeo"],"acceptanceCriteria":["Design contract endpoint exists","Manifest and llms-full expose design rules","Contract registry includes ownership and schema","QA validates tokens, component rules, anti-patterns, and QA gates"],"objectiveAlignment":"Adds polish only after the technical operating system remains intact."},{"id":"add-aeo-geo-model-context-fixtures","status":"done","priority":"high","title":"Add AEO/GEO model context contract and fixtures","rationale":"Future agents need answer-engine prompt fixtures, context surfaces, citation rules, blocked-claim checks, and evidence records before this can claim AEO/GEO readiness.","files":["src/pages/aeo-geo-context.json.ts","public/schemas/aeo-geo-context.schema.json","data/derived/aeo-geo-context/","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["AEO/GEO context endpoint exists","Prompt and answer evidence fixtures exist","Manifest and llms-full expose model context","QA validates context surfaces, fixture paths, citation rules, and QA gates"],"order":29,"roadmapItemIds":["aeo-geo-model-context"],"roadmapPriorities":[12],"minimumRoadmapPriority":12,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/aeo-geo-context.json","/schemas/aeo-geo-context.schema.json","data/derived/aeo-geo-context/example-prompt-set.json","data/derived/aeo-geo-context/example-answer-evidence.json","npm run qa:aeo"],"acceptanceCriteria":["AEO/GEO context endpoint exists","Prompt and answer evidence fixtures exist","Manifest and llms-full expose model context","QA validates context surfaces, fixture paths, citation rules, and QA gates"],"objectiveAlignment":"Strengthens the agent-readiness and answer-engine layer."},{"id":"add-why-explanations-contract","status":"done","priority":"high","title":"Add why-explanations contract","rationale":"Agents need explicit rationale surfaces, quality rules, anti-patterns, QA coverage, and stress tests so they do not treat broad objectives as enough detail.","files":["src/pages/why-explanations.json.ts","public/schemas/why-explanations.schema.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Why explanations endpoint exists","Manifest and llms-full expose rationale rules","QA validates required surfaces and rationale coverage","Contract registry lists failure mode and evidence"],"order":30,"roadmapItemIds":["why-explanations-everywhere"],"roadmapPriorities":[13],"minimumRoadmapPriority":13,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/why-explanations.json","/schemas/why-explanations.schema.json","npm run qa:aeo"],"acceptanceCriteria":["Why explanations endpoint exists","Manifest and llms-full expose rationale rules","QA validates required surfaces and rationale coverage","Contract registry lists failure mode and evidence"],"objectiveAlignment":"Supports the detailed walkthrough rule and makes the system teach, not merely assert."},{"id":"add-handoff-report-contract","status":"done","priority":"high","title":"Add handoff report contract","rationale":"Future agents need a final report structure that captures outcome, changed artifacts, verification evidence, residual risks, next actions, and open background work.","files":["src/pages/handoff-reports.json.ts","public/schemas/handoff-reports.schema.json","reports/handoff/example-handoff-report.json","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Handoff endpoint exists","Example handoff report fixture exists","Required sections cover outcome, changes, verification, evidence, risks, and next actions","QA validates fixture path and section coverage"],"order":31,"roadmapItemIds":["handoff-reports"],"roadmapPriorities":[15],"minimumRoadmapPriority":15,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/handoff-reports.json","/schemas/handoff-reports.schema.json","reports/handoff/example-handoff-report.json","npm run qa:aeo"],"acceptanceCriteria":["Handoff endpoint exists","Example handoff report fixture exists","Required sections cover outcome, changes, verification, evidence, risks, and next actions","QA validates fixture path and section coverage"],"objectiveAlignment":"Completes the operating loop: inspect, build, validate, and hand off."},{"id":"add-handoff-report-format","status":"done","priority":"high","title":"Generate real handoff reports from completed runs","rationale":"The handoff contract now has a generator that reads current QA, crawl, browser, backlog, domain/static, contract-drift, and agent-simulation evidence into a durable continuation report.","files":["scripts/qa-handoff.mjs","reports/handoff/","docs/agent-playbook.md","src/data/agent-reference.ts"],"completionCriteria":["A script generates dated handoff reports","Reports cite current QA, browser, crawl, source, and schema evidence","Open risks and next tasks are machine-readable"],"order":32,"roadmapItemIds":["handoff-reports"],"roadmapPriorities":[15],"minimumRoadmapPriority":15,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["reports/handoff/generated-handoff-report.json","scripts/qa-handoff.mjs","npm run qa:handoff"],"acceptanceCriteria":["A script generates dated handoff reports","Reports cite current QA, browser, crawl, source, and schema evidence","Open risks and next tasks are machine-readable"],"objectiveAlignment":"Completes the operating loop: inspect, build, validate, and hand off."},{"id":"close-strategy-layer-gaps","status":"done","priority":"high","title":"Close the strategy-layer gaps: search intent, funnel measurement, i18n decisions, cheap orientation index","rationale":"The audit graded several disciplines as operationally thin. The SEO endpoint now carries a search-intent mapping strategy (intent types with demo examples, one-intent-per-page workflow, internal-link architecture rules); the offer ecosystem gained a measurement layer with per-layer instrumentation and failing-when thresholds; infrastructure decisions gained an internationalisation area with a deliberately-monolingual tier documenting this site's own choice; /agent-index.json gives token-constrained agents an 8.5KB complete index instead of the 400KB aggregate manifest; and the sitemap now ships lastmod.","files":["src/data/agent-reference.ts","src/pages/seo-aeo-evaluation.json.ts","src/pages/agent-index.json.ts","public/schemas/agent-index.schema.json","src/pages/sitemap.xml.ts","src/pages/llms.txt.ts"],"completionCriteria":["Intent strategy published with demo-grounded examples","Every funnel layer has an instrument and a failing-when threshold","i18n decision area exists with the monolingual choice documented","agent-index under 25KB with full endpoint parity","Sitemap entries carry lastmod"],"order":33,"roadmapItemIds":["seo-aeo-evaluation-layer","machine-readable-contracts"],"roadmapPriorities":[4,2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:seo && npm run qa:aeo","evidenceLinks":["/agent-index.json","/seo-aeo-evaluation.json","/offer-ecosystem.json","/infrastructure-decisions.json","npm run qa:aeo"],"acceptanceCriteria":["Intent strategy published with demo-grounded examples","Every funnel layer has an instrument and a failing-when threshold","i18n decision area exists with the monolingual choice documented","agent-index under 25KB with full endpoint parity","Sitemap entries carry lastmod"],"objectiveAlignment":"Strengthens the evaluation layer and directly supports launch readiness. Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"publish-qa-evidence-and-aeo-baseline","status":"done","priority":"high","title":"Publish QA evidence at live URLs and record the first real AEO baseline","rationale":"The system promised evidence over assertion while keeping every report on the workstation. /evidence/index.json now publishes twelve dated QA reports (workstation paths redacted, one accepted run behind by design, refreshed automatically by deploy.sh), and the AEO context gained four demo-grounded prompt fixtures plus a dated site-grounded baseline answer-evidence record that is honest about being pre-indexing.","files":["scripts/publish-evidence.mjs","public/evidence/","public/schemas/evidence-index.schema.json","data/derived/aeo-geo-context/demo-prompt-set.json","data/derived/aeo-geo-context/baseline-answer-evidence-2026-06-10.json","src/data/agent-reference.ts","deploy.sh"],"completionCriteria":["Evidence index and all reports return 200 on the live site","Workstation paths are redacted from published artifacts","Six prompt fixtures cover reference and both demos","A dated answer-evidence record exists with honest pre-indexing limits"],"order":34,"roadmapItemIds":["machine-readable-contracts","aeo-geo-model-context"],"roadmapPriorities":[2,12],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/evidence/index.json","data/derived/aeo-geo-context/baseline-answer-evidence-2026-06-10.json","npm run evidence:publish","npm run qa:aeo"],"acceptanceCriteria":["Evidence index and all reports return 200 on the live site","Workstation paths are redacted from published artifacts","Six prompt fixtures cover reference and both demos","A dated answer-evidence record exists with honest pre-indexing limits"],"objectiveAlignment":"Supports context discovery from the main URL and prevents drift between human docs and agent-readable data. Strengthens the agent-readiness and answer-engine layer."},{"id":"add-saas-demo-and-brand-tokens","status":"done","priority":"high","title":"Add the LogPilot SaaS demo and per-brand design tokens","rationale":"The system needed proof on a second, harder site type and proof that the token system produces design. LogPilot now executes the B2B SaaS playbook end to end (source chain, five pattern-mapped routes, ledger claims with two blocked SaaS temptations: unverified integrations and superiority language), and both demos carry distinct brand identities implemented purely as token overrides — Brightline steel-blue light, LogPilot dark SaaS — with axe contrast passing on both. Conversion copy gained four public-domain frameworks (AIDA, PAS, 4U, JTBD) and vertical-diverse transformations tied to the demos.","files":["src/pages/demo/logpilot/","src/utils/demo-schema.ts","src/styles/global.css","src/layouts/BaseLayout.astro","data/sources/manifests/demo-logpilot-discovery.md","data/working/demo-logpilot-facts.json","data/derived/demo-logpilot-page-brief.json","src/data/agent-reference.ts"],"completionCriteria":["Second demo passes qa:demo with its playbook page model","Blocked SaaS claims provably stay off all surfaces","Both demo brands are token-only overrides passing axe contrast","Copy system carries multiple independent frameworks and vertical examples"],"order":35,"roadmapItemIds":["good-bad-example-library","site-type-build-playbooks","design-system-contracts"],"roadmapPriorities":[3,6,11],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/demo/logpilot/","/demo-build.json","reports/demo/demo-build-report.json","npm run qa:demo"],"acceptanceCriteria":["Second demo passes qa:demo with its playbook page model","Blocked SaaS claims provably stay off all surfaces","Both demo brands are token-only overrides passing axe contrast","Copy system carries multiple independent frameworks and vertical examples"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Moves the execution layer from generic site advice to business-specific build systems. Adds polish only after the technical operating system remains intact."},{"id":"make-design-tokens-real-values","status":"done","priority":"high","title":"Publish real design token values with drift enforcement","rationale":"The design tokens were sentences, not values. The contract now publishes 25 tokens with exact light/dark values (palette, type scale, spacing, radius, elevation, font stack) sourced from CSS custom properties in global.css, plus value-level media and motion rules. qa:aeo parses the stylesheet on every run and fails when any published token drifts from the CSS, proven by mutation testing.","files":["src/styles/global.css","src/data/agent-reference.ts","scripts/qa-aeo.mjs"],"completionCriteria":["Tokens publish exact values with CSS variable names","Type and spacing scales are CSS variables consumed by the live styles","qa:aeo fails on token drift (mutation-tested)","Media and motion rules carry values and budgets, not adjectives"],"order":36,"roadmapItemIds":["design-system-contracts"],"roadmapPriorities":[11],"minimumRoadmapPriority":11,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/design-system-contracts.json","src/styles/global.css","npm run qa:aeo"],"acceptanceCriteria":["Tokens publish exact values with CSS variable names","Type and spacing scales are CSS variables consumed by the live styles","qa:aeo fails on token drift (mutation-tested)","Media and motion rules carry values and budgets, not adjectives"],"objectiveAlignment":"Adds polish only after the technical operating system remains intact."},{"id":"add-accessibility-contract","status":"done","priority":"high","title":"Add standalone WCAG 2.2 AA accessibility contract","rationale":"Accessibility guidance was scattered across design and QA files and targeted WCAG 2.0. /accessibility-contract.json now states the 2.2 AA target with value-level rules (contrast ratios, 24px target size, focus visibility, landmarks, names), qa:browser scans with the full 2.0/2.1/2.2 tag set, and the contract carries an honest automated-coverage caveat plus a manual review checklist.","files":["src/pages/accessibility-contract.json.ts","public/schemas/accessibility-contract.schema.json","scripts/qa-browser.mjs","src/data/agent-reference.ts"],"completionCriteria":["Contract endpoint with schema and registry coverage","axe runs the 2.2 tag set with zero critical/serious violations","Value rules name numbers, not adjectives","Manual review checklist included"],"order":37,"roadmapItemIds":["browser-visual-qa","machine-readable-contracts"],"roadmapPriorities":[8,2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/accessibility-contract.json","reports/browser/browser-visual-report.json","npm run qa:browser"],"acceptanceCriteria":["Contract endpoint with schema and registry coverage","axe runs the 2.2 tag set with zero critical/serious violations","Value rules name numbers, not adjectives","Manual review checklist included"],"objectiveAlignment":"Completes the evaluation layer beyond static crawl and build checks. Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"add-performance-budget-contract","status":"done","priority":"high","title":"Add performance budgets with measured enforcement","rationale":"Performance was the largest missing discipline: the system taught SEO, schema, copy, and QA while page speed remained unbudgeted. /performance-budgets.json now publishes Core Web Vitals targets, asset budgets (zero-JS default with explicit exceptions), and page rules, and qa:perf measures local LCP/CLS per route via Playwright, enforces every budget against the built output, and proves its rules with synthetic violation controls.","files":["src/pages/performance-budgets.json.ts","public/schemas/performance-budgets.schema.json","scripts/qa-performance.mjs","reports/performance/","src/data/agent-reference.ts","package.json"],"completionCriteria":["Budgets endpoint with schema and registry coverage","qa:perf measures LCP/CLS per route and enforces asset budgets","Negative controls fail as expected","qa:perf runs inside qa:all"],"order":38,"roadmapItemIds":["machine-readable-contracts","browser-visual-qa"],"roadmapPriorities":[2,8],"minimumRoadmapPriority":2,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/performance-budgets.json","reports/performance/performance-report.json","scripts/qa-performance.mjs","npm run qa:perf"],"acceptanceCriteria":["Budgets endpoint with schema and registry coverage","qa:perf measures LCP/CLS per route and enforces asset budgets","Negative controls fail as expected","qa:perf runs inside qa:all"],"objectiveAlignment":"Supports context discovery from the main URL and prevents drift between human docs and agent-readable data. Completes the evaluation layer beyond static crawl and build checks."},{"id":"refresh-human-readable-agent-docs","status":"done","priority":"high","title":"Refresh human-readable agent docs against the current system","rationale":"docs/agent-playbook.md now covers the full current QA contract in run order with the why behind each suite, the simulated-build/crawl-stress/visual-baseline/drift-check systems, the canonical demo as the reference implementation to diff against, and the copy/offer/infrastructure reading steps; the execution tracker statuses are drift-checked against the task ledger by qa:contracts.","files":["docs/agent-playbook.md","docs/system-purpose.md","docs/product-roadmap.md","docs/site-expansion-execution-track.md"],"completionCriteria":["Playbook covers the full current QA contract and order of operations","Each major step explains why it exists","Docs reference the simulated-build, crawl-stress, visual-baseline, and drift-check systems","Execution tracker statuses match the task ledger"],"order":39,"roadmapItemIds":["step-by-step-agent-walkthroughs"],"roadmapPriorities":[1],"minimumRoadmapPriority":1,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["docs/agent-playbook.md","docs/system-purpose.md","docs/site-expansion-execution-track.md"],"acceptanceCriteria":["Playbook covers the full current QA contract and order of operations","Each major step explains why it exists","Docs reference the simulated-build, crawl-stress, visual-baseline, and drift-check systems","Execution tracker statuses match the task ledger"],"objectiveAlignment":"Directly supports the system mission by making the agent inspect, plan, build, validate, and improve without prior context."},{"id":"build-canonical-demo-site","status":"done","priority":"high","title":"Build the canonical demo site end to end","rationale":"The fictional Brightline Gutter Co. demo now executes the local service playbook end to end: source manifest, working facts, and page brief under data/, five pattern-mapped routes under /demo/brightline/ with metadata, JSON-LD, and claim instrumentation wired into the traceability ledger, a /demo-build.json record with schema and registry coverage, and qa:demo validating pages, claims, blocked phrases, and the fictional boundary with five negative controls.","files":["src/pages/demo/brightline/","src/pages/demo-build.json.ts","public/schemas/demo-build.schema.json","data/sources/manifests/demo-brightline-gutter-discovery.md","data/working/demo-brightline-facts.json","data/derived/demo-brightline-page-brief.json","scripts/qa-demo-build.mjs","src/data/agent-reference.ts"],"completionCriteria":["Demo executes a site-type playbook with source manifest, working facts, and derived brief","Demo routes ship metadata, schema endpoints, and claim instrumentation","Demo is covered by sitemap, browser, crawl-stress, and SEO QA","A demo QA gate validates the build against its playbook simulation record"],"order":40,"roadmapItemIds":["good-bad-example-library","site-type-build-playbooks"],"roadmapPriorities":[3,6],"minimumRoadmapPriority":3,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:all","evidenceLinks":["/demo-build.json","/demo/brightline/","reports/demo/demo-build-report.json","scripts/qa-demo-build.mjs","data/sources/manifests/demo-brightline-gutter-discovery.md","npm run qa:demo"],"acceptanceCriteria":["Demo executes a site-type playbook with source manifest, working facts, and derived brief","Demo routes ship metadata, schema endpoints, and claim instrumentation","Demo is covered by sitemap, browser, crawl-stress, and SEO QA","A demo QA gate validates the build against its playbook simulation record"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Moves the execution layer from generic site advice to business-specific build systems."},{"id":"prepare-cloudflare-pages-deployment","status":"done","priority":"high","title":"Prepare the gated Cloudflare Pages deployment path","rationale":"Deployment is human-gated, so everything up to the gate is now prepared: docs/deployment-runbook.md records the decisions Aaron must make and the full deploy/evidence sequence, deploy.sh refuses to run without explicit confirmation, account ID, project, and canonical URL and verifies repo, build, and sitemap before deploying, public/_headers ships the full security header set including HSTS, and qa:domain fails locally when a required header drifts and verifies live response headers when QA_PRODUCTION_URL is set.","files":["docs/deployment-runbook.md","deploy.sh","public/_headers","scripts/qa-domain.mjs"],"completionCriteria":["Runbook documents gated decisions, deploy sequence, and post-deploy evidence","deploy.sh refuses to run without explicit confirmation, account, project, and canonical URL","Required security headers are enforced by qa:domain locally and live","Deploy remains impossible without Aaron's explicit approval"],"order":41,"roadmapItemIds":["crawl-evidence-artifacts","seo-aeo-evaluation-layer"],"roadmapPriorities":[9,4],"minimumRoadmapPriority":4,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:crawl && npm run qa:all","evidenceLinks":["docs/deployment-runbook.md","public/_headers","reports/domain/domain-evidence-report.json","npm run qa:domain"],"acceptanceCriteria":["Runbook documents gated decisions, deploy sequence, and post-deploy evidence","deploy.sh refuses to run without explicit confirmation, account, project, and canonical URL","Required security headers are enforced by qa:domain locally and live","Deploy remains impossible without Aaron's explicit approval"],"objectiveAlignment":"Improves evaluation and source-of-truth continuity. Strengthens the evaluation layer and directly supports launch readiness."},{"id":"deploy-canonical-reference-and-capture-production-evidence","status":"done","priority":"medium","title":"Deploy the reference to a canonical URL and capture production evidence","rationale":"Deployed to Cloudflare Pages (project agent-template-website) with the custom domain agents.valyou.solutions live. Production qa:domain passes including live security-header verification, and the licensed Screaming Frog production crawl completed with zero findings after its first runs caught and fixed two real issues: Cloudflare email-obfuscation rewriting emails into 404ing /cdn-cgi/ links with injected JS (fixed with email_off boundaries), and a transient single-URL timeout (verified healthy).","files":["docs/deployment-runbook.md","deploy.sh","scripts/qa-domain.mjs","scripts/run-crawl-evidence.mjs","reports/domain/","reports/crawl/"],"completionCriteria":["Canonical deployment exists","QA_PRODUCTION_URL=<canonical-url> npm run qa:domain passes including live security headers","QA_PRODUCTION_URL=<canonical-url> npm run crawl:production evidence is saved","Production findings become tasks"],"order":42,"roadmapItemIds":["crawl-evidence-artifacts","seo-aeo-evaluation-layer"],"roadmapPriorities":[9,4],"minimumRoadmapPriority":4,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:crawl && npm run qa:all","evidenceLinks":["docs/deployment-runbook.md","reports/domain/domain-evidence-report.json","QA_PRODUCTION_URL=<canonical-url> npm run qa:domain","QA_PRODUCTION_URL=<canonical-url> npm run crawl:production"],"acceptanceCriteria":["Canonical deployment exists","QA_PRODUCTION_URL=<canonical-url> npm run qa:domain passes including live security headers","QA_PRODUCTION_URL=<canonical-url> npm run crawl:production evidence is saved","Production findings become tasks"],"objectiveAlignment":"Improves evaluation and source-of-truth continuity. Strengthens the evaluation layer and directly supports launch readiness."},{"id":"address-second-cold-audit-findings","status":"next","priority":"high","title":"Act on the second zero-context audit of the live site","rationale":"After the quality campaign (performance budgets, WCAG 2.2 contract, real tokens, two branded demos, published evidence, intent/measurement/i18n layers), the system needs fresh zero-context audit agents to re-grade every category against the live deployment. Any category still below B+ becomes the next improvement round; a clean audit closes the campaign loop.","files":["reports/","src/data/agent-reference.ts"],"completionCriteria":["Two independent zero-context audits of the live site recorded","Every audited category at B+ or higher, or findings converted to tasks","Audit-driven fixes verified by qa:all"],"order":43,"roadmapItemIds":["good-bad-example-library","machine-readable-contracts"],"roadmapPriorities":[3,2],"minimumRoadmapPriority":2,"dependencies":[],"risk":"high","expectedOutput":"Create or improve reports/good-bad-example-library/.","qaGate":"npm run qa:all","evidenceLinks":["reports/good-bad-example-library/"],"acceptanceCriteria":["Two independent zero-context audits of the live site recorded","Every audited category at B+ or higher, or findings converted to tasks","Audit-driven fixes verified by qa:all"],"objectiveAlignment":"Improves the reference layer by grounding standards in real-world evidence. Supports context discovery from the main URL and prevents drift between human docs and agent-readable data."},{"id":"run-live-aeo-geo-visibility-scan","status":"later","priority":"medium","title":"Run a guarded live answer-engine visibility scan","rationale":"AEO/GEO fixtures prove evidence shape, not live model behavior. A checkpointed prompt scan through approved accounts with cost guardrails would turn answer-engine positioning from theory into recorded citations and gaps.","files":["data/derived/aeo-geo-context/","reports/"],"completionCriteria":["Scan runs within approved cost/error guardrails","Prompt fixtures map to recorded live answers","Citation gaps become tasks","No unsupported visibility claims are added to public surfaces"],"order":44,"roadmapItemIds":["aeo-geo-model-context"],"roadmapPriorities":[12],"minimumRoadmapPriority":12,"dependencies":[],"risk":"medium","expectedOutput":"Create or improve data/derived/aeo-geo-context/example-prompt-set.json.","qaGate":"npm run qa:all","evidenceLinks":["data/derived/aeo-geo-context/example-prompt-set.json","/aeo-geo-context.json","npm run qa:aeo"],"acceptanceCriteria":["Scan runs within approved cost/error guardrails","Prompt fixtures map to recorded live answers","Citation gaps become tasks","No unsupported visibility claims are added to public surfaces"],"objectiveAlignment":"Strengthens the agent-readiness and answer-engine layer."},{"id":"expand-design-system-contract","status":"done","priority":"medium","title":"Layer in design-system examples","rationale":"The design system now has concrete fixture routes for endpoint rows, QA command blocks, evidence cards, pattern tables, and status badges, with good/bad examples, component states, responsive constraints, and browser QA evidence.","files":["src/styles/global.css","src/pages/fixtures/design-system/","src/data/agent-reference.ts","reports/browser/"],"completionCriteria":["Tokens are documented","Components have usage rules","Design fixtures exist","Agent pages remain readable","Browser QA screenshots include design fixtures"],"order":45,"roadmapItemIds":["design-system-contracts"],"roadmapPriorities":[11],"minimumRoadmapPriority":11,"dependencies":[],"risk":"low","expectedOutput":"Retained completion evidence and regression context.","qaGate":"npm run qa:browser && npm run qa:all","evidenceLinks":["/fixtures/design-system/","/design-system-contracts.json","src/pages/fixtures/design-system/","reports/browser/browser-visual-report.json","npm run qa:browser"],"acceptanceCriteria":["Tokens are documented","Components have usage rules","Design fixtures exist","Agent pages remain readable","Browser QA screenshots include design fixtures"],"objectiveAlignment":"Adds polish only after the technical operating system remains intact."}]}