# govoplan-search Codex Guide ## Documentation Contract - Treat documentation as part of every behavior change. Update this module's manifest-driven `DocumentationTopic` contributions for affected user and administrator behavior. - Keep feature content here; `govoplan-docs` projects it without importing Search internals. - Maintain a static user/admin baseline and run `/mnt/DATA/git/govoplan/tools/checks/check-manifest-shapes.py` after behavior or manifest changes. ## Scope This module owns global and contextual search aggregation, the built-in PostgreSQL/SQLite index, indexing lifecycle, search diagnostics, and the search WebUI. Source modules own object authorization and the content they announce. Optional backends such as OpenSearch belong behind provider contracts. ## Rules - Never return a result before tenant and current-principal ACL filtering. - Do not import optional source modules. - Keep external search engines optional. - Never index credentials, secrets, or unrestricted raw payloads.