Mari blog

Why we built Mari

Eric Disque · 2026-08-03

Every team we've been on had the same ritual.

Someone asks a question in Slack. Someone else posts a link to a doc. The doc turns out to be a year old and wrong in two places. Then the one person who actually knows types the real answer into the thread, everyone says thanks, and the correction sinks below the scroll line by lunch. The doc stays wrong.

We ran that loop for years, across startups and big companies. The knowledge was never missing. It was in the repo, in the thread, in a ticket comment, in someone's head. What was missing was any way to hold a sentence accountable: who said this, based on what, and is it still true?

Docs don't fail loudly

Code that breaks tells you. Tests go red, alerts fire, someone gets paged at 2 a.m. and writes an incident report.

A wrong doc does none of that. It sits there looking exactly like a right doc. The failure happens later, off the page. A new hire configures the wrong thing. A support engineer repeats a policy the team retired in March. A teammate loses an afternoon to a runbook step that no longer exists. Nobody files a bug against a paragraph.

So docs rot at the speed of the product, and the rot is invisible until someone trips over it. Every wiki we've used treats that as normal. Search finds the page. Nothing tells you whether to believe it.

Then the readers doubled

Two things changed at once, and they're why we finally built the thing instead of complaining about it.

First, AI agents started reading your docs. Nearly half of documentation traffic now comes from AI tools, which retrieve a chunk, trust it completely, and hand it to a developer with confidence. A human reader might smell that a page is stale. A retrieval pipeline won't. A wrong sentence used to mislead one reader at a time. Now it gets embedded, retrieved, and repeated.

Second, AI started writing more of the docs. That sounds like the fix until you notice that generated prose has the same problem at higher volume: fluent, plausible, and unaccountable. More words, same missing answer to "says who?"

And the documents your agents run on, the CLAUDE.md files and skills and subagent prompts, rot the same way every other doc rots. The stakes went up on both sides of the page.

What a sentence needs

We kept arriving at the same short list. For a piece of team knowledge to be worth trusting, 4 things have to be true:

  1. It has a source. A document, a commit, a thread. Something you can open.
  2. It has an owner. A person who signed it, not "the wiki."
  3. It has a freshness state. Verified, aging, stale. Visible, not vibes.
  4. It gets checked against reality. When the code moves, something notices.

That list is Mari.

Mari connects the places knowledge already lives (a dozen connectors: GitHub, Slack, Google Drive, Confluence, Notion, Jira, Linear, and so on) and pulls everything into one searchable knowledge base. GitHub ingestion goes past files: commit messages, PR descriptions, issues, and comments become knowledge documents too, because that's where half the real decisions are.

On top of that base:

The boring decisions were on purpose

The bet

We built Mari because "is this still true?" deserves a better answer than one person's memory, and because the cost of a wrong sentence went up. Agents read your docs now. They write them too. The teams that win won't be the ones with the most documentation. They'll be the ones whose documentation stays true, with a trail to prove it, while everything underneath it moves.

Mari is Apache 2.0 and self-hosted. Want to see it live? Book a demo, or open an issue on GitHub and pull on the thread.

— Eric