π± Omni β The All-Seeing Eye

The Federation Governance Tricorder β A modular, extensible observation engine that scans, maps, and guards codebases at galactic scale.
"Never trust documentation, trust reality." β ACE
Omni is a Python-powered passive observation platform that discovers the truth about your code. It doesn't modify files or break builds β it sees, maps, and reports. Think of it as a tricorder for your codebase: point it at any directory and it reveals structure, dependencies, health, drift, and compliance in seconds.
β¨ At a Glance
π Quick Start
New Here? Check out the Beginner's Guide: Zero to Hero for a step-by-step setup tutorial.
Install
# Recommended: Install from PyPI
pip install omni-governance
# Or install from source:
# pip install -e .
Your First Scan
# Scan the current directory with all static scanners
omni scan .
# Run a specific scanner
omni scan . --scanner surfaces
# See what Omni knows about itself
omni introspect
Explore the Ecosystem
# Map your entire project constellation
omni map
# Check governance compliance
omni gate .
# Generate a full report
omni report . --format markdown
ποΈ Architecture β The Trinity
Omni follows the Trinity Architecture β three layers with strict separation of concerns:
ββββββββββββββββββββββββββββ
β CLI (cli.py) β β User interface
β 14 verbs, 1 brain β
ββββββββββββββ¬ββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β β β
βββββββββββΌβββββββ βββββββββΌβββββββββ ββββββββΌββββββββ
β π§ CORE β β ποΈ PILLARS β β π LIB β
β Identity β β Cartography β β I/O, Render β
β Registry β β Intel β β Reporting β
β Gate β β Gatekeeper β β Tree, TAP β
β Paths β β Registry β β Requirementsβ
βββββββββββ¬βββββββ βββββββββ¬βββββββββ ββββββββββββββββ
β β
βββββββββββΌββββββββββββββββββΌβββββββββββββββββββββββββββ
β π SCANNERS (55 Instruments) β
β 12 categories β’ Dynamic plugin loading β
β Each scanner: scan(target: Path) β dict β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββΌβββββββ
β π§ BUILDERS β β The only layer that writes
β Registry Gen β
β Report Gen β
ββββββββββββββββββ
Read-Only Guarantee: Scanners never modify source files. Only Builders write, and only to designated artifact directories.
For the full architectural deep-dive, see ARCHITECTURE.md.
π Scanner Categories
Omni's 55 scanners are organized into 12 categories. Each scanner implements the universal scan(target: Path) β dict contract and is auto-discovered via SCANNER_MANIFEST.yaml files.
Open Source Scanners (Included in Build)
Federation-Exclusive Scanners (Not in Open Source Build)
These scanners require the Federation Heart backend and are part of the proprietary governance layer. They appear in
omni introspectwhen the Heart is available but are not distributed with the open-source release.
Each category has its own README with detailed scanner documentation. See the Scanner Architecture Guide for the complete reference.
ποΈ The Four Pillars
Pillars are orchestration subsystems that coordinate multiple scanners and produce higher-level intelligence:
See Pillars Architecture for the deep dive.
β‘ CLI Command Reference
π Federation Mode vs. Standalone
Omni operates in two modes, transparently:
Standalone Mode (Default)
No external dependencies. Configuration from omni.yml and environment variables. All open-source scanners work perfectly. Ideal for individual developers and open-source projects.
Federation Mode (Optional)
When federation_heart is installed, Omni gains:
- CartographyPillar β Canonical path resolution across the entire Federation
- Constitution β Governance rule enforcement from a central authority
- CMP Integration β Project identity resolution against the Canonical Master Project database
- Runtime Health β Live status of Federation services, stations, and tunnels
The integration is handled by a single shim (omni/config/settings.py) that bridges to the Heart when available and falls back gracefully when it's not.
π§ MCP Server
Omni includes a Model Context Protocol (MCP) server that exposes all 55 scanners as AI-callable tools. Any MCP-compatible AI assistant can invoke Omni's scanners programmatically.
Quick Start (npx)
The absolute easiest way to use the MCP Server is via npx (requires Node.js):
npx -y @modelcontextprotocol/inspector mcp-server-omni-governance
Run from Source
# The MCP server auto-discovers all registered scanners
python -m mcp_server.omni_mcp_server
See MCP Server Documentation for setup and configuration.
π Project Structure
omni/
βββ README.md β You are here
βββ ARCHITECTURE.md β Full architectural deep-dive
βββ CONTRIBUTING.md β How to add scanners and contribute
βββ CHANGELOG.md β Version history
βββ ROADMAP.md β Future plans
βββ pyproject.toml β Package definition
βββ omni/
β βββ cli.py β CLI entry point (14 commands)
β βββ core/ β Brain β identity, registry, gate, paths
β βββ config/ β Configuration & Federation Heart bridge
β βββ scanners/ β 55 scanners across 12 categories
β βββ pillars/ β 4 orchestration subsystems
β βββ lib/ β Shared utilities (I/O, rendering, reporting)
β βββ builders/ β Registry and report generators
β βββ scaffold/ β Project templates
β βββ templates/ β Jinja2 report templates
βββ mcp_server/ β MCP server exposing scanners as AI tools
βββ scripts/ β Operational scripts
βββ tests/ β Test suite (pytest)
βββ docs/ β Historical docs and plans
βββ contracts/ β Crown Contracts (C-TOOLS-OMNI-*)
π§ Configuration
Omni follows a strict configuration hierarchy (highest priority wins):
- CLI flags (e.g.,
--scanner surfaces) - Environment variables (e.g.,
OMNI_ROOT) omni.yml(project-level configuration)- Built-in defaults (sensible fallbacks)
Key environment variables:
See Configuration Guide for full details.
π§ͺ Testing
# Run all tests
pytest tests/ -v
# With coverage
pytest tests/ --cov=omni --cov-report=html
See Test Suite Documentation for fixtures, standards, and CI setup.
π€ Contributing
We welcome new scanners, pillars, and improvements. The scanner plugin system makes it straightforward to add new observation capabilities:
- Create a scanner file with a
scan(target: Path) β dictfunction - Register it in the category's
SCANNER_MANIFEST.yaml - Add tests and documentation
See CONTRIBUTING.md for the full guide.
π Requirements
- Python: 3.8+
- Dependencies:
pyyaml,pydantic(core);federation_heart(optional, for Federation mode) - OS: Windows, macOS, Linux
π License
Open source. See LICENSE for details.