404 Errors After a Website Migration: Git History Forensics Proves 4 Pages Were Never Built, Not Lost in a Merge
Four pages the tracker marked shipped were returning 404 hours before a client review. The fast fix is to rebuild them. The valuable fix is knowing why they were missing.
What was getting in the way.
Right before a client review, four pages listed as shipped in the project tracker return 404 on the staging site. The instinct is to rebuild fast and move on. But the "why" matters enormously: if a code merge destroyed finished pages, every other merged page is suspect and the whole build needs re-auditing. If the pages were never built and the tracker lied, the problem is process, and the rest of the site is probably fine. Guessing wrong either triggers a needless full re-audit or leaves a silent defect pattern in place.
Context
An agency hours from a client review of a migrated site. The pattern applies to any team with a tracker and a repo: when reality and the tracker disagree, history forensics tells you which one to fix and how far the damage goes.
How the work runs.
- 01
Search all of git history for the routes.
Using git's pickaxe search across every commit ever made, the agent looked for any point where the four routes or their content existed.
- 02
Get a definitive answer.
The routes never existed in any commit. Nothing was lost in a merge; the tracker had marked pages shipped that were never built. That is tracker drift, a process defect with a known scope.
- 03
Scope the blast radius correctly.
Because the cause was tracker drift and not a destructive merge, the other shipped pages did not need a panic re-audit; the tracker's shipped list did, and got one.
- 04
Build and verify the four pages the same evening.
All four built, published, and verified returning 200 on the staging site by direct fetch, with one page intentionally carrying production-parity noindex metadata.
- 05
Record the finding where the team plans.
The root cause went into the project record as "routes never existed, tracker drift," so the fix list review that followed started from the true history.
Evidence from the workflow.

Each system has a role.
record of truth (pickaxe search across all history proving the routes never existed)
Git
the instrument under audit (shipped status vs reality)
Project tracker
build and publish of the four restored pages
Lovable
verification surface (direct 200 checks on each restored URL)
Published site
Why this is Coworker.
Takes assignments and reports back. You hand it work, it prepares and returns a result.
- 01
Git history searches are read-only. The rebuild went through the normal publish pipeline with each URL verified live. The root-cause finding was logged in the project record for human review rather than quietly patched over.
Impact / Outcomes
All four missing pages were live and fetch-verified within hours, before the client review.
The root cause was proven, not guessed: git history showed the routes never existed, ruling out merge data loss.
The correct follow-up happened: a tracker audit of shipped claims, instead of an unnecessary re-audit of the entire merged codebase.
The project record now distinguishes "lost" from "never built," which changes how every future shipped claim on the project is trusted.
Find where a workflow like this fits.
Start with the systems, work, constraints, and authority already present in your operation.