<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Xerum</title><link>https://docco.app/</link><description>Recent content on Xerum</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://docco.app/index.xml" rel="self" type="application/rss+xml"/><item><title>Same-origin bought us a lot, and charged us one path space</title><link>https://docco.app/blog/same-origin-bought-us-a-lot-and-charged-us-one-path-space/</link><pubDate>Mon, 31 Aug 2026 14:00:00 +0000</pubDate><guid>https://docco.app/blog/same-origin-bought-us-a-lot-and-charged-us-one-path-space/</guid><description>&lt;p&gt;The web app is split by plane: account pages served by the control plane on its own origin,&#10;your instance&amp;rsquo;s pages served by your instance on its. Each app is same-origin with the data&#10;it reads.&lt;/p&gt;&#10;&lt;p&gt;That buys a lot. No CORS on any data call. The browser is an ordinary OAuth client rather&#10;than a privileged one — it ends up holding exactly what an agent holds, which means we did&#10;not invent a second auth mechanism for the UI. And opening the app does not wake a sleeping&#10;container, because the shell is served from the edge.&lt;/p&gt;</description></item><item><title>The deploy artefact that had never once built</title><link>https://docco.app/blog/the-deploy-artefact-that-had-never-once-built/</link><pubDate>Mon, 31 Aug 2026 09:00:00 +0000</pubDate><guid>https://docco.app/blog/the-deploy-artefact-that-had-never-once-built/</guid><description>&lt;p&gt;&lt;code&gt;task backend:build:linux&lt;/code&gt; had never worked. Not once, since the day it was written.&lt;/p&gt;&#10;&lt;p&gt;Nothing noticed, because nobody had run it. Every developer build is a darwin build, and a&#10;darwin build takes a different path that succeeds. The task that produces the thing we&#10;would actually deploy had been quietly broken for as long as it had existed.&lt;/p&gt;&#10;&lt;h2 id="the-failure"&gt;The failure&lt;/h2&gt;&#10;&lt;p&gt;Building the tenant with &lt;code&gt;GOOS=linux CGO_ENABLED=0&lt;/code&gt; failed on undefined symbols.&lt;/p&gt;</description></item><item><title>We reversed our biggest design decision, and it cost almost nothing</title><link>https://docco.app/blog/we-reversed-our-biggest-design-decision-and-it-cost-almost-nothing/</link><pubDate>Thu, 27 Aug 2026 10:00:00 +0000</pubDate><guid>https://docco.app/blog/we-reversed-our-biggest-design-decision-and-it-cost-almost-nothing/</guid><description>&lt;p&gt;The design said git was the system of record. A change was a commit, a revision a commit&#10;id, a proposal a ref kept alive. It was written down, argued for, and — for a while —&#10;right.&lt;/p&gt;&#10;&lt;p&gt;We reversed it. Sqlite is the system of record now: an append-only &lt;code&gt;changes&lt;/code&gt; log plus a&#10;content-addressed &lt;code&gt;blobs&lt;/code&gt; table, with everything else a derived index. This is the note&#10;about why, and about the thing that made the reversal affordable.&lt;/p&gt;</description></item><item><title>About Xerum</title><link>https://docco.app/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/about/</guid><description>&lt;p&gt;Every team now runs AI agents, and every one of them is an amnesiac.&lt;/p&gt;&#10;&lt;p&gt;The knowledge that makes a team a team — why decisions were made, what broke last quarter,&#10;what got agreed in a review thread nobody will ever open again — is scattered across&#10;GitHub, Jira and Slack, and none of it reaches the model. So agents guess. And when agents&#10;guess, people stop trusting them, which is a worse outcome than not having them.&lt;/p&gt;</description></item><item><title>How it is built</title><link>https://docco.app/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/architecture/</guid><description>&lt;p&gt;This page is for the person who will be asked whether this is sound. It says what the&#10;system is, and — where a decision was close — what the alternative was and why it lost.&lt;/p&gt;&#10;&lt;h2 id="one-instance-per-team"&gt;One instance per team&lt;/h2&gt;&#10;&lt;p&gt;Every customer runs their own container. Its own database file, its own index directory,&#10;replicated to its own storage prefix.&lt;/p&gt;&#10;&lt;p&gt;There is no shared index with a customer column in it, and the API has no customer id&#10;parameter to pass. A request reaches one instance because of the hostname it arrived on&#10;and the token it carried, and that instance has only ever held one team&amp;rsquo;s data. This is&#10;what &amp;ldquo;isolation is architecture, not a WHERE clause&amp;rdquo; means concretely: there is no filter&#10;to get wrong, because there is nothing to filter.&lt;/p&gt;</description></item><item><title>Shared context for customer support organisations</title><link>https://docco.app/for/customer-support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/customer-support/</guid><description/></item><item><title>Shared context for financial services and investment teams</title><link>https://docco.app/for/financial-services/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/financial-services/</guid><description/></item><item><title>Get an instance</title><link>https://docco.app/start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/start/</guid><description>&lt;p&gt;There is no self-serve sign-up button yet, and this page exists to say that plainly rather&#10;than to send you to one that does not work.&lt;/p&gt;&#10;&lt;h2 id="where-we-are"&gt;Where we are&lt;/h2&gt;&#10;&lt;p&gt;Xerum is provisioning instances for design partners — teams who will use this daily, on&#10;real work, and tell us where it is wrong. Each one gets their own container, database and&#10;storage prefix, the same as every customer will.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;What runs today:&lt;/strong&gt; the versioned store, full history and time travel, the GitHub&#10;connector, hybrid search with provenance, the proposal loop, MCP and REST doors, and the&#10;web app for browsing, comparing, searching and reviewing proposals.&lt;/p&gt;</description></item><item><title>The eight words</title><link>https://docco.app/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/glossary/</guid><description>&lt;p&gt;Most products have three vocabularies: one in the code, one in the product spec, and one&#10;in the marketing. Ours has one. The words below are the type names in the domain package,&#10;the nouns in the API contract, and the nouns on this website — and where a page here says&#10;&amp;ldquo;resource&amp;rdquo; it is because the code says &lt;code&gt;Resource&lt;/code&gt;, not because a writer liked the sound of&#10;it.&lt;/p&gt;&#10;&lt;p&gt;That is not tidiness for its own sake. It means an engineer, a support lead and somebody&#10;in a sales call can describe the same behaviour without anybody translating, and it means&#10;a question like &amp;ldquo;what happens when a Jira ticket already in our context gets edited?&amp;rdquo; has&#10;one answer rather than three.&lt;/p&gt;</description></item><item><title>Shared context for government and defence suppliers</title><link>https://docco.app/for/government/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/government/</guid><description/></item><item><title>Shared context for legal teams</title><link>https://docco.app/for/legal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/legal/</guid><description/></item><item><title>Connect your agent</title><link>https://docco.app/mcp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/mcp/</guid><description>&lt;p&gt;MCP is the reason a context layer is buildable at all this year. Before it, serving context&#10;to agents meant an integration per agent; now it is one server that every serious client&#10;already knows how to talk to.&lt;/p&gt;&#10;&lt;p&gt;Your instance is one of those servers.&lt;/p&gt;&#10;&lt;h2 id="what-connecting-gives-an-agent"&gt;What connecting gives an agent&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Search&lt;/strong&gt; the shared context, permission-filtered before ranking, with hybrid full-text&#10;and vector retrieval behind it.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Read&lt;/strong&gt; any resource, at head or at an older revision.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Compare&lt;/strong&gt; two revisions to see what changed between them.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Follow&lt;/strong&gt; what has changed since it last looked, through a subscription.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Propose&lt;/strong&gt; a change — which an owner then approves or rejects. An agent never writes to&#10;the record directly.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Every result carries its provenance: the revision it was read at, the resource it came&#10;from, and the origin URL at the source.&lt;/p&gt;</description></item><item><title>Shared context for media and research organisations</title><link>https://docco.app/for/media-research/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/media-research/</guid><description/></item><item><title>Shared context for pharma and regulated R&amp;D</title><link>https://docco.app/for/pharma/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/pharma/</guid><description/></item><item><title>Privacy</title><link>https://docco.app/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/privacy/</guid><description>&lt;!-- This page describes how the system actually behaves and is written to be true rather&#10; than comprehensive. It has NOT been through legal review and the operating entity is&#10; not yet named — see the note at the foot. An accurate description of the product, and&#10; a draft of a policy. --&gt;&#10;&lt;p&gt;&lt;strong&gt;Last updated: 31 August 2026.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;This page describes what Xerum holds, where it holds it, and what we do and do not do with&#10;it. It is written plainly on purpose.&lt;/p&gt;</description></item><item><title>Shared context for professional services and consulting</title><link>https://docco.app/for/professional-services/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/professional-services/</guid><description/></item><item><title>Security and isolation</title><link>https://docco.app/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/security/</guid><description>&lt;p&gt;Two questions decide whether a context layer can be bought: can it leak between customers,&#10;and can it show somebody something they should not see. This page answers both, and then&#10;says what is not yet done — because a security page that only lists strengths is not one.&lt;/p&gt;&#10;&lt;h2 id="isolation-between-customers-is-physical"&gt;Isolation between customers is physical&lt;/h2&gt;&#10;&lt;p&gt;Every customer runs their own container, with its own database file, its own index&#10;directory and its own storage prefix.&lt;/p&gt;</description></item><item><title>Shared context for software teams</title><link>https://docco.app/for/software-teams/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/for/software-teams/</guid><description/></item><item><title>Terms</title><link>https://docco.app/terms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/terms/</guid><description>&lt;p&gt;&lt;strong&gt;Last updated: 31 August 2026.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Xerum is currently provided to design partners under an individually agreed arrangement.&#10;This page sets out the terms that apply generally; where your agreement says something&#10;different, your agreement wins.&lt;/p&gt;&#10;&lt;h2 id="the-service"&gt;The service&lt;/h2&gt;&#10;&lt;p&gt;Xerum provides a hosted, per-customer instance that records resources from sources you&#10;connect, keeps a versioned history of them, and serves them to agents and applications you&#10;authorise over MCP and REST.&lt;/p&gt;&#10;&lt;p&gt;You get your own container, database and storage prefix. We operate it; you decide what&#10;goes into it.&lt;/p&gt;</description></item><item><title>Xerum compared with an agent memory layer</title><link>https://docco.app/vs/agent-memory/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/vs/agent-memory/</guid><description/></item><item><title>Xerum compared with building RAG yourself</title><link>https://docco.app/vs/rag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/vs/rag/</guid><description/></item><item><title>Xerum compared with enterprise search</title><link>https://docco.app/vs/enterprise-search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/vs/enterprise-search/</guid><description/></item><item><title>Xerum compared with platform-native memory</title><link>https://docco.app/vs/platform-memory/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docco.app/vs/platform-memory/</guid><description/></item></channel></rss>