Skip to content
Back to all field notes knowledge · 8 min

Tribal knowledge is a single point of failure

The one person who knows why that module exists is a risk you priced at zero. Now half your new hires are agents who never met them.

field note 8 min

Every team has one. The person you Slack when something in the payments module looks wrong, because they are the only one who remembers why it was built that way and which part you must never touch. It works. It works right up until they are on holiday during an incident, or they take another job, and you discover the module was load-bearing and the documentation for it was a human being.

We call this tribal knowledge and we treat it as a soft asset, the sign of a seasoned team. It is also a risk we price at exactly zero until the day it detonates. Tribal knowledge is a single point of failure with a friendly name.

Tribal knowledge is the “why” with no external copy

The code already tells you what it does. You can read it. What the code cannot tell you is why it does that instead of the obvious alternative, why this ugly branch exists, why this service was split off, why nobody has deleted the thing that looks dead.

That “why” is tribal knowledge. It is real, it is load-bearing, and it exists in exactly one place: a head. Not in the repo, not in a doc, not in a ticket. The person who holds it usually does not even experience it as knowledge. To them it is obvious, so they never wrote it down, because you do not document the obvious. That is precisely why it is dangerous. The most critical context in your system is the context nobody thought was worth recording.

The failure is not the person leaving. It is the missing redundancy.

Reliability engineering has a rule you already apply to infrastructure. If one node going down takes the system with it, that node is a single point of failure and you add redundancy. Nobody runs production on one database with no replica and calls it fine.

We run knowledge that way constantly. One person understands the auth flow. One person knows why the migration cannot be run on a Monday. One person remembers the customer who caused that weird constraint. Zero replicas. The moment that node is unreachable, on holiday, distracted, gone, the knowledge is unavailable and the code is left saying what without why.

The fix is not “hire people who never leave.” It is the same fix as for the database. Redundancy. The knowledge needs to exist in more than one place, and at least one of those places has to be a system, not a second fragile human. This is the concern that research on team performance keeps surfacing: quality internal documentation is one of the practices that most reliably predicts whether teams cope with change, and it is precisely the practice tribal knowledge quietly replaces.

Now the new hires are agents, and they never learn the tribe’s rules

Here is what changed, and why this stopped being a slow HR problem and became an operational one this year.

A human junior absorbs tribal knowledge by osmosis. They sit near the senior, overhear the incident, get told “oh, never deploy that on a Friday,” and after six months the unwritten rules have soaked in. It is slow, it is lossy, but it works because the tribe transmits itself.

Agents do not sit anywhere. A coding agent onboards from zero every single session. It reads the code, not the hallway. It was never in the room when someone explained why the retry logic is deliberately not idempotent. So it does the reasonable thing the code seems to invite, and it walks straight onto the landmine the whole tribe learned to step around years ago.

human junior

  • absorbs by osmosis
  • learns over months
  • overhears the why
  • tribe transmits itself

new agent

  • onboards from zero
  • every single session
  • reads code not room
  • walks onto the landmine
The tribe transmits itself to a human who sits nearby for months; an agent sits nowhere and starts each session blind to every unwritten rule.

You cannot fix this by writing a better prompt. The knowledge is not in the model and it is not in the repo, so no amount of context window helps. An agent will confidently rebuild the exact bug the tribe already suffered, because the scar tissue that taught the humans was never written down anywhere the agent can read. The fastest-growing part of your team is structurally blind to your most important context.

Externalize the tribe, do not just document it

The reflex answer is “write more docs,” and it fails for the reason it always failed. Prose docs written once, off to the side, rot faster than the code moves and nobody trusts them within a quarter. You end up with tribal knowledge plus a graveyard of stale wikis, which is worse.

What actually helps is turning the “why” into something structured and attached to the thing it explains. Not a wiki page about the payments module, but a decision recorded against the payments module: this is idempotent on purpose, here is the incident that forced it, do not change it without reading that. Provenance included, so the next reader knows whether it is a proven constraint or one person’s memory.

Done that way, the knowledge stops being tribal. It becomes queryable, by a human onboarding on day one and by an agent onboarding at 2am, from the same source. That is the whole point of onboarding against a knowledge graph instead of tribal knowledge: the new arrival, carbon or silicon, learns from the system, not from whoever happens to be awake. And it is the same bet as a product brain that maintains itself, where the context updates as the code moves instead of decaying in a doc nobody opens.

The bill arrives all at once

The reason tribal knowledge stays unpriced is that it costs nothing on almost every ordinary day. The senior is reachable, the question gets answered in a thread, the system feels healthy. The risk is invisible because it is dormant.

Then it all comes due in one moment, usually the worst one. The incident hits while the one person who understands the failing subsystem is on a plane. The rewrite stalls because nobody left can say why the old constraint existed, so the team either keeps a rule it does not understand or removes it and reintroduces the original bug. The estimate that assumed a two-day change balloons, because the two days were only ever two days for the person who held the map in their head.

None of this shows up in a planning meeting. It shows up as a spike in an incident channel, and by then the cheapest moment to have externalized the knowledge, which was any calm afternoon over the previous year, is already gone.

Where PaellaDoc fits

PaellaDoc exists partly because I got tired of being the single point of failure for my own projects. It reads a repo and its history into decisions and constraints tied to the code they explain, each tagged with where it came from, and keeps that on your machine as a living record. The senior’s “why” stops being something you have to catch them in the right mood to explain. It becomes something both your teammates and your agents can query directly, so the tribe survives the tribe.

Local-first and free, no cloud and no account, against the repo you already have.

↓ Download PaellaDoc · macOS

Which part of your system depends on one person being reachable? Tell me on the forum.

Frequently asked questions

What is tribal knowledge in a software team?

The undocumented why that lives in people’s heads: the reason a module is structured oddly, the landmine nobody touches, the constraint that is obvious to whoever built it and invisible to everyone else. It is real knowledge with no external representation, so it disappears when the person does.

Why is tribal knowledge a single point of failure?

Because the whole system depends on one head being reachable. When that person is on holiday, leaves, or simply forgets, the knowledge is gone and the code is left saying what it does but not why. There is no redundancy and no backup, which is the exact definition of a single point of failure.

Why do AI agents make tribal knowledge worse?

Because agents onboard from zero every session and cannot absorb hallway context. A human junior slowly picks up the unwritten rules over months. An agent never does. It sees the code, not the why behind it, so any knowledge that only lives in heads is permanently invisible to the fastest-growing part of your team.