Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions contracts/OMN-15651.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,28 @@ dod_evidence:
checks:
- check_type: "command"
check_value: "gh pr view 6303 --repo OmniNode-ai/onex_change_control --json number,state"
- id: "dod-OmniNode-ai-omnimarket-pr-2014-superseded"
description: >-
Append-only supersession of dod-OmniNode-ai-omnimarket-pr-2014. That entry asserted OmniNode-ai/omnimarket#2014
open on dev at head 62c1f1ee8e2fdf84c438d072b3e7e97b4d4a5485, but #2014 is now CLOSED and unmerged
(state=closed, merged_at=null, closed_at=2026-08-03T20:37:18Z, confirmed live via `gh api repos/OmniNode-ai/omnimarket/pulls/2014`),
so its pr-live-state subcheck can never resolve to a merged/open evidence-bearing PR. #2014 was
legitimately superseded on the same ticket by #2015, which MERGED (mergeCommit 54356a831e3d8876c69373cac884a3df2a5653f7,
merged_at=2026-08-03T21:22:25Z, confirmed live via `gh api repos/OmniNode-ai/omnimarket/pulls/2015`)
— the evidence content this ticket needs (curated system-prompt coverage for the documentation/validator_generation
task classes) is already bound and PASS-receipted under dod-OmniNode-ai-omnimarket-pr-2015 in this
same contract. This entry retires only the pr-live-state expectation against the closed #2014; the
superseded entry stays verbatim above for audit.
source: "manual"
status: "verified"
evidence_artifact: "supersedes_dod_evidence:dod-OmniNode-ai-omnimarket-pr-2014"
checks:
- check_type: "command"
check_value: |-
state2014="$(gh api repos/OmniNode-ai/omnimarket/pulls/2014 --jq '.state')" && merged2014="$(gh api repos/OmniNode-ai/omnimarket/pulls/2014 --jq '.merged_at')" && state2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.state')" && merged2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.merged_at')" && mergesha2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.merge_commit_sha')" && test "$state2014" = "closed" && test -z "$merged2014" && test "$state2015" = "closed" && test -n "$merged2015" && test "$mergesha2015" = "54356a831e3d8876c69373cac884a3df2a5653f7" && printf "omnimarket #2014 CLOSED-unmerged (merged_at=null/empty), superseded by #2015 MERGED %s at %s\n" "$mergesha2015" "$merged2015"
- id: "occ-self-bind-pr-6318"
description: "Binds OMN-15651 to OCC companion PR #6318 (self-bind)."
source: "generated"
checks:
- check_type: "command"
check_value: "gh pr view 6318 --repo OmniNode-ai/onex_change_control --json number,state"
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-15651"
evidence_item_id: "dod-OmniNode-ai-omnimarket-pr-2014-superseded"
check_type: "command"
Comment on lines +1 to +5

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 | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

set -eu
printf '%s\n' '--- receipt files ---'
git ls-files 'drift/dod_receipts/OMN-15651/*'
printf '%s\n' '--- target receipt ---'
cat -n drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml
printf '%s\n' '--- contract references ---'
rg -n -C 3 'OMN-15651|2014|2015|contract_sha256|contract_entry_sha256' contracts drift | head -250
printf '%s\n' '--- receipt lookup references ---'
rg -n -C 3 'dod-OmniNode-ai-omnimarket-pr-2014-superseded|command\.yaml|dod_receipts' --glob '!drift/dod_receipts/**' .

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

set -eu
printf '%s\n' '--- receipt model definitions and validators ---'
rg -n -C 4 'ModelDodReceipt|contract_entry_sha256|contract_sha256|run_timestamp|dod_receipts' --glob '*.py' --glob '*.ts' --glob '*.js' --glob '*.yaml' --glob '*.yml' .

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

set -eu
printf '%s\n' '--- OMN-15651 tracked files ---'
git ls-files | awk '/^drift\/dod_receipts\/OMN-15651\// || $0=="contracts/OMN-15651.yaml"'
printf '%s\n' '--- target receipt ---'
cat -n drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml
printf '%s\n' '--- OMN-15651 contract ---'
cat -n contracts/OMN-15651.yaml
printf '%s\n' '--- exact lookup references ---'
rg -n -C 5 'dod-OmniNode-ai-omnimarket-pr-2014-superseded' contracts scripts .github drift --glob '!drift/dod_receipts/**' || true
printf '%s\n' '--- timestamp-path rules and receipt model references ---'
rg -n -C 3 'timestamp|run_timestamp|ModelDodReceipt|contract_entry_sha256|contract_sha256' scripts src .github pyproject.toml README.md --glob '*.py' --glob '*.yaml' --glob '*.yml' --glob '*.md' 2>/dev/null | head -300

Repository: OmniNode-ai/onex_change_control

Length of output: 48885


🏁 Script executed:

set -eu
printf '%s\n' '--- hash implementation and receipt discovery ---'
rg -n -C 8 'def compute_contract_entry_sha256|def compute_contract_sha256|canonical.*receipt|rglob|glob.*yaml|run_timestamp' scripts src --glob '*.py' | head -500
printf '%s\n' '--- hardening path checks ---'
sed -n '770,830p' scripts/validation/check_receipt_hardening.py
printf '%s\n' '--- comparable supersession receipts ---'
for f in \
  drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014/command.yaml \
  drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2015/command.yaml \
  drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2015-ci/command.yaml \
  drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omninode_infra-pr-809/command.yaml; do
  echo "--- $f"
  cat -n "$f"
done
printf '%s\n' '--- all exact path references including hidden and workflow files ---'
rg -n -C 3 'OMN-15651|dod-OmniNode-ai-omnimarket-pr-2014-superseded' .github scripts tests contracts --glob '*.py' --glob '*.yaml' --glob '*.yml' --glob '*.sh' 2>/dev/null | head -400

Repository: OmniNode-ai/onex_change_control

Length of output: 50387


🏁 Script executed:

set -eu
printf '%s\n' '--- receipt filename and discovery logic ---'
rg -n -C 5 'command\.yaml|receipt_path|dod_receipts|rglob\("\*\.yaml"\)|glob\("\*\.yaml"\)|run_timestamp' \
  scripts/validation scripts --glob '*.py' --glob '*.sh' | grep -E 'check_receipt|receipt_gate|validator|dod_receipts|command\.yaml|receipt_path|run_timestamp' | head -400
printf '%s\n' '--- receipt documentation ---'
rg -n -C 4 'drift/dod_receipts/<TICKET>/<ITEM_ID>/<run_timestamp>|timestamp.*receipt|command\.yaml' \
  docs .github scripts README.md --glob '*.md' --glob '*.py' --glob '*.yml' --glob '*.yaml' 2>/dev/null | head -300
printf '%s\n' '--- exact target path status ---'
test -f drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml
test ! -e drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/2026-08-10T12:27:14Z.yaml
printf '%s\n' 'current=command.yaml required=2026-08-10T12:27:14Z.yaml'

Repository: OmniNode-ai/onex_change_control

Length of output: 50389


Use the required timestamp receipt path.

Move the receipt to drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/2026-08-10T12:27:14Z.yaml.

🤖 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-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml`
around lines 1 - 5, Move the receipt represented by the command metadata to the
required timestamped path, preserving its existing contents and metadata:
2026-08-10T12:27:14Z.yaml under the OMN-15651 receipt directory.

Source: Coding guidelines

check_value: |-
state2014="$(gh api repos/OmniNode-ai/omnimarket/pulls/2014 --jq '.state')" && merged2014="$(gh api repos/OmniNode-ai/omnimarket/pulls/2014 --jq '.merged_at')" && state2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.state')" && merged2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.merged_at')" && mergesha2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.merge_commit_sha')" && test "$state2014" = "closed" && test -z "$merged2014" && test "$state2015" = "closed" && test -n "$merged2015" && test "$mergesha2015" = "54356a831e3d8876c69373cac884a3df2a5653f7" && printf "omnimarket #2014 CLOSED-unmerged (merged_at=null/empty), superseded by #2015 MERGED %s at %s\n" "$mergesha2015" "$merged2015"
contract_entry_sha256: "sha256:fd76673e563740a34bdc68fb7d6e33aad85ec20c40dea99744c6d24861e5b5b6"

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 | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

expected="sha256:$(LC_ALL=C shasum -a 256 contracts/OMN-15651.yaml | awk '{print $1}')"
actual="$(awk -F'"' '/^contract_sha256:/ { print $2 }' drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml)"

test "$actual" = "$expected"

Repository: OmniNode-ai/onex_change_control

Length of output: 213


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- receipt ---'
cat -n drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml

printf '%s\n' '--- contract metadata and hashes ---'
sha256sum contracts/OMN-15651.yaml
rg -n -C 4 'OMN-15651|2014|2015|contract_entry_sha256|contract_sha256' contracts drift/dod_receipts

printf '%s\n' '--- receipt and validator references ---'
rg -n -C 3 'ModelDodReceipt|validator_receipt_gate|contract_entry_sha256|contract_sha256' . -g '*.py' -g '*.yaml' -g '*.yml' -g '*.md'

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -euo pipefail

receipt='drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml'
contract='contracts/OMN-15651.yaml'

printf '%s\n' '--- target receipt ---'
cat -n "$receipt"

printf '%s\n' '--- raw contract hash ---'
sha256sum "$contract"

printf '%s\n' '--- target contract ---'
cat -n "$contract"

printf '%s\n' '--- target-specific references ---'
rg -n -C 5 'OMN-15651|omnimarket.*2014|omnimarket.*2015|2014|2015|fd76673e563740a34bdc68fb7d6e33aad85ec20c40dea99744c6d24861e5b5b6' contracts drift/dod_receipts/OMN-15651

printf '%s\n' '--- validator references ---'
rg -n -C 4 'validator_receipt_gate|ModelDodReceipt' . -g '*.py' -g '*.yaml' -g '*.yml' -g '*.md' | head -n 300

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- validator locations ---'
rg -l 'validator_receipt_gate|compute_receipt_contract_hashes|contract_entry_sha256' . \
  -g '*.py' -g '*.yaml' -g '*.yml' | rg '(^|/)(omnibase|scripts|tests|tools|drift|contracts)' | head -n 100

printf '%s\n' '--- exact hash implementations ---'
rg -n -C 8 'def .*receipt.*hash|def .*contract.*hash|validator_receipt_gate|contract_entry_sha256' \
  . -g '*.py' | head -n 250

printf '%s\n' '--- receipts in target directory with both bindings ---'
for f in drift/dod_receipts/OMN-15651/*/*.yaml; do
  fields="$(awk -F: '/^(contract_sha256|contract_entry_sha256):/ {print $1}' "$f" | paste -sd, -)"
  case "$fields" in
    *contract_sha256*contract_entry_sha256*|*contract_entry_sha256*contract_sha256*)
      printf '%s: %s\n' "$f" "$fields"
      ;;
  esac
done

Repository: OmniNode-ai/onex_change_control

Length of output: 7796


Add the required raw contract hash binding.

Add contract_sha256: "sha256:2a7eef68c43d777991e3a9f12549764658bf9c062db5fa1826dcd580ab80ebc4" to the receipt. Keep contract_entry_sha256 unchanged. Bind both hashes with omnibase_core.validation.validator_receipt_gate.

🤖 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-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml`
at line 8, Add the required contract_sha256 binding with value
sha256:2a7eef68c43d777991e3a9f12549764658bf9c062db5fa1826dcd580ab80ebc4 in the
receipt, while preserving contract_entry_sha256 unchanged. Ensure both hash
fields are validated through omnibase_core.validation.validator_receipt_gate.

Source: Coding guidelines

status: PASS
run_timestamp: "2026-08-10T12:27:14Z"
commit_sha: "c87e48f91639398e9ca79fce54ed77a9b7108c0c"

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 | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

gh api repos/OmniNode-ai/omnimarket/pulls/2015 \
  --jq '{head_sha: .head.sha, merge_sha: .merge_commit_sha, merged_at: .merged_at}'

Repository: OmniNode-ai/onex_change_control

Length of output: 315


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- receipt ---'
cat -n drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml

printf '%s\n' '--- contract references ---'
rg -n -C 3 'OMN-15651|2014|2015|contract_sha256|contract_entry_sha256|commit_sha' contracts/OMN-15651.yaml

printf '%s\n' '--- receipt consumers and schema references ---'
rg -n -C 2 'dod_receipts|ModelDodReceipt|contract_entry_sha256|contract_sha256' --glob '*.py' --glob '*.yaml' --glob '*.yml' --glob '*.md' .

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- receipt ---'
cat -n drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml

printf '%s\n' '--- contract ---'
cat -n contracts/OMN-15651.yaml

printf '%s\n' '--- OMN-15651 receipt paths ---'
git ls-files 'drift/dod_receipts/OMN-15651/**' | sort

printf '%s\n' '--- focused schema/path references ---'
rg -n -C 2 'ModelDodReceipt|run_timestamp|contract_sha256|contract_entry_sha256' \
  --glob '*.py' --glob '*.yaml' --glob '*.yml' \
  drift contracts src tests 2>/dev/null | head -n 300

Repository: OmniNode-ai/onex_change_control

Length of output: 50008


🏁 Script executed:

#!/bin/bash
set -euo pipefail

expected='981d0cb29ff966bae267e71848e54231d2946f96'

printf '%s\n' '--- PR `#2015` head commit ---'
gh api "repos/OmniNode-ai/omnimarket/commits/$expected" --jq '{sha: .sha, message: .commit.message}'

printf '%s\n' '--- PR `#2015` receipt ---'
cat -n drift/dod_receipts/OMN-15651/dod-OmniNode-ai-omnimarket-pr-2015/command.yaml

printf '%s\n' '--- commit_sha occurrences for OMN-15651 ---'
rg -n -C 1 '^commit_sha:' drift/dod_receipts/OMN-15651

Repository: OmniNode-ai/onex_change_control

Length of output: 11730


Bind commit_sha to the external PR #2015 head commit.

Set commit_sha to 981d0cb29ff966bae267e71848e54231d2946f96. This is the PR #2015 head commit and differs from the current value.

🤖 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-15651/dod-OmniNode-ai-omnimarket-pr-2014-superseded/command.yaml`
at line 11, Update the commit_sha field in the command configuration to
981d0cb29ff966bae267e71848e54231d2946f96, replacing the current commit
reference.

Source: Learnings

runner: "claude-code-agent:omn-15651-occ-supersede-pr2014"
verifier: "github-cli-live-readback"
probe_command: |-
state2014="$(gh api repos/OmniNode-ai/omnimarket/pulls/2014 --jq '.state')" && merged2014="$(gh api repos/OmniNode-ai/omnimarket/pulls/2014 --jq '.merged_at')" && state2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.state')" && merged2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.merged_at')" && mergesha2015="$(gh api repos/OmniNode-ai/omnimarket/pulls/2015 --jq '.merge_commit_sha')" && test "$state2014" = "closed" && test -z "$merged2014" && test "$state2015" = "closed" && test -n "$merged2015" && test "$mergesha2015" = "54356a831e3d8876c69373cac884a3df2a5653f7" && printf "omnimarket #2014 CLOSED-unmerged (merged_at=null/empty), superseded by #2015 MERGED %s at %s\n" "$mergesha2015" "$merged2015"
probe_stdout: |
omnimarket #2014 CLOSED-unmerged (merged_at=null/empty), superseded by #2015 MERGED 54356a831e3d8876c69373cac884a3df2a5653f7 at 2026-08-03T21:22:25Z
actual_output: >-
PASS, exit 0, executed verbatim as committed. OmniNode-ai/omnimarket#2014: state=closed, merged_at=null
(confirmed live via `gh api repos/OmniNode-ai/omnimarket/pulls/2014`). OmniNode-ai/omnimarket#2015:
state=closed, merged_at=2026-08-03T21:22:25Z, merge_commit_sha=54356a831e3d8876c69373cac884a3df2a5653f7
(confirmed live via `gh api repos/OmniNode-ai/omnimarket/pulls/2015`). #2014 is a legitimately superseded
stale citation on OMN-15651 — the ticket's evidence-bearing PR is the merged #2015, whose content is
already bound separately under dod-OmniNode-ai-omnimarket-pr-2015 in this contract. This receipt exists
to satisfy the pre_tool_use_done_flip_guard.sh (OMN-13856) citation-supersession carve-out added in
OMN-15712 (done_flip_guard.py::pr_citation_state), which requires a PASS receipt whose evidence_item_id
ends in "-superseded" and whose pr_number matches the blocking closed-unmerged ref to exclude it from
the Done-flip block.
exit_code: 0
pr_number: 2014
branch: "jonah/omn-15651-occ-supersede-pr2014"
19 changes: 19 additions & 0 deletions drift/dod_receipts/OMN-15651/occ-self-bind-pr-6318/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-15651"
evidence_item_id: "occ-self-bind-pr-6318"
check_type: "command"
check_value: "gh pr view 6318 --repo OmniNode-ai/onex_change_control --json number,state"
contract_entry_sha256: "sha256:f6a4888d20c433ba0e1a8883fe6bc09d6f37668550c1574b14a32f6a7e643e12"
status: PASS
run_timestamp: "2026-08-10T12:38:00Z"
commit_sha: "bef8db7f7061a4cb97537b8c213b2835482c66bb"
runner: "claude-code-agent:omn-15651-occ-supersede-pr2014"
verifier: "github-cli-live-readback"
probe_command: "gh pr view 6318 --repo OmniNode-ai/onex_change_control --json number,state"
probe_stdout: |
{"number":6318,"state":"OPEN"}
actual_output: "PASS: OCC self-bind for OMN-15651 (OCC#6318)."
exit_code: 0
pr_number: 6318
branch: "jonah/omn-15651-occ-supersede-pr2014"
Loading