All posts

Docs drift: why does every knowledge base end up outdated?

Docs drift is not carelessness, it is mechanics: a frozen text describes a product that keeps changing without it. Its four forms, and the only way out that holds.

Every knowledge base ends up outdated because it describes a product at a given date, and the product keeps changing without it. Docs drift is not a discipline problem: it is the mechanical gap between a text frozen at the moment it was written and code that changes on every deploy. The way out is not to write faster. It is to derive the knowledge from the source that changes.

The definition, in one sentence

Docs drift is the gap that widens between what a documentation claims and what the product actually does, as the code evolves and the text does not follow. It starts with the first deploy after the page was written. It is invisible: an outdated page has the same layout, the same confident tone and the same search ranking as a correct one. That is what makes it expensive.

Why drift is mechanical, not moral

Three facts are enough to produce it, and none of them is negligence.

First: documentation is written once, code changes continuously. A team that ships several times a week opens, each time, a potential gap with dozens of pages written months earlier. Nobody knows which ones.

Second: a code change does not flag the page it invalidates. The developer who changes the default value of an export has no idea that three help center articles, one integration guide and two support macros quote it. The link between code and text exists nowhere, except in someone's memory, at best.

Third: review does not scale. Reviewing one page takes ten minutes; reviewing three hundred pages on every release is a full-time job nobody budgeted. The quarterly review catches what you know to look for, and drift hides in what you no longer know.

There is no culprit. There is a source that moves and a copy that does not.

The four forms of drift

Drift does not have one face but four, and they are not detected the same way. The examples are illustrative.

FormWhat the docs sayWhat the product doesHow you find out
The silent change"Exports use a comma separator"The separator switched to semicolon two releases agoA ticket: "my import fails"
The half-truth"Webhooks are retried three times"Still three times, now with exponential backoff and a signatureAn integrator whose verification breaks
The ghostA whole page about an optionThe option was removed; the page is still indexedA prospect asking for a feature that no longer exists
The blind spotNothingA feature shipped a month ago, never documentedSupport stumbles on it; customers never do

The silent change is the most frequent and the best known: it is the support bot's stale answer after a release. The half-truth is the most dangerous because it survives review: the sentence is still true word for word. The ghost wastes the time of people who are not customers yet. The blind spot, finally, is not an error in the docs: it is an absence, and no review detects an absence.

What drift costs, in tickets and wrong answers

Drifting docs cost twice. On the human side: the ticket that should not exist, the support answer that contradicts the page, the trust that erodes ("their docs are wrong, let's just ask"). Every outdated page eventually becomes an interruption for a developer, the only person who knows what the code really does.

On the agent side, the cost changes in nature. An AI support agent, an internal assistant or an integration connector reads your knowledge base and grants it the credit of a source.

It does not doubt, it does not sense that a page "looks old": it answers confidently, in the page's own vocabulary. The half-truth becomes a wrong instruction given to a customer, and the ghost a promised feature. The drift that inconvenienced a human reader misleads a machine reader, across every conversation it has.

Ready to see what your team shipped?

"What changed since this page was written?"

Nobody asks this question, and yet it is the only one that measures drift. Every help center page carries an implicit date (the day it was written) and describes the product as it was on that date. Between then and now sits a series of deploys, therefore a series of diffs. The answer exists in the git history; what is missing is the bridge between the page and the changes that concern it.

Asked to an expert plugged into the code, the question gets a dated, sourced answer: "since August 14, two changes affect what this page describes: the export separator (commit of the 21st) and the webhook delay (commit of the 28th)." It belongs to the same family as "why did this behavior change?": it walks from the text back to the diff, not the other way around.

The way out: derive knowledge instead of copying it

As long as documentation is a copy of the product written by a human, it drifts: that is what copies do. The way out is to turn it into a view, recomputed from the source on every change, the way a report is recomputed from the database rather than retyped.

That is DeployIt's principle. DeployIt reads the real code (re-synced on every push), the git history (commits + diffs) and the customer's data through its own MCP servers, and checks the code before asserting anything. The help center generated from the code describes the release in production, including the feature shipped yesterday that nobody thought to document. The blind spot disappears because the view is computed from the whole codebase, not from the list of pages someone remembered to write.

For agents, the same source is exposed through one MCP server per project, in early access via the design partner program. The support agent no longer reads a dated page; it asks its question and gets an answer verified in the code at the moment it asks. The four forms of drift share one cause, the lag between text and code; an answer computed at question time has no lag.

What stays handwritten keeps its full value: the why behind a decision, the tone, the onboarding path. What derivation takes over is the what and the how, the part that changes on every deploy.

"We assigned an owner per page and a quarterly review"

This is the most serious organizational answer, and it does reduce drift. Keep it for narrative pages. Its limit fits in one number: the review is quarterly, deploys are daily, so a page can be wrong for 89 days without the process noticing.

It does not catch the blind spot (you cannot review a page that does not exist) nor the half-truth (the reviewed sentence is still true). Its technical variant, docs-as-code in the repository with a mandatory pull request, does better on the silent change, as long as the reviewer thinks of the page; it says nothing about surfaces outside the repo: public help center, support macros, the bot's knowledge base.

"So this tool reads my whole repository"

Yes, and that is what lets it know what changed. The frame is bounded: the GitHub connection is read-only and revocable at any time; one server per project, with no view on the others; the output is derived answers and pages, never a dump of source code. Your readers learn that the separator changed, not how your export pipeline is written. To place the offer: Context7 and DeepWiki cover libraries and public repos, Mintlify generates an MCP server from written docs; DeployIt covers your private product, derived from the code itself, fresh on every deploy.

Mini-FAQ

Does a well-kept wiki drift too? Yes, at the speed of your deploys minus the speed of your reviews. A well-kept wiki drifts slowly. It still drifts.

Can we measure our own drift? Take ten pages at random and ask the title question for each: what changed in the code since it was written? The number of pages where the answer is not "nothing" is your drift rate.

Does generation replace writers? It gives them back the time spent checking facts. The why, the journey and the pedagogy still need writing; the what and the how get derived.

What about the changelog? It is another view of the same source, derived from the git history: the list of changes the docs should reflect, produced as they land.

Correct docs are recomputed docs

Drift is not a writing problem, it is a copying problem: a written copy cannot keep up with a source that changes every day. Turn it into a view computed from the code, and the question "is this page still true?" stops coming up.

DeployIt is free during early access; paid plans arrive in January 2027. If your agents need to answer from that same source, the design partner program is taking applications.

Ready to see what your team shipped?

Continue reading