Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
6e38f16
contracts(OMN-11828,OMN-11972): add self agent PR evidence (#1597)
jonahgabriel May 25, 2026
c8e8bda
contracts(OMN-11994): add infra handler wiring evidence (#1599)
jonahgabriel May 25, 2026
c69609b
contracts(OMN-12006): add omnimarket overlay evidence (#1615)
jonahgabriel May 25, 2026
4c7a23c
contracts(OMN-12116): add dispatch result applier evidence (#1618)
jonahgabriel May 25, 2026
ec6805b
contracts(OMN-11969): bind compat PR receipt (#1620)
jonahgabriel May 25, 2026
f2b02a1
contracts(OMN-12006): bind omnimarket fleet rewrite receipt (#1622)
jonahgabriel May 25, 2026
ad75250
contracts(OMN-12116): bind verified hot-patch deploy receipt (#1627)
jonahgabriel May 25, 2026
c3d38e7
evidence(OMN-12245,OMN-11599): promote release receipts to main (#1712)
jonahgabriel May 26, 2026
96b4c08
evidence(OMN-12245): update OCC rerun state after c3d38e71 (#1713)
github-actions[bot] May 26, 2026
b8bc20b
ci(OMN-12243): add main target guard (#1717)
jonahgabriel May 26, 2026
ad054ca
fix(OMN-12245): remove stale OCC node entry points
jonahgabriel May 26, 2026
848b5b7
evidence(OMN-12245): bind infra PR 1772 head
jonahgabriel May 26, 2026
b78e936
evidence(OMN-12245): bind omnimarket PR 926 head (#1738)
jonahgabriel May 26, 2026
27378d5
evidence(OMN-12245): bind omnimarket PR 926 final head (#1740)
jonahgabriel May 26, 2026
fa97e51
evidence(OMN-12245): refresh omnimarket PR 926 gate head (#1742)
jonahgabriel May 26, 2026
fb44f9f
evidence(OMN-12245): refresh omniintelligence release gates (#1746)
jonahgabriel May 26, 2026
5ecfa8b
evidence(OMN-12245): refresh omniintelligence PR 681 final head (#1748)
jonahgabriel May 26, 2026
89ba53e
evidence(OMN-12245): refresh omniclaude PR 1681 final head
jonahgabriel May 26, 2026
0479254
evidence(OMN-12245): refresh omniclaude PR 1681 workflow head
jonahgabriel May 26, 2026
ef683a8
evidence(OMN-12245): refresh omniclaude PR 1681 CI head (#1754)
jonahgabriel May 26, 2026
3adbc0e
evidence(OMN-12245): refresh omniclaude PR 1681 DoD source head (#1756)
jonahgabriel May 26, 2026
085b90f
evidence(OMN-12245): refresh omniclaude PR 1681 retired-skill head (#…
jonahgabriel May 26, 2026
10a0a2c
evidence(OMN-12245): refresh omniclaude PR 1681 manifest head (#1760)
jonahgabriel May 26, 2026
6f38fcc
evidence(OMN-12245): bind omnibase core PR 1174 (#1770)
jonahgabriel May 27, 2026
d5752cc
evidence(OMN-12245): bind compat runtime DTO hotfix (#1773)
jonahgabriel May 27, 2026
e69b504
evidence(OMN-12245): bind omnimarket runtime proof hotfix (#1775)
jonahgabriel May 27, 2026
aed980b
evidence(OMN-12245): bind infra projection topic hotfix
jonahgabriel May 27, 2026
308a4d0
evidence(OMN-12245): refresh infra 1773 head receipt
jonahgabriel May 27, 2026
4a8e541
evidence(OMN-12245): bind infra 1774 release receipt (#1781)
jonahgabriel May 27, 2026
7cb88b7
evidence(OMN-12245): refresh infra 1774 retry head (#1783)
jonahgabriel May 27, 2026
ab913d0
evidence(OMN-12245): refresh infra 1774 handler scope head (#1785)
jonahgabriel May 27, 2026
055f8e6
evidence(OMN-12245): bind projection runtime hotfixes
jonahgabriel May 27, 2026
2741a40
chore(OMN-12245): baseline omnimarket guard debt on main (#1791)
jonahgabriel May 27, 2026
6097ee8
ci(OMN-12448): hotfix imperative guard uv setup (#1913)
jonahgabriel May 30, 2026
cedf9db
ci(OMN-12433): retry contract validator installs (#1933)
jonahgabriel May 30, 2026
bdf15a8
ci(OMN-12574): port boundary clone retry to main (#2086)
jonahgabriel Jun 2, 2026
764d76b
release(OMN-12245): promote onex_change_control dev to main (2026-06-…
jonahgabriel Jun 6, 2026
68178c7
docs(OMN-12245): add main release version evidence
jonahgabriel Jun 6, 2026
109fff0
chore(release)(OMN-12245): bump onex_change_control to v0.5.1
jonahgabriel Jun 6, 2026
2594c7a
chore(OMN-12750): baseline omnimarket freestanding guard (#2238)
jonahgabriel Jun 6, 2026
b3d2405
chore(OMN-12751): baseline omnibase_infra freestanding guard (#2240)
jonahgabriel Jun 6, 2026
4a763cf
chore(OMN-12749): promote delegation-cluster OCC contracts+receipts d…
jonahgabriel Jun 7, 2026
e3a7974
chore(OMN-12736,OMN-12742,OMN-12743): promote OCC contracts+receipts …
jonahgabriel Jun 7, 2026
7aed12d
chore(OMN-12766): promote receipt integrity corrections to OCC main (…
jonahgabriel Jun 7, 2026
3ab205f
release(OMN-12765): promote OCC dev evidence to main (#2267)
jonahgabriel Jun 7, 2026
d3d798d
chore(OMN-12765): bind main promotion receipts (#2273)
jonahgabriel Jun 7, 2026
9beeca5
chore(release)(OMN-12765): bump onex_change_control to v0.5.2 (#2276)
jonahgabriel Jun 7, 2026
7d66b5f
chore(OMN-12765): bind refreshed main promotion PR receipts (#2278)
jonahgabriel Jun 7, 2026
bd91b5d
chore(OMN-12765): bind post-promotion release receipts (#2281)
jonahgabriel Jun 7, 2026
74e407b
chore(OMN-12765): refresh post-promotion release receipts (#2283)
jonahgabriel Jun 7, 2026
86c7907
chore(release)(OMN-12765): bump onex_change_control to v0.5.3 (#2280)
jonahgabriel Jun 7, 2026
eaa3d56
OMN-12770 hotfix evidence: delegation route binding receipts (#2288)
jonahgabriel Jun 7, 2026
ab3eedb
OMN-12770 evidence: omnimarket v0.4.6 release receipt (#2290)
jonahgabriel Jun 7, 2026
e105f4f
evidence(OMN-12745): promote dashboard output receipts to main (#2295)
jonahgabriel Jun 7, 2026
4a10dd3
chore(OMN-12564): baseline omniclaude imperative guard (#2327)
jonahgabriel Jun 8, 2026
352dbc1
evidence(OMN-12833): promote omniintelligence guard baseline to main …
jonahgabriel Jun 8, 2026
89619f0
evidence(OMN-12856): promote OCC contract + receipts to main (#2391)
jonahgabriel Jun 9, 2026
e24cd6a
merge(OMN-12934): merge origin/dev into main — converge prod-promotio…
jonahgabriel Jun 11, 2026
41a2bcd
merge(OMN-12934): incorporate latest origin/dev (OMN-12949) into conv…
jonahgabriel Jun 11, 2026
4d3057b
evidence(OMN-12939): promote OCC contract + receipts to main (#2462)
jonahgabriel Jun 11, 2026
1e044ec
evidence(OMN-12950): promote OCC contract + receipts to main (#2466)
jonahgabriel Jun 11, 2026
2bf8dac
evidence(OMN-12962): promote OCC contract + receipts to main (#2480)
jonahgabriel Jun 11, 2026
725d296
receipt(OMN-12959): FSM terminal-state invariant — stranded-workflow …
jonahgabriel Jun 11, 2026
e25345e
receipt(OMN-13670): bind crypto floor receipts to omnibase_infra PR #…
jonahgabriel Jun 28, 2026
07fec8e
receipt(OMN-13687): bind ECR push-retry evidence to omnibase_infra PR…
jonahgabriel Jun 28, 2026
2dd26ad
fix(OMN-13701): repair main boundary parity action (#3348)
jonahgabriel Jun 29, 2026
8ca3754
receipt(OMN-13783): add omnimarket Wave 5 Linear/DoD state-coverage O…
jonahgabriel Jul 1, 2026
f26d152
fix(OMN-13783): fill in dod-occ-self PR binding (#3424)
jonahgabriel Jul 1, 2026
a33647a
fix(OMN-13783): use a distinct verifier identity to avoid self-attest…
jonahgabriel Jul 1, 2026
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
16 changes: 15 additions & 1 deletion .github/actions/validate-boundaries/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ inputs:
Comma-separated list of peer repos to clone. Defaults to all ONEX repos
with boundary seams.
required: false
default: "omniclaude,omnidash,omniintelligence,omnibase_infra,omnibase_core,omnimemory"
default: "omniclaude,omnidash,omniintelligence,omnibase_infra,omnibase_core,omnimemory,omnimarket"

runs:
using: "composite"
Expand Down Expand Up @@ -155,6 +155,20 @@ runs:
DEGRADED=""
CALLING_REPO="${GITHUB_REPOSITORY##*/}"
IFS=',' read -ra REPOS <<< "${{ inputs.repos }}"
# OMN-13701: older callers pass an explicit repo list without omnimarket,
# but the canonical intent-classified consumer now lives there.
OMNIMARKET_PRESENT=false
for repo in "${REPOS[@]}"; do
repo=$(echo "$repo" | xargs)
if [[ "$repo" == "omnimarket" ]]; then
OMNIMARKET_PRESENT=true
break
fi
done
if [[ "$OMNIMARKET_PRESENT" != "true" ]]; then
REPOS+=("omnimarket")
echo "Adding required boundary repo omnimarket"
fi
for repo in "${REPOS[@]}"; do
repo=$(echo "$repo" | xargs) # trim whitespace
if [[ "$repo" == "$CALLING_REPO" ]]; then
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,7 @@ jobs:
clone_omni_repo omniintelligence /tmp/omni_repos/omniintelligence
clone_omni_repo omnibase_infra /tmp/omni_repos/omnibase_infra
clone_omni_repo omnimemory /tmp/omni_repos/omnimemory
clone_omni_repo omnimarket /tmp/omni_repos/omnimarket
ln -s "$GITHUB_WORKSPACE" /tmp/omni_repos/onex_change_control
- name: Check Kafka boundary parity
run: uv run check-boundary-parity --repos-root /tmp/omni_repos
Expand Down
20 changes: 20 additions & 0 deletions allowlists/omniclaude.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,23 @@ allowlisted_handlers:
violations:
- missing_handler_routing
ticket: '# migration pending'
- path: src/omniclaude/hooks/lib/compliance_result_subscriber.py
violations:
- raw_kafka
ticket: OMN-12564
- path: src/omniclaude/hooks/lib/decision_record_subscriber.py
violations:
- raw_kafka
ticket: OMN-12564
- path: src/omniclaude/hooks/topics.py
violations:
- hardcoded_topic
ticket: OMN-12564
- path: src/omniclaude/nodes/node_local_llm_inference_effect/backends/backend_vllm.py
violations:
- raw_http_inference
ticket: OMN-12564
- path: src/omniclaude/nodes/node_personality_logging_effect/sinks/sink_slack.py
violations:
- raw_http_inference
ticket: OMN-12564
10 changes: 10 additions & 0 deletions contracts/OMN-12564.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,13 @@ dod_evidence:
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12564/dod-occ-pr-2329-omniclaude-push-dod-binding/command.yaml"
&& grep -q '^pr_number: 2329$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12564/dod-occ-pr-2329-omniclaude-push-dod-binding/command.yaml"
- id: "dod-occ-pr-2327-omniclaude-imperative-allowlist"
description: "Self-binding receipt for OCC PR #2327 carrying the omniclaude imperative guard allowlist
baseline required by the OMN-12564 main hotfix path."
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12564/dod-occ-pr-2327-omniclaude-imperative-allowlist/command.yaml"
&& grep -q '^pr_number: 2327$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12564/dod-occ-pr-2327-omniclaude-imperative-allowlist/command.yaml"
10 changes: 10 additions & 0 deletions contracts/OMN-12745.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,13 @@ dod_evidence:
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12745/dod-occ-pr/command.yaml"
&& grep -q '^ticket_id: "OMN-12745"$' "$CONTRACT_REPO_DIR/contracts/OMN-12745.yaml"
- id: "dod-occ-main-pr"
description: "onex_change_control hotfix PR promotes the OMN-12745 contract and PASS receipts to OCC
main."
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12745/dod-occ-main-pr/command.yaml"
&& grep -q '^ticket_id: "OMN-12745"$' "$CONTRACT_REPO_DIR/contracts/OMN-12745.yaml"
340 changes: 340 additions & 0 deletions contracts/OMN-12765.yaml

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions contracts/OMN-12770.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,23 @@ dod_evidence:
&& grep -q 'omnimarket 0.4.6' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-all-lane-runtime-deploy-v046/command.yaml"
&& grep -q '1550b9d5-d0f1-4b9f-af0d-f3bb6a2f711c' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-all-lane-runtime-deploy-v046/command.yaml"
&& grep -q '5d35fc2f-4531-4f60-9aab-82e20d4d0aae' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-all-lane-runtime-deploy-v046/command.yaml"
- id: "dod-omnimarket-release-pr-1093"
description: "omnimarket PR #1093 carries the v0.4.6 release bump for the OMN-12770 hotfix."
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-omnimarket-release-pr-1093/command.yaml"
&& grep -q '^pr_number: 1093$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-omnimarket-release-pr-1093/command.yaml"
&& grep -q '5f719ed827fb2b24649b67fe0babd4b03c9b94b9' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-omnimarket-release-pr-1093/command.yaml"
- id: "dod-occ-release-pr-2290"
description: "OCC PR #2290 carries the central receipt for omnimarket release PR #1093."
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-occ-release-pr-2290/command.yaml"
&& grep -q '^pr_number: 2290$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-occ-release-pr-2290/command.yaml"
&& grep -q 'hotfix/omn-12770-omnimarket-release-evidence' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12770/dod-occ-release-pr-2290/command.yaml"
15 changes: 12 additions & 3 deletions contracts/OMN-12833.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ dod_evidence:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12833/dod-occ-pr-703-followup-self/command.yaml"
# --- A2.5 dashboard one-backend sweep (close-the-loop plan track A2.5) ---
# Same ticket id, separate work scope: omnidash A2.5 component correctness sweep
# through the single standard stability-test projection backend.
# --- A2.5 dashboard one-backend sweep (close-the-loop plan track A2.5) ---
# Same ticket id, separate work scope: omnidash A2.5 component correctness sweep
# through the single standard stability-test projection backend.
- id: "dod-omnidash-pr"
description: >-
omnidash A2.5 PR classifies all 32 registry components through the single standard projection backend
Expand All @@ -86,3 +86,12 @@ dod_evidence:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12833/dod-occ-evidence/command.yaml"
- id: "dod-occ-main-hotfix-pr"
description: "Self-binding receipt for the OCC main hotfix promotion PR carrying OMN-12833 allowlist
evidence."
source: "manual"
status: "verified"
checks:
- check_type: "command"
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12833/dod-occ-main-hotfix-pr/command.yaml"
31 changes: 31 additions & 0 deletions contracts/OMN-12856.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,34 @@ dod_evidence:
check_value: >-
grep -q '^status: PASS$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12856/dod-occ-pr/command.yaml"
&& grep -q '^pr_number: 2386$' "$CONTRACT_REPO_DIR/drift/dod_receipts/OMN-12856/dod-occ-pr/command.yaml"
- id: "dod-omnimarket-pr-1137"
description: "omnimarket PR #1137 implements the full OMN-12856 migration: api_key_ref contracts,
async resolver, enforcement gate, golden-chain tests, and OCC contract pairing."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12856/dod-omnimarket-pr-1137/command.yaml
&& grep -q '^pr_number: 1137$' drift/dod_receipts/OMN-12856/dod-omnimarket-pr-1137/command.yaml"
- id: "dod-focused-checks"
description: "Enforcement gate scripts/ci/check_github_token_env_reads.py exits 0 (zero violations);
golden-chain tests and focused unit tests pass on the PR head commit."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12856/dod-focused-checks/command.yaml
&& grep -q 'passed' drift/dod_receipts/OMN-12856/dod-focused-checks/command.yaml"
- id: "dod-occ-pr-2390"
description: "onex_change_control PR #2390 (dev) carries the OMN-12856 central contract and receipt
evidence."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12856/dod-occ-pr-2390/command.yaml
&& grep -q '^pr_number: 2390$' drift/dod_receipts/OMN-12856/dod-occ-pr-2390/command.yaml"
- id: "dod-occ-pr-2391"
description: "onex_change_control PR #2391 (hotfix to main) promotes the OMN-12856 evidence to main."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12856/dod-occ-pr-2391/command.yaml
&& grep -q '^pr_number: 2391$' drift/dod_receipts/OMN-12856/dod-occ-pr-2391/command.yaml"
73 changes: 73 additions & 0 deletions contracts/OMN-12939.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-12939"
title: "Terminate delegation FSM when escalation tier is unroutable (projection-row gap)"
summary: >
Live stability-test delegation CID a604cd40 produced zero delegation_events projection rows because
the FSM stranded permanently in ROUTED. On quality-gate failure across local and cheap_cloud, the orchestrator
escalated to the next declared tier via next_eligible_tier(), which returned a tier name by declaration
order without checking routability. Escalating a document task off cheap_cloud returned the claude/frontier_api
tier whose backend endpoints are empty, so the routing reducer's delta() raised ProtocolConfigurationError
[ONEX_CORE_041], crashing the dispatcher with no routing-decision and no terminal delegation event —
so the materializer had nothing to project. Fix makes next_eligible_tier task-aware (skip tiers that
cannot route the task), so the orchestrator's existing no_higher_tier_available branch drives the FSM
to terminal delegation-failed and a projection row always materializes even when escalation is impossible.
Code-only handler change to omnimarket; no topic schema, envelope, or contract API change.
is_seam_ticket: false
interface_change: false
interfaces_touched: []
evidence_requirements:
- kind: "tests"
description: >
Failing-first tests through the real dispatch path assert terminal FAILED, a delegation-failed event,
and terminal_failure_reason=no_higher_tier_available when escalation has no routable higher tier.
command: "uv run pytest tests/unit/delegation/test_delegation_tier_escalation.py -q"
emergency_bypass:
enabled: false
justification: ""
follow_up_ticket_id: ""
dod_evidence:
- id: "dod-omnimarket-pr-1158"
description: >
omnimarket PR #1158 implements the durable termination guard: next_eligible_tier gains an optional
task_type and the _tier_can_route_task helper; both orchestrator escalation sites pass task_type
so an unroutable escalation tier yields terminal delegation-failed instead of a dispatcher crash.
Evidence anchor: omnimarket head commit 27f23d7c6560831bf45dda548d845720e7c26943.
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12939/dod-omnimarket-pr-1158/command.yaml
&& grep -q '^pr_number: 1158$' drift/dod_receipts/OMN-12939/dod-omnimarket-pr-1158/command.yaml
&& grep -q 'passed' drift/dod_receipts/OMN-12939/dod-omnimarket-pr-1158/command.yaml"
- id: "dod-deploy-assessment"
description: >
Deploy assessment: this is a code-only routing/escalation handler change in omnimarket with no runtime
topology, topic schema, envelope, or contract API change. The terminal-event emission path it restores
is the existing delegation-failed projection path already wired on the stability lane. Reaching
live effect requires a standard image rebuild that ships omnimarket on the stability-test runtime
— a gated deploy to be performed under user approval (HARD gate); no deploy is performed by this
PR. The fresh re-verification (terminal event + delegation_events projection row at :13002) is captured
after that gated rebuild. The receipt check_value carries the deploy keyword for the deploy-gate.
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12939/dod-deploy-assessment/command.yaml
&& grep -q '^pr_number: 1158$' drift/dod_receipts/OMN-12939/dod-deploy-assessment/command.yaml
&& grep -q 'No live deploy' drift/dod_receipts/OMN-12939/dod-deploy-assessment/command.yaml"
- id: "dod-occ-pr-2456"
description: "onex_change_control PR #2456 (dev) carries the OMN-12939 central contract and receipt
evidence; this self-binding receipt makes the OCC PR satisfy its own OCC eligibility check."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12939/dod-occ-pr-2456/command.yaml
&& grep -q '^pr_number: 2456$' drift/dod_receipts/OMN-12939/dod-occ-pr-2456/command.yaml"
- id: "dod-occ-pr-2462"
description: "onex_change_control PR #2462 promotes the OMN-12939 contract + receipts from dev to
main (hotfix/omn-12939-occ-main-promote); this self-binding receipt makes the promote PR satisfy
its own OCC eligibility check."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12939/dod-occ-pr-2462/command.yaml
&& grep -q '^pr_number: 2462$' drift/dod_receipts/OMN-12939/dod-occ-pr-2462/command.yaml"
76 changes: 76 additions & 0 deletions contracts/OMN-12950.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
schema_version: "1.0.0"
ticket_id: "OMN-12950"
title: "Wire evidence/readiness reducers to a deployed runtime profile (compute -> workers)"
summary: >
node_deployment_evidence_reducer and node_evidence_dashboard_reducer (omnimarket) declared descriptor.runtime_profiles:
[compute]. compute is NOT a registered runtime profile (omnibase_infra.runtime.runtime_profile._PROFILES
= local-dev/default/main/effects/workers/ projection-api/canary/staging/production) and no deployed
runtime runs RUNTIME_PROFILE=compute. The auto-wiring ownership filter profile_ownership.filter_manifest_for_runtime_profile
wires a contract with an explicit runtime_profiles list ONLY into a runtime named in that list, so both
REDUCER_GENERIC contracts were owned by no running runtime: no consumer group was started, they never
consumed evidence-validated.v1 / readiness-scored.v1 / occ-pr-created.v1 / evidence-dashboard-normalized.v1,
their terminal topics deployment-evidence-reduced.v1 / evidence-dashboard-reduced.v1 stayed at offset
0, and the five evidence/readiness projection tables stayed empty even though upstream handlers succeeded
and emitted their terminal events. Fix changes both reducer contracts to runtime_profiles: [workers]
(the deployed standalone-consumer lane) and adds a TDD validation test plus a recurrence guard asserting
every REDUCER_GENERIC contract is owned by a deployed standalone-consumer runtime. Contract-only change
to two YAML descriptors plus a test; no topic schema, envelope, or contract API change.
is_seam_ticket: false
interface_change: false
interfaces_touched: []
evidence_requirements:
- kind: "tests"
description: >
TDD-first test through the real omnibase_infra wiring functions asserts both reducers are owned
by the workers runtime and that every REDUCER_GENERIC contract is owned by a deployed standalone-consumer
runtime. Red on [compute], green on [workers].
command: "uv run pytest tests/validation/test_reducer_runtime_profile_consumer_ownership.py -q"
emergency_bypass:
enabled: false
justification: ""
follow_up_ticket_id: ""
dod_evidence:
- id: "dod-omnimarket-pr-1164"
description: >
omnimarket PR #1164 changes descriptor.runtime_profiles on node_deployment_evidence_reducer and
node_evidence_dashboard_reducer from [compute] to [workers] and adds tests/validation/test_reducer_runtime_profile_consumer_ownership.py.
Evidence anchor: omnimarket head commit 0690afaace2c73cf749780c6fe31f90a49ca72c3.
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12950/dod-omnimarket-pr-1164/command.yaml
&& grep -q '^pr_number: 1164$' drift/dod_receipts/OMN-12950/dod-omnimarket-pr-1164/command.yaml
&& grep -q 'passed' drift/dod_receipts/OMN-12950/dod-omnimarket-pr-1164/command.yaml"
- id: "dod-deploy-assessment"
description: >
Deploy assessment: this is a contract-only descriptor change in omnimarket with no topic schema,
envelope, or contract API change. It changes which runtime profile owns two existing reducer contracts
so the already-deployed workers runtime starts their consumer groups. Reaching live effect requires
a standard image rebuild that ships omnimarket on the stability-test runtime — a quiesce-coordinated
stability rebuild (no dev/prod mutation); no live deploy is performed by this PR. The fresh re-verification
(reducer consumer groups Stable via rpk + projection row_count > 0 at :13002) is captured after
that rebuild. The receipt check_value carries the deploy keyword for the deploy-gate.
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12950/dod-deploy-assessment/command.yaml
&& grep -q '^pr_number: 1164$' drift/dod_receipts/OMN-12950/dod-deploy-assessment/command.yaml
&& grep -q 'No live deploy' drift/dod_receipts/OMN-12950/dod-deploy-assessment/command.yaml"
- id: "dod-occ-pr-2464"
description: "onex_change_control PR #2464 (dev) carries the OMN-12950 central contract and receipt
evidence; this self-binding receipt makes the OCC PR satisfy its own OCC eligibility check."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12950/dod-occ-pr-2464/command.yaml
&& grep -q '^pr_number: 2464$' drift/dod_receipts/OMN-12950/dod-occ-pr-2464/command.yaml"
- id: "dod-occ-pr-2466"
description: "onex_change_control PR #2466 (hotfix/omn-12950-occ-main-promote) promotes the OMN-12950
contract and receipts from dev to main; this self-binding receipt makes the promote PR satisfy its
own OCC eligibility check (mirrors OMN-12939 dod-occ-pr-2462)."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-12950/dod-occ-pr-2466/command.yaml
&& grep -q '^pr_number: 2466$' drift/dod_receipts/OMN-12950/dod-occ-pr-2466/command.yaml"
Loading