Self-review wave 2: audit-page SEO/OG, i18n drift guards, prompt-contract hardening#144
Merged
Conversation
German translations were coupled to source data by array index, so a reorder in content.ts silently mistranslated with no failing test. - principleDe: keyed by the principle English title (stable id), not [i] - proofRows: keyed by BACKLOG_SAMPLE issue number; landing.tsx public shape (proofRows[i]) unchanged but now derived from the keyed source - i18n.test.ts: 9 invariants (locale key-parity, audit-details en+de coverage, principle coverage, proofRows == BACKLOG_SAMPLE) Closes #134. Part of #131. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 26 audit detail pages emitted no structured data. Add localized TechArticle + BreadcrumbList JSON-LD (same server-rendered pattern as the homepage SoftwareApplication block) — a durable organic-search win that scales with the catalogue. Closes #136. Part of #131. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
All 13 detail pages shared one site-wide OG image. Add colocated opengraph-image routes (both languages) rendering the audit title + tagline via the existing renderOgImage, and drop the manual openGraph.images override so Next auto-injects the per-route image. Closes #137. Part of #131. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- repo-audit: normalized to the canonical skeleton (Title-Case headings, canonical order) with no content lost — the outlier among the 13. - check-prompts.mjs: enforce canonical heading ORDER and required shared- finding-schema fields (the 8-key intersection present in all 13), not just heading presence. - CODEOWNERS: route the release surface + web to @marcelrapold. - CONTRIBUTING.md: translated German -> English (public repo, English-first). - CHECKSUMS.txt: regenerated for the repo-audit edit (only that line). Closes #138. Part of #131. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supersedes #139 (auto-closed when its stacked base branch was deleted on merge of #133). Now based directly on
main(which already includes #132 + #133);mainwas merged in and the integrated state re-verified green.Findings
llms.txtsummary now lists all 13 audits (addedlean).principleDeby title,proofRowsby issue number; landing.tsx shape unchanged) + 9 invariant tests that fail on translation drift.TechArticle+BreadcrumbListJSON-LD on every audit detail page.opengraph-imageroutes (both langs); dropped the manual OG override.repo-auditto the canonical skeleton;check-prompts.mjsnow enforces heading order + the 8-key shared-schema intersection;CODEOWNERS; EnglishCONTRIBUTING.md.Integrated verification (on
mainmerged in)check-prompts.mjs13/13 (stricter gate) ·checksums.mjs --check✓ ·verify-pins v0.8.0✓ ·sha256sum -c17/17 ✓lint(the newly-merged ESLint gate) clean ✓ ·typecheck(clean.next) ✓ ·test17/17 ✓ ·build✓Part of #131.