Skip to content

evidence(OMN-14285): supersede next market receipt hashes - #3902

Merged
jonahgabriel merged 2 commits into
devfrom
jonah/omn-market-receipt-supersessions-2
Jul 11, 2026
Merged

jonahgabriel merged 2 commits into
devfrom
jonah/omn-market-receipt-supersessions-2

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jul 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • adds append-only supersession receipts for next exposed stale whole-file receipt hashes blocking omnimarket#1706 and evidence(OMN-11827): bind OCC receipt sha #1707
  • preserves original command.yaml receipts and re-binds replacements to validator-computed contract_entry_sha256 values

Evidence-Ticket: OMN-14285
Evidence-Ticket: OMN-14326

Validation

  • uv run python scripts/validation/check_receipt_hardening.py
  • uv run python -m omnibase_core.validation.validator_receipt_honesty

Summary by CodeRabbit

  • Documentation
    • Added updated validation records for two tracked evidence items.
    • Recorded supersession details, verification outcomes, execution metadata, and associated test and lint checks.
    • Preserved the original evidence records while documenting their updated contract verification results.

@coderabbitai

coderabbitai Bot commented Jul 11, 2026 •

Copy link
Copy Markdown

Review Change Stack

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: 55 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: 2b07581e-b16a-4414-ab54-04042055a102

📥 Commits

Reviewing files that changed from the base of the PR and between a991fd4 and 399dcb7.

📒 Files selected for processing (14)
  • contracts/OMN-14285.yaml
  • contracts/OMN-14326.yaml
  • drift/dod_receipts/OMN-14285/dod-1706-head-07eea347/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-1706-head-55f3c5ae/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-3856/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-3860/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-3861/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-3862/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-3901/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14285/dod-occ-pr-3902/command.yaml
  • drift/dod_receipts/OMN-14326/dod-occ-pr-1707-head-e1bcd7f6/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14326/dod-occ-pr-3874/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14326/dod-occ-pr-3901/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14326/dod-occ-pr-3902/command.yaml
📝 Walkthrough

Walkthrough

Added two YAML supersede evidence receipts for OMN-14285 and OMN-14326. Each preserves the original command receipt while recording replacement verification metadata, execution results, and an updated contract_entry_sha256.

Changes

Supersede evidence receipts

Layer / File(s) Summary
Receipt supersession and verification records
drift/dod_receipts/OMN-14285/..., drift/dod_receipts/OMN-14326/...
Adds supersede declarations, replacement PASS verification data, probe outputs, execution metadata, validation commands, and updated contract entry hashes.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: superseding receipt hashes for OMN-14285.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-market-receipt-supersessions-2

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@drift/dod_receipts/OMN-14285/dod-1706-head-55f3c5ae/command.supersede.0001.yaml`:
- Line 42: Align the receipt’s hash field with the hardening contract: update
the receipt, ModelDodReceipt parsing/validation, and check_receipt_hardening.py
so the intended replacement hash semantics use the same contract hash field
consistently. Ensure the checker validates the replacement against the
whole-file contract hash, then rerun both validators.

In
`@drift/dod_receipts/OMN-14326/dod-1707-head-e1bcd7f6/command.supersede.0001.yaml`:
- Line 44: The supersession receipt uses contract_entry_sha256 while
check_receipt_hardening.py expects replacement.contract_sha256. Update the
receipt field, its corresponding Pydantic model, and validator logic to
consistently use the whole-file contract hash, then verify the hardening check
accepts the replacement.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 48e42fb7-423f-4573-b916-5e234094f27b

📥 Commits

Reviewing files that changed from the base of the PR and between b7a82a3 and a991fd4.

📒 Files selected for processing (2)
  • drift/dod_receipts/OMN-14285/dod-1706-head-55f3c5ae/command.supersede.0001.yaml
  • drift/dod_receipts/OMN-14326/dod-1707-head-e1bcd7f6/command.supersede.0001.yaml

with inventory count 353.'
exit_code: 0
branch: jonah/omn-14285-rsd1-occ-companion-compute
contract_entry_sha256: sha256:9e44ff071c822235bfbad99eb43a43d5ae38d5e2282e263bc57a58b71d4bb28d

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🔴 Critical | 🏗️ Heavy lift

Align the replacement hash with the receipt hardening contract.

The supplied check_receipt_hardening.py parses replacement as ModelDodReceipt and validates receipt.contract_sha256 against the whole-file contract hash. This receipt provides only contract_entry_sha256, so the supersession will not pass the shown gate. Update the receipt, model, and checker consistently for the intended hash semantics, then rerun both validators.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@drift/dod_receipts/OMN-14285/dod-1706-head-55f3c5ae/command.supersede.0001.yaml`
at line 42, Align the receipt’s hash field with the hardening contract: update
the receipt, ModelDodReceipt parsing/validation, and check_receipt_hardening.py
so the intended replacement hash semantics use the same contract hash field
consistently. Ensure the checker validates the replacement against the
whole-file contract hash, then rerun both validators.

count is 354, covering OMN-14333''s two validator nodes plus OMN-14326''s two analysis nodes.'
exit_code: 0
branch: jonah/omn-14326-ast-analyzer-stub-detector
contract_entry_sha256: sha256:f25bbad04e11679cbe666db696ea77d6ea687b202fc113b0ae776b8706468689

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🔴 Critical | 🏗️ Heavy lift

Align the replacement hash with the receipt hardening contract.

The supplied check_receipt_hardening.py consumes replacement.contract_sha256 and compares it with the whole-file contract hash, but this receipt supplies only contract_entry_sha256. Consequently, this supersession will not satisfy the gate. Align the receipt, Pydantic model, and validator before relying on this replacement.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@drift/dod_receipts/OMN-14326/dod-1707-head-e1bcd7f6/command.supersede.0001.yaml`
at line 44, The supersession receipt uses contract_entry_sha256 while
check_receipt_hardening.py expects replacement.contract_sha256. Update the
receipt field, its corresponding Pydantic model, and validator logic to
consistently use the whole-file contract hash, then verify the hardening check
accepts the replacement.

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