← Back to research
Research

The debt came due

The hand-kept lists the August piece called accurate started drifting two hours later. One page then spent 29 days missing from the sitemap.

2 hours between the August piece calling the lists accurate and the first one going out of date

Where this came from

Testing the patterns on real material looked at this site's own code and found the same shape as a company's undocumented exceptions: hand-kept lists of the site's pages, copied out separately from the route table the site already has. On 23 August every list was accurate. The warning was that nothing would raise an alert when one stopped being.

This is what happened next. All of it can be checked in the repository's history.

What happened

The August piece was added at 12:27 on 23 August. At 14:42 the same day, the privacy and cookie pages were added. They made it into the sitemap's list, but not into the list the 404 page uses to suggest the page you probably meant.

On 4 September the Examples page was added: the page written for business owners. It made it into neither list. For 29 days, until it was fixed on 3 October, it was missing from sitemap.xml and from the list of pages the site sends to search engines every time it deploys.

On 26 September the sample audit report was added under /services. The sitemap list got it. The 404 page still treated /services as a page with nothing beneath it.

In between, the lists were updated correctly four times: for the Research section, the field log, the vocabulary and the clinical handover demo. So this wasn't a blanket failure. Most of the time someone remembered every copy. Three times they remembered some of the copies, or none.

Why nothing noticed

Every page worked. Every link worked. Nothing errored. A list that's out of date doesn't fail; it just stops being true, and nothing that reads it can tell.

Search engines could still find the Examples page by following links, so I can't say what the gap cost. A sitemap is how a site announces a page, not the only way a page gets found. But for a month, the page meant for buyers was never announced, and no part of the site knew.

The August piece called this kind of list low-risk: read often, touched rarely, by one person, who had just written the pattern down. It drifted anyway, two hours later.

How it turned up

During a content review in October, by comparing the sitemap's list of pages with the routes the site actually serves. The August piece had already named the route table as the source of truth. Nobody had checked the lists against it.

The fix

First the immediate one: the missing pages went into the lists. Then the one the August piece proposed. The sitemap's pages, the 404 page's sections, and the pages under /work, /tools and /services are now read from Flask's own route table (app.url_map), so a new page can't be left out. The old sitemap list survives only to supply each page's last-modified date. If a page is missing from it, the page is still listed, just without a date.

Of the August piece's four lists, one stays hand-kept: DIAGRAM_EMBEDS, which maps case studies to their diagrams. Its component names don't follow the page names, so there's nothing to derive it from, and when it's wrong the diagram is visibly missing from the page. A copy that fails loudly is far less dangerous than one that fails quietly.

What this says about context debt

This is about the cheapest version of context debt there is: one person, one codebase, and a written warning published two hours before the first miss. In a business, the copies are spread across people, documents and tools, and nobody has written the warning down. The fix is the same at any scale: find the copies, then either remove them or make something check them.

A copy doesn't fail. It just stops being true, quietly, until something depends on it.

---
title: The debt came due
slug: the-debt-came-due
date: 2026-10-03
order: 7
summary: The hand-kept lists the August piece called accurate started drifting two
  hours later. One page then spent 29 days missing from the sitemap.
stat: 2 hours
stat_label: between the August piece calling the lists accurate and the first one
  going out of date
---

If this sounds like your business, the audit is the quickest way to find out what your AI is missing: one workflow, one 90-minute session, and a written brief on what to fix first.

Book the audit

Prefer to talk first? Get in touch — no obligation.