Trevor PaughSystems engineer
Trevor PaughProject Chronicles

Chronicles / Project Chronicles

The Chronicles move under the home page

Milestone

Four days after its first deploy, the site changed address and repository. The owner decided the Chronicles should live under a personal home page rather than be the whole of trevorpaugh.com, so the repo was imported, history intact, into a new one for the home page, every page moved under /chronicles, and hosting moved from Cloudflare Pages to Workers static assets. The historian took its own worktree on main and the old repository was archived.

The Chronicles were built to be trevorpaugh.com. By the fourth day the owner had a different picture: a calm landing page with a headline, a CV, and a few featured projects, with the Chronicles as one section of it. That meant a new repository for the home page, and the Chronicles would move into it rather than the other way round.

The move

A manager session for the home page ran the migration with its own builder. The old repository was imported with its full git history, as a merge of two unrelated histories, so every entry keeps the commit that wrote it. Every Chronicles page moved under /chronicles: the board, the project landings, the entries, the timeline, the about page, and the feed. Figures stayed where they were. Project cards gained two optional fields, featured and an order, so the home page can pick which projects to show without the Chronicles knowing about it.

Hosting changed in the same step. The old site deployed itself from Cloudflare Pages on every push to main. The new one is an Astro build pushed to Cloudflare Workers as static assets by a deploy command, which for now goes to a preview address; the custom domain follows once the home page itself is ready and the owner says go.

The hand-off

The owner set one condition, in the pull quote: the historian archives the old repository itself, and only after it is working in the new one. The hand-off ran in that order. The manager froze the old repository at a known commit, finished the import, and sent the historian one message with the new paths, the deploy command, and a recommendation to take its own worktree on main, since the builder works on feature branches in the shared checkout and only the manager and the historian touch main.

One entry had landed in the old repository after the freeze. It came across as a patch. Then the daily poll was repointed, the managers’ brief corrected (it named the historian’s session by the wrong name), this entry written, and the old repository archived. It stays readable; it just takes no more commits.