The fleet's local documentation index

Ask the documentation anything.

Every agent and engineer used to rediscover the same answers by grepping repositories and reading files. Cortex reads the markdown once, keeps it fresh as commits land, and answers in seconds with citations to the file and section. It runs on one machine and is internal to Renkara; it is not offered for sale.

Cortex's Ask page: a question about how Engram Fabric decides how often to record, the twelve retrieved chunks with their scores, and a cited answer in two sections with citation chips.Cortex's Ask page: a question about how Engram Fabric decides how often to record, the twelve retrieved chunks with their scores, and a cited answer in two sections with citation chips.
Ask: the question, what was retrieved, and an answer that cites file and section.

Internal to Renkara. Cortex is a tool Renkara Media Group builds and runs for itself. It is not offered for sale, and there is nothing to buy or join. This site shows what it does and how it is built.

Features

One index over everything the team has written down.

Cortex finds every git repository under the folders it watches, embeds the markdown, and keeps the index current by following commits. A small web app and seven MCP tools search it and answer questions over it. These are the things it does today.

Indexing

Follows the commits, re-reads only what changed

01

Finds every repository

Cortex walks its scan roots and treats each git repository as a unit. It indexes the markdown in it (.md, .markdown, and .mdx). Loose markdown outside any repository is picked up by a throttled folder scan.

02

Only what changed

Every 30 seconds Cortex checks each repository's HEAD. An unchanged repository is skipped. A changed one costs one git diff: added and modified files are re-embedded, and deleted or renamed files lose their old chunks.

03

Chunks that follow the headings

Documents split by heading first, then to about 500 tokens with 50 tokens of overlap. Code fences are never cut in half and tiny pieces merge into their neighbor. Every chunk keeps its heading trail, such as Storage and compression > Upload rules.

04

Mistakes stay small

A file that fails is logged and skipped. A repository that fails is retried on the next tick. A bad document never takes the web app down.

05

A live window on the indexer

The Status page shows each repository's files, chunks, last commit, and last tick, and streams indexer events over a WebSocket while a reindex runs.

Search and answers

Find by meaning, answer with sources

06

Search by meaning

Chunks are embedded with Voyage's voyage-context-4 (1,024 dimensions) and searched by cosine similarity in Milvus. Filter to one repository, or to a path pattern through the MCP tool.

07

Ask, with citations

Ask retrieves twelve chunks and has Claude Sonnet answer from them alone. Every claim carries a [repo:path#section] citation. Fast mode uses Claude Haiku with six chunks and at most three sentences.

08

Says so when it does not know

The answer prompt tells the model to reply Not in the index. when the retrieved text does not contain the answer, and never to invent a path, an API, or a version.

09

Shows its work

The Ask page lists the retrieved chunks with their scores before the answer, then the citations it used and the model, mode, and token counts.

10

Reference libraries

Beside the repository index, Cortex serves reference search over official cloud-vendor documentation: dense and keyword candidates fused, then reranked, with passages that carry their source URL and retrieval date.

Privacy and scope

Local by design, with a clear line around what leaves the machine

11

Local only, one user

The backend binds to 127.0.0.1 and has no authentication layer, by design. It serves one person on one machine, and nothing on the network can reach it.

12

Sensitive material kept out

Repositories on a built-in exclusion list, or named in an environment variable, are never discovered. Files whose paths contain sensitive words are skipped. Every tick sweeps the index and deletes any chunk that matches.

13

What does leave the machine

Chunk text goes to Voyage to be embedded. A question and its retrieved chunks go to Anthropic to be answered. The service's logs go to Chronicle. The index itself stays in the local Milvus.

Screens

See it in light and dark

Real captures of the running tool, with fictional StrataForge Robotics data. They follow your theme.

How it works

From a commit to a cited answer

  1. Watch

    Every 30 seconds Cortex compares each repository's HEAD with the last one it indexed.

  2. Index

    Changed markdown is chunked by heading, embedded, and written to the local Milvus collection. Removed files lose their chunks.

  3. Retrieve

    A question is embedded and the closest chunks come back, optionally limited to one repository.

  4. Answer

    Claude answers from those chunks only, cites file and section, or says the answer is not in the index.

Accessibility

Built so everyone can use Cortex.

Cortex's web app is small (three screens), and on 10/29/2026 it was scanned with axe-core in a real browser in light and dark. That scan found real problems, which were fixed the same day. Here is what the product supports and what we have actually checked. We do not claim a WCAG conformance level for the product.

  • Keyboard operation Partly supported

    The first Tab stop is a skip link that becomes visible when focused. Tab then reaches all 11 controls on the Status page in order (three nav tabs, the theme toggle, Force Reindex All, and five Reindex buttons), each with a visible focus indicator, before wrapping back to the skip link, and Search runs from the keyboard with Enter. Ask submits with Ctrl or Command and Enter.

  • Screen reader landmarks and labels Partly supported

    axe-core finds no violations in the app, including names, labels, table headers, landmarks, one h1, and heading order. The app has not been used with a screen reader, and streaming answers are not announced as they arrive.

  • Contrast in light and dark Supported

    Text, buttons, badges, and the wordmark clear 4.5:1 in both themes. A scan on 10/29/2026 found white text on the accent at 4.3:1 in light and 3.0:1 in dark, a green badge at 3.0:1, accent-colored scores at 3.7:1, and status text that faded below 4.5:1 while pulsing; all were fixed.

  • Reduced motion Supported

    With the reduced-motion setting on, animations and transitions in the app collapse to about a hundredth of a millisecond, and the one animated element, a pulsing dot on the events list, animates a dot rather than the text.

  • Text resize and zoom Partly supported

    The layout reflows without sideways scrolling at 640 and 320 pixels wide, which is a 1280-pixel window zoomed to 200 and 400 percent. Text sizes are set in pixels, so a larger default font size chosen in the browser settings does not enlarge them; browser zoom does.

  • Mobile and touch Partly supported

    Status, Search, and Ask fit a 375-pixel phone screen with no sideways page scroll, in both themes. Their controls are 32 to 37 pixels tall, under the 44 pixels the rest of the fleet aims for.

Tech specs

Under the hood

Cortex technical specification
Backend
  • FastAPI on Python 3.12, bound to 127.0.0.1 (port 3445), no authentication layer
  • An asyncio indexer that polls every 30 seconds; per-file and per-repository fault isolation
  • State kept in a local file (repository, last commit, counts); git diffs drive incremental updates
  • Service logs ship to Chronicle
Index and models
  • Milvus 2.4 standalone: collection cortex_docs, HNSW (M=16, efConstruction=200), cosine, 1,024-dimension vectors
  • Voyage voyage-context-4 embeddings; BGE-M3 runs locally when selected by setting
  • Chunking: 500-token target, 50-token overlap, 100-token merge floor; headings first, code fences kept whole
  • Answers: Claude Sonnet 5.5 (twelve chunks) or Claude Haiku 4.5 in Fast mode (six chunks, three sentences); the system prompt is cached
  • Reference search: dense plus keyword retrieval, rank fusion, and a reranker, with cited passages
Web app
  • React 19, TypeScript (strict), and Vite; three screens: Status, Search, and Ask
  • Streaming answers; light and dark themes; keyboard shortcut Ctrl or Command with Enter to ask
  • Scanned with axe-core on every captured state (1920 pixels) and on each screen at 375 and 1440 pixels, in light and dark
MCP server
  • A Python stdio server with seven tools, all read-only
  • A thin client of the local backend, relayed to agent sessions by Roost
Privacy
  • Binds to localhost; one user, one machine
  • Sensitive repositories and paths are excluded at discovery, at listing, and by a sweep on every tick
  • Text leaves the machine only for embedding (Voyage), answering (Anthropic), and logs (Chronicle)
Replaces

What it stands in for

  • Grepping every repository for the same answer
  • Asking a teammate where the doc is
Works with

Part of the Renkara fleet

MCP tools

Built for agents as well as people

Agents search, ask, browse, and check the index through Cortex's MCP tools. They are read-only: nothing an agent calls can change the index or a repository.

Search and ask

  • search
  • ask
  • search_reference

Browse the index

  • list_repos
  • list_files
  • get_file

Health

  • stats
FAQ

Questions people ask

Is Cortex available to other teams?

No. Cortex is internal to Renkara and is not offered for sale. This site shows what it does and how it is built. Write to contact@renkara.com with questions.

Does it index source code?

No. Cortex indexes markdown documents only: the files ending in .md, .markdown, or .mdx in each git repository.

Where does my text go when I ask a question?

The question is embedded by Voyage, and the question with the retrieved chunks is sent to Anthropic, which writes the answer. The index and its vectors stay in a local Milvus. Cortex's service logs go to Chronicle.

Can the answer be wrong?

Yes. The model is told to answer only from the retrieved text and to cite it, and to say Not in the index. otherwise, but it is still a language model. Read the citations.

Is the data in the screenshots real?

No. Every screenshot is a capture of the running app against a small fictional documentation set for StrataForge Robotics, a made-up company, indexed into a throwaway collection.

Contact

Questions about this tool?

Write to Renkara Media Group and a person will answer.