Skip to main content
Glama
Pantheon-LadderWorks

io.github.Pantheon-LadderWorks/omni-scanner

πŸ”± Omni β€” The All-Seeing Eye

Omni Header

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

Dimension

Reading

πŸ” Scanner Categories

12 (from static analysis to git archaeology)

πŸ“¦ Total Scanners

55 instruments across all categories

⚑ CLI Commands

14 verbs for every observation need

🧠 MCP Server

Exposes all scanners as AI-callable tools

πŸ›οΈ Pillars

4 orchestration subsystems (Cartography, Intel, Gatekeeper, Registry)

πŸ”Œ Federation Mode

Optional deep integration with a governance backend

🦴 Standalone Mode

Works anywhere β€” no backend required


Related MCP server: Gumi-MCP

πŸš€ 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)

Category

Scanners

Purpose

πŸ“ static

9

Filesystem analysis β€” contracts, deps, docs, events, hooks, imports, surfaces, tools, UUIDs

πŸ—οΈ architecture

4

Structural enforcement β€” import boundaries, coupling detection, drift analysis, compliance

πŸ”Ž discovery

8

Component cataloging β€” projects, CLI commands, cores, MCP servers, archives, census

🌐 polyglot

4

Language ecosystems β€” Python packages, Node.js, Rust crates, generic (Go/Java/.NET/Docker)

πŸ“š library

6

Document intelligence β€” cohesion analysis, content depth, knowledge graphs, rituals

πŸ”€ git

5

Repository intelligence β€” status, velocity, commit history, PR telemetry, utilities

πŸ” search

3

Pattern matching β€” file search, text search, regex pattern search with context

πŸ—„οΈ db

1

Generic configuration-driven database scanning

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 introspect when the Heart is available but are not distributed with the open-source release.

Category

Scanners

Purpose

πŸ›‘οΈ health

6

Runtime health β€” Federation, CMP, pillar, station, tunnel, and system status

πŸ—ƒοΈ database

5

CMP entity scanning β€” agents, artifacts, conversations, entities, projects

βš“ fleet

1

Fleet registry generation and validation

πŸ”₯ phoenix

3

Git history resurrection β€” archive scanning, orphan detection, temporal gap analysis

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:

Pillar

Role

Key Capability

πŸ—ΊοΈ Cartography

Ecosystem Mapper

Maps project constellations and dependency webs

πŸ•΅οΈ Intel

Intelligence Gatherer

Aggregates multi-scanner data into actionable insights

βš–οΈ Gatekeeper

Policy Enforcer

Validates compliance, catches drift, flags violations

πŸ“‹ Registry

Registry Operator

Parses, validates, and manages PROJECT_REGISTRY_V1.yaml

See Pillars Architecture for the deep dive.


⚑ CLI Command Reference

Command

Purpose

omni scan

Run scanners against a target directory

omni inspect

Deep inspection of a single project

omni gate

Policy enforcement and compliance checks

omni map

Ecosystem cartography and dependency mapping

omni tree

Directory tree visualization

omni audit

Provenance, dependency, and lock auditing

omni registry

Registry operations and event scanning

omni library

Grand Librarian document intelligence

omni canon

Canon validation and discovery

omni report

Generate structured reports

omni init

Scaffold new Federation-compliant projects

omni introspect

Self-inspection β€” shows all scanners, drift, capabilities

omni interpret

Interpret and explain scan results

omni inspect-tree

Combined tree + inspection


πŸ”Œ 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):

  1. CLI flags (e.g., --scanner surfaces)

  2. Environment variables (e.g., OMNI_ROOT)

  3. omni.yml (project-level configuration)

  4. Built-in defaults (sensible fallbacks)

Key environment variables:

Variable

Purpose

OMNI_ROOT

Override root path for scanning

OMNI_REPO_INVENTORY

Path to repository inventory JSON

OMNI_WORKSPACES

Workspace root paths

OMNI_DB_CONFIG_PATH

Database configuration directory

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:

  1. Create a scanner file with a scan(target: Path) β†’ dict function

  2. Register it in the category's SCANNER_MANIFEST.yaml

  3. 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.


Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes codebase memory as native tools for AI agents, enabling queries, feature tracing, impact analysis, and alignment verification.
    5
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to safely inspect a local repository's code and metadata while blocking private data from leaving the machine, providing read-only tools for search, change tracking, and integrity verification.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to observe local codebases in real time through a secure, read-only MCP interface, providing workspace snapshots, git history and diffs, cross-project search, and project reality coverage without write access.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to query a repository's verified semantic model, including capabilities, ownership, contracts, constraints, impact, health, and verification status, without re-deriving project facts. It exposes read-only tools for inspecting, reasoning about, and verifying the provenance-tracked surface.
    2
    Apache 2.0