Skip to main content

omninode

omnibase_compat

omnibase_compat is the thin shared structural package for cross-repo enums, wire DTOs, event envelopes, concurrency helpers, and compatibility primitives.

It has zero OmniNode upstream runtime dependencies. Runtime dependencies are limited to third-party structural support packages listed in pyproject.toml.

CI Python 3.12+ License: MIT

Who Uses It

Use this package when two or more OmniNode repos need to share stable structural types without creating an import cycle through omnibase_core, omnibase_spi, or omnibase_infra.

Common consumers include dashboard, intelligence, memory, market, infrastructure, and governance repos that need shared event envelopes, status enums, routing DTOs, or transitional compatibility shims.

What This Repo Owns

  • Cross-repo structural DTOs and wire models
  • Minimal event envelopes intended for cross-repo transport compatibility
  • Minimal enum copies with explicit source provenance
  • Concurrency and environment primitives that do not depend on OmniNode runtime packages
  • Experimental artifacts with ticket and review milestone metadata
  • Temporary migration shims with COMPAT_MIGRATION_TARGET and COMPAT_REMOVAL_DATE

What This Repo Does Not Own

  • Runtime execution, node behavior, validators, and implementation helpers. Those belong in omnibase_core.
  • Protocol interfaces that implementations satisfy. Those belong in omnibase_spi.
  • Concrete infrastructure, clients, storage, registration operations, or runtime host behavior. Those belong in omnibase_infra.
  • Domain-specific workflow ownership. That belongs in the relevant domain repo, such as omnimarket, omnimemory, or omniintelligence.

Install

uv add omnibase-compat

For local development:

uv sync --dev --frozen

Usage

from omnibase_compat.enums.enum_message_category import EnumMessageCategory
from omnibase_compat.enums.enum_node_kind import EnumNodeKind
from omnibase_compat.models.event_envelope import EventEnvelopeV1Minimal

Import from explicit submodules. Treat package-root exports as convenience exports only, not the stable compatibility surface.

Dependency Boundary

omnibase_compat must not import these packages at runtime:

  • omnibase_core
  • omnibase_spi
  • omnibase_infra

CI enforces this with:

uv run python scripts/validate_no_upstream_deps.py

Do not add omnibase_core only to make documentation validation convenient. Docs validation should run through standalone CI tooling or from the repo that owns the validator entrypoint. If this repo adopts onex-validate-links, it must remain dev-only tooling and must not change runtime dependencies.

Role vs omnibase_spi

Layer Purpose
omnibase_spi Protocols and abstract interfaces that service implementations must satisfy
omnibase_compat Shared enums, wire DTOs, event envelopes, and structural types across repo boundaries

Rule of thumb: protocols go in omnibase_spi; structural data that crosses repo boundaries goes in omnibase_compat.

Common Workflows

uv run python scripts/validate_no_upstream_deps.py
uv run python scripts/check_compat_retention.py
uv run ruff check src/
uv run mypy src/omnibase_compat --strict
uv run pytest -m unit --tb=short
uv build

Release workflow:

git tag vX.Y.Z
git push origin vX.Y.Z

The tag must match [project].version in pyproject.toml. On a successful non-rc release the workflow fast-forwards main to the released tag — there is no separate promotion pull request. See the release runbook for the full procedure, the workflow's guarantees, and failure handling.

Key Features

  • Zero dependency on omnibase_core, omnibase_spi, or omnibase_infra (CI-enforced)
  • Experimental artifact registry with lifecycle governance (ticket + review_milestone required)
  • Provenance-tracked enum seeding from upstream canonical sources
  • Strict mypy + ruff + AST-based import validation

Documentation

This repository holds no documentation directory. Every prose document about omnibase_compat — architecture, structural inventory, runbooks, guides — lives in the OmniNode knowledge base, which is its single home.

Full documentation → https://github.com/OmniNode-ai/knowledge-base

Topic Where
Structural inventory — subpackages, wire DTOs, enums, dependency boundary, validation scripts reference/omnibase-compat-structural-inventory.md
Release procedure — tag, dispatch, workflow guarantees, failure handling runbooks/omnibase-compat-release.md

Internal-only material — anything the public knowledge base excludes by taxonomy (our own cloud deployment topology, restricted operational notes) — lives in the internal knowledge base: https://github.com/OmniNode-ai/knowledge-base-internal

What remains in this repository is only what must physically ship beside the code, and the KB doc gate enforces that set in strict mode:

License

See LICENSE.

Download files

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

Source Distribution

omnibase_compat-0.5.7.tar.gz (355.8 kB view details)

Uploaded Source

Built Distribution

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

omnibase_compat-0.5.7-py3-none-any.whl (129.6 kB view details)

Uploaded Python 3

File details

Details for the file omnibase_compat-0.5.7.tar.gz.

File metadata

  • Download URL: omnibase_compat-0.5.7.tar.gz
  • Upload date:
  • Size: 355.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for omnibase_compat-0.5.7.tar.gz
Algorithm Hash digest
SHA256 391728f09dd4c70d4897ef7e0bac98fdbdc03c4a19d597abb2316c9a00856aa1
MD5 d4a5bd9132bcb81870446625f92e221a
BLAKE2b-256 4eed5f8539c5866817cef7e8b5643bc74b2e3b6106b16bf7f8d2e62c819286b9

See more details on using hashes here.

File details

Details for the file omnibase_compat-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: omnibase_compat-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 129.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for omnibase_compat-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 11c9930df19c34789e6e69f7e2f9d0575261f651b3fc1231e151344da9b7963f
MD5 e6eda7ce29066b73f327d04117202b91
BLAKE2b-256 345e14541bc8865b0c4bad3ecf83ca2d8625d14df10104200a22038e15c0fd16

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.7 This release

2 files

0.5.6

2 files

0.5.5

2 files

0.5.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page