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 typeMatrix operation
Project searchColumn slice — read only pages in that column
Concept searchRow slice — read one page across all columns
Cross-projectJoin — intersect rows and columns, find patterns
OperationalBypass — skip the matrix entirely

How search actually works

Every query goes through the blind review pattern in three phases:

Phase 1

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.

Phase 2

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.

Phase 3

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

SituationBehavior
Question about topics, projects, or conceptsSearches the KB using the appropriate axis
Operational request (generate a doc, convert a file)Skips the KB entirely
Uncertain relevanceChecks 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

Axis 1

Project Search

Vertical

Filter by tag. Read only pages from that project. Isolated answer, zero contamination.

“What is BP59 in project alpha?”

Axis 2

Concept Search

Cross-cutting

Read 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

Axis 3

Cross-Project Search

Intersection

Cross-reference tags and concepts. Show shared patterns and differences across projects.

“Which projects use RAG? What do they have in common?”