Skip to main content

The review layer: graph-aware review and blast-radius impact over a tropo knowledge graph.

Project description

vivary-ozone

Current release: 0.2.0. The optional review layer.

The review layer — the protective filter. Where tropo answers "is each document valid?", ozone reviews the whole graph: the relationship-level gaps a per-document check can't see, and the blast radius of a change — everything that depends on it. A review is graph-aware by construction because ozone reads tropo's typed graph in-process (one graph implementation, never a fork).

The defining idea: code review and editorial review are the same layer with different rule packs. Ozone ships deterministic packs over the Vivary workspace vocabulary, zero dependencies, no LLM. Medium-specific and semantic ("organize by meaning") review layer on top later; semantic relatedness is graphify's job, not ozone's core.

Try it locally

python ozone.py review --root <workspace>      # findings over the graph
python ozone.py review --root <workspace> --pack context-budget
python ozone.py review --root <workspace> --pack all
python ozone.py review --root <workspace> --strict   # gate mode: exit 1 on warnings
python ozone.py impact <id> --root <workspace> # what depends on <id> (blast radius)
python ozone.py packs                          # list rule packs

review is advisory by default (exit 0) — a work-in-progress change legitimately has nothing verifying it yet. Pass --strict to make it a gate (exit 1 when warnings exist), e.g. pre-merge or in CI. tropo check remains the hard structural gate; ozone is the relationship/impact review layered on top.

ozone review defaults to --pack structure for stable CI. Use --pack context-budget to review context bloat surfaces, or --pack all to run every deterministic pack.

The structure pack

Deterministic, topology-derived findings keyed on a node's workspace folder:

rule severity fires when
change-unverified warn a changes/ node has no verification edge
change-ungated info a changes/ node has no gates edge
module-unverified info a modules/ node has no verification edge
orphan info a node has no edges in or out
broken-edge warn an edge points at a missing node (tropo check enforces this)

The context-budget pack

Deterministic context-bloat findings over public routing/startup surfaces only. It does not read private memory files such as USER.md, MEMORY.md, memory/**, heartbeat reports, .vivary/**, or .git/**.

rule severity fires when
module-index-missing warn a modules/<name>/ directory has no index.md
legacy-module-file warn modules/<name>.md coexists with modules/<name>/index.md
always-on-large info a root routing contract exceeds its fixed line/char threshold
module-index-large info modules/index.md or modules/*/index.md exceeds 120 lines or 8000 chars
bulk-load-cue info public routing text tells agents to read/load/scan/open whole repos, docs trees, folders, or everything
duplicate-routing-block info an exact normalized routing block over 100 chars repeats across public routing surfaces

Render

For a visual of a change's blast radius, reuse tropo's renderer:

python ../tropo/tropo.py view blast <id> --root <workspace> --out impact.html

Requirements

Python 3.11+. Loads the sibling packages/tropo/tropo.py engine in-process (no pip install needed in the repo); packaged builds depend on the tropo package.


Website & docs: https://vivary.vercel.app/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vivary_ozone-0.2.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vivary_ozone-0.2.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file vivary_ozone-0.2.0.tar.gz.

File metadata

  • Download URL: vivary_ozone-0.2.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vivary_ozone-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5ffc79cbfeeabc9dfb05aa2ed5c8f92c9271584518c23fb3a4a6ae2e2c99625c
MD5 8b06c7136cae04eab2cde3807441b5b2
BLAKE2b-256 8deceee8eeeb21aa9f44f1b2c2571f19dbfebcd45f1a46ffe8c01dd9af06f73f

See more details on using hashes here.

File details

Details for the file vivary_ozone-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: vivary_ozone-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for vivary_ozone-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e554b586eff1c3be7aaa06e03a91d2edb0cc4028ad5961b42606ccb6fcb32c5
MD5 415e1a4ae7785a17b4ad41a3cdb9667c
BLAKE2b-256 f5109cfd7cc18f630431f841c081dae7b5abf34a06dfe8ebcbf8b8f41c407020

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page