Skip to content

feat(OMN-14168): RUNTIME_OPS evidence class + no-PR runtime-ops receipt fields - #1405

Merged
jonahgabriel merged 1 commit into
devfrom
jonah/omn-14168-runtime-ops-evidence-class
Jul 9, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
jonah/omn-14168-runtime-ops-evidence-class

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jul 9, 2026 •

Copy link
Copy Markdown
Contributor

OMN-14168 — RUNTIME_OPS evidence class + no-PR runtime-ops receipt fields (omnibase_core half)

Implements the omnibase_core half of the RUNTIME_OPS_READBACK no-PR runtime-ops evidence class per the operator-greenlit design docs/plans/2026-07-08-nopr-runtime-ops-evidence-class.md (§7 RECOMMENDED options 1 + 3 chosen: fields directly on ModelDodReceipt; governed-YAML verb allowlist).

What changed

  • EnumEvidenceClass += RUNTIME_OPS ("runtime_ops").
  • ModelDodReceipt gains the runtime-ops mutation block: mutation_command, mutation_verb, target_identity, no_source_change, prevention_followup.
  • mutation_verb field validator rejects any verb outside the governed allowlist contracts/runtime_ops_verb_allowlist.yaml (data, not code); git / image-digest promotion are excluded so a source change routes through the merged-PR gate.
  • G2a model invariant: evidence_class == RUNTIME_OPS ⇒ no_source_change=True, no pr_number, and a complete mutation block (else ValueError).
  • runtime_readback added to EXECUTABLE_CHECK_TYPES so an empty readback stdout is rejected (G3). The existing verifier == runner → ADVISORY self-attestation invariant is preserved and applies to the runtime-ops class too.
  • New governed loader validation/runtime_ops_verb_loader.py (cached frozenset) — the single source of truth both core and the omnimarket gate read.
  • Version bump 0.46.6 → 0.46.7 (OMN-13411 release-identity gate).

dod_evidence (verified locally)

  • uv run mypy src/ — Success, 4074 files, 0 errors.
  • uv run ruff format / ruff check — clean.
  • 400 impacted receipt/evidence/dod tests pass (tests/unit/models/contracts + tests/unit/validation receipt suite + new TestModelDodReceiptRuntimeOps (11) + new test_runtime_ops_verb_loader.py (3)).
  • pre-commit on changed files — all hooks pass (incl. release-identity after the bump).
  • Full repo suite deferred to CI (repo suite exceeds the local harness timeout).

Sequencing

This is the base of a two-PR cross-repo change. The omnimarket companion (OMN-14168 RUNTIME_OPS_READBACK gate) imports the enum + loader shipped here and is blocked-on-core-release until 0.46.7 publishes.

Evidence-Source: OCC#3745
Evidence-Ticket: OMN-14168

occ-preflight was red pending central OCC evidence; Codex supplied the central companion in onex_change_control#3745.

Closes OMN-14168

…eceipt fields

Adds the omnibase_core half of the RUNTIME_OPS_READBACK no-PR runtime-ops
evidence class (design docs/plans/2026-07-08-nopr-runtime-ops-evidence-class.md).

- EnumEvidenceClass += RUNTIME_OPS ("runtime_ops").
- ModelDodReceipt gains the runtime-ops mutation block: mutation_command,
  mutation_verb, target_identity, no_source_change, prevention_followup.
- mutation_verb field validator rejects any verb outside the GOVERNED allowlist
  (contracts/runtime_ops_verb_allowlist.yaml — data, not code); git and
  image-digest promotion are excluded so a source change routes through the
  merged-PR gate.
- G2a model invariant: evidence_class == RUNTIME_OPS requires
  no_source_change=True, no pr_number, and a complete mutation block.
- runtime_readback added to EXECUTABLE_CHECK_TYPES so an empty readback stdout
  is rejected (G3). The existing verifier==runner -> ADVISORY self-attestation
  invariant is preserved and applies to the runtime-ops class too.
- New governed loader validation/runtime_ops_verb_loader.py (cached frozenset),
  the single source of truth both core and the omnimarket gate read.
- Version bump 0.46.6 -> 0.46.7 (OMN-13411 release-identity gate).

dod_evidence: uv run mypy src/ clean (4074 files); ruff format+check clean;
400 impacted receipt/evidence/dod tests pass (tests/unit/models/contracts +
tests/unit/validation receipt suite + new RUNTIME_OPS + loader tests). Full
suite deferred to CI (repo suite exceeds local harness timeout).
@coderabbitai

coderabbitai Bot commented Jul 9, 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: 17 minutes

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: 434972c9-7cdf-4ac8-845e-188d83b9ea4f

📥 Commits

Reviewing files that changed from the base of the PR and between aae8787 and fe32d60.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (7)
  • pyproject.toml
  • src/omnibase_core/contracts/runtime_ops_verb_allowlist.yaml
  • src/omnibase_core/enums/governance/enum_evidence_class.py
  • src/omnibase_core/models/contracts/ticket/model_dod_receipt.py
  • src/omnibase_core/validation/runtime_ops_verb_loader.py
  • tests/unit/models/contracts/test_model_dod_receipt.py
  • tests/unit/validation/test_runtime_ops_verb_loader.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-14168-runtime-ops-evidence-class

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

@jonahgabriel

Copy link
Copy Markdown
Contributor Author

Temporarily closing/reopening to refresh stale OCC-preflight pull_request payloads after central Evidence-Source OCC#3745 merged; head SHA unchanged.

@jonahgabriel jonahgabriel reopened this Jul 9, 2026
@jonahgabriel
jonahgabriel merged commit 35cea02 into dev Jul 9, 2026
278 of 316 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-14168-runtime-ops-evidence-class branch July 9, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant