Repository navigation
evidence(OMN-15628): OCC companion for OmniNode-ai/omnibase_infra#2617 - #5911
Conversation
📝 WalkthroughWalkthroughThe change adds OMN-15628 evidence entries for ChangesOMN-15628 verification evidence
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (3)
contracts/OMN-15628.yamldrift/dod_receipts/OMN-15628/dod-OmniNode-ai-omnibase_infra-pr-2617/command.yamldrift/dod_receipts/OMN-15628/occ-self-bind-pr-5911/command.yaml
| - 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" |
There was a problem hiding this comment.
🗄️ 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 160Repository: 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)
PYRepository: 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:
- 1: OmniNode-ai/omnibase_core@f91468b
- 2: https://github.com/OmniNode-ai/omnibase_core/blob/dev/README.md
- 3: https://pypi.org/project/omnibase_core/
- 4: https://github.com/OmniNode-ai/omnimarket/blob/ad312f3c28a53332d8b15355321e13817c06bd95/.github/workflows/call-receipt-gate.yml
- 5: https://github.com/OmniNode-ai/omnimarket/blob/9f2fe9e175572ae5075af767a7b470096c14fefd/.github/workflows/call-receipt-gate.yml
- 6: https://github.com/dep0we/atomic-agents-stack/blob/main/atomic_agents/_canonical.py
- 7: https://github.com/Cotal-AI/Cotal/blob/main/packages/core/src/canonical.ts
- 8: https://github.com/provedex/provedex/blob/main/docs/spec/canonical-json.md
- 9: https://github.com/macterra/Axio/blob/main/src/phase_viii/2-DCR/src/canonical.py
- 10: https://github.com/macterra/Axio/blob/main/src/phase_viii/0-AKR/src/canonical.py
- 11: https://github.com/OmniNode-ai/omnibase_core/blob/main/docs/INDEX.md
🏁 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.tomlRepository: 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
doneRepository: 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 220Repository: 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)
PYRepository: 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-L141to queryheadRefOidand assert the expected SHA. - Update the receipt to record
headRefOidand require it to equalcommit_sha. Keep the externalheadRefNameseparate from the localbranch. - Add
contract_sha256for the contract raw-byte hash and regeneratecontract_entry_sha256withomnibase_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
| --- | ||
| schema_version: "1.0.0" |
There was a problem hiding this comment.
🗄️ 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" |
There was a problem hiding this comment.
🗄️ 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)
PYRepository: 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.tomlRepository: 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
| --- | ||
| 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 |
There was a problem hiding this comment.
🗄️ 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
| 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"} |
There was a problem hiding this comment.
🗄️ 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
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