Free Architecture Guide

The 4-Layer Architecture for Sharing Context Across Your Whole Company

Most teams have built two of four required layers and assume they are done. The four layers any working answer ends up with, the criteria to audit yours, and why the schema layer is the actual moat.

~12 min readLast updated: Author: Matthew Kramer, Founder @ DearTech

TL;DR

  • Any working answer to “shared context across non-technical teams” ends up with the same four layers: a markdown foundation, a graph over the foundation, a query interface (MCP server or equivalent), and role-aware access.
  • The four layers are the engine. The moat is the operating logic that makes the engine work for your specific operation. Knowing what schema your vertical needs is what compounds, and that judgment only comes from having shipped deployments.
  • Use the criteria in each layer to audit what you already have and to locate where you are stuck.

I. The question, asked in public

A dev-tools founder posted this question on LinkedIn this week.

Who is solving for shared context across non-technical teams using AI? Developers have git and GitHub. But forcing ops teams to learn git isn't worth the squeeze. Has anyone solved this?

A credible builder asking unprompted, in public, with that exact framing matters. Technical teams ship context through git, dotfiles, README files, and shared repos. Non-technical teams ship context through Notion pages, Slack threads, Loom recordings, and what gets shared in passing between colleagues or on calls. Neither pattern produces a shared, queryable, role-aware foundation the whole company can build on. The gap is articulated, the obvious workarounds have been tried, and nothing in the consumer AI stack closes it.

By the end of this you should know what the four layers of a working answer look like, why each one has to exist, how to evaluate whether yours is doing its job, and which part of the build is genuinely hard versus which part is buildable in a few weeks. If you have already started building toward this and are stuck somewhere, this should help you locate where.

The four layers at a glance

Each layer has a specific job. A missing layer is the most common reason these systems fail.

01

Markdown as the canonical foundation

Plain files on disk, version-controlled, vendor-independent, AI-readable.

02

A knowledge graph over the foundation

Typed nodes and edges that surface related concepts together, with a lifecycle that ages out untouched nodes.

03

A query interface (MCP server or equivalent)

The server non-technical teammates query in natural language, returning source-backed answers with citations.

04

Role-aware access

Viewer, maintainer, admin scopes enforced at the query interface, so non-technical teammates can read, contribute, and govern without touching git.

What this architecture looks like at scale

170+ nodes of the four-layer pattern, color-coded by domain.

This is our working knowledge graph after 6 months of refinement. Yours will look different. The structural pattern will be the same: typed nodes, wiki-link edges, lifecycle, role-scoped access.

Key:BusinessTechnicalMethodology
A working knowledge graph at scale, rendered in Obsidian, showing 170+ typed nodes connected by wiki-links across the business (red), technical (blue), and methodology (green) domains.
Our knowledge graph after 6 months of refinement. 170+ typed nodes, color-coded by domain. The shape varies by operation. The structural pattern does not.

II. Why the obvious options fail

Five widely-used answers exist for “where should our context live?”

None of them are the right answer for non-technical team participation, and each fails for a structurally different reason.

Notion, Confluence, Coda, and other cloud document stores

These do hierarchy and prose well. They do relational structure poorly. Knowledge is stored as nested pages instead of a graph, which means precise retrieval is difficult and updates do not propagate. The deeper issue is that the canonical knowledge lives behind a vendor API, which breaks portability, version history at the file level, and AI-readability simultaneously. You can ingest from Notion into another system, but every ingestion is a translation step that loses fidelity.

Claude Projects, ChatGPT custom GPTs, per-user AI workspaces

These are the natural starting point and a lot of teams are already here. They hit five structural ceilings in succession: context windows fill up before a real company's knowledge does, file upload limits cap at 20 to 30 documents, every project lives on the individual employee's account, knowledge walks out the door when employees leave, and answers never become reusable assets. None of these are user-error problems. They are baked into the consumer tools. You cannot train your team out of them.

Obsidian vaults with cloud sync

This is where many technical operators land. Markdown stays canonical, the vault travels across devices, and skills sync into the assistant of choice. The vault is single-user by design. There is no role layer, no shared query interface, no governance. The moment you try to bring a non-technical teammate in, you are either giving them write access to your entire vault or you are back to copying into Notion.

Slack threads, Loom recordings, meeting notes

These are not knowledge systems, they are conversation systems. They are ephemeral, unstructured, and have no consolidation pattern. The information is in there, but retrieval depends on someone remembering the right phrase to search for. Six months later, the thread that decided the pricing strategy is functionally gone.

"Just put it in git."

Works for engineers. Fails for ops, marketing, finance, and sales. Not because those teams are incapable, but because git is the wrong UX surface for someone who is not editing files for a living. Forcing the rest of the company to learn it is the answer that keeps non-technical teams locked out of the company's actual knowledge.

The pattern across all five is the same. Each option solves part of the problem (capture, prose, retrieval, portability, or version history) and breaks at least one other. The four-layer architecture is what you get when you stop trading these properties off against each other and design for all of them at once.

III. The four layers that have to exist

Any working answer ends up with the same four layers.

Even if the team building it does not realize that is what they are doing. Naming them explicitly is useful because each layer has a specific job, and a missing layer is the most common reason these systems fail.

01
Layer 01

Markdown as the canonical foundation

The content of the knowledge base lives as plain markdown files on disk, organized in a directory structure your team controls. Not as records in a Notion database. Not as rows in Postgres. Not as embeddings inside a vendor's vector store. Files.

This is the layer that carries portability, version history, AI-readability, and the escape hatch. Markdown is the common denominator. Every editor can open it, every LLM can read it, git can version it, and any future system can ingest it without translation. The moment your canonical knowledge lives behind a vendor API, you have lost three of those four properties at once.

Evaluate this layer

To evaluate this layer in your own setup, ask three questions:

  • Can you `git clone` the entire knowledge base and have it work locally without any service running?
  • Can a new LLM read your content directly without an SDK or a translation layer?
  • If the vendor disappeared tomorrow, would you still have everything?

If any answer is no, the foundation is wrong, and every layer above it inherits the same fragility.

02
Layer 02

A knowledge graph over the foundation

Files alone do not carry meaning. A folder structure encodes hierarchy, but most knowledge is not hierarchical, it is relational. The "ICP for SMB SaaS" concept connects to the "trial-to-paid conversion" concept connects to the "pricing-page benchmark" concept, and none of those relationships is captured by which folder the files live in.

The graph layer makes those relationships explicit. Each markdown file becomes a node with a type (`principle`, `case-study`, `lesson`, `reference`, and so on). Each link inside a node becomes a typed edge to another node. Retrieval can then traverse those edges to bring back not just the matching node, but the surrounding cluster of concepts that share meaning with it. The same structure is what makes a lifecycle possible: nodes are discrete enough to track, score, and retire when they stop earning their place.

Evaluate this layer

To evaluate this layer, ask whether:

  • Related concepts surface together when one is queried.
  • The system can follow a chain of links across topics, not just match keywords.
  • The node type taxonomy stays small and is scoped to epistemic role (`principle`, `case-study`, `lesson`, `pattern`, `reference`, `framework`, six to twelve types is plenty), not to topic, which is what tags are for.
  • The graph has a lifecycle: nodes that go untouched for months get flagged and archived, the archive remains searchable but does not pollute active retrieval, and a steady drip of pruning is part of the routine.

The discipline behind the graph is what produces precise retrieval. Volume on its own does not.

03
Layer 03

A query interface (MCP server or equivalent)

The foundation and the graph are not the product. They are infrastructure. The product is what your non-technical teammate touches when they need an answer at 3pm on a Tuesday.

That surface needs to be a server that sits between the team and the files, exposes a small set of tools (search, read, follow links, list by type), and returns source-backed answers. MCP is the current standard for this in the Anthropic ecosystem. The same pattern works through OpenAPI for ChatGPT, through plugins for agent IDEs, through any framework that can call typed tools. The protocol is less important than the principle: non-technical teammates ask questions in natural language, the server resolves them through the graph, and the answer comes back with citations.

Evaluate this layer

The criteria here are sharper than the layers below:

  • Can a non-technical teammate ask "what is our position on annual contract terms for sub-50-seat customers?" in Claude or ChatGPT and get a precise, cited paragraph in under five seconds?
  • Does the retrieval combine keyword matching, vector similarity, and graph traversal, or does it rely on only one?
  • Can you swap the underlying LLM without rewriting the integration?

If any of these is no, the interface layer is the bottleneck.

04
Layer 04

Role-aware access

The first three layers solve technical problems. The fourth is access control and governance. It is the layer where most internally-built versions stop short and never recover.

Without roles, every context-sharing system collapses into one of two failure modes. Either everyone gets full read and write access, in which case the graph fills with noise from well-intentioned contributors who do not yet understand the schema, or only the founder has access, in which case nothing is actually being shared with the non-technical team in the first place.

Working roles are a small set, scoped at the query interface (not just the file system). Viewer reads, queries, and cites. Maintainer reads plus contributes new emergent nodes that are reviewed before promotion. Admin manages the schema, approves promotions, and audits. OAuth or SSO carries the identity, the server enforces the scope, and every action lands in an audit log.

Evaluate this layer

The criteria are simple to state and easy to fail:

  • Can you separate read access, contribution rights, and schema-editing authority into three distinct levels?
  • Can a new hire on the marketing team contribute a draft node that an admin reviews before it joins the canonical graph?
  • Is there a record of who promoted, edited, or removed each node?

If the answer to any of these is "we have not built that yet," the participation problem is unsolved, and the system stays a single-user vault with extra steps.

IV. The hard part nobody talks about

Understanding your vertical is the actual moat.

The four layers above are the engine. The engine is not the hard part.

The hard part is knowing what schema your specific vertical needs.

By “schema” I do not mean a JSON schema or a database schema. I mean the operating logic of the knowledge base itself. The curated CLAUDE.md that tells the system how to think. The node type taxonomy that decides what counts as a “principle” versus a “case study” versus a “lesson” versus a “reference.” The validator rules that reject malformed nodes before they enter the graph. The governance lifecycle that promotes emergent observations into validated canon. The seed knowledge that gives the graph enough density to be useful on day one. The ingestion patterns that decide how raw transcripts and meeting notes get atomized into nodes. The conventions that decide what to link, when to supersede, how to handle contradictions.

Knowing what should be in that schema for sales operations versus customer success versus finance versus product is what takes years of shipping operations to learn.

The validator rules that work for a GTM team do not work for a finance team. The node type taxonomy a sales operation needs (ICP, objection, case-study, decision-criteria) is different from what a product team needs (user-research, decision-log, experiment-result, open-question). The lifecycle rules that fit a customer-success team's daily ingestion cadence look nothing like the rules that fit a finance team's monthly close cycle. You cannot describe what good looks like for your niche if you have not lived inside that operation.

The reason memory engines and “company brain” startups stall in this category is almost always a vertical-fit problem dressed as a technology problem. Founders say “retrieval is bad” or “the AI hallucinates” or “the team is not adopting it.” Underneath, the actual issue is that the schema was generic, the validator rules were borrowed from a different domain, and the seed knowledge did not match how the operation actually runs. The graph fills with noise inside a month not because the engine is broken but because no one decided what the engine should be tracking.

The Moat

The library of vertical-specific deployment patterns that tells you what to put in the schema for a specific operation. That library only exists if someone has shipped the deployments.

This is also why a generic, off-the-shelf “context OS” tool tends to underperform. The foundation works. The vertical-specific design judgment is the part that has to come from somewhere. You either build it slowly through trial and error in your own operation, or you start from a schema someone has already battle-tested in your vertical and tune from there.

That is the real product question. Not whether you can stand up the engine, but whether you have the vertical-specific schema judgment to make the engine produce compounding intelligence rather than slowly decaying noise.

V. What to do next

Three concrete paths, depending on where you are.

If you have a setup already

Audit it against the four layers. Take each one in turn. Are your files plain markdown on disk that you can `git clone` and read without a vendor SDK? Does your retrieval traverse a graph of typed nodes and edges, or is it keyword search over flat documents? Is there a query interface non-technical teammates can hit through Claude or ChatGPT in plain English? Does the role layer exist, scoped at the query interface, with viewer, maintainer, and admin distinctions? Whichever layer is missing or weak is the constraint, and shoring up that one layer changes more than improving the others.

If you are starting fresh

The cheapest credible build is markdown plus git plus a small graph layer plus a thin MCP server, deployed somewhere your team can reach. Then comes the actual work: designing the schema (node type taxonomy, validator rules, lifecycle, seed knowledge) for your specific operation. That judgment is what compounds. Treat the schema judgment as the actual product. The engine is infrastructure.

If you are stuck on schema design for your specific operations

That is the part DearTech-OS productizes. A 30-minute walk-through working from a live graph. Useful even as a reference architecture if you decide to keep building your own.

Talk to me

Want to see what this looks like running?

A 30-minute walk-through working from a live company graph, not slides. Useful even as a reference architecture if you decide to keep building your own.

See DearTech-OS