# Search & verification How a seeker's query finds a line and how a quoted line is proven: the waterfall's modes and tiers, the Roman fold, the verification engine, and the harnesses and golden vectors that keep them honest. - Page: - Updated: 2026-09-27 - Verified against: `7a343c6` on 2026-09-25 - From the Sri Guru Granth Sahib Ji — Knowledge Base wiki. Sri Guru Granth Sahib Ji is quoted verbatim, cited by Ang, and never altered. --- Two engines, one rule: **the text is never guessed**. Search returns verbatim lines with their Ang or nothing; verification returns a verdict with the canonical line or `NOT_FOUND`. Both fold Roman input with the same function the database was built with, and both are pinned by golden vectors that every deploy and the iOS app replay. - [Search waterfall](https://docs.gurbanisoul.com/architecture/search-waterfall/) — The cascade as `do_search` codes it (Poster 05 · a simulator over the real API) - [Modes and tiers](https://docs.gurbanisoul.com/search/modes-and-tiers/) — Each `mode` you can ask for, each tier's entry condition, what it queries, what it reports (The same simulator, focused on modes) - [The Roman fold](https://docs.gurbanisoul.com/search/the-roman-fold/) — The five steps of `roman_norm` and why it lives in three repositories (Poster 06 · the function read from the source) - [Verification engine](https://docs.gurbanisoul.com/search/verification-engine/) — The verdict ladder, the thresholds, the Ang modifier (Poster 07 · a playground over `/api/verify`) - [Harnesses and golden vectors](https://docs.gurbanisoul.com/search/harnesses-and-golden-vectors/) — What roundtrip, casual-quote and chaos measure; what `make contract` pins (The contract files and their counts · today's numbers) - [Variants and the seeker lexicon](https://docs.gurbanisoul.com/search/variants-and-lexicon/) — How Roman spellings reach the right word: the variant index built in sggs-data and the hand-kept lexicon (How each is built, used and changed) - [Debugging a search result](https://docs.gurbanisoul.com/search/debugging-a-search-result/) — A playbook: reproduce, read the tier, find the cause, fix it in the right place, prove it (The debugging loop) Search is the `search` bounded context (`/api/search`, `/api/word`); verification is the `verify` context (`/api/verify`). Both are read-only over the immutable database — see the [API routes](https://docs.gurbanisoul.com/api/routes/).