Branch Reconciliation + Astro 6→7 Dependency Upgrade
Reconciled hypernova-site's stale development/master divergence and missing main tier, merged the standalone SEO/GEO feature branch, then brought the site's dependencies current with the rest of the fleet — surfacing four pre-existing markup bugs Astro 6 had silently tolerated.
Changelog - 2026-07-08 (01)
Branch Reconciliation + Astro 6→7 Dependency Upgrade
Why Care?
hypernova-site had been sitting out the fleet-wide dependency upgrade because its git branches were tangled: development looked like it had 2 orphaned, unpushed feature commits, and a whole SEO/GEO feature branch (feat/seo-geo) had been sitting unmerged since May. Once untangled, the actual Astro 6→7 upgrade went the same way it did on every other site this week — except this one had four latent markup bugs that Astro 6's more permissive compiler had been silently swallowing for months.
Branch Reconciliation
Re-examined the
developmentvsmasterdivergence and found it wasn't a real divergence at all:development's tip was already a plain ancestor ofmaster(the "orphaned" memos + partner-page commits had already been folded into master's own linear history).origin/developmentwas just a stale pointer at an even older point on the same line — nothing unique, nothing lost.Merged
feat/seo-geo(sitemap, robots.txt, llms.txt, SEO registry — pushed since May 2026, never merged) intomaster. Clean merge, no conflicts, build-verified.Created the
maintier (never existed for this site) frommaster.development,main, andmasterare now all at parity.
Dependency Upgrade
astro6.3.1 → 7.0.7@astrojs/vercel10.0.6 → 11.0.2 (no customedgeMiddleware/isroptions to migrate)@astrojs/sitemap,@tailwindcss/vite,tailwindcss,vitest,@vitest/ui— patch/minor bumps@types/node25.6.2 → 26.1.1typescript— attempted 6.0.3 → 7.0.2, but reverted to latest 6.x (6.0.3) after confirming@astrojs/check@0.9.9's peer dependency (^5.0.0 || ^6.0.0) is incompatible with TS 7 and crashesastro checkoutright. Staying on TS 6 until@astrojs/checksupports TS 7.
Breaking Changes Found and Fixed
Astro 7's stricter compiler rejected code that Astro 6 tolerated silently:
src/pages/brand-kit/index.astro— opened<BaseThemeLayout>but closed</BoilerPlateHTML>(copy-paste artifact from twf_site, whose layout component has a different name). Fixed the closing tag.src/pages/partner/index.astro— two HTML-style comments (<!-- ... -->) inside JS ternary branches, invalid outside plain markup. Converted to JS comments (/* ... */).src/pages/design-system/component-library.astro— a duplicated "Data Display Category" section (there are two, one at 📊 and one at 📈 — a genuine content duplicate, left as-is since removing it is a content decision, not a build fix) was missing its<div class="text-center mb-12">header wrapper, unbalancing every closing tag after it for the rest of the file. Added the missing wrapper.src/layouts/sections/message-grids/ColumnarMessages--Variant1.astro— the outermost content wrapper div was never closed at all. Added the missing</div>.src/components/ui/AuthenticationModal.astro— same HTML-comment-inside-JS-ternary issue as #2. Converted to a JS comment.
Build Verification
pnpm build— clean, verified after every dependency bump and again from a freshrm -rf node_modules && pnpm install --ignore-workspace.pnpm exec astro check— 66 pre-existing errors (content-collectiondata/rendertyping gaps, component prop-type mismatches, deprecated Zod string methods), 162 hints. None trace to this upgrade — typecheck tooling had never successfully run on this site before (TS 7 crashed it outright; TS 6 runs clean of new errors). Left untouched per convention.
Files Touched
package.json,pnpm-lock.yaml— dependency bumps, version →0.1.2src/pages/brand-kit/index.astro— fixed mismatched closing tagsrc/pages/partner/index.astro— fixed 2 HTML-comments-in-JS-ternarysrc/pages/design-system/component-library.astro— added missing wrapper divsrc/layouts/sections/message-grids/ColumnarMessages--Variant1.astro— added missing closing divsrc/components/ui/AuthenticationModal.astro— fixed HTML-comment-in-JS-ternary
