supragnosis

supra (above) + gnosis (knowing)

Memory for AI agents that remembers who said it.

A local knowledge server for Claude Code, Cursor, Codex and any MCP client. Your agents write as they work; you decide what becomes canon.

brew install --cask ashon/tap/supragnosis && open -a Supragnosis

The app's Setup opens: it keeps supragnosis running, offers to connect each AI app it finds and downloads the search model. With the script, run supragnosis setup. All steps ->

How it works

Follow one fact from a note to an answer.

Most agent memory cannot answer three questions about what it holds. Here is how supragnosis answers each one.

  • Who said this? step 1
  • Has anyone checked it? step 3
  • Does my other machine know? step 5

1 / 5 write

Agents write as they work.

While they code, debug and decide, your agents call observe with a note and whatever structure they have. Each entry keeps which machine wrote it, for whom, from what source and how sure. Entries are never edited, only superseded.

entry 1 append-only

hostlaptop foryou sourcedocs/payments.md confidence0.9

Answers: who said this?

2 / 5 structure

The log becomes a graph.

A deterministic projector turns entries into entities and relations, and what is said together gathers into a region. Delete the graph, replay the log, and the same graph comes back on any machine.

log6 entries graph18 entities, 18 relations regionwebhooks + idempotency replaysame log, same graph

3 / 5 govern

Disagreements wait for you.

When agents disagree, the conflict is flagged, never quietly settled. Changes to what counts as true, like merging two names for one thing or confirming a claim, arrive as proposals you accept or reject on the Review page. Your verdict goes into the log like any entry.

Needs you 3

Merge pg into postgresAccept Confirm a claim: webhooks need an idempotency keyAccept Contested: the type of retry-policywaiting

Answers: has anyone checked it?

4 / 5 recall

Any agent can ask, and gets receipts.

Weeks later a different agent searches. Hits come back ranked, and each points to the entries behind it: which machine wrote them, for whom, when, and how far they are trusted.

search_knowledge "webhook idempotency" hybrid

hitidempotency said bylaptop, for you entries3 and 4 trusthuman confirmed

5 / 5 travel

Your other machines get the same memory.

The log syncs through a hub to the machines you choose, one workspace at a time, and is never flattened into merged state. Each machine checks every signature and replays the same graph, your verdicts included. An entry that only claims a person checked it counts for no more than its signature proves.

laptophuman confirmed, your verdict desktophuman confirmed, the same verdict a bare claimhost signed at most sharedonly the workspaces you allow

Answers: does my other machine know?

a made-up project, three agents and you

See it in the viewer.

The marks above are the viewer's own. The desktop app draws your graph as agents write it: a gold ring is something a person confirmed, a coral badge a value agents disagree on, and Review counts what waits for you.

The live ontology viewer: a force graph of entities and relations,
                  gold rings on the nodes a person has confirmed and a mark on one
                  whose type is contested; node and edge types and the trust legend
                  on the left, the Log of observations on the right, and a status
                  bar counting two items to review and one contested node.
A made-up workspace in the desktop app. The viewer is served on an owner-only socket, never a network port.

Works with the tools you already use.

Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI and OpenCode connect with one command and no token to copy, or with Connect in the app's Settings.

supragnosis connect claude-code
# or claude-desktop, cursor, vscode, codex, gemini, opencode

Every search hit points back to the entry it came from, at supragnosis://observation/{id}.

observe
write a note, with the entities and relations it names
search_knowledge
keyword and semantic search, ranked and labeled by mode
get_entity
one entity with its relations and where each came from
traverse
walk the relations a few hops out
workspace_map
what is said together across a workspace
and eight more
types, the proposal gate and sync: 13 tools, deliberately few

Small binary, careful semantics.

One process, one directory.
An embedded store under ~/.supragnosis. No database to run.
A log that never forgets.
Corrections supersede an entry; nothing is edited in place. P3
No model decides.
Models draft and widen search. What commits is deterministic. P19
Search in any language, locally.
A multilingual model, fetched once. No cloud calls.
Absence is not falsehood.
A miss says "not found", never "no". P5
Private by default.
Nothing syncs until you allow a workspace. P17

These come from twenty-four principles, each split into clauses that name what holds them, or say they are owed.

Where it honestly stands.

Shipped

  • Keyword and semantic search
  • Conflicts flagged, not hidden
  • Proposals and the Review page
  • Signed sync through a hub
  • Remote servers with per-workspace grants
  • MCP prompts: brief, curate and two more
  • The desktop app, Homebrew and an install script

Next

  • Questions about time: "true until last month"
  • Verdicts signed by people, and from teammates
  • Tracing and recalling a bad source
  • Forgetting and consolidation

Not for you yet if

  • you need Windows or an Intel Mac
  • several people cast verdicts on one hub

The roadmap keeps a record of what shipped and what is deferred, in architecture.md sections 12 and 14, and every principle, clause by clause, says which of its demands a test holds.

Questions

Does anything leave my machine?
Only what you share. Sync is off until you add a server, and then it carries only the workspaces you allow.
Do I need an API key or a model?
No. Search uses a local embedding model fetched once (224 MB); until then, keyword search works and says so.
What if I stop using it?
Your knowledge is a directory, and its log replays into the same graph on any node.
How is this different from a notes file?
A notes file keeps what someone wrote. This keeps which machine and person said each thing and whether a person checked it, and shares it with every agent and machine you use.

Up and running in a few minutes.

  1. Install

    # the desktop app, signed and notarized, with the server
    brew install --cask ashon/tap/supragnosis && open -a Supragnosis
    
    # or the server alone, running at every login
    brew install ashon/tap/supragnosis-server
    supragnosis service install
  2. Set up

    The app's Setup keeps the server running at login, offers to connect each AI app it finds and downloads the search model in the background. On Linux or a server, supragnosis setup does the same.

  3. Try it

    Ask your agent to remember one decision and why. Setup says when it is in, and the Graph shows it.

The daemon serves MCP on 127.0.0.1:7373 and the viewer on a unix socket. The embedding model (224 MB) is fetched once by Setup, service install or supragnosis embed fetch; until then search is keyword only, and supragnosis status says so.