Repository navigation
evidence(OMN-16997): bind downstream bump PR receipts #7770
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| --- | ||
| schema_version: "1.0.0" | ||
| ticket_id: "OMN-16997" | ||
| evidence_item_id: "dod-OmniNode-ai-omniintelligence-pr-871" | ||
| check_type: "command" | ||
| check_value: "gh pr view 871 --repo OmniNode-ai/omniintelligence --json number,state,headRefName,headRefOid,baseRefName,title" | ||
| contract_sha256: "sha256:93151ed941b875bbf648d056e1a92639ceb990728c4a1498ac36420b2eee5a81" | ||
| contract_entry_sha256: "sha256:f27617f1a9ec67eba4d4ef894bf71218724ea95da92446507461e9050d88ec8f" | ||
|
Comment on lines
+7
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- applicable repository knowledge files ---'
find /tmp/coderabbit-repo-knowledge/omninode-ai-onex-change-control-06a6f7bd -maxdepth 2 -type f -print | sort
printf '%s\n' '--- target files ---'
git ls-files \
'drift/dod_receipts/OMN-16997/**' \
'contracts/OMN-16997.yaml' \
'*validator_receipt_gate*' \
'*validator*receipt*'
printf '%s\n' '--- receipt 1 ---'
cat -n drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omniintelligence-pr-871/command.yaml
printf '%s\n' '--- receipt 2 ---'
cat -n drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omnimemory-pr-464/command.yaml
printf '%s\n' '--- contract ---'
cat -n contracts/OMN-16997.yaml
printf '%s\n' '--- direct validator references ---'
rg -n -C 4 'validator_receipt_gate|contract_entry_sha256|contract_sha256' . \
-g '*.py' -g '*.yaml' -g '*.yml' -g '*.md' | head -240
printf '%s\n' '--- scoped conventions and learnings ---'
for f in /tmp/coderabbit-repo-knowledge/omninode-ai-onex-change-control-06a6f7bd/*/*.md; do
printf '\n### %s\n' "$f"
head -120 "$f"
doneRepository: OmniNode-ai/onex_change_control Length of output: 50387 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- contract convention ---'
cat /tmp/coderabbit-repo-knowledge/omninode-ai-onex-change-control-06a6f7bd/conventions/contracts.md
printf '%s\n' '--- receipt convention ---'
cat /tmp/coderabbit-repo-knowledge/omninode-ai-onex-change-control-06a6f7bd/conventions/drift-dod-receipts.md
printf '%s\n' '--- hash declarations and validator bindings ---'
rg -n -C 5 --max-count 120 \
'compute_contract_entry_sha256|contract_entry_sha256|validator_receipt_gate|receipt.*gate|check_receipt_hardening' \
--glob '*.py' --glob '*.pyi' --glob 'pyproject.toml' --glob '*.lock' --glob '*.yaml' --glob '*.yml' --glob '*.md' \
. /tmp/coderabbit-repo-knowledge/omninode-ai-onex-change-control-06a6f7bd
printf '%s\n' '--- dependency declarations ---'
rg -n -C 3 --max-count 80 'omnibase[_-]core|omnibase_core' pyproject.toml uv.lock requirements*.txt setup.cfg 2>/dev/null || true
printf '%s\n' '--- raw contract hash ---'
sha256sum contracts/OMN-16997.yaml
printf '%s\n' '--- all OMN-16997 receipt hash fields ---'
rg -n '^(ticket_id|evidence_item_id|contract_sha256|contract_entry_sha256):' \
drift/dod_receipts/OMN-16997 --glob '*.yaml'Repository: OmniNode-ai/onex_change_control Length of output: 50388 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- tracked validator-related files ---'
git ls-files | grep -E '(^|/)(validator|validation|receipt)' | grep -E '\.(py|pyi|toml|lock|yaml|yml|md)$' | head -200
printf '%s\n' '--- exact tracked symbol references ---'
git grep -n -E 'compute_contract_entry_sha256|validator_receipt_gate|contract_entry_sha256' -- \
'*.py' '*.pyi' 'pyproject.toml' 'uv.lock' '*.yaml' '*.yml' '*.md' \
':!drift/**' ':!docs/**' | head -240 || true
printf '%s\n' '--- package/dependency locations ---'
find . -type f \( -path '*/omnibase_core/*' -o -name 'pyproject.toml' -o -name 'uv.lock' \) -not -path './.git/*' -print | head -100
printf '%s\n' '--- raw contract digest ---'
sha256sum contracts/OMN-16997.yaml
printf '%s\n' '--- target receipt fields only ---'
for f in \
drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omniintelligence-pr-871/command.yaml \
drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omnimemory-pr-464/command.yaml
do
printf '%s\n' "$f"
sed -n '3,9p' "$f"
done
printf '%s\n' '--- pinned omnibase_core package metadata ---'
git grep -n -E 'name = "omnibase-core"|name = "omnibase_core"|omnibase-core|omnibase_core' -- pyproject.toml uv.lock | head -120 || trueRepository: OmniNode-ai/onex_change_control Length of output: 19911 🌐 Web query:
💡 Result: The Citations:
🏁 Script executed: #!/bin/bash
set -eu
tmp="$(mktemp)"
trap 'rm -f "$tmp"' EXIT
url='https://raw.githubusercontent.com/OmniNode-ai/omnibase_core/v0.46.13/src/omnibase_core/validation/validator_receipt_gate.py'
if curl -fsSL "$url" -o "$tmp"; then
printf '%s\n' '--- validator source URL ---'
printf '%s\n' "$url"
else
printf '%s\n' '--- version tag unavailable; using referenced commit ---'
url='https://raw.githubusercontent.com/OmniNode-ai/omnibase_core/f91468b0e930b2853a3f0bf0ba82868cd9fd8d7b/src/omnibase_core/validation/validator_receipt_gate.py'
curl -fsSL "$url" -o "$tmp"
printf '%s\n' "$url"
fi
printf '%s\n' '--- canonical hash implementation ---'
rg -n -C 20 'def compute_contract_entry_sha256|HEADER_FIELDS|canonical|json.dumps|sha256' "$tmp" | head -220
printf '%s\n' '--- available YAML parser ---'
python3 - <<'PY'
try:
import yaml
print("PyYAML available", getattr(yaml, "__version__", "unknown"))
except Exception as exc:
print("PyYAML unavailable:", type(exc).__name__, str(exc))
PYRepository: OmniNode-ai/onex_change_control Length of output: 11796 🏁 Script executed: #!/bin/bash
set -eu
tmp="$(mktemp)"
trap 'rm -f "$tmp"' EXIT
curl -fsSL 'https://raw.githubusercontent.com/OmniNode-ai/omnibase_core/v0.46.13/src/omnibase_core/validation/validator_receipt_gate.py' -o "$tmp"
printf '%s\n' '--- function locations ---'
grep -n -E 'compute_contract_entry_sha256|HEADER_FIELDS|canonical_json|json.dumps|hashlib.sha256' "$tmp"
printf '%s\n' '--- function and nearby definitions ---'
line="$(grep -n 'def compute_contract_entry_sha256' "$tmp" | cut -d: -f1 | head -1)"
start=$((line-45))
end=$((line+100))
sed -n "${start},${end}p" "$tmp"
printf '%s\n' '--- available non-PyYAML YAML parsers ---'
for cmd in ruby perl node; do
if command -v "$cmd" >/dev/null 2>&1; then
printf '%s: ' "$cmd"
case "$cmd" in
ruby) ruby -e 'begin; require "yaml"; puts "yaml available"; rescue LoadError; puts "yaml unavailable"; end' ;;
perl) perl -MYAML -e 'print "yaml available\n"' 2>/dev/null || echo 'yaml unavailable' ;;
node) node -e 'try { require("yaml"); console.log("yaml available") } catch(e) { console.log("yaml unavailable") }' ;;
esac
fi
doneRepository: OmniNode-ai/onex_change_control Length of output: 7501 🏁 Script executed: #!/bin/bash
set -eu
ruby -ryaml -rjson -rdigest -e '
data = YAML.safe_load(File.read("contracts/OMN-16997.yaml"))
ids = [
"dod-OmniNode-ai-omniintelligence-pr-871",
"dod-OmniNode-ai-omnimemory-pr-464"
]
sort_keys = lambda do |value|
case value
when Hash
value.keys.sort.each_with_object({}) { |key, out| out[key] = sort_keys.call(value[key]) }
when Array
value.map { |item| sort_keys.call(item) }
else
value
end
end
ids.each do |id|
entry = data.fetch("dod_evidence").find { |item| item["id"] == id }
raise "missing entry #{id}" unless entry
canonical = {
"header" => {
"ticket_id" => data["ticket_id"],
"schema_version" => data["schema_version"]
},
"entry" => entry
}
json = JSON.generate(sort_keys.call(canonical))
digest = Digest::SHA256.hexdigest(json.encode("UTF-8"))
puts "#{id}"
puts "canonical=#{json}"
puts "hash=sha256:#{digest}"
end
'
printf '%s\n' '--- recorded hashes ---'
for f in \
drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omniintelligence-pr-871/command.yaml \
drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omnimemory-pr-464/command.yaml
do
printf '%s\n' "$f"
sed -n '4,8p' "$f"
doneRepository: OmniNode-ai/onex_change_control Length of output: 2189 Update the stale
📍 Affects 2 files
🤖 Prompt for AI AgentsSource: Coding guidelines |
||
| status: PASS | ||
| run_timestamp: "2026-08-31T00:29:08Z" | ||
| commit_sha: "ae0725b52a85d92e153300c4e2c3423a1d21d6e4" | ||
| runner: "codex-gpt-5" | ||
| verifier: "manual-merge-sweep" | ||
| probe_command: "gh pr view 871 --repo OmniNode-ai/omniintelligence --json number,state,headRefName,headRefOid,baseRefName,title" | ||
| probe_stdout: | | ||
| {"baseRefName":"dev","headRefName":"automation/bump-omnibase-infra-0.38.14","headRefOid":"ae0725b52a85d92e153300c4e2c3423a1d21d6e4","number":871,"state":"OPEN","title":"chore(OMN-16997): bump omnibase-infra to 0.38.14"} | ||
| actual_output: "PASS: downstream dependency bump PR metadata binds OMN-16997 to OmniNode-ai/omniintelligence#871 | ||
| at head ae0725b52a85d92e153300c4e2c3423a1d21d6e4." | ||
| exit_code: 0 | ||
| pr_number: 871 | ||
| branch: "jonah/omn-16997-downstream-bump-receipts" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| --- | ||
| schema_version: "1.0.0" | ||
| ticket_id: "OMN-16997" | ||
| evidence_item_id: "dod-OmniNode-ai-omnimemory-pr-464" | ||
| check_type: "command" | ||
| check_value: "gh pr view 464 --repo OmniNode-ai/omnimemory --json number,state,headRefName,headRefOid,baseRefName,title" | ||
| contract_sha256: "sha256:93151ed941b875bbf648d056e1a92639ceb990728c4a1498ac36420b2eee5a81" | ||
| contract_entry_sha256: "sha256:95da3303fa2f16d1a1d4487665f47adfd2631d1b8466be2183c449641a80eeb6" | ||
| status: PASS | ||
| run_timestamp: "2026-08-31T00:29:08Z" | ||
| commit_sha: "238d5c279c8bff52e3fa12566c6ddc4de28b9879" | ||
| runner: "codex-gpt-5" | ||
| verifier: "manual-merge-sweep" | ||
| probe_command: "gh pr view 464 --repo OmniNode-ai/omnimemory --json number,state,headRefName,headRefOid,baseRefName,title" | ||
| probe_stdout: | | ||
| {"baseRefName":"dev","headRefName":"automation/bump-omnibase-infra-0.38.14","headRefOid":"238d5c279c8bff52e3fa12566c6ddc4de28b9879","number":464,"state":"OPEN","title":"chore(OMN-16997): bump omnibase-infra to 0.38.14"} | ||
| actual_output: "PASS: downstream dependency bump PR metadata binds OMN-16997 to OmniNode-ai/omnimemory#464 | ||
| at head 238d5c279c8bff52e3fa12566c6ddc4de28b9879." | ||
| exit_code: 0 | ||
| pr_number: 464 | ||
| branch: "jonah/omn-16997-downstream-bump-receipts" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| schema_version: "1.0.0" | ||
| ticket_id: "OMN-16997" | ||
| evidence_item_id: "occ-self-bind-pr-7770" | ||
| check_type: "command" | ||
| check_value: "gh pr view 7770 --repo OmniNode-ai/onex_change_control --json number,state,headRefName,headRefOid" | ||
| contract_sha256: "sha256:47fdf87dcf2ebfa05cc17ac264dbe0b0583edc086b3c9e410712a22d56616d63" | ||
| contract_entry_sha256: "sha256:35f373ac71a3550b9c8b544567e0e3e1803af67a0068f3b2ce82ee7af80fb087" | ||
| status: PASS | ||
| run_timestamp: "2026-08-31T00:43:00Z" | ||
| commit_sha: "52d8c1487dd2314cfe6563a7419131f7e10e5e4b" | ||
| runner: "codex-gpt-5" | ||
| verifier: "manual-merge-sweep" | ||
| probe_command: "gh pr view 7770 --repo OmniNode-ai/onex_change_control --json number,state,headRefName,headRefOid" | ||
| probe_stdout: | | ||
| {"headRefName":"jonah/omn-16997-downstream-bump-receipts","headRefOid":"52d8c1487dd2314cfe6563a7419131f7e10e5e4b","number":7770,"state":"OPEN"} | ||
| actual_output: "PASS: OCC self-bind for OMN-16997 downstream bump receipts PR #7770 at head 52d8c1487dd2314cfe6563a7419131f7e10e5e4b." | ||
| exit_code: 0 | ||
| pr_number: 7770 | ||
| branch: "jonah/omn-16997-downstream-bump-receipts" |
There was a problem hiding this comment.
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 both receipts.
Both files use
command.yaml, but the receipt rule requires<run_timestamp>.yaml.drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omniintelligence-pr-871/command.yaml#L1-L1: Rename the file to2026-08-31T00:29:08Z.yaml.drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omnimemory-pr-464/command.yaml#L1-L1: Rename the file to2026-08-31T00:29:08Z.yaml.As per coding guidelines, DoD receipts must use the required timestamp filename.
📍 Affects 2 files
drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omniintelligence-pr-871/command.yaml#L1-L1(this comment)drift/dod_receipts/OMN-16997/dod-OmniNode-ai-omnimemory-pr-464/command.yaml#L1-L1🤖 Prompt for AI Agents
Source: Coding guidelines