Search
The knowledge base can be modeled as a sparse matrix where rows are pages (sources, entities, concepts) and columns are project tags. A cell is filled when a page belongs to a project. Every query triggers a classification step that determines how to slice this matrix.
Query classification

| Query type | Matrix operation |
|---|---|
| Project search | Column slice — read only pages in that column |
| Concept search | Row slice — read one page across all columns |
| Cross-project | Join — intersect rows and columns, find patterns |
| Operational | Bypass — skip the matrix entirely |
How search actually works
Every query goes through the blind review pattern in three phases:
Alias analysis (blind)
The agent reads the user's question and generates synonyms, related terms, acronyms, alternate spellings — 10 to 30 terms — through pure reasoning. No tools, no file reads. This ensures the search casts a wide net based on the agent's own understanding.
Mechanical search
All terms are piped into wiki_search.py, which scans every wiki page for matches. The tool returns a ranked list — pages sorted by how many distinct terms matched, with title, description, tags, and wikilinks for each result. For project searches, a --tag filter limits results to one domain.
Read and synthesize
The agent reviews the search results, reads every page that matched strongly or whose description is clearly relevant, and only then produces the answer — with inline [[wikilink]] citations and a clear separation between KB knowledge and general knowledge.
The agent thinks first, the tool searches exhaustively, and no page is missed because of a vocabulary mismatch.
try it
“What does the wiki say about data governance?”
Search behavior
When to search

| Situation | Behavior |
|---|---|
| Question about topics, projects, or concepts | Searches the KB using the appropriate axis |
| Operational request (generate a doc, convert a file) | Skips the KB entirely |
| Uncertain relevance | Checks the index quickly; moves on if nothing matches |
The agent classifies intent before any retrieval. If the query is operational (no KB context needed), it skips the knowledge base entirely. If uncertain, it checks the index — if nothing matches, it moves on without forcing wiki content into the answer.
The three axes
Project Search
VerticalFilter by tag. Read only pages from that project. Isolated answer, zero contamination.
“What is BP59 in project alpha?”
Concept Search
Cross-cuttingRead the concept page that aggregates knowledge from all projects. Answer organized by project, never blended.
“What is a PoC?” — shows how each project uses it
Cross-Project Search
IntersectionCross-reference tags and concepts. Show shared patterns and differences across projects.
“Which projects use RAG? What do they have in common?”