Quox Qortex
A self-feeding second brain: connect sources and Quox Qortex indexes them into one governed knowledge graph. Every agent can search and cite it.
Overview
Quox Qortex is a self-feeding second brain: connect sources (dev sessions, notes, vaults, team conversations) and Qortex indexes them automatically into one governed knowledge graph. Every agent in your organisation can search and cite it.
The engine behind Qortex is core to QuoxCORE. Qortex is the governed front door to that engine: a plugin that turns it into something a person can enable, connect sources to, and watch grow, rather than a service configured by editing files on a server.
Qortex is agent-facing and human-facing at once. Agents search it with a tool, and on instances that switch on automatic context it is pulled into the conversation for them; either way they cite the notes they used. Humans set it up, connect sources, and govern what it can see.
How it works
Qortex unions everything visible to you into a single brain, not a set of separate vaults you switch between. Each note you connect lands in one of three scopes:
- Org: shared across your whole organisation.
- User: private to you.
- Shared: visible across the whole instance, every organisation on it; only an instance administrator can create a shared vault. Use org scope for team knowledge.
Every note is indexed into notes, chunks, and links. Notes that reference each other (wikilinks, markdown links, embeds) become edges in a knowledge graph, so the brain is not just a pile of documents, it is a map of how your knowledge connects.
Retrieval combines full-text search with dense vector search where available, so a query can find a note even when it does not share exact wording with what you typed. This hybrid retrieval, which blends the two result sets with reciprocal rank fusion, sits behind the QUOXBRAIN_HYBRID_ENABLED flag; with the flag off, results fall back to full-text search only, which is always safe.
Connecting sources
Most sources are things you connect rather than paths you type; the folder source takes a server path, read only inside an admin-set allow-list of roots per organisation; with no allow-list configured, host folder sources are disabled. Qortex ships with a catalog of source types, grouped by what they give you:
- Conversations: your AEE conversation history, ingested automatically.
- Dev sessions: Claude Code transcripts and terminal sessions, config-driven per machine.
- Folders / vaults: point Qortex at a folder of notes (Markdown, Obsidian-style vaults) and it indexes them on a schedule, watermarked so re-runs only pick up what changed.
- Fleet logs: QuoxAgent per-host logs from machines you manage (experimental; host-log reads must succeed, and a failing fleet now reports as a failure, not as an empty success).
- Team conversations: agent and human conversations across your organisation's rooms.
- Notion / Google Drive: connect a workspace or account through an OAuth handshake rather than typing a path or token. Both sources sit behind the
QUOXFEED_OAUTH_SOURCES_ENABLEDflag and ship dark by default, so an operator must switch them on before either connector appears live in the catalog.
The scheduler that runs all of these sources on autopilot, syncing on an interval rather than requiring a manual re-connect each time, is itself gated by QUOXFEED_ENABLED. Like the OAuth connectors, it ships dark: an operator opts in before Qortex pulls anything on a schedule.
Not every source suits every user. The cockpit shows the full catalog with what each source gives you and its sensitivity, and lets you connect only what fits your role. Every source stays off until an organisation admin turns it on; a source with no saved setting does not run.
Each connected source keeps its own last-sync time, note count, and health status, so you can see at a glance whether it is actually feeding the brain or stalled.
The knowledge graph
Every note you connect becomes a node in a graph you can explore directly: a 2D or 3D force-directed view, coloured by scope or by source, with links drawn between notes that reference each other. Hovering a node highlights its neighbours; the search box finds a note by content and jumps straight to it in the graph.
The graph is deliberately not a single global namespace shared across every customer. It is scoped: what you see is the union of your organisation's notes, your own private notes, and anything explicitly shared with you, and nothing else.
Search and cite
Two paths reach into the brain:
quoxbrain_search: a tool every agent can call directly, mid-conversation, to pull relevant notes on demand.- Automatic context: an implant that pulls relevant notes into an agent's context automatically, so it does not need to ask.
Both are org-scoped: an agent only ever sees notes visible to the organisation it is running in, never another customer's data. When an agent uses something it found in the brain, it cites the source note, so you can trace an answer back to where it came from.
The automatic-context implant is a separate opt-in behind QUOXBRAIN_IMPLANT_ENABLED, a global switch that defaults off. Even once enabled, it is further org-gatable via QUOXBRAIN_IMPLANT_ORGS, a per-organisation allowlist, so you can roll the implant out to specific organisations rather than turning it on for every customer at once.
Working from a session
Qortex, the recall agent, and the quox brain CLI share the same verbs, so a terminal session can use the brain the way an agent does:
quox brain check "<claim>"(Qortex:brain_check): says whether the brain supports, contradicts or has nothing on a claim, and names the notes. Check a past decision before you state it as settled.quox brain decide "<what>" --why "<reason>": records a decision with the reasons, rejected alternatives and where it was made (repository, commit), after checking it is not already recorded.quox brain distill <file.jsonl>: saves a batch of learnings; re-running skips what is already saved, and--undo <batch>removes the batch.quox brain context "<topic>"(brain_context): a token-budgeted pack of cited passages on a topic, the same pack agents receive.quox brain related | history | restore | neighbours <note>: similar notes, a note's revision history and rollback, and the notes it links to and from. Related, history and restore work on notes people write or Qortex saves, not on notes imported from sources.quox brain search "<q>" --since <date> --until <date>: limit a search by when a note was written.quox brain judgeandquox brain eval: mark a result as relevant, irrelevant or "should have found nothing", then score search against everything you have marked, so retrieval quality is measured on your own questions.
Attaching Qortex to a session writes a short primer of relevant notes for the repository you are in, and a handoff left on detach is saved to the brain as a private note. These verbs are Beta.
Governance and witnessing
Qortex inherits the same governance model as the rest of Quox. Sources are scoped (org, user, or shared) and provenanced: every note in the graph knows where it came from. Nothing is ingested from a blanket "index everything" switch.
Qortex records where every note came from and when it arrived. It does not yet carry WARD receipts for ingested evidence: tying ingested evidence back to the hash-chained trust anchor that signs the rest of the platform's evidence is planned, not shipped. Encrypted evidence payloads are never ingested as text.
The Qortex engine (search, capture, agent tools, CLI) is free in Core; the Qortex cockpit (graph explorer, source manager, settings) is a $29 one-time licence. Only agents and users in your organisation can search or view your brain, and members can write organisation notes through NotesQ and capture, while vault administration stays admin-only.
Maturity
Not every capability on this page is at the same stage, and we would rather you know which is which:
- Stable: markdown ingest (push and filesystem vaults, with change detection and dedup), hybrid semantic plus keyword retrieval (on by default, one hit per note, an
insufficientanswer when nothing relevant exists, though abstention is measured below), inline citation handles, the knowledge graph API, org scoping (shared vaults need instance authority), thequoxbrain_searchagent tool, usage and grounding telemetry (quox brain usage), scheduled agent-memory, docs, git and QuoxPlan sources. - Beta: the automatic-context implant, the cockpit UI, Ask Qortex suggestions (
quox brain suggest), capture (quox brain add, thebrain_saveagent tool, URL and PDF clipping), thequoxbrain_readagent tool, the daily brief (quox brain brief), the qdrant vector index (with a brute-force fallback), the folder source, belief consolidation (QuoxDream, opt-in per org; contradictions supersede older beliefs; failed extractions are retried, never silently skipped), the privacy panel listing what leaves the instance, portable export (quox brain export, JSONL or markdown with front matter, same visibility as search), note read, update with a conflict check, delete, and full erasure (?purge=trueremoves every revision, chunk and vector), the first-run connect, capture, ask card with server-side capture drafts and a first-sync step that shows each connected source syncing or failing, a Running configuration panel in Settings showing the value each Qortex setting actually has and where it came from, and deletion that reaches derived beliefs and removed transcript files. - Experimental: the fleet-logs source.
- Not yet live: the Notion and Google Drive OAuth connectors ship dark by default and have not yet been through a witnessed production sync; the identity-blob catalog entry is planned, not wired. WARD receipts on ingested evidence are planned.
Retrieval quality, measured honestly. On questions that reuse a note's own wording, recall@5 is 0.90. On paraphrased questions written blind and never used for tuning, the right note is in the top five 76% of the time on the latest set (11 October 2026), against 48% for plain vector search on the same questions, and 27% on a harder untuned set. Qortex declines a question when it names something (a product, a codename) that none of the top results mention, and an optional AI reranker (per-organisation opt-in, a small OpenAI model, about one second, passage text is sent and disclosed in the privacy panel) declines the rest of what it judges unanswered. On that blind set the brain declined 53% of off-topic questions and wrongly declined none of the answerable ones. Through Qortex, on all five independent sets, it declined 70% of questions whose answer is not in the brain and wrongly hedged on 5% of answerable ones; that decline rate was 79% on 9 October and the cause of the drop is still being investigated. Every set and result ships in the repo (services/quoxbrain/eval/). Every Qortex answer shows which sources it cites, and each cited passage is checked against the sentence: by a model check when the AI assist is on, otherwise by a word-level check that catches dropped conditions, flipped negations, opposite words (succeeded against failed) and changed numbers. Settings reports answers citing a note and, separately, how many citations were supported when checked. Treat paraphrase retrieval and abstention as Experimental.
PDF text is captured through quox brain add --url and the capture API (50 pages, 5MB cap); other binary formats are not ingested yet. CJK search falls back to substring matching.
Getting started
Activating Qortex adds a settings section where you connect your first sources and watch the brain grow. An empty brain shows a three-step card (connect a source, capture a note, ask a question) whose progress comes from the server, so it is the same on every device. A live counter tracks how many notes are indexed, so you can see the brain building as you go rather than wondering whether anything happened.
The suggested first source is usually the one closest to home: your own conversations and dev sessions. From there, connect a folder of notes or your team's shared knowledge as it becomes useful. You do not need to connect everything to get value. A small, well-scoped brain that agents can search and cite reliably is more useful than an empty one waiting to be filled.