Skip to content

feat(OMN-10420): contract + receipts for ticket-identity binding - #606

Merged
jonahgabriel merged 2 commits into
mainfrom
jonah/omn-10420-ticket-identity-binding
May 1, 2026
Merged

jonahgabriel merged 2 commits into
mainfrom
jonah/omn-10420-ticket-identity-binding

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented May 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Adds contracts/OMN-10420.yaml with 4 DoD evidence items for the ticket-identity binding feature
  • Adds PASS receipts under drift/dod_receipts/OMN-10420/ for all 4 items
  • Pairs with omnibase_core PR receipt(OMN-11025): add delegation DTO evidence #1019 implementing invariant I3

OMN-10420

Evidence-Source: jonah/omn-10420-ticket-identity-binding
Evidence-Ticket: OMN-10420

Test plan

  • Contract YAML validates against ModelTicketContract (pre-commit hook passed)
  • 4 receipts with status=PASS, distinct runner/verifier, non-empty probe_stdout
  • dod-001: 9 identity-binding tests pass (5 required plan cases)
  • dod-002: 68 existing receipt_gate tests pass (no regressions)
  • dod-003: EVIDENCE_SOURCE/TICKET_PATTERN exported in all
  • dod-004: CLI --evidence-ticket and --branch-name flags present

Summary by CodeRabbit

  • New Features

    • Receipt gate CLI now supports --evidence-ticket and --branch-name options.
  • Tests

    • Added comprehensive unit and integration validation tests covering identity-binding cases; all recorded test runs show passing results.
  • Chores

    • Added structured evidence records and a contract entry documenting required validation checks and acceptance criteria.

Pairs with omnibase_core PR implementing I3 invariant: OCC evidence
must provably belong to the same ticket as the code PR.

Receipts verify:
  - dod-001: 9 identity-binding tests pass (5 required plan cases)
  - dod-002: 68 existing receipt_gate tests pass (no regressions)
  - dod-003: EVIDENCE_SOURCE/TICKET_PATTERN exported in __all__
  - dod-004: CLI accepts --evidence-ticket and --branch-name flags
@coderabbitai

coderabbitai Bot commented May 1, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bb2b206a-919e-4f1a-9324-85d68dbf48a7

📥 Commits

Reviewing files that changed from the base of the PR and between 298900a and ea4212f.

📒 Files selected for processing (5)
  • contracts/OMN-10420.yaml
  • drift/dod_receipts/OMN-10420/dod-001/command.yaml
  • drift/dod_receipts/OMN-10420/dod-002/command.yaml
  • drift/dod_receipts/OMN-10420/dod-003/command.yaml
  • drift/dod_receipts/OMN-10420/dod-004/command.yaml
✅ Files skipped from review due to trivial changes (4)
  • drift/dod_receipts/OMN-10420/dod-003/command.yaml
  • drift/dod_receipts/OMN-10420/dod-001/command.yaml
  • drift/dod_receipts/OMN-10420/dod-004/command.yaml
  • drift/dod_receipts/OMN-10420/dod-002/command.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • contracts/OMN-10420.yaml

📝 Walkthrough

Walkthrough

Adds a contract for OMN-10420 declaring ticket‑identity binding enforcement in receipt_gate.py and four DoD evidence records documenting required CI checks: unit tests for identity binding, broader receipt_gate test suite, exported constant presence, and CLI help showing required flags.

Changes

Cohort / File(s) Summary
Contract Definition
contracts/OMN-10420.yaml
New YAML contract (schema 1.0.0) declaring an interface change (ticket-identity binding), disabling emergency bypass, and listing four DoD items with required CI evidence commands and patterns.
DoD Evidence — dod-001
drift/dod_receipts/OMN-10420/dod-001/command.yaml
Adds a command record showing a unit pytest run for receipt_gate identity-binding cases with status: PASS and captured stdout listing each test as PASSED.
DoD Evidence — dod-002
drift/dod_receipts/OMN-10420/dod-002/command.yaml
Adds a command record for running multiple receipt_gate test modules (adversarial, allowlist, hardening, workflow-shape, CLI) with status: PASS and aggregated pytest summary.
DoD Evidence — dod-003
drift/dod_receipts/OMN-10420/dod-003/command.yaml
Adds a command record that imports omnibase_core.validation.receipt_gate, checks EVIDENCE_SOURCE_PATTERN and EVIDENCE_TICKET_PATTERN are present in __all__, and records ok / status: PASS.
DoD Evidence — dod-004
drift/dod_receipts/OMN-10420/dod-004/command.yaml
Adds a command record that runs the receipt gate CLI help and verifies presence of --evidence-ticket and --branch-name flags, recording status: PASS and matching help output.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through YAML, firm and spry,
I bound each ticket, watched tests fly,
Evidence lined up, flags in sight,
The receipt gate hums into the night. 🥕✨

🚥 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 and concisely describes the main change: adding a contract and receipts for the ticket-identity binding feature (OMN-10420), matching the PR's core objective of adding contract YAML and DoD evidence files.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-10420-ticket-identity-binding

Review rate limit: 0/5 reviews remaining, refill in 58 minutes and 50 seconds.

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

@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 the current code and only fix it if needed.

Inline comments:
In `@contracts/OMN-10420.yaml`:
- Around line 41-47: The current check only verifies those names are importable;
update the command check to assert that EVIDENCE_SOURCE_PATTERN and
EVIDENCE_TICKET_PATTERN are present in the module's __all__ instead: load
omnibase_core.validation.receipt_gate, then inspect its __all__ attribute and
fail unless both "EVIDENCE_SOURCE_PATTERN" and "EVIDENCE_TICKET_PATTERN" are
listed; reference the module name omnibase_core.validation.receipt_gate and the
symbols EVIDENCE_SOURCE_PATTERN and EVIDENCE_TICKET_PATTERN so the check
enforces explicit export membership rather than mere importability.
- Around line 49-54: The check currently uses a single grep with alternation
which passes if either flag exists; update the check_value in
contracts/OMN-10420.yaml so the CLI help is tested for both flags (e.g., run the
help command twice or capture output once and test both patterns): replace the
single pipe to grep -E 'evidence-ticket|branch-name' with a command that ensures
both are present, such as `python -m omnibase_core.validation.receipt_gate_cli
--help | grep -E 'evidence-ticket' && python -m
omnibase_core.validation.receipt_gate_cli --help | grep -E 'branch-name'` (or
capture output once and run two greps), so the check verifies presence of both
--evidence-ticket and --branch-name.
🪄 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: ab9d4ca0-6966-42fd-bb9b-2f307909dc15

📥 Commits

Reviewing files that changed from the base of the PR and between 0ef1be5 and 298900a.

📒 Files selected for processing (5)
  • contracts/OMN-10420.yaml
  • drift/dod_receipts/OMN-10420/dod-001/command.yaml
  • drift/dod_receipts/OMN-10420/dod-002/command.yaml
  • drift/dod_receipts/OMN-10420/dod-003/command.yaml
  • drift/dod_receipts/OMN-10420/dod-004/command.yaml

Comment thread contracts/OMN-10420.yaml Outdated
Comment thread contracts/OMN-10420.yaml Outdated
@github-actions
github-actions Bot enabled auto-merge May 1, 2026 15:40
@jonahgabriel
jonahgabriel added this pull request to the merge queue May 1, 2026
Merged via the queue into main with commit 43a1479 May 1, 2026
27 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-10420-ticket-identity-binding branch May 1, 2026 17:48
jonahgabriel added a commit that referenced this pull request May 12, 2026
…upstream PR receipts

Set commit_sha to 5a3dd07b (omnimarket PR #606 head SHA) in all receipts
that document omnimarket evidence. Previously had the OCC branch SHA
which misrepresents the provenance of the upstream evidence.
jonahgabriel added a commit that referenced this pull request May 12, 2026
…idence for canary→routing feedback loop (#942)

* contract(OMN-10846,OMN-10847,OMN-10848): add OCC contracts and DoD evidence for canary→routing feedback loop tickets

All three tickets delivered via PR #606 on OmniNode-ai/omnimarket (merge commit 1af2f16a1c7d10a1f9392288f6cd63a8a1473957).
PRs #604 and #605 were closed as superseded after cherry-pick into #606.

- OMN-10846: build_available_models_from_scores() bridge (capability_scores → routing policy)
- OMN-10847: ModelMaterializeResult + routing_outcomes.quality_score population
- OMN-10848: Proof-of-life integration test (canary → scores → routing, pure in-memory)

* fix(OMN-10846,OMN-10847,OMN-10848): add dod-occ-pr receipts and all evidence receipts for verify gate

- Add dod-occ-pr evidence item to OMN-10846, OMN-10847, OMN-10848 contracts
- Create drift/dod_receipts YAML for all dod_evidence items across all three tickets
- Fix dod-no-handler-modification check_value to use grep '^+.*def' prefix
- Fix dod-quality-score-nonzero check_value to assert quality_score > 0.0
- Address CodeRabbit threads on evidence description mismatches

* fix(OMN-10846,OMN-10847,OMN-10848): replace hardcoded gh pr diff 606 with receipt-check pattern

Switch dod_evidence check_values from inline `gh pr diff 606 -R omnimarket`
commands to `grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/...`
to comply with the legacy-gh-pr lint rule (OMN-9350) that forbids hardcoded
PR numbers in gh pr commands.

* fix(OMN-10846,OMN-10847,OMN-10848): correct commit_sha provenance in upstream PR receipts

Set commit_sha to 5a3dd07b (omnimarket PR #606 head SHA) in all receipts
that document omnimarket evidence. Previously had the OCC branch SHA
which misrepresents the provenance of the upstream evidence.

* fix(OMN-10848): tighten quality-score probe to require > 0.0 match only

Remove the loose |assert.*quality_score fallback from the probe regex.
The actual diff output confirms quality_score.*>.*0.0 matches directly,
so the tighter form is both accurate and avoids false-positive via None-check.

* fix(OMN-10846): align dod-no-handler-modification description with receipt-check approach

The description previously said "diff shows only X added" but the check
reads a receipt file — mismatched claim/verification. Updated to say
"verified via receipt" to match the actual check pattern.
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