Skip to content

overhaul: cutover pre-flight, parity records, legacy removal - #28

Open
CS-5 wants to merge 2 commits into
overhaul/10b-carson-fixesfrom
overhaul/11-cutover
Open

overhaul: cutover pre-flight, parity records, legacy removal#28
CS-5 wants to merge 2 commits into
overhaul/10b-carson-fixesfrom
overhaul/11-cutover

Conversation

@CS-5

@CS-5 CS-5 commented Sep 6, 2026

Copy link
Copy Markdown
Member

Phase 11 of the stacked overhaul (plan/11-cutover.md), stacked on #27 per D23. This is the top of the stack: merging it cascades every layer below into staging.

What this does

Phase 11 is mostly dashboards and a deployed URL. This PR is the half a repository can do, so that what remains for the owner is a checklist rather than an investigation.

Parity pass, by hand, recorded in plan/11-cutover.md § As built. Every URL the Next.js site served was requested against the production preview of this build: all thirteen answer 200, an unknown path gets the branded 404.html, and _redirects and _headers both reach dist/ (Pages reads them from there). Every on-site redirect target is a built page, and no redirect source collides with built output. Visible copy was diffed per route against the legacy TSX and compiled into one table.

Three copy differences no earlier phase logged, now in plan/todo.md for a keep-or-revert decision:

  • The homepage hero reads "Robots are in Franklin County. So are we."; legacy read "Robots are cool. So are we." (introduced in the Phase 06 commit, unrecorded).
  • The Programs panel lost legacy's two program taglines ("A Hands-On Approach to STEM Learning", "Combining the excitement of sport with the rigors of science and technology").
  • The footer lost its sponsor logos and "Special thanks to our sponsors for powering our mission."

Also flagged: /programs/fll is the one page whose copy is new rather than ported, because legacy had only an under-construction placeholder there. Everything else on the list was logged in the phase that made it.

legacy/ is deleted (second commit, separable), with every exclusion that guarded it: tsconfig.json, knip.jsonc, .prettierignore, .vscode/settings.json, the ESLint global ignore and no-restricted-imports pattern, the @source not line in global.css, and the AGENTS.md row. The plan's §5 sequences this after launch; D11 says "deleted at cutover", the stack lands as one cascade, and git history keeps the old site, so it is here. If you would rather hold it until after the staging soak, drop the second commit.

Dependency audit: the lockfile carries no React, HeroUI, framer-motion, embla, Biome, or Next. The only name match is css-to-react-native, a transitive dependency of satori. knip is green without the legacy/** ignore.

README rewritten for the Astro site: what it is, mise install && pnpm install, where to read next, the Pages deploy model.

Not done here, and why

  • No automated route or redirect check in CI, by the owner's decision during this session; the parity pass is a recorded table instead.
  • Lighthouse was not re-run locally; nothing under src/pages/ or src/components/ changed, and the CI job runs it on this PR.
  • The redirect rules' live behaviour, the Pages build settings, the staging soak, launch, and the post-launch watch all need a deployment or a dashboard. plan/todo.md § Cutover lists each with what is already in the repository waiting for it.

Seen in passing

Astro preserves <!-- --> comments from component templates in the built HTML: eleven ship on the homepage from Navbar, Hero, and friends. Developer notes, a few hundred bytes per page. Noted in plan/11 as a follow-up, not changed here.

Verification

pnpm check (typecheck, lint, format, knip) and pnpm build green on the final commit; check:meta verifies all 16 pages. Built under Node 22 in this environment; CI runs the mise pin.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vaq66ucygSHc84MJXz1cac


Generated by Claude Code

@CS-5
CS-5 force-pushed the overhaul/11-cutover branch 2 times, most recently from e76b0b3 to b35d431 Compare September 7, 2026 00:58
Phase 11's repository half. Every legacy URL requested against the
production preview and tabulated in plan/11, with the _redirects rules
checked as far as a build can (every on-site target is a built page, no
source collides with built output). Visible copy diffed per route against
the legacy TSX and compiled into one summary, including three differences
no earlier phase logged: the hero heading, the Programs panel taglines,
and the footer's sponsor block. README rewritten for the Astro site, and
plan/todo.md gains the cutover steps only an owner can take.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vaq66ucygSHc84MJXz1cac
The Next.js site has served its purpose as the parity reference; git
history keeps it. With the directory go the legacy entries in tsconfig,
knip, Prettier's ignore, the VS Code search exclude, ESLint's global
ignore and the import ban, the @source exclusion in global.css, and the
architecture row in AGENTS.md. The dependency tree carries no React,
HeroUI, framer-motion, embla, Biome, or Next.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vaq66ucygSHc84MJXz1cac
@CS-5
CS-5 force-pushed the overhaul/11-cutover branch from b35d431 to 5fbad8e Compare September 7, 2026 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants