feat: pin the seams with tests; one nav registry; one Crumbs (round 3) - #160
Open
ronaldtse wants to merge 1 commit into
Open
feat: pin the seams with tests; one nav registry; one Crumbs (round 3)#160ronaldtse wants to merge 1 commit into
ronaldtse wants to merge 1 commit into
Conversation
- vitest on the pure modules (frontmatter, newsIndex kinds, seo builders, identity marks, searchCore sectionOf/debounce); npm test runs before the build in CI. First run caught a real grammar gap: empty frontmatter blocks were not recognized — fixed in the reader - lib/nav.ts: the primary nav declared once; Header, Footer, and 404 consume it (404 no longer advertises removed sections or a hardcoded suite count) - Crumbs.astro + PageHero crumbs prop: retires six hand-rolled breadcrumbs; awards, advisories, and hall-of-fame adopt PageHero, completing the page-opening rhythm - Base passes lang to Header/Footer: zh-hant pages get Chinese navigation (second real adapter for the i18n seam) - pruned dead exports (team, advisors, englishPosts, newsPosts, archivePosts, zhVariantOf); content collections untouched
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.
Round 3 of the architecture deepening, stacked on #159 (merge #158, then #159, then this). Report: local architecture-review-20260903-114911.html.
1. Vitest on the pure seams (Strong)
The first two rounds built deep interfaces; this round makes them stay deep. 28 specs over
frontmatter,newsIndexkind classification,seobuilders,identityresolvers, andsearchCore(sectionOf,debounce).npm testruns before the build in CI. The suite paid for itself on its first run: empty frontmatter blocks (---\n---) were silently unrecognized — grammar fixed in the reader and pinned by a spec.2. One navigation registry (Strong)
lib/nav.ts— the six primary nav items declared once. Header, Footer, and 404 all consume it. Fixes real drift: the 404 advertised "Team, advisors, awards" (sections removed from the site) and a hardcoded "36 suites".3. Crumbs (Strong, UX)
Crumbs.astro(links + current page asaria-currenttext) retires six hand-rolled breadcrumbs (ArticleShell, technologies/[id], platforms/[id], hall-of-fame, advisories, awards).PageHerogains acrumbsprop, and the three openings that skipped round 2's adoption (awards, advisories, hall-of-fame) now use PageHero — the page-opening rhythm covers every page.4. Dead exports pruned (Worth exploring)
team(),advisors()(site sections removed by design),englishPosts/newsPosts/archivePosts/zhVariantOf(orphaned by the newsIndex refactor). Content collections undersrc/content/are untouched — loaders can return when the pages do.5. zh-hant chrome (Worth exploring, UX)
Base passes
langto Header/Footer; nav labels resolve viat(key, locale). The 79 zh-hant articles and the zh-hant listing now get Chinese navigation — the i18n dictionaries became load-bearing instead of speculative.6. Programmatic OG cards — deferred (Speculative)
Feature work needing design input; explicitly not in this pass.
Verified
aria-current.