Skip to content

fix(OMN-13150): vendor agent_routing_decisions per-node migration to omnidash_analytics (FIX-1) - #1985

Merged
jonahgabriel merged 1 commit into
devfrom
jonah/omn-13150-routing-decision-db-repoint
Jun 14, 2026
Merged

jonahgabriel merged 1 commit into
devfrom
jonah/omn-13150-routing-decision-db-repoint

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Jun 14, 2026 •

Copy link
Copy Markdown
Collaborator

OMN-13150 (FIX-1) — vendor agent_routing_decisions per-node migration (omnidash_analytics)

Companion to omnimarket PR #1218 (the source-of-truth contract repoint + 3-part dev-lane runtime proof).

This PR vendors the per-node forward migration that creates agent_routing_decisions in the canonical projection DB (omnidash_analytics):

  • docker/migrations/forward/nodes/node_projection_routing_decision/0021_create_agent_routing_decisions.sql — vendored 1:1 from omnimarket/src/omnimarket/nodes/node_projection_routing_decision/migrations/0021_create_agent_routing_decisions.sql via scripts/sync-node-migrations.sh.
  • Applied to $NODE_PGDB=omnidash_analytics by run-forward-migrations.sh (node pass), tracked in schema_migrations as node:node_projection_routing_decision:0021_create_agent_routing_decisions.sql.
  • DDL identical to flat infra 021_create_agent_routing_decisions_table.sql; all statements IF NOT EXISTS, idempotent, different DB.

Why

The projection node's runtime DSN (from_legacy_settings + projection-API reader) resolves omnidash_analytics first, but the table never existed there (only in omnibase_infra). All sibling projection tables live in omnidash_analytics. omnimarket #1218 repoints the contract to omnidash_analytics; this vendored migration makes the table exist there on a clean deploy.

Cross-repo ordering (blocker)

The vendored-tree drift gate (tests/unit/migrations/test_node_migration_discovery.py::test_sync_check_reports_in_sync) resolves omnimarket via $OMNI_HOME/omnimarket (canonical clone @ dev). This PR must merge AFTER omnimarket #1218 is on dev and the canonical clone is synced, or the drift gate reports OUT OF SYNC. Locally the gate PASSES when OMNIMARKET_SRC points at the #1218 branch (vendored == source).

dod_evidence

OCC PR-binding receipt

The PR-binding PASS receipt for this PR is drift/dod_receipts/OMN-13150/dod-infra-pr/command.yaml (status: PASS, commit_sha: 60016ddd46b36c673b0fc6954c74a5641e37f9c7 = this PR's head, pr_number: 1985), merged on onex_change_control dev via OCC #2634. Evidence-Source below is repointed from OCC #2632 (979d9b79, which predated the infra receipt) to OCC #2634's merge commit so the Receipt Gate resolves the OCC tree that contains dod-infra-pr.

Evidence-Source: 6d4213f321372a009a23ce6aad2119ee605c6a4f
Evidence-Ticket: OMN-13150

…_decisions migration (FIX-1)

Vendored 1:1 from omnimarket
src/omnimarket/nodes/node_projection_routing_decision/migrations/0021_create_agent_routing_decisions.sql
via scripts/sync-node-migrations.sh. Applied to $NODE_PGDB=omnidash_analytics by
run-forward-migrations.sh. Creates the agent_routing_decisions projection table in
the canonical projection DB (omnidash_analytics) — see omnimarket PR #1218 for the
contract repoint + 3-part dev-lane runtime proof.

NOTE: the vendored-tree drift gate (tests/unit/migrations/
test_node_migration_discovery.py::test_sync_check_reports_in_sync) resolves
omnimarket via $OMNI_HOME/omnimarket (canonical clone @ dev). This PR must land
AFTER omnimarket #1218 is merged to dev and the canonical clone is synced, or the
drift gate will report OUT OF SYNC.

Evidence-Source: b56a3ff
Evidence-Ticket: OMN-13150
@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@jonahgabriel, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 2 hours, 1 minute, and 37 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6c37a53a-3230-4a53-96ed-6b042be0457e

📥 Commits

Reviewing files that changed from the base of the PR and between b56a3ff and 60016dd.

📒 Files selected for processing (1)
  • docker/migrations/forward/nodes/node_projection_routing_decision/0021_create_agent_routing_decisions.sql
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-13150-routing-decision-db-repoint

Comment @coderabbitai help to get the list of available commands and usage tips.

@jonahgabriel
jonahgabriel added this pull request to the merge queue Jun 14, 2026
Merged via the queue into dev with commit a96fb35 Jun 14, 2026
71 of 75 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-13150-routing-decision-db-repoint branch June 14, 2026 23:52
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