Skip to content

feat(OMN-15651): align delegation task-class Literal to the 15-class Market authority - #1541

Merged
jonahgabriel merged 1 commit into
devfrom
jonah/omn-15651-task-authority-core
Aug 3, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
jonah/omn-15651-task-authority-core

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

OMN-15651: align delegation task-class Literal to the 15-class Market authority

Evidence-Source: OCC#6020
Evidence-Ticket: OMN-15651

This PR lands step 1b of the OMN-15651 task-class-authority landing: it adds
the two missing classes (documentation, validator_generation) to
ModelDelegationRequest.task_type's Literal in
model_delegation_wire_request.py, so the Core wire DTO admits the full
15-class Market-authoritative universe. Core intentionally does not import
Market at runtime — this Literal is the Core-side full-consumer copy, kept
mechanically coherent with the Market authority through cross-repository
admission, not a shared import.

Ticket: OMN-15651
proof_class: receipt-bound

Seam declaration (OMN-14208)

  • Authority: omnimarket/src/omnimarket/configs/task_class_contracts.v1.yaml,
    top-level key task_classes, exactly 15 classes: agent_delegation,
    code_generation, code_review, complex_reasoning, document,
    documentation, escalation, planning, reasoning, refactor, research,
    review, summarization, test, validator_generation.
  • New field: gateway_exposure, nested at task_classes.<class>.gateway_exposure,
    closed string enum "public"|"internal", required on all 15 (no default,
    no inference) — owned by the Market authority (see companion PR
    omnimarket#2012, not part of this PR's diff).
    • public (11): code_generation, code_review, complex_reasoning,
      document, planning, reasoning, refactor, research, review,
      summarization, test.
    • internal (4): agent_delegation, documentation, escalation,
      validator_generation.
  • full_consumer copies (each member set must equal the 15-class universe
    exactly): this PR's own file —
    omnibase_core/src/omnibase_core/models/delegation/wire/model_delegation_wire_request.py
    (ModelDelegationRequest.task_type Literal) — measured before this PR:
    13 members, missing documentation and validator_generation; after
    this PR: all 15 present (verified by the new
    test_task_type_schema_is_exact_canonical_full_universe test, which asserts
    frozenset(schema["enum"]) == _CANONICAL_DELEGATION_TASK_TYPES — the full
    15-class frozenset). The remaining full_consumer copies
    (omnimarket models/contracts, node_delegate_skill_orchestrator,
    node_delegation_orchestrator, adapters/claude_code/delegate.py,
    node_task_execution_orchestrator) are Market-owned and land in the
    companion omnimarket#2012 PR, not this one.
  • public_consumer (projection only, never authority):
    omninode_infra/docker/onex-api/workflow-contracts.yaml task_type regex —
    already admits exactly the 11 public classes; no infra change required for
    this landing
    (confirmed by the omnimarket#2012 companion's live oracle
    run against the canonical omninode_infra clone).
  • No Core→Market runtime import: confirmed live —
    grep -rn "^import omnimarket\|^from omnimarket" src/ in the
    omnibase_core worktree returns no matches. (String/comment mentions of
    omnimarket in topics.py and normalization/ are topic-name/doc
    references, not imports.)
  • Cross-boundary regression: the oracle run below executes against the
    LIVE canonical $OMNI_HOME clones (omnibase_core, omnimarket,
    omninode_infra), not only frozen fixtures — see the omnimarket companion
    PR (omnimarket#2012) for the full multi-repo oracle output; this PR's own
    local evidence is the schema-exactness unit test plus the focused suite
    below.
  • Landing order (HARD): this is step 1b, parallel and independent of
    step 1a (omnimarket#2012). The omninode_infra follow-up PR is
    explicitly deferred until both 1a and 1b merge to dev, because its
    manifest pins commit/blob-oid/sha256 against merged SHAs — it cannot be
    authored against unmerged branches.

Live oracle-run evidence (this session, 2026-08-03)

Before this change, the live canonical omnibase_core clone under $OMNI_HOME
showed exactly this gap against the Market authority (13 members vs the
15-class universe, missing documentation and validator_generation) — the
same gap independently confirmed by the omnimarket#2012 companion's
cross-repo oracle run:

[core LIVE $OMNI_HOME/omnibase_core/src/omnibase_core/models/delegation/wire/model_delegation_wire_request.py]
  Literal members (13): ['agent_delegation', 'code_generation', 'code_review', 'complex_reasoning', 'document', 'escalation', 'planning', 'reasoning', 'refactor', 'research', 'review', 'summarization', 'test']
  missing vs market universe: ['documentation', 'validator_generation']
  extra vs market universe:   []

After this PR's diff, the Literal carries all 15 members, and the schema
constant _CANONICAL_DELEGATION_TASK_TYPES in
tests/unit/models/delegation/wire/test_delegation_wire_models.py — the same
15-class frozenset as the Market authority — is asserted equal to
ModelDelegationRequest.model_json_schema()["properties"]["task_type"]["enum"]
by test_task_type_schema_is_exact_canonical_full_universe.

Gates run (this session, on Stickybeatz-Studio / .200, the canonical gate host)

  • uv run ruff format --check src/ tests/ — pass, 6083 files already formatted
  • uv run ruff check src/ tests/ — All checks passed! (one pre-existing
    invalid # noqa warning in src/omnibase_core/utils/util_canonical_hash.py
    is unrelated to this diff)
  • env -u PYTHONPATH uv run mypy src/ --strict — clean of new errors after a
    venv repair (see below); 9 remaining errors are pre-existing, in files
    byte-identical to origin/dev (model_adjacency_map.py,
    contract_loader.py, validator_evidence_shape_cli.py, cli_install.py,
    model_onex_container.py), unrelated to this diff
  • Focused tests: env -u PYTHONPATH uv run pytest -q tests/unit/models/delegation/
    — 222 passed
  • env -u PYTHONPATH uv run pre-commit run --files <the 2 changed files> —
    all applicable hooks Passed (the --all-files full-repo sweep surfaced
    only pre-existing, unrelated-to-this-diff repo-wide debt — confirmed
    byte-identical to origin/dev for every flagged file)
  • Real git push pre-push hook chain (the actual enforcing gate): trim trailing whitespace, fix end of files, check for added large files,
    mypy (type checking - strict), pyright (type checking - basic),
    Evidence-Source shape check, ONEX Naming Convention Validation, ONEX File Naming Convention Validation, Protocol UUID Enforcement Check, ONEX Enum Governance Validation, ONEX Node Purity Validation — all Passed
  • Governed impacted-test selector (OMN-13973) escalated to the full
    suite
    (is_full_suite=True reason=shared_module) per rule 4 —
    uv run pytest tests/ --ignore=tests/integration -n4 --dist=loadgroup --timeout=60 --timeout-method=thread: 43711 passed, 0 failed, 53
    skipped, 3 xpassed
    in 5832.54s (1:37:12). (An ambient POSTGRES_PASSWORD
    / POSTGRES_HOST / POSTGRES_PORT / POSTGRES_USER / POSTGRES_DATABASE
    set of env vars on this host inflated an earlier attempt's runtime well
    past the sibling omnimarket#2012 PR's reference full-suite time; unset
    via env -u for the push so integration-DB tests skip as designed — no
    product code was touched to achieve this, matching the same gotcha the
    omnimarket#2012 companion PR documented.)

Landing

This PR lands via the normal Codex merge sweep. (An earlier revision of this
section carried a merge hold — that was the authoring lane's own stop-at-PR-open
constraint leaking into the body; it bound the build lane, never the sweep.
Hold lifted 2026-08-03 by fable-beta-0803; companion omnimarket#2012 is
already merged, so landing order 1a+1b is satisfied.)
omnimarket#2011, omnibase_infra#2632, and omnibase_core#1540 were a
separate Codex landing lane and are untouched by this PR.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 1 minute

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2cf3467b-0672-4c7c-8379-c4496799ee5f

📥 Commits

Reviewing files that changed from the base of the PR and between 1dc5eb9 and 4cb7ba9.

📒 Files selected for processing (2)
  • src/omnibase_core/models/delegation/wire/model_delegation_wire_request.py
  • tests/unit/models/delegation/wire/test_delegation_wire_models.py

Comment @coderabbitai help to get the list of available commands.

jonahgabriel added a commit to OmniNode-ai/onex_change_control that referenced this pull request Aug 3, 2026
…#6020)

* evidence(OMN-15651): OCC companion for OmniNode-ai/omnibase_core#1541

Appends Evidence-Source autobind + schema-exactness dod_evidence entries for
the omnibase_core landing-step-1b PR to the existing OMN-15651 ticket
contract (net-new append only; the 5 prior entries from the omnimarket
step-1a companion, OCC#6013, are untouched).

* evidence(OMN-15651): self-bind OCC companion PR #6020

Adds the occ-self-bind entry for OCC#6020 to the OMN-15651 ticket contract.
@jonahgabriel
jonahgabriel merged commit f87a02a into dev Aug 3, 2026
213 of 241 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-15651-task-authority-core branch August 3, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant