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.

Metadata

Release files for omnibase-compat 0.5.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omnibase-compat 0.5.7
File Size Uploaded Provenance
omnibase_compat-0.5.7.tar.gz 355.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for omnibase-compat 0.5.7
File Interpreter ABI Platform
omnibase_compat-0.5.7-py3-none-any.whl Python 3 none any Details

Total release size: 485.5 kB

Release files / omnibase_compat-0.5.7.tar.gz

Download URL omnibase_compat-0.5.7.tar.gz
Size 355.8 kB
Tags Source
SHA-256 checksum
How to use checksums
391728f09dd4c70d4897ef7e0bac98fdbdc03c4a19d597abb2316c9a00856aa1
BLAKE2b-256 checksum
How to use checksums
4eed5f8539c5866817cef7e8b5643bc74b2e3b6106b16bf7f8d2e62c819286b9
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / omnibase_compat-0.5.7-py3-none-any.whl

Download URL omnibase_compat-0.5.7-py3-none-any.whl
Size 129.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11c9930df19c34789e6e69f7e2f9d0575261f651b3fc1231e151344da9b7963f
BLAKE2b-256 checksum
How to use checksums
345e14541bc8865b0c4bad3ecf83ca2d8625d14df10104200a22038e15c0fd16
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for omnibase-compat 0.5.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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