Time Machine

Every few years I rebuild this site from scratch with a different architecture. Instead of keeping legacy Node and React toolchains alive in CI, each retired iteration is compiled once to a static snapshot on an orphan archive branch and mounted directly into the production deployment tree.

How It Works

Old frontend frameworks and dependency trees eventually bit-rot in CI. Rather than running multiple Node versions, Hugo binaries, and legacy bundlers on every push:

  1. Pin each era by Git tag: Every major architectural era (from v0.0.0-alpha at 3648bc8 in Feb 2020 through v3.0.0 at 976eb30) is tagged in the repository history.
  2. Freeze static output once: Each historical iteration has its asset and link paths scoped to /v*, injects a floating return banner and noindex meta tag, and is committed once onto an orphan archive branch.
  3. Zero-cost CI overlay: After Astro builds ./dist, scripts/mount-archive.mjs streams the frozen snapshots from archive into ./dist in under a second with zero legacy dependencies.