Repository navigation
feat(OMN-14168): RUNTIME_OPS evidence class + no-PR runtime-ops receipt fields - #1405
Conversation
…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).
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 17 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Temporarily closing/reopening to refresh stale OCC-preflight pull_request payloads after central Evidence-Source OCC#3745 merged; head SHA unchanged. |
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 onModelDodReceipt; governed-YAML verb allowlist).What changed
EnumEvidenceClass += RUNTIME_OPS("runtime_ops").ModelDodReceiptgains the runtime-ops mutation block:mutation_command,mutation_verb,target_identity,no_source_change,prevention_followup.mutation_verbfield validator rejects any verb outside the governed allowlistcontracts/runtime_ops_verb_allowlist.yaml(data, not code);git/ image-digest promotion are excluded so a source change routes through the merged-PR gate.evidence_class == RUNTIME_OPS⇒no_source_change=True, nopr_number, and a complete mutation block (elseValueError).runtime_readbackadded toEXECUTABLE_CHECK_TYPESso an empty readback stdout is rejected (G3). The existingverifier == runner → ADVISORYself-attestation invariant is preserved and applies to the runtime-ops class too.validation/runtime_ops_verb_loader.py(cached frozenset) — the single source of truth both core and the omnimarket gate read.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.tests/unit/models/contracts+tests/unit/validationreceipt suite + newTestModelDodReceiptRuntimeOps(11) + newtest_runtime_ops_verb_loader.py(3)).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-preflightwas red pending central OCC evidence; Codex supplied the central companion in onex_change_control#3745.Closes OMN-14168