AdroitPad
← Back to blog

Field notes on the roadmap

ROADMAP ESSAY · SEP 2026

From local memory toFederated Intelligence

What if the hardest part of software engineering was never the code — it was remembering why?

≈ 9 min read · 6 figures · Project → Team → Enterprise → Cross-Enterprise

Every engineering team has the same ghost living in its Slack history: the decision nobody can find.

Someone, months ago, spent two hours arguing through why a service uses DynamoDB instead of PostgreSQL for one particular table. The reasoning was sound. Today, a new engineer proposes moving it back "for consistency," and nobody can produce that reasoning — only a vague memory that "we looked into this already," buried in a closed thread, a deleted branch, or the head of someone who is currently on vacation.

Now add an AI coding agent to that team. It is brilliant for one session, and then it forgets everything. Tomorrow you will re-explain the same codebase to a machine that helped build it. Switch from one agent to another and you start from zero again. The bottleneck was never model quality. It was that nothing underneath the agents remembers.

This isn't a documentation problem. It's a memory problem — and it scales in exactly the wrong direction.

We started AdroitPad to solve a narrow version of this: one developer, one project, an encrypted vault on their own machine that actually remembers. The deeper we've built it, the clearer it's become that "one developer, one project" is the first rung of a much taller ladder — and that the same mechanism which makes a single agent stop forgetting is the one that, climbed far enough, gives a CTO a live view of engineering and lets two companies trust each other with a sliver of it.

This is that ladder. Four altitudes above the ground we're standing on today, each labelled honestly with where it actually is.

FIG. 01 — Elevationscope by altitude
Scope by Altitude: project, team, enterprise, and cross-organization visibility joined by a scoped grant
Fig. 01. Each altitude is built on the one below it and sees further: one developer's project, a team's rollup across projects, an organization's portfolio across teams. At Altitude 04 the graph stops being singular — it splits into two organizations, joined only by one narrow, revocable grant, never merged into one.

Ground · AdroitPad today

Shipping now

An encrypted vault that already knows your project

Everything above starts from something you can install today. AdroitPad is a local-first developer workbench: notes, issues, decisions, API collections, dev tools and an AI assistant, all in one encrypted vault on your machine, organized by Organization → Project → Module so every entry already knows where it belongs. No account, no telemetry. The assistant runs on Ollama by default; if you bring your own key for Claude, GPT, Gemini or DeepSeek, that is off until you switch it on, disclosed at the point of consent, and shown with a visible indicator while it is active.

That vault is the ground floor of the whole climb — and, critically, it is not empty. When the intelligence layer arrives, it starts with the corpus you already have.

Altitude 01 · Project Intelligence

Building · AdroitPad 2.0

Memory that stays with the work, not the tab

Today, "context" lives in the worst possible place: a chat window. Close it and it's gone. Switch agents and it's gone. Ask the same question next sprint and you're re-deriving an answer you already had.

Project Intelligence is our answer — a knowledge layer that captures the why behind the work as it happens: architecture decisions, the approaches that were tried and abandoned, the reasoning an AI session walked through before landing somewhere, the relationships between the modules that make up the system. Every claim carries a confidence score and moves through an explicit lifecycle — observation → hypothesis → reviewed → verified → canonical — and when something stops being true it is marked superseded, never deleted, so "why did we move off Redis?" stays answerable a year later.

Then we open it to every agent you use. Over MCP, Claude Code, Cursor or Copilot asks one question and gets back a compact, ranked, sourced brief — not a dump of fifty search results — assembled by a deterministic pipeline that resolves the scope from your current file, blends keyword, semantic and graph retrieval, and ranks by confidence and recency before a model ever sees it. The agent can change. The IDE can change. The model can change. The project remembers.

The heroIt gets better while you sleep.

AdroitPad stays open with a local model loaded, so it distills, deduplicates and reconciles memory between sessions — something a headless memory server structurally cannot do.

The windowYou can open it, read it, correct it.

Agent memory is a real screen in a real app, with provenance on every claim: what you said versus what an agent inferred, and when.

The refusalIt won't store your API keys.

The secret detector sits on the write path, so the first thing an agent saves is never a credential in plaintext.

The gateDeleting always needs a human.

An agent can never forget something on its own — no bulk approve, no "don’t ask again." The friction is the feature.

And the payoff for the developer, not only the agent: at the end of a work session, AdroitPad proposes the TODOs, issues and decisions that session actually produced — each with its reasoning and evidence attached — and files them only when you press Approve. Open the Project-State Dashboard and, instead of piecing together five Slack threads and a stale README, you see current decisions and open threads with staleness flagged honestly instead of quietly buried. Project management becomes a by-product of the work rather than a second job.

FIG. 02 — How coding agents reach Project Intelligenceone MCP round trip · runs entirely on your machine
Architecture diagram: an AI coding agent calls AdroitPad over MCP; AdroitPad resolves the project and module scope deterministically, runs keyword, semantic and graph retrieval over a local encrypted SQLite store, ranks by confidence and recency, and returns a compact sourced context bundle.
Fig. 02. Question in, ranked context out. Scope is resolved from the current file — not guessed by a model — before retrieval runs, and the answer that returns is sourced and confidence-scored. Nothing in this diagram leaves the machine.

Altitude 02 · Team Intelligence

Planned · AdroitPad 3.0

From “what did I decide” to “what did we decide”

The moment a second developer joins, Altitude 01's promise hits a wall: knowledge that lives on one machine is knowledge the rest of the team can't see. Team Intelligence is the sync layer — but it is deliberately not "sync everything."

From day one, every memory carries a first-class Local or Shared field. Your debugging hypotheses, your half-finished investigations and your raw AI conversations stay local. Architecture decisions, API contracts, conventions and known problems are what a team actually wants — and they cross over only through an explicit Promote to Project Intelligence action, where you pick the project, the module and the type, then choose Save locally or Share with team. Without that split, a shared graph fills with everyone's scratch thoughts the day sync exists.

What crosses is end-to-end encrypted. The cloud holds the canonical shared graph; every local AdroitPad is an intelligent cache that keeps working offline and catches up through an outbox later. Two people editing related knowledge get a conflict card, not last-write-wins. And every shared claim carries a trust trail — AI suggested → Human verified → Team verified → Project canonical — so when a teammate's agent draws on team knowledge through Team MCP, it can weight a canonical fact very differently from an unreviewed guess.

The interesting part isn't the sync — it's what becomes visible once a team's work is finally in one place. A lead doesn't need every decision in every project. They need what changed, what's blocked, and where the same architectural question just got independently re-litigated in two projects six months apart — a failure mode that is invisible while each project reconciles in isolation. "What's blocked across all four of our projects this sprint" stops being a standup and becomes one query.

FIG. 03 — How Team Workspace will share project contextone encrypted sync round trip
Roadmap diagram: a developer's local AdroitPad sends an end-to-end encrypted payload through a sync relay to AdroitPad Cloud, where access control checks project scope against team policy, a selective sync engine merges decisions, API collections and memories by recency and owner into a per-workspace encrypted store, a conflict resolver flags overlapping edits, and ranked context is delivered back to a teammate's AdroitPad.
Fig. 03. A teammate's decision, delivered to you as ranked context rather than a raw feed — with the role and access it arrived under. The cloud has zero access to plaintext; AdroitForge cannot read what a team shares.

Altitude 03 · Enterprise Intelligence

Direction

The view nobody currently has

Zoom out again and a new persona appears: not a developer, not a lead, but a CTO or VP of Engineering trying to answer "what is the real state of engineering right now" without pinging six team leads for a status update that's stale by the time it's compiled.

At this altitude three things become visible that never were at team scale. A cross-team dependency graph surfaces the moment Team A's internal service becomes a silent dependency for Team B's roadmap. An org-wide decision registry stops the same hard architecture call from being re-fought in five corners of the company. And portfolio-scale staleness ranks the same honest "this hasn't been touched" signal from Altitude 01 across forty projects, so leadership sees which parts of the organization have gone quiet before it becomes a fire.

None of it is a bigger stored graph that can drift from reality. Each altitude is a live, read-time rollup of the same reconciled truth underneath — the altitude is resolved from who is asking, not from a toggle — so a CTO's dashboard and a developer's agent are never looking at two versions of the same fact.

And none of it works without governance as real as the graph: row-level access tied to organization, workspace and project boundaries; roles; SSO and provisioning; a full audit trail on every cross-project query; a data residency story and a self-hosted option designed in from the start. Visibility without accountability isn't a feature — it's a liability.

THE HONEST TENSION

Rolling up across teams means the server must understand more than a zero-knowledge relay does. We don't pretend otherwise. How much the server may see is decided per feature, written down, and shown to you — the same discipline we use today for every connection the app can make. Local stays zero-knowledge, always.

FIG. 04 — How visibility climbs from developer to boardroomone reconciled graph, four altitudes
Architecture diagram: a developer's work is promoted into a reconciling graph engine; a scope resolver derives the querying principal's altitude from their role, a rollup engine aggregates by scope and confidence across Project, Team, Enterprise and Cross-Org, and a dashboard composer returns a ranked leadership view.
Fig. 04. One commit inside one project, climbed to a CTO's screen. The altitude comes from the querying principal's role, the rollup is confidence-weighted, and the result is one ranked view — not six status meetings.

Altitude 04 · Federated Intelligence

Concept

When two companies need one view

Everything above stays inside one organization's walls. Here is the harder question: what happens when two separate companies — a client and a vendor, two partners building on shared infrastructure — need to trust each other with a sliver of this same visibility?

Picture it concretely. Company A hires Company B to build a payments integration. Today, A's visibility into B's actual progress is a status email or a weekly call — a human on B's side manually synthesizing reality into a paragraph, stale the moment the call ends. A asks "is this actually done, what's blocking it, and why was it built this way," and gets someone's summary of someone else's summary.

The idea: AdroitPad Cloud lets B keep its entire organizational graph completely private — every other client, every internal decision — while explicitly granting A a narrow, read-only, time-boxed, revocable window into only the one project A is paying for. A gets the same accurate, current view Altitude 01 gives a single developer inside their own project, without B exposing anything else, ever.

Federation, not merger: two organizations' knowledge graphs never combine into one.

Every cross-company read is a live, scoped query against the granting organization's own tenant, answered at the moment it's asked and never cached on the other side. Both organizations must consent before the grant exists; either can revoke it instantly; every query through it is logged for both. Revoke access and the very next query simply fails — there is nothing left over to un-share, because nothing was ever copied there in the first place.

FIG. 05 — Federation, not mergerthe grant boundary
Federation, not merger: two private knowledge graphs connected by one scoped, revocable grant
Fig. 05. One project, one direction, one revocable line. The grant is a live query boundary, not a data pipeline — so revoking it leaves nothing behind to un-share.
FIG. 06 — How AdroitPad Cloud connects two organizationsone scoped, revocable grant · never a merged database
Roadmap concept diagram: a vendor organization's AdroitPad Cloud tenant sends a grant request through an end-to-end scoped grant relay; access control checks mutual consent, a grant scope engine applies scope, an entity allow-list and expiry, an audit trail logs every query for both organizations, and a federated view store resolves the granted slice live into the client organization's dashboard.
Fig. 06. What the client sees: "Checkout API 92% complete, blocked on the webhook-signing decision — reasoning logged by the vendor's lead engineer. Granted 3 days ago, expires in 27, read-only." Their partner's real status, not a status call.

Beyond Altitude 04

Speculative · not a roadmap commitment

An internet of organizational knowledge

Once visibility between two organizations can be scoped, consented to and instantly revoked, there is no fundamental reason it has to stay pairwise. Imagine a mesh of grants across an entire supply chain of vendors, partners and clients — each edge independently scoped and revocable — so a prime contractor gets a live, accurate rollup of every subcontractor's actual status rather than a monthly spreadsheet stitched together by hand. Program management for hundred-vendor projects stops being an exercise in chasing updates and starts being a query.

Push further and picture anonymized, aggregated industry intelligence — not "share my decisions with a competitor," but a privacy-preserving layer that can answer "of teams our size, in our stack, how many chose Kafka over RabbitMQ for this exact use case, and how did it hold up a year later." Every individual graph stays exactly as private as Altitude 03 already guarantees; only statistically aggregated signal ever crosses the boundary.

And further still: agents that negotiate on our behalf. Deciding whether to grant a partner visibility is a human judgment call, and it should stay one. But in a world where every organization runs its own agents against its own graph, those agents could pre-negotiate the shape of a proposed grant — which projects, which entity types, what expiry — and hand a human a one-click approval instead of a blank contract. Not agents deciding whether to share; agents doing the tedious scoping so humans spend their judgment where it matters.

None of this is promised for next quarter. It is the honest extrapolation of a principle we believe is right at every altitude below it: knowledge shouldn't reset or stay siloed just because a boundary exists — a tab, a teammate, a department, a company — provided every crossing stays explicit, scoped and instantly reversible.

How AI coding agents reach project intelligence through MCP
Fig. 02. How AI coding agents reach project intelligence.
How Team Workspace shares project context
Fig. 03. How Team Workspace shares project context.
How visibility climbs from developer to boardroom
Fig. 04. How visibility climbs from developer to boardroom.
How AdroitPad Cloud connects two organizations with a scoped grant
Fig. 06. How AdroitPad Cloud connects two organizations with a scoped grant.

Where this starts

Built from the ground up — literally

All four altitudes rest on the same foundation that ships today: a local-first vault and an assistant that runs on Ollama by default, so the first mile — one developer, one project — never has to leave your machine to be useful. Every altitude above it is something you opt into, one deliberate promotion at a time, never something that happens to your data by default. And we sequence it in the order that keeps us honest: the intelligence layer ships in 2.0 with a real cross-agent handover — Claude Code closes, Cursor opens, and the project is still there — before any team feature is allowed to lean on it.

We think the real product was never the code editor, or even the AI agent. It's the intelligence underneath both — reconciled, confidence-scored, and yours to share exactly as far as you choose. Project memory next. Team memory after that. Organizational visibility beyond. And somewhere past the horizon, a web of organizations that finally have accurate, current visibility into the work they depend on each other for, without any of them giving up what makes their own knowledge theirs.

Your agent forgets.Your project shouldn't.

AdroitPad is the persistent intelligence layer under every coding agent and IDE — local today, shared tomorrow, owned by the project rather than any one tool.

LOCAL-FIRST · ENCRYPTED VAULT ON YOUR MACHINE · NOTHING LEAVES UNLESS YOU TURN IT ON