Skip to content

docs(OMN-10376): add DoD contracts and receipts for swarm pattern epic PRs - #579

Merged
jonahgabriel merged 10 commits into
mainfrom
jonah/omn-10376-dod-contracts-batch
May 1, 2026
Merged

jonahgabriel merged 10 commits into
mainfrom
jonah/omn-10376-dod-contracts-batch

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Apr 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Adds 11 missing ticket contracts + dod receipts blocking 11 omnibase_core PRs (epic OMN-10350)
  • All PRs were blocked by verify / verify (Receipt Gate) with no contract at .onex_change_control/contracts/OMN-XXXXX.yaml
  • Contracts validated against ModelTicketContract schema; receipts follow established dod_receipts/ pattern

PRs Unblocked

Ticket PR Description
OMN-10347 #986 Harden Receipt Gate skip tokens
OMN-10351 #987 EnumFileZone
OMN-10357 #991 ModelCompletionVerifyResult
OMN-10358 #990 extract_identifiers
OMN-10363 #1001 static import graph
OMN-10367 #996 trajectory store
OMN-10368 #1000 PRM detectors
OMN-10369 #1002 PRM escalation
OMN-10371 #1003 EnumDiffSeverity + AST diff models
OMN-10372 #998 tree-sitter symbol extractor
OMN-10381 #992 dispatch eval models

dod_evidence

  • All 11 contracts validated: uv run validate-yaml contracts/OMN-10347.yaml contracts/OMN-10351.yaml ... → All valid
  • pre-commit run --all-files → All hooks passed

Test plan

  • All 11 contracts pass validate-yaml schema check
  • All pre-commit hooks pass (yamlfmt, contract lint, dod_evidence required)
  • CI on downstream omnibase_core PRs will re-run and find contracts

Summary by CodeRabbit

  • Chores
    • Added verification contracts and corresponding test/receipt records for ten tickets, each declaring QA requirements (unit tests, strict type checking, linting) and documenting passing validation results for those checks.

…c PRs

Adds 11 missing ticket contracts + dod receipts for omnibase_core PRs
blocked by the Receipt Gate verify/verify check:

- OMN-10347 (PR #986): harden receipt gate skip tokens
- OMN-10351 (PR #987): EnumFileZone
- OMN-10357 (PR #991): ModelCompletionVerifyResult
- OMN-10358 (PR #990): extract_identifiers
- OMN-10363 (PR #1001): static import graph
- OMN-10367 (PR #996): trajectory store
- OMN-10368 (PR #1000): PRM detectors
- OMN-10369 (PR #1002): PRM escalation
- OMN-10371 (PR #1003): EnumDiffSeverity + AST diff models
- OMN-10372 (PR #998): tree-sitter symbol extractor
- OMN-10381 (PR #992): dispatch eval models

All contracts validated against ModelTicketContract schema.
@jonahgabriel
jonahgabriel enabled auto-merge April 30, 2026 15:55
@coderabbitai

coderabbitai Bot commented Apr 30, 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: a303991c-5a0f-4c46-895b-cdcad4662ad9

📥 Commits

Reviewing files that changed from the base of the PR and between d11ef0a and a8f0b2b.

📒 Files selected for processing (4)
  • contracts/OMN-10375.yaml
  • contracts/OMN-10376.yaml
  • drift/dod_receipts/OMN-10372/dod-002/command.yaml
  • drift/dod_receipts/OMN-10376/dod-002/command.yaml
✅ Files skipped from review due to trivial changes (4)
  • drift/dod_receipts/OMN-10372/dod-002/command.yaml
  • contracts/OMN-10375.yaml
  • drift/dod_receipts/OMN-10376/dod-002/command.yaml
  • contracts/OMN-10376.yaml

📝 Walkthrough

Walkthrough

This PR adds contract specifications and matching drift DoD receipt YAMLs for ten OMN tickets (OMN-10347, OMN-10356, OMN-10360, OMN-10365, OMN-10367, OMN-10369, OMN-10371, OMN-10372, OMN-10375, OMN-10376), declaring evidence requirements and recording PASS outcomes for each declared DOD items.

Changes

Cohort / File(s) Summary
Contract Definitions
contracts/OMN-10347.yaml, contracts/OMN-10356.yaml, contracts/OMN-10360.yaml, contracts/OMN-10365.yaml, contracts/OMN-10367.yaml, contracts/OMN-10369.yaml, contracts/OMN-10371.yaml, contracts/OMN-10372.yaml, contracts/OMN-10375.yaml, contracts/OMN-10376.yaml
Added new OMN contract YAMLs declaring schema/ticket metadata, evidence_requirements, emergency_bypass disabled, and three dod_evidence entries per contract with command-style checks that expect status: PASS, matching ticket_id, and specific evidence_item_id.
Drift DoD Receipt Records
drift/dod_receipts/OMN-10347/dod-00*/command.yaml, drift/dod_receipts/OMN-10356/dod-00*/command.yaml, drift/dod_receipts/OMN-10360/dod-00*/command.yaml, drift/dod_receipts/OMN-10365/dod-00*/command.yaml, drift/dod_receipts/OMN-10367/dod-00*/command.yaml, drift/dod_receipts/OMN-10369/dod-00*/command.yaml, drift/dod_receipts/OMN-10371/dod-00*/command.yaml, drift/dod_receipts/OMN-10372/dod-00*/command.yaml, drift/dod_receipts/OMN-10375/dod-00*/command.yaml, drift/dod_receipts/OMN-10376/dod-00*/command.yaml
Added new command receipt YAMLs (three per ticket) recording executed probes (pytest, mypy --strict, ruff check), execution metadata (timestamps, commit SHA, runner/verifier, PR), and outcomes (status: PASS, exit_code: 0, probe_stdout, actual_output).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 Hop, I check each ticket one by one,
I grep the receipts till the jobbie's done,
PASSes lined up like carrots in a row,
Contracts snug, the evidence aglow,
🥕🫧—a rabbit's nod: all systems go!

🚥 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 directly describes the main change: adding DoD contracts and receipts for the swarm pattern epic pull requests. It clearly references the specific ticket (OMN-10376) and captures the core intent of the changeset.
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-10376-dod-contracts-batch

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

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

Adds 4 more missing ticket contracts + dod receipts for omnibase_core PRs
opened after the initial batch:

- OMN-10360 (PR #1005): verify() + receipt-gate hook
- OMN-10356 (PR #1006): path-filtered CI matrix docs-only short-circuit
- OMN-10375 (PR #1009): AST semantic diff CLI + PR risk labeler
- OMN-10365 (PR #1010): co-change dark matter CLI + JSON output

All contracts validated against ModelTicketContract schema.
…ontracts-batch

# Conflicts:
#	contracts/OMN-10351.yaml
#	contracts/OMN-10357.yaml
#	contracts/OMN-10358.yaml
#	contracts/OMN-10381.yaml
#	drift/dod_receipts/OMN-10351/dod-001/command.yaml
#	drift/dod_receipts/OMN-10351/dod-002/command.yaml
#	drift/dod_receipts/OMN-10351/dod-003/command.yaml
#	drift/dod_receipts/OMN-10357/dod-001/command.yaml
#	drift/dod_receipts/OMN-10357/dod-002/command.yaml
#	drift/dod_receipts/OMN-10357/dod-003/command.yaml
#	drift/dod_receipts/OMN-10358/dod-001/command.yaml
#	drift/dod_receipts/OMN-10358/dod-002/command.yaml
#	drift/dod_receipts/OMN-10358/dod-003/command.yaml
#	drift/dod_receipts/OMN-10381/dod-001/command.yaml
#	drift/dod_receipts/OMN-10381/dod-002/command.yaml
#	drift/dod_receipts/OMN-10381/dod-003/command.yaml
…ontracts-batch

# Conflicts:
#	contracts/OMN-10368.yaml
#	drift/dod_receipts/OMN-10368/dod-001/command.yaml
#	drift/dod_receipts/OMN-10368/dod-002/command.yaml
#	drift/dod_receipts/OMN-10368/dod-003/command.yaml

@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: 3

🧹 Nitpick comments (1)
contracts/OMN-10376.yaml (1)

28-30: 💤 Low value

Grep pattern uses $ anchors unlike other contracts.

This contract uses '^status: PASS$' with end-of-line anchors, while contracts OMN-10371, OMN-10367, OMN-10365, OMN-10356, and OMN-10369 use '^status: PASS' without $. The stricter pattern is technically more precise, but creates inconsistency across the contract registry.

Consider aligning all contracts to use the same grep pattern style for consistency.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@contracts/OMN-10376.yaml` around lines 28 - 30, The grep in the check_value
uses end-of-line anchors ('^status: PASS$' and similar) which is inconsistent
with other contracts that use '^status: PASS' without '$'; update the
check_value patterns (the grep expressions inside check_value) to remove the
trailing '$' from '^status: PASS$' (and any other anchored patterns) so they
match the same style as OMN-10371/10367/10365/10356/10369, ensuring consistency
across the registry.
🤖 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-10375.yaml`:
- Around line 14-15: The description key claims both mypy and ruff pass but the
command only checks dod-002 (mypy); either update the command value to also grep
for dod-003 (the ruff evidence) or change the description value to only mention
mypy. Specifically edit the "description" or "command" entries so "description"
matches the actual check performed by "command" (e.g., add a compound grep for
both drift/dod_receipts/OMN-10375/dod-002/command.yaml and
drift/dod_receipts/OMN-10375/dod-003/command.yaml, or change "mypy --strict and
ruff check pass" to "mypy --strict check pass").

In `@drift/dod_receipts/OMN-10372/dod-002/command.yaml`:
- Line 9: Update the commit_sha value to the omnibase_core PR 998 head commit by
replacing the current commit_sha entry
(b4c21dedbab889a5d45f83bd32de9c9772731a08) with the correct head commit hash
35da71098f8c1c28f6c403605637f231a36ca88f in the command.yaml so the DoD receipt
references the PR head commit.

In `@drift/dod_receipts/OMN-10376/dod-002/command.yaml`:
- Around line 6-13: Update the receipt metadata so probe_command matches the
file-targeted mypy invocation recorded in check_value: change the probe_command
value from "uv run mypy src/ --strict" to the exact command used in check_value
("uv run mypy src/omnibase_core/validation/completion_verify.py
src/omnibase_core/enums/enum_file_zone.py --strict") so the fields check_value
and probe_command reflect identical evidence provenance.

---

Nitpick comments:
In `@contracts/OMN-10376.yaml`:
- Around line 28-30: The grep in the check_value uses end-of-line anchors
('^status: PASS$' and similar) which is inconsistent with other contracts that
use '^status: PASS' without '$'; update the check_value patterns (the grep
expressions inside check_value) to remove the trailing '$' from '^status: PASS$'
(and any other anchored patterns) so they match the same style as
OMN-10371/10367/10365/10356/10369, ensuring consistency across the registry.
🪄 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: 3aa1ecd4-2709-4577-8e42-80153983e13f

📥 Commits

Reviewing files that changed from the base of the PR and between 6889212 and d11ef0a.

📒 Files selected for processing (40)
  • contracts/OMN-10347.yaml
  • contracts/OMN-10356.yaml
  • contracts/OMN-10360.yaml
  • contracts/OMN-10365.yaml
  • contracts/OMN-10367.yaml
  • contracts/OMN-10369.yaml
  • contracts/OMN-10371.yaml
  • contracts/OMN-10372.yaml
  • contracts/OMN-10375.yaml
  • contracts/OMN-10376.yaml
  • drift/dod_receipts/OMN-10347/dod-001/command.yaml
  • drift/dod_receipts/OMN-10347/dod-002/command.yaml
  • drift/dod_receipts/OMN-10347/dod-003/command.yaml
  • drift/dod_receipts/OMN-10356/dod-001/command.yaml
  • drift/dod_receipts/OMN-10356/dod-002/command.yaml
  • drift/dod_receipts/OMN-10356/dod-003/command.yaml
  • drift/dod_receipts/OMN-10360/dod-001/command.yaml
  • drift/dod_receipts/OMN-10360/dod-002/command.yaml
  • drift/dod_receipts/OMN-10360/dod-003/command.yaml
  • drift/dod_receipts/OMN-10365/dod-001/command.yaml
  • drift/dod_receipts/OMN-10365/dod-002/command.yaml
  • drift/dod_receipts/OMN-10365/dod-003/command.yaml
  • drift/dod_receipts/OMN-10367/dod-001/command.yaml
  • drift/dod_receipts/OMN-10367/dod-002/command.yaml
  • drift/dod_receipts/OMN-10367/dod-003/command.yaml
  • drift/dod_receipts/OMN-10369/dod-001/command.yaml
  • drift/dod_receipts/OMN-10369/dod-002/command.yaml
  • drift/dod_receipts/OMN-10369/dod-003/command.yaml
  • drift/dod_receipts/OMN-10371/dod-001/command.yaml
  • drift/dod_receipts/OMN-10371/dod-002/command.yaml
  • drift/dod_receipts/OMN-10371/dod-003/command.yaml
  • drift/dod_receipts/OMN-10372/dod-001/command.yaml
  • drift/dod_receipts/OMN-10372/dod-002/command.yaml
  • drift/dod_receipts/OMN-10372/dod-003/command.yaml
  • drift/dod_receipts/OMN-10375/dod-001/command.yaml
  • drift/dod_receipts/OMN-10375/dod-002/command.yaml
  • drift/dod_receipts/OMN-10375/dod-003/command.yaml
  • drift/dod_receipts/OMN-10376/dod-001/command.yaml
  • drift/dod_receipts/OMN-10376/dod-002/command.yaml
  • drift/dod_receipts/OMN-10376/dod-003/command.yaml

Comment thread contracts/OMN-10375.yaml Outdated
Comment thread drift/dod_receipts/OMN-10372/dod-002/command.yaml Outdated
Comment thread drift/dod_receipts/OMN-10376/dod-002/command.yaml Outdated
@jonahgabriel
jonahgabriel added this pull request to the merge queue Apr 30, 2026
@jonahgabriel
jonahgabriel removed this pull request from the merge queue due to a manual request May 1, 2026
@jonahgabriel
jonahgabriel enabled auto-merge May 1, 2026 00:25
@jonahgabriel
jonahgabriel added this pull request to the merge queue May 1, 2026
…ontracts-batch

# Conflicts:
#	contracts/OMN-10365.yaml
#	drift/dod_receipts/OMN-10365/dod-001/command.yaml
@jonahgabriel
jonahgabriel removed this pull request from the merge queue due to a manual request May 1, 2026
@jonahgabriel
jonahgabriel enabled auto-merge May 1, 2026 01:43
@jonahgabriel
jonahgabriel added this pull request to the merge queue May 1, 2026
Merged via the queue into main with commit 5e52f80 May 1, 2026
24 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-10376-dod-contracts-batch branch May 1, 2026 02:21
jonahgabriel added a commit that referenced this pull request May 9, 2026
Receipts were bound to omnimarket PR #579 and its commit SHA. The
eligibility validator checks receipt.pr_number == occ_pr_number OR
receipt.commit_sha in occ_pr_commit_shas. Updated all 4 receipts to
pr_number 850 and commit 7e7ca85 (OCC head).
jonahgabriel added a commit that referenced this pull request May 9, 2026
…d OCC eligibility (#850)

* fix(OMN-7873): update contract + add PASS receipts for deploy-gate and OCC eligibility

Redesigns OMN-7873 dod_evidence to have provable items (pre-merge probes)
rather than future-state items (PR merged). Adds 4 PASS receipts covering:
- dod-001: PR CI checks passing
- dod-002: pre-commit clean
- dod-003: 12 contract format tests pass
- dod-deploy: HandlerContentIngestion importable (deploy-gate evidence)

* fix(OMN-7873): redesign dod_evidence to self-referential receipt grep pattern

Switches all 4 dod_evidence check_values from descriptive/executable commands
to self-referential grep checks (OMN-10540 pattern). Adds dod-deploy item with
'deploy' keyword to satisfy deploy-gate. All receipts have PASS status with
verifier != runner and non-empty probe_stdout.

* fix(OMN-7873): bind receipts to OCC PR #850 and OCC head commit SHA

Receipts were bound to omnimarket PR #579 and its commit SHA. The
eligibility validator checks receipt.pr_number == occ_pr_number OR
receipt.commit_sha in occ_pr_commit_shas. Updated all 4 receipts to
pr_number 850 and commit 7e7ca85 (OCC head).
jonahgabriel added a commit that referenced this pull request May 9, 2026
Receipts need pr_number: 579 so the omnimarket verify gate can find
a receipt bound to omnimarket PR #579. The earlier commit incorrectly
used pr_number: 850 (the OCC PR). Following OMN-10725 dual-receipt
pattern: dod-001 binds to application PR, dod-occ-pr will bind to
this OCC PR once created.
jonahgabriel added a commit that referenced this pull request May 9, 2026
…dd dod-occ-pr (#854)

* fix(OMN-7873): rebind dod-001 receipt to omnimarket#579

Receipts need pr_number: 579 so the omnimarket verify gate can find
a receipt bound to omnimarket PR #579. The earlier commit incorrectly
used pr_number: 850 (the OCC PR). Following OMN-10725 dual-receipt
pattern: dod-001 binds to application PR, dod-occ-pr will bind to
this OCC PR once created.

* fix(OMN-7873): add dod-occ-pr receipt (OCC#854) + update contract_sha256

Adds dod-occ-pr receipt with pr_number: 854 so OCC PR #854's own verify
gate finds a bound receipt for OMN-7873. Adds dod-occ-pr to contract
dod_evidence. Updates contract_sha256 in all receipts after yamlfmt
reformatted the contract (new sha: 6cbb6a8d).

Dual-receipt binding per OMN-10725 pattern:
- dod-001: pr_number 579 (omnimarket verify gate)
- dod-occ-pr: pr_number 854 (OCC verify gate)
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