Originally created by: TheoV823
New comparison page at /compare/rag-coding-memory/ framed as contextual memory (RAG) vs decision memory (Mneme HQ). Targets BOFU traffic searching for "RAG for coding memory", "AI coding agent memory", "long-term memory for AI engineering".
SEO/GEO pass on /compare/ based on a structured audit covering ChatGPT/Perplexity/Google AI Overviews citation patterns. Comparison content is the [#1] most-cited format in AI search (~33% of ChatGPT citations); the hub now ships every extractable surface that drives citations.
| Change | Why |
|---|---|
Keyword-led <title> ("Compare Mneme HQ to AI Coding Governance Alternatives") |
Adds high-intent keyword surface |
| Category-led meta/og/twitter descriptions | No longer goes stale when new comparisons ship |
CollectionPage gains dateModified / inLanguage / author |
Freshness + E-E-A-T signals |
New ItemList JSON-LD (positions 1-5) |
Schema.org-preferred type for ordered comparison sets |
New FAQPage JSON-LD (5 Q&A) + visible FAQ |
Highly extractable Q&A format for AI citations |
| Visible byline + "Last updated May 2026" near hero | Freshness + author attribution |
| New "At a glance" comparison table | Single most-citable block format per Princeton GEO study |
| "How to read these comparisons" โ "How each comparison is structured" | Better query-pattern match |
ChatGPT-User added to robots.txt |
Allows live-retrieval citations (GPTBot is training-only) |
site/compare/rag-coding-memory/index.html (new)site/og-compare-rag-coding-memory.html (new OG template)site/compare/index.html (hub: card + table + FAQ + JSON-LD)site/sitemap.xml (new entry)site/robots.txt (ChatGPT-User allowlist)scripts/generate_og_images.py (TEMPLATE_MAP entry)python scripts/generate_og_images.py to produce /compare/rag-coding-memory/og.png/compare/ to confirm summary table + FAQ render correctly/compare/ to confirm no broken linksscripts/check_compare.py validator (analogous to check_insights.py) to enforce hub/sitemap/OG sync going forward - queued as separate cleanupstyle="" attributes on the lower hub sections - cosmetic, deferred๐ค Generated with Claude Code
Tickets: #1
Tickets: #150
Tickets: #151
Tickets: #152
Tickets: #153
Originally posted by: github-actions[bot]
mneme self-governance check
Mode:
warn- verdicts are visible but do not block merge. Rollout plan:.mneme/README.md.Summary: 0 pass, 0 warn, 6 fail, 0 unknown
scripts/generate_og_images.pysite/compare/index.htmlsite/compare/rag-coding-memory/index.htmlsite/og-compare-rag-coding-memory.htmlsite/robots.txtsite/sitemap.xmlDetails
FAIL [deploy_001] anti_pattern "python scripts/deploy_site.py" -- trigger: python deploy_site.py must always be run from the main repo root (C:/dev/mneme), never from a worktree directory FAIL [site_perf_001] anti_pattern "inline <script> running animation or DOM-mutation logic at parse time" -- trigger: running Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "container divs with no height before JS populates them" -- trigger: height Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "scripts before <link rel=preconnect> hints" -- trigger: scripts Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN [site_perf_001] constraint "No blocking scripts in <head> before preconnect hints" -- trigger: scripts Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN ADR_CHANGED [ADR-001] ADR-001 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-001-positioning-and-messaging.md WARN ADR_CHANGED [ADR-002] ADR-002 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-002-repo-boundary-internal-tooling.md WARN ADR_CHANGED [ADR-003] ADR-003 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-003-site-publishing-guidelines.md WARN ADR_CHANGED [ADR-004] ADR-004 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-004-brand-name-mneme-hq.md WARN ADR_CHANGED [ADR-005] ADR-005 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-005-brand-vs-package-namespace-enforcement.md WARN ADR_CHANGED [ADR-006] ADR-006 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-006-insights-article-seo-requirements.md WARN ADR_CHANGED [ADR-007] ADR-007 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-007-og-image-generation.md WARN ADR_CHANGED [ADR-008] ADR-008 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-008-persona-buyer-page-content-standards.md WARN ADR_CHANGED [ADR-009] ADR-009 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-009-explicit-text-encoding-in-automation.md WARN ADR_CHANGED [ADR-010] ADR-010 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-010-automation-artifact-governance.md WARN ADR_CHANGED [ADR-011] ADR-011 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-011-knowledge-graph-content-architecture.md WARN ADR_CHANGED [ADR-012] ADR-012 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-012-conceptual-authority-discipline.md WARN ADR_CHANGED [ADR-013] ADR-013 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-013-external-platform-presence-standards.md WARN ADR_CHANGED [ADR-014] ADR-014 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-014-harness-complementary-positioning-vocabulary.md Result: FAIL </details> <details><summary><code>site/compare/index.html</code> โ FAIL</summary> FAIL [deploy_001] anti_pattern "python scripts/deploy_site.py" -- trigger: site deploy_site.py must always be run from the main repo root (C:/dev/mneme), never from a worktree directory FAIL [encoding_001] anti_pattern "Set-Content without -Encoding" -- trigger: content All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "open() without encoding= in Python" -- trigger: open All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "writeFileSync without encoding in Node.js" -- trigger: without All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "implicit encoding in any automation file write" -- trigger: any All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [site_perf_001] anti_pattern "inline <script> running animation or DOM-mutation logic at parse time" -- trigger: inline Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "container divs with no height before JS populates them" -- trigger: height Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "synchronous Google Fonts CSS link in <head>" -- trigger: google Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "backdrop-filter on nav/menus applied unconditionally on mobile (GPU cost)" -- trigger: backdrop Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "scripts before <link rel=preconnect> hints" -- trigger: before Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN [site_perf_001] constraint "No blocking scripts in <head> before preconnect hints" -- trigger: blocking Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN ADR_CHANGED [ADR-001] ADR-001 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-001-positioning-and-messaging.md WARN ADR_CHANGED [ADR-002] ADR-002 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-002-repo-boundary-internal-tooling.md WARN ADR_CHANGED [ADR-003] ADR-003 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-003-site-publishing-guidelines.md WARN ADR_CHANGED [ADR-004] ADR-004 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-004-brand-name-mneme-hq.md WARN ADR_CHANGED [ADR-005] ADR-005 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-005-brand-vs-package-namespace-enforcement.md WARN ADR_CHANGED [ADR-006] ADR-006 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-006-insights-article-seo-requirements.md WARN ADR_CHANGED [ADR-007] ADR-007 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-007-og-image-generation.md WARN ADR_CHANGED [ADR-008] ADR-008 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-008-persona-buyer-page-content-standards.md WARN ADR_CHANGED [ADR-009] ADR-009 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-009-explicit-text-encoding-in-automation.md WARN ADR_CHANGED [ADR-010] ADR-010 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-010-automation-artifact-governance.md WARN ADR_CHANGED [ADR-011] ADR-011 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-011-knowledge-graph-content-architecture.md WARN ADR_CHANGED [ADR-012] ADR-012 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-012-conceptual-authority-discipline.md WARN ADR_CHANGED [ADR-013] ADR-013 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-013-external-platform-presence-standards.md WARN ADR_CHANGED [ADR-014] ADR-014 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-014-harness-complementary-positioning-vocabulary.md Result: FAIL </details> <details><summary><code>site/compare/rag-coding-memory/index.html</code> โ FAIL</summary> FAIL [encoding_001] anti_pattern "Set-Content without -Encoding" -- trigger: content All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "open() without encoding= in Python" -- trigger: open All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "writeFileSync without encoding in Node.js" -- trigger: without All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "implicit encoding in any automation file write" -- trigger: implicit All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [site_perf_001] anti_pattern "inline <script> running animation or DOM-mutation logic at parse time" -- trigger: inline Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "container divs with no height before JS populates them" -- trigger: height Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "synchronous Google Fonts CSS link in <head>" -- trigger: google Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "backdrop-filter on nav/menus applied unconditionally on mobile (GPU cost)" -- trigger: backdrop Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "scripts before <link rel=preconnect> hints" -- trigger: before Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN [site_perf_001] constraint "No blocking scripts in <head> before preconnect hints" -- trigger: head Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN ADR_CHANGED [ADR-001] ADR-001 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-001-positioning-and-messaging.md WARN ADR_CHANGED [ADR-002] ADR-002 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-002-repo-boundary-internal-tooling.md WARN ADR_CHANGED [ADR-003] ADR-003 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-003-site-publishing-guidelines.md WARN ADR_CHANGED [ADR-004] ADR-004 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-004-brand-name-mneme-hq.md WARN ADR_CHANGED [ADR-005] ADR-005 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-005-brand-vs-package-namespace-enforcement.md WARN ADR_CHANGED [ADR-006] ADR-006 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-006-insights-article-seo-requirements.md WARN ADR_CHANGED [ADR-007] ADR-007 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-007-og-image-generation.md WARN ADR_CHANGED [ADR-008] ADR-008 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-008-persona-buyer-page-content-standards.md WARN ADR_CHANGED [ADR-009] ADR-009 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-009-explicit-text-encoding-in-automation.md WARN ADR_CHANGED [ADR-010] ADR-010 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-010-automation-artifact-governance.md WARN ADR_CHANGED [ADR-011] ADR-011 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-011-knowledge-graph-content-architecture.md WARN ADR_CHANGED [ADR-012] ADR-012 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-012-conceptual-authority-discipline.md WARN ADR_CHANGED [ADR-013] ADR-013 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-013-external-platform-presence-standards.md WARN ADR_CHANGED [ADR-014] ADR-014 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-014-harness-complementary-positioning-vocabulary.md Result: FAIL </details> <details><summary><code>site/og-compare-rag-coding-memory.html</code> โ FAIL</summary> FAIL [encoding_001] anti_pattern "Set-Content without -Encoding" -- trigger: content All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [site_perf_001] anti_pattern "container divs with no height before JS populates them" -- trigger: container Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "synchronous Google Fonts CSS link in <head>" -- trigger: fonts Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN [site_perf_001] constraint "No blocking scripts in <head> before preconnect hints" -- trigger: head Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN ADR_CHANGED [ADR-001] ADR-001 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-001-positioning-and-messaging.md WARN ADR_CHANGED [ADR-002] ADR-002 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-002-repo-boundary-internal-tooling.md WARN ADR_CHANGED [ADR-003] ADR-003 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-003-site-publishing-guidelines.md WARN ADR_CHANGED [ADR-004] ADR-004 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-004-brand-name-mneme-hq.md WARN ADR_CHANGED [ADR-005] ADR-005 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-005-brand-vs-package-namespace-enforcement.md WARN ADR_CHANGED [ADR-006] ADR-006 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-006-insights-article-seo-requirements.md WARN ADR_CHANGED [ADR-007] ADR-007 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-007-og-image-generation.md WARN ADR_CHANGED [ADR-008] ADR-008 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-008-persona-buyer-page-content-standards.md WARN ADR_CHANGED [ADR-009] ADR-009 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-009-explicit-text-encoding-in-automation.md WARN ADR_CHANGED [ADR-010] ADR-010 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-010-automation-artifact-governance.md WARN ADR_CHANGED [ADR-011] ADR-011 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-011-knowledge-graph-content-architecture.md WARN ADR_CHANGED [ADR-012] ADR-012 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-012-conceptual-authority-discipline.md WARN ADR_CHANGED [ADR-013] ADR-013 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-013-external-platform-presence-standards.md WARN ADR_CHANGED [ADR-014] ADR-014 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-014-harness-complementary-positioning-vocabulary.md Result: FAIL </details> <details><summary><code>site/robots.txt</code> โ FAIL</summary> FAIL [site_perf_001] anti_pattern "synchronous Google Fonts CSS link in <head>" -- trigger: google Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN ADR_CHANGED [ADR-001] ADR-001 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-001-positioning-and-messaging.md WARN ADR_CHANGED [ADR-002] ADR-002 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-002-repo-boundary-internal-tooling.md WARN ADR_CHANGED [ADR-003] ADR-003 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-003-site-publishing-guidelines.md WARN ADR_CHANGED [ADR-004] ADR-004 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-004-brand-name-mneme-hq.md WARN ADR_CHANGED [ADR-005] ADR-005 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-005-brand-vs-package-namespace-enforcement.md WARN ADR_CHANGED [ADR-006] ADR-006 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-006-insights-article-seo-requirements.md WARN ADR_CHANGED [ADR-007] ADR-007 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-007-og-image-generation.md WARN ADR_CHANGED [ADR-008] ADR-008 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-008-persona-buyer-page-content-standards.md WARN ADR_CHANGED [ADR-009] ADR-009 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-009-explicit-text-encoding-in-automation.md WARN ADR_CHANGED [ADR-010] ADR-010 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-010-automation-artifact-governance.md WARN ADR_CHANGED [ADR-011] ADR-011 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-011-knowledge-graph-content-architecture.md WARN ADR_CHANGED [ADR-012] ADR-012 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-012-conceptual-authority-discipline.md WARN ADR_CHANGED [ADR-013] ADR-013 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-013-external-platform-presence-standards.md WARN ADR_CHANGED [ADR-014] ADR-014 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-014-harness-complementary-positioning-vocabulary.md Result: FAIL </details> <details><summary><code>site/sitemap.xml</code> โ FAIL</summary> FAIL [deploy_001] anti_pattern "python scripts/deploy_site.py" -- trigger: python deploy_site.py must always be run from the main repo root (C:/dev/mneme), never from a worktree directory FAIL [encoding_001] anti_pattern "Set-Content without -Encoding" -- trigger: encoding All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "open() without encoding= in Python" -- trigger: encoding All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "writeFileSync without encoding in Node.js" -- trigger: encoding All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [encoding_001] anti_pattern "implicit encoding in any automation file write" -- trigger: encoding All automation that reads or writes text files must specify the encoding explicitly. UTF-8 for all site, doc, config, and source files in this repo. FAIL [site_perf_001] anti_pattern "inline <script> running animation or DOM-mutation logic at parse time" -- trigger: running Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "container divs with no height before JS populates them" -- trigger: before Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. FAIL [site_perf_001] anti_pattern "scripts before <link rel=preconnect> hints" -- trigger: before Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN [site_perf_001] constraint "No blocking scripts in <head> before preconnect hints" -- trigger: before Site pages with inline JavaScript must defer animations and pre-size dynamic containers to prevent CLS and TBT regressions on mobile. WARN ADR_CHANGED [ADR-001] ADR-001 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-001-positioning-and-messaging.md WARN ADR_CHANGED [ADR-002] ADR-002 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-002-repo-boundary-internal-tooling.md WARN ADR_CHANGED [ADR-003] ADR-003 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-003-site-publishing-guidelines.md WARN ADR_CHANGED [ADR-004] ADR-004 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-004-brand-name-mneme-hq.md WARN ADR_CHANGED [ADR-005] ADR-005 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-005-brand-vs-package-namespace-enforcement.md WARN ADR_CHANGED [ADR-006] ADR-006 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-006-insights-article-seo-requirements.md WARN ADR_CHANGED [ADR-007] ADR-007 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-007-og-image-generation.md WARN ADR_CHANGED [ADR-008] ADR-008 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-008-persona-buyer-page-content-standards.md WARN ADR_CHANGED [ADR-009] ADR-009 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-009-explicit-text-encoding-in-automation.md WARN ADR_CHANGED [ADR-010] ADR-010 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-010-automation-artifact-governance.md WARN ADR_CHANGED [ADR-011] ADR-011 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-011-knowledge-graph-content-architecture.md WARN ADR_CHANGED [ADR-012] ADR-012 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-012-conceptual-authority-discipline.md WARN ADR_CHANGED [ADR-013] ADR-013 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-013-external-platform-presence-standards.md WARN ADR_CHANGED [ADR-014] ADR-014 source file changed since import (hash mismatch). Re-run `mneme adr import` to refresh the imported decision. source: ../docs/adr/ADR-014-harness-complementary-positioning-vocabulary.md Result: FAIL </details> <sub>Generated by `.github/workflows/mneme-check.yml` ยท query = PR title + file path ยท scope = repo-governance paths.</sub> <!-- Sticky Pull Request Commentmneme-check --> </script>scripts/generate_og_images.pyโ FAILTicket changed by: TheoV823