Blog
CLAUDE.md Grounds Your Developers and Locks Out Everyone Else
10 min read
CLAUDE.md lives in the repo, loads inside Claude Code, and is written in the language of build commands and module paths. Each of those facts quietly excludes someone. The product manager who needs to know whether a feature is actually built, the support lead deciding if a report is a bug or expected behavior, the founder checking whether what was promised got shipped — none of them have repo access, none of them run a developer CLI, and none of them read code fluently. The grounding exists; it is just structurally out of reach for most of the people who need a codebase answer.
Three walls, all load-bearing
CLAUDE.md is a developer artifact by construction. There are three separate barriers between the file and a non-engineer, and you have to clear all three:
Three walls CLAUDE.md puts between the file and most of the team
WALL 1 - location: it lives in the repo
-> you need repo access to even see it
WALL 2 - tool: it loads inside Claude Code (a dev CLI)
-> you need to be running the developer tool
WALL 3 - language: it is written in build commands, module
paths, ORM names, file conventions
-> you need to read code to make sense of it
A PM, support lead, or founder fails all three by default.Even if you handed a product manager the raw CLAUDE.md, the third wall stands: it is written for someone who already understands the system. It was never meant to answer the questions non-engineers actually ask. It is a note from developers, to developers, about how to run the code.
The people locked out are the ones asking
The roles excluded by those walls are not edge cases — they are the roles that most often need to know what the system does and least often can find out:
Who actually needs codebase answers
Product manager: "is the export feature actually built, or just
in the UI?" — never sees CLAUDE.md
Support lead: "is this a bug or expected behavior?" —
can't open the repo
Founder: "did we ship what we told the customer?" —
not running a dev CLI
Scrum master: "what's really blocking this ticket?" —
needs code AND Jira, has neitherToday, each of those questions becomes an interruption: a Slack message to an engineer, a wait, a context-switch on both sides. We cover the cost of that pattern in why product teams need answers, not access. A grounding mechanism only developers can reach does nothing to break it.
Codebase truth has to meet Jira
For non-technical roles, the codebase question is almost never standalone — it is entangled with the work. "Is the export feature built" is really "does the code match what the ticket claims." "What is blocking this" needs the ticket status and the code reality. A developer file in a repo cannot touch the work-tracking side at all. The two sources stay separate, and the person who needs them joined is the one who cannot join them.
That join — codebase truth connected to Jira — is what turns "ask an engineer" into "ask the system." A scrum master can see whether a ticket marked blocked is blocked in the code, or whether a sprint's work actually touches the service everyone is worried about, without opening a single file.
From developer artifact to shared layer
The fix is not to teach the whole company to read CLAUDE.md. It is to make codebase truth a shared layer instead of a developer artifact:
Developer artifact vs. shared system layer
CLAUDE.md:
-> repo-bound, dev-tool-bound, code-literate
-> answers only for engineers, only inside Claude Code
Managed semantic index (Kognita):
-> plain-language questions, no repo clone, no CLI
-> same current answer for every role
-> joined to Jira, so "what's built" meets "what's planned"When the grounding is a managed service rather than a file in the repo, the access walls come down: plain-language questions, no clone, no CLI, the same current answer for every role. This is the whole-team access that a repo-bound file cannot provide.
Where Kognita fits
Kognita is a managed semantic index of your codebase with a plain-language interface and a Jira integration over MCP. A product manager asks "is the export feature actually wired up" and gets an answer from the current code — no repo, no CLI, no engineer in the loop. A scrum master asks what is really blocking a ticket and gets the code reality alongside the Jira status. The same grounding that helps developers helps the rest of the team, because it is a shared system everyone can query, not a file only engineers can open.
Final take
CLAUDE.md grounds the one role that already has the most context — developers — and locks out the roles that have the least. It is repo-bound, tool-bound, and code-literate, and most of your team is none of those things.
Codebase truth should not live behind a developer tool. When it is a shared layer joined to Jira, the whole team can ask the system instead of interrupting an engineer.