Arca
Context Engine for
Modern Product Teams
Arca reconstructs the context scattered across Slack, code, wikis, and incidents into cited answers that engineers, automations, and agents can trust.
Why does restore stall after manifest load?
Set CKPT_PREFETCH=4 for the NFS mount — large restores stop before cache warmup, matching the incident pattern in INC-82.
Meeting data where it lives
The single source of truth rarely works in practice.
Information is generated wherever it's convenient: suggested edits in a doc, threads in Slack, code references in GitHub, status in Jira. Each platform is tailor-made for its domain. So instead of forcing everything into one rigid system, Arca extracts from each source directly — with minimal change to how your teams already work.
Slack
Threads distilled into searchable Q&A, live over Socket Mode.
Code repos
Language-aware chunking across 40 GB+ repositories.
Wiki / Confluence
Sections embedded with neighbors kept for context.
Incidents & Jira
Status and resolutions, ranked by recency.
Netlists & PRM docs
Domain artifacts, queryable like everything else.
Custom databases
A small Python plugin emits rows into the shared table.
Projects bundle the channels, repos, databases, and doc spaces relevant to a team — the same source can belong to several — so new hires pick a default project at onboarding and get high-signal answers without learning which channels matter.
The technical implementation
One embeddings table. Six retrievers. Cited answers.
Arca continually ingests data from across your company into a single query-ready datastore, then fuses several retrieval techniques — each covering the weaknesses of the others — before synthesizing an answer.
Sources
Slack threads, code chunks, wiki sections, incidents, and custom database rows all land in one table — document, embedding, metadata, source, timestamps. Each connector defines what the data is, how to reach it, and how often to fetch. Adding a source is a pull request.
Distillation
Raw text is keyword-searchable the moment it lands via a Postgres full-text index. For vector search, an LLM distills each thread into a normalized document — the question being asked, a summary, the resolution, and the systems and code references mentioned — and that is what gets embedded, not the raw transcript.
Embeddings
One embeddings table in Postgres. Anything that lands in it — from a Slack thread to a netlist — is immediately queryable through the same interface, with no per-source search stack to maintain.
Retrieval
Full-text catches exact tokens and pasted errors, embeddings catch paraphrase across vocabularies, IDF separates rare signal from filler, and age decay favors fresher answers. No single scorer is trusted on its own — each produces its own ranked list at query time.
Fusion + rerank
Reciprocal rank fusion merges the incompatible lists — score(d) = Σ 1 / (60 + rank) — then duplicates are merged and per-file contributions capped. A diverse top twenty goes to a small reranker, the top ten survive, and winners are expanded with their neighboring context.
Synthesis
A planner picks the retrieval tools, an executor runs them, and a synthesizer writes the answer strictly from the evidence rows it was handed — every claim carrying a citation back to the thread, file, or ticket it came from.
Humans, automations, and agents
One retrieval layer. Every consumer.
Ask a question, get a cited answer. Planner → executor → synthesizer runs end to end.
Retrieval primitives exposed as direct, LLM-free tools. Claude Code owns the orchestration.
The same query surface for bots and pipelines — narrow, structured, stable inputs and outputs.
Get started
Give every team a single place to ask.
See how Arca connects to your stack and starts returning cited answers — usually within the first week.
Get a demo