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.
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_TARGETandCOMPAT_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, oromniintelligence.
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_coreomnibase_spiomnibase_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, oromnibase_infra(CI-enforced) - Experimental artifact registry with lifecycle governance (
ticket+review_milestonerequired) - 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:
- CLAUDE.md — agent operating context and repo conventions
- .github/CONTRIBUTING.md — contribution flow
- CHANGELOG.md
- SECURITY.md
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| omnibase_compat-0.5.7.tar.gz | 355.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.