Skip to content

evidence(OMN-15628): OCC companion for OmniNode-ai/omnibase_infra#2617 - #5911

Merged
jonahgabriel merged 2 commits into
devfrom
codex/omn-15628-infra-2617-occ-002835
Aug 2, 2026
Merged

jonahgabriel merged 2 commits into
devfrom
codex/omn-15628-infra-2617-occ-002835

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Aug 2, 2026 •

Copy link
Copy Markdown
Contributor

Deterministic OCC evidence companion for OmniNode-ai/omnibase_infra#2617. Adds central contract evidence and PASS receipt for exact product head fbc23a702f8528087b519058cc82fd7b7677c469.\n\nEvidence-Ticket: OMN-15628

Summary by CodeRabbit

  • Documentation
    • Added verified evidence records for the referenced infrastructure and change-control pull requests.
    • Included commands, verification results, branch and commit details, and captured outputs.
    • Recorded successful checks confirming the relevant pull requests remain open.

@coderabbitai

coderabbitai Bot commented Aug 2, 2026 •

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The change adds OMN-15628 evidence entries for omnibase_infra PR 2617 and onex_change_control PR 5911. It also adds passing command receipts with verification output and execution metadata.

Changes

OMN-15628 verification evidence

Layer / File(s) Summary
Upstream PR 2617 verification
contracts/OMN-15628.yaml, drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
Adds a DoD evidence entry and a passing gh pr view receipt for omnibase_infra PR 2617.
OCC self-bind PR 5911 verification
contracts/OMN-15628.yaml, drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/command.yaml
Adds an OCC self-bind evidence entry and a passing verification receipt for onex_change_control PR 5911.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested labels: occ:machine-minted

🚥 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 identifies the OCC evidence companion for the referenced OmniNode-ai/omnibase_infra pull request.
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 codex/omn-15628-infra-2617-occ-002835

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: 5

🤖 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 `@contracts/OMN-15628.yaml`:
- Around line 133-141: Update contracts/OMN-15628.yaml lines 133-141 so the PR
2617 checks query headRefOid and assert
fbc23a702f8528087b519058cc82fd7b7677c469. Update
drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
lines 6-20 to record headRefOid equal to commit_sha while keeping external
headRefName separate from local branch; add contract_sha256 and regenerate
contract_entry_sha256 using omnibase_core.validation.validator_receipt_gate.

In
`@drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml`:
- Around line 1-2: Rename the receipt file from command.yaml to the required
recorded run_timestamp.yaml format under the same ticket and item directory, and
update any lookup or reference that depends on the old command.yaml path to use
the timestamp-based path.
- Line 8: Move the omnibase_core.ModelDodReceipt currently stored in
command.yaml to the canonical
drift/dod_receipts/<TICKET>/<ITEM_ID>/<run_timestamp>.yaml timestamp path,
preserving contract_entry_sha256 as the strict binding and excluding any
contract_sha256 field.

In `@drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/command.yaml`:
- Around line 1-7: Rename the receipt from command.yaml to the canonical
timestamp-based filename 2026-08-02T00:28:35Z.yaml, set
ModelDodReceipt.check_value to that final receipt path, and preserve the
executed gh pr view command under probe_command.
- Around line 11-16: Update the receipt’s probe_stdout for the gh pr view
command to include headRefName and headRefOid, using the PR head values so the
recorded commit_sha relationship is explicit while preserving the existing
number and state fields.
🪄 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: 4916c6de-813c-41d2-9cd8-08be469124b1

📥 Commits

Reviewing files that changed from the base of the PR and between 3e45923 and 1cdbca4.

📒 Files selected for processing (3)
  • contracts/OMN-15628.yaml
  • drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
  • drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/command.yaml

Comment thread contracts/OMN-15628.yaml
Comment on lines +133 to +141
- id: "dod-OmniNode-ai-omnibase_infra-pr-2617"
description: "PR #2617 on OmniNode-ai/omnibase_infra - Evidence-Source autobind."
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: "gh pr view 2617 --repo OmniNode-ai/omnibase_infra --json number,state"
- check_type: "command"
check_value: "gh pr view 2617 --repo OmniNode-ai/omnibase_infra --json files"

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 -eu
printf '%s\n' '--- contract excerpt ---'
cat -n contracts/OMN-15628.yaml | sed -n '115,155p'
printf '%s\n' '--- receipt ---'
cat -n drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
printf '%s\n' '--- related references ---'
rg -n --glob '*.yaml' --glob '*.yml' 'headRefOid|headRefName|contract_entry_sha256|commit_sha|OMN-15628|pr-2617' contracts drift | head -n 240
printf '%s\n' '--- repository files for validator gate ---'
git ls-files | rg '(^|/)(validator_receipt_gate|omnibase_core|pyproject.toml|requirements.*|poetry.lock|uv.lock|setup.cfg|setup.py)' | head -n 160

Repository: OmniNode-ai/onex_change_control

Length of output: 37866


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- external PR identity ---'
if command -v gh >/dev/null 2>&1; then
  gh pr view 2617 --repo OmniNode-ai/omnibase_infra --json number,state,headRefOid,headRefName,baseRefName,url
else
  curl -fsSL -H 'Accept: application/vnd.github+json' \
    https://api.github.com/repos/OmniNode-ai/omnibase_infra/pulls/2617 |
    jq '{number,state,headRefOid:.head.sha,headRefName:.head.ref,baseRefName:.base.ref,url}'
fi
printf '%s\n' '--- local commit identity ---'
git rev-parse HEAD
git cat-file -t fbc23a702f8528087b519058cc82fd7b7677c469 2>/dev/null || true
printf '%s\n' '--- hash-related project configuration ---'
rg -n -C 3 'omnibase_core|validator_receipt_gate|contract_sha256|contract_entry_sha256|canonical' pyproject.toml uv.lock contracts drift | head -n 260
printf '%s\n' '--- installed validator gate availability ---'
python3 - <<'PY'
try:
    import inspect
    import omnibase_core.validation.validator_receipt_gate as gate
    print("module:", gate.__file__)
    print("exports:", [x for x in dir(gate) if "hash" in x.lower() or "contract" in x.lower() or "entry" in x.lower()])
    for name in dir(gate):
        if "hash" in name.lower() or "contract" in name.lower() or "entry" in name.lower():
            obj = getattr(gate, name)
            if callable(obj):
                try:
                    print(name, inspect.signature(obj))
                except (TypeError, ValueError):
                    print(name, type(obj).__name__)
except Exception as exc:
    print(type(exc).__name__ + ":", exc)
PY

Repository: OmniNode-ai/onex_change_control

Length of output: 19655


🌐 Web query:

omnibase_core validation.validator_receipt_gate compute_contract_entry_sha256 canonical JSON

💡 Result:

The omnibase_core library—the kernel of the ONEX (OmniNode eXecution) platform—utilizes validator_receipt_gate as part of its validation framework [1][2][3]. This module handles logic related to the "Enforcement by Receipt" policy, which ensures that pull requests are backed by verified evidence artifacts [4][5]. The function compute_contract_entry_sha256 (and related canonicalization operations within the broader ecosystem of canonical-JSON implementations) relies on a deterministic serialization process to ensure consistent cross-process hashing [6][7][8][9][10]. In these contexts, "canonical JSON" generally follows strict serialization rules to guarantee that the same logical input produces identical byte-level output [6][8][9][10]. These rules typically include: 1. Lexicographical sorting of object keys [6][8][9][10]. 2. Minified JSON output with no whitespace (separators set to , and :) [6][9][10]. 3. Character encoding enforced as UTF-8 (no BOM) [8][9][10]. 4. Consistent handling of data types (e.g., ensuring no non-standard floating-point tokens and handling numbers/booleans deterministically) [6][7][9][10]. For exact implementation details, developers should refer to the omnibase_core source repository [11][3]. The validator_receipt_gate.py module is located within the src/omnibase_core/validation/ directory [1]. [1][4][6][9]

Citations:


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- OMN-15628 hash fields and complete structure ---'
rg -n -C 4 'contract_sha256|contract_entry_sha256|dod_evidence|schema_version|ticket_id' contracts/OMN-15628.yaml drift/dod_receipts/OMN-15628
printf '%s\n' '--- hash gate references and local implementations ---'
git ls-files | rg -i '(receipt|contract|validator|hash|gate)' | head -n 260
rg -n -C 5 'compute_contract_entry_sha256|contract_sha256|contract_entry_sha256|validator_receipt_gate' --glob '*.py' --glob '*.md' --glob '*.yaml' --glob '*.yml' . | head -n 360
printf '%s\n' '--- dependency declaration ---'
sed -n '1,42p' pyproject.toml

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -eu
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT
curl -fsSL \
  'https://raw.githubusercontent.com/OmniNode-ai/omnibase_core/f91468b0e930b2853a3f0bf0ba82868cd9fd8d7b/src/omnibase_core/validation/validator_receipt_gate.py' \
  -o "$tmp/validator_receipt_gate.py"
printf '%s\n' '--- validator hash functions ---'
rg -n -C 8 'def .*hash|contract_sha256|contract_entry_sha256|canonical|json.dumps' "$tmp/validator_receipt_gate.py"
printf '%s\n' '--- contract header and target entry ---'
cat -n contracts/OMN-15628.yaml | sed -n '1,45p'
cat -n contracts/OMN-15628.yaml | sed -n '125,145p'
printf '%s\n' '--- target receipt ---'
cat -n drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
printf '%s\n' '--- compact hash-field inventory for this ticket ---'
for f in contracts/OMN-15628.yaml drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml; do
  printf '%s: ' "$f"
  rg -o '^(contract_sha256|contract_entry_sha256):.*' "$f" | paste -sd ';' - || true
done

Repository: OmniNode-ai/onex_change_control

Length of output: 12139


🏁 Script executed:

#!/bin/bash
set -eu
tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT
for ref in main v0.46.7; do
  url="https://raw.githubusercontent.com/OmniNode-ai/omnibase_core/${ref}/src/omnibase_core/validation/validator_receipt_gate.py"
  if curl -fsSL "$url" -o "$tmp/gate-$ref.py"; then
    printf '%s\n' "--- $ref entry-hash symbols ---"
    rg -n -C 10 'compute_contract_entry_sha256|contract_entry_sha256|canonical|json.dumps' "$tmp/gate-$ref.py" || true
  fi
done
printf '%s\n' '--- raw contract hash ---'
sha256sum contracts/OMN-15628.yaml
printf '%s\n' '--- relevant receipt schema/hash enforcement references ---'
rg -n -C 8 'contract_sha256|contract_entry_sha256|compute_contract_entry_sha256' \
  --glob '*.py' --glob '*.yaml' --glob '*.yml' --glob '*.md' . | \
  rg 'OMN-15628|validator|contract_sha256|contract_entry_sha256|compute_contract_entry_sha256' | head -n 220

Repository: OmniNode-ai/onex_change_control

Length of output: 39031


🏁 Script executed:

#!/bin/bash
set -eu
python3 - <<'PY'
import hashlib
import json
from pathlib import Path

contract_path = Path("contracts/OMN-15628.yaml")
receipt_path = Path(
    "drift/dod_receipts/OMN-15628/"
    "dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml"
)

try:
    import yaml
except Exception as exc:
    print("yaml_import:", type(exc).__name__, str(exc))
    raise SystemExit(0)

contract_data = yaml.safe_load(contract_path.read_text(encoding="utf-8"))
entry_id = "dod-OmniNode-ai-omnibase_infra-pr-2617"
entry = next(
    item for item in contract_data["dod_evidence"] if item.get("id") == entry_id
)
canonical = {
    "header": {
        "ticket_id": contract_data.get("ticket_id"),
        "schema_version": contract_data.get("schema_version"),
    },
    "entry": entry,
}
blob = json.dumps(
    canonical, sort_keys=True, separators=(",", ":"), ensure_ascii=False
).encode("utf-8")
expected_entry = "sha256:" + hashlib.sha256(blob).hexdigest()
raw_contract = "sha256:" + hashlib.sha256(contract_path.read_bytes()).hexdigest()

receipt_text = receipt_path.read_text(encoding="utf-8")
recorded_entry = next(
    line.split(":", 1)[1].strip().strip('"')
    for line in receipt_text.splitlines()
    if line.startswith("contract_entry_sha256:")
)

print("raw_contract_sha256:", raw_contract)
print("computed_contract_entry_sha256:", expected_entry)
print("recorded_contract_entry_sha256:", recorded_entry)
print("entry_hash_matches:", expected_entry == recorded_entry)
print("contract_has_contract_sha256:", "contract_sha256:" in contract_path.read_text())
print("receipt_has_contract_sha256:", "contract_sha256:" in receipt_text)
PY

Repository: OmniNode-ai/onex_change_control

Length of output: 225


Bind the receipt to the external PR head and contract hashes.

PR 2617 currently has head fbc23a702f8528087b519058cc82fd7b7677c469, but the checks do not query or assert headRefOid.

  • Update contracts/OMN-15628.yaml#L133-L141 to query headRefOid and assert the expected SHA.
  • Update the receipt to record headRefOid and require it to equal commit_sha. Keep the external headRefName separate from the local branch.
  • Add contract_sha256 for the contract raw-byte hash and regenerate contract_entry_sha256 with omnibase_core.validation.validator_receipt_gate.
📍 Affects 2 files
  • contracts/OMN-15628.yaml#L133-L141 (this comment)
  • drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml#L6-L20
🤖 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 `@contracts/OMN-15628.yaml` around lines 133 - 141, Update
contracts/OMN-15628.yaml lines 133-141 so the PR 2617 checks query headRefOid
and assert fbc23a702f8528087b519058cc82fd7b7677c469. Update
drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
lines 6-20 to record headRefOid equal to commit_sha while keeping external
headRefName separate from local branch; add contract_sha256 and regenerate
contract_entry_sha256 using omnibase_core.validation.validator_receipt_gate.

Source: Learnings

Comment on lines +1 to +2
---
schema_version: "1.0.0"

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

Use the required timestamp filename for the receipt.

This receipt is stored as command.yaml. The repository rule requires drift/dod_receipts/<TICKET>/<ITEM_ID>/<run_timestamp>.yaml. Rename the file to use the recorded run timestamp and update any receipt lookup that depends on this path.

As per coding guidelines, DoD receipts must use the <run_timestamp>.yaml path.

🤖 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-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml`
around lines 1 - 2, Rename the receipt file from command.yaml to the required
recorded run_timestamp.yaml format under the same ticket and item directory, and
update any lookup or reference that depends on the old command.yaml path to use
the timestamp-based path.

Source: Coding guidelines

check_type: "command"
check_value: |-
gh pr view 2617 --repo OmniNode-ai/omnibase_infra --json number,state,headRefName
contract_entry_sha256: "sha256:45cb8de118fd0dc9d74bd8e295ba945c39c4ed3098a9705b66ebbb65ed068ff7"

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

printf '%s\n' '--- target receipt ---'
cat -n drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml

printf '%s\n' '--- matching receipt files ---'
git ls-files 'drift/dod_receipts/**/*.yaml' | sed -n '1,120p'

printf '%s\n' '--- hash and validator references ---'
rg -n --hidden -S \
  'contract_sha256|contract_entry_sha256|validator_receipt_gate|ModelDodReceipt' \
  --glob '!node_modules' --glob '!dist' --glob '!build' .

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- repository files near receipt and validator ---'
fd -H -t f | rg '(^|/)(command\.yaml|.*receipt.*|.*validator.*|pyproject\.toml|package\.json|README.*)$' | sed -n '1,200p'

printf '%s\n' '--- receipt directory metadata ---'
find drift/dod_receipts/OMN-15628 -maxdepth 3 -type f -print | sort

printf '%s\n' '--- relevant tracked-file contents ---'
while IFS= read -r f; do
  case "$f" in
    drift/dod_receipts/*.yaml)
      echo "### $f"
      cat -n "$f"
      ;;
  esac
done < <(git ls-files 'drift/dod_receipts/**/*.yaml' | sed -n '1,80p')

Repository: OmniNode-ai/onex_change_control

Length of output: 16026


🏁 Script executed:

#!/bin/bash
set -euo pipefail
printf '%s\n' '--- target receipt ---'
cat -n drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml
printf '%s\n' '--- all relevant references ---'
rg -n --hidden -S 'contract_sha256|contract_entry_sha256|validator_receipt_gate|ModelDodReceipt' \
  --glob '!node_modules' --glob '!dist' --glob '!build' .

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -euo pipefail
python3 - <<'PY'
from pathlib import Path
p = Path("drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml")
print("exists:", p.exists())
if p.exists():
    print(p.read_text())
for root in (Path("drift"), Path(".")):
    if root.exists():
        for f in root.rglob("*"):
            if f.is_file() and f.suffix in {".yaml", ".yml", ".py", ".md", ".toml", ".json"}:
                try:
                    s = f.read_text(errors="ignore")
                except Exception:
                    continue
                if any(x in s for x in ("contract_sha256", "contract_entry_sha256",
                                        "validator_receipt_gate", "ModelDodReceipt")):
                    print("REF", f)
PY

Repository: OmniNode-ai/onex_change_control

Length of output: 50388


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- target receipt ---'
cat -n drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml

printf '%s\n' '--- nearby OMN-15628 receipts ---'
for f in \
  drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2612/command.yaml \
  drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2615/command.yaml \
  drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2615/command.supersede.2006.yaml
do
  echo "### $f"
  cat -n "$f"
done

printf '%s\n' '--- hashing standard ---'
cat -n docs/standards/receipt_hashing_and_supersession.md | sed -n '1,240p'

printf '%s\n' '--- validator references, limited ---'
rg -n -m 80 'contract_sha256|contract_entry_sha256|validator_receipt_gate|ModelDodReceipt' \
  docs scripts tests architecture-handshakes .github/workflows pyproject.toml

Repository: OmniNode-ai/onex_change_control

Length of output: 24807


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- exact target and comparable receipts ---'
for f in \
  drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml \
  drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2612/command.yaml \
  drift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2615/command.yaml
do
  echo "### $f"
  sed -n '1,80p' "$f"
done

printf '%s\n' '--- relevant standard excerpts ---'
rg -n -C 4 'contract_sha256|contract_entry_sha256|validator_receipt_gate|whole-file|whole-contract|canonical' \
  docs/standards/receipt_hashing_and_supersession.md \
  tests scripts .github/workflows architecture-handshakes \
  --glob '!**/*.yaml' --glob '!**/*.yml' | sed -n '1,260p'

Repository: OmniNode-ai/onex_change_control

Length of output: 24533


Store the receipt at the canonical timestamp path.

contract_entry_sha256 is the strict binding and does not require contract_sha256. Move this omnibase_core.ModelDodReceipt from command.yaml to drift/dod_receipts/<TICKET>/<ITEM_ID>/<run_timestamp>.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-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yaml`
at line 8, Move the omnibase_core.ModelDodReceipt currently stored in
command.yaml to the canonical
drift/dod_receipts/<TICKET>/<ITEM_ID>/<run_timestamp>.yaml timestamp path,
preserving contract_entry_sha256 as the strict binding and excluding any
contract_sha256 field.

Source: Coding guidelines

Comment on lines +1 to +7
---
schema_version: "1.0.0"
ticket_id: "OMN-15628"
evidence_item_id: "occ-self-bind-pr-5911"
check_type: "command"
check_value: |-
gh pr view 5911 --repo OmniNode-ai/onex_change_control --json number,state,headRefName

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

Use the canonical receipt path and self-reference check_value.

The file path ends in command.yaml, but the required path ends in <run_timestamp>.yaml. Move this receipt to drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/2026-08-02T00:28:35Z.yaml.

Set check_value to the final receipt path. Keep the executed command in probe_command.

As per coding guidelines, DoD receipts must use the timestamp-based path. Based on learnings, ModelDodReceipt.check_value must contain the receipt's own path.

Proposed fix
- drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/command.yaml
+ drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/2026-08-02T00:28:35Z.yaml

-check_value: |-
-  gh pr view 5911 --repo OmniNode-ai/onex_change_control --json number,state,headRefName
+check_value: "drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/2026-08-02T00:28:35Z.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-15628/occ-self-bind-pr-5911/command.yaml` around lines
1 - 7, Rename the receipt from command.yaml to the canonical timestamp-based
filename 2026-08-02T00:28:35Z.yaml, set ModelDodReceipt.check_value to that
final receipt path, and preserve the executed gh pr view command under
probe_command.

Sources: Coding guidelines, Learnings

Comment on lines +11 to +16
commit_sha: "710b3239bb314eb98360ec86c9d73e7fd52a92d4"
runner: "codex-merge-controller"
verifier: "occ-evidence-source-autobind"
probe_command: "gh pr view 5911 --repo OmniNode-ai/onex_change_control --json number,state"
probe_stdout: |
{"number":5911,"state":"OPEN"}

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 | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

gh pr view 5911 --repo OmniNode-ai/onex_change_control --json number,state,headRefName,headRefOid
git cat-file -e '710b3239bb314eb98360ec86c9d73e7fd52a92d4^{commit}'

Repository: OmniNode-ai/onex_change_control

Length of output: 310


🏁 Script executed:

#!/bin/bash
set -e
python3 - <<'PY'
import json
from pathlib import Path

path = Path("drift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/command.yaml")
text = path.read_text()
print(text)
PY

gh api repos/OmniNode-ai/onex_change_control/commits/710b3239bb314eb98360ec86c9d73e7fd52a92d4 --jq '{sha: .sha, message: .commit.message}'
gh api repos/OmniNode-ai/onex_change_control/commits/1cdbca4897d818428e94fbf77198c0c33d6a65c8 --jq '{sha: .sha, message: .commit.message}'

Repository: OmniNode-ai/onex_change_control

Length of output: 1173


Capture the PR head in the receipt.

commit_sha resolves to a valid commit, but it differs from PR head 1cdbca4897d818428e94fbf77198c0c33d6a65c8. Record headRefName and headRefOid in probe_stdout to establish the relationship.

🤖 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-15628/occ-self-bind-pr-5911/command.yaml` around lines
11 - 16, Update the receipt’s probe_stdout for the gh pr view command to include
headRefName and headRefOid, using the PR head values so the recorded commit_sha
relationship is explicit while preserving the existing number and state fields.

Source: Learnings

@jonahgabriel
jonahgabriel merged commit 54158ab into dev Aug 2, 2026
72 checks passed
@jonahgabriel
jonahgabriel deleted the codex/omn-15628-infra-2617-occ-002835 branch August 2, 2026 00:41
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