Repository navigation
fix(OMN-15336): vendor node_service_registry NO FORCE ROW LEVEL SECURITY - #2676
Conversation
|
Companion PR: OmniNode-ai/omnimarket#2021 (source-of-truth migration). Merge order: this PR first, #2021 second. |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 25 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe PR adds a conditional migration that removes ChangesNode service registry RLS
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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
`@docker/migrations/forward/nodes/node_projection_registration/0004_node_service_registry_no_force_rls.sql`:
- Around line 49-50: Update the ALTER TABLE statement in the
node_service_registry migration to target public.node_service_registry
explicitly, while preserving the existing to_regclass guard and NO FORCE ROW
LEVEL SECURITY operation.
🪄 Autofix
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: bdfa7495-4856-4c7c-97f8-4795ef7b6285
⛔ Files ignored due to path filters (1)
docker/migrations/forward/_ledger/application-migrations.tsvis excluded by!**/*.tsv
📒 Files selected for processing (2)
docker/migrations/forward/nodes/node_projection_registration/0004_node_service_registry_no_force_rls.sqltests/unit/scripts/validation/test_application_migration_manifest.py
|
OCC autobind did not mint a companion for this PR: no changed-file candidate could be proven RED against the merge base, and emitting a PR-existence probe instead would be non-falsifiable evidence (OMN-15247). Hand-authored evidence is required. |
d1abe39 to
a5a25ae
Compare
|
Temporarily closed to relieve CI runner-fleet congestion (merge-sweep 2026-08-08, operator-approved — see ROLLING_WORK_LEDGER [mergesweep-0808-close]). Nothing is lost: branch, commits, and review state remain; this PR will be reopened in batches once the queue drains (reopen order recorded in the ledger). |
|
Reopening (batch per [mergesweep-0808-close] reopen plan) — CI queue has drained. |
34c25d9 to
5adcd58
Compare
…igration-Source-Ref PR body's Node-Migration-Source-Ref pointed at jonah/omn-15336-node-service-registry-no-force-rls, which was omnimarket#2021's branch — deleted after that PR merged to omnimarket dev 2026-08-07T23:46:01Z. The gate's sibling checkout 404'd trying to fetch a deleted branch. Body updated to Node-Migration-Source-Ref: dev (verified: the migration file is present on omnimarket dev tip).
…167 merged 2026-08-09T07:49:57Z but gate last polled before that [mergesweep-0809-infraunblock] Retriggering to pick up the merged companion state.
✅ Hostile Reviewer — PASSEDBlocking findings (critical): 0 Gate semantics (pilot phase)
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8468/OMN-8524) |
What
Item 4's DERIVABLE finding — vendored half. Source-of-truth migration lands in
omnimarket(companion PR OmniNode-ai/omnimarket#2021,src/omnimarket/nodes/node_projection_registration/migrations/0004_node_service_registry_no_force_rls.sql, byte-identical to the copy here) per this repo's own vendoring architecture (scripts/sync-node-migrations.sh).ALTER TABLE node_service_registry NO FORCE ROW LEVEL SECURITYreverses only theFORCEhalf of0002_node_service_registry_tenant_rls.sql.node_service_registryis contract-declaredomninode_internaldomain (node_projection_registration/contract.yamldb_io.schema, and this repo's ownapplication-migrations.tsvledger classification for the whole node), corroborated by the 2026-08-02 operator domain ruling and OMN-15656's landed grants-derivation correction.FORCEon internal registry state is the wrong posture — 0002 stamped aDEFAULT 'omninode'single-tenant value with no real multi-tenant partition, andFORCEconstrains even the table owner (the OMN-15301 write-lockout hazard). Idempotent (to_regclassguard): the registration trio is still operator-fenced by default, so a fenced database has nonode_service_registrytable at all.Does not need a
fenced-node-migrations.yamlentry: the OMN-15336 item-4 unclassified-FORCE-RLS guard (PR #2666, separate branch) only refuses migrations that enableFORCE ROW LEVEL SECURITYwithout a fence citation.NO FORCEis the disabling form and is explicitly excluded from that guard's match.Merge order
omnimarket#2021'snode-migration-vendor-parity-gaterequires this repo's vendored copy at dev tip before it can pass. This PR merges first;omnimarket#2021second.Evidence
Pre-push governed selector (full
tests/unit/, escalated because the ledger tsv is a shared file;OMNIMARKET_SRCset so the vendor-sync assertion resolves against the paired branch instead of the not-yet-merged canonical omnimarket clone):23172 passed, 36 skipped in ~567s.test_application_migration_manifest.py's pinned declaration count updated 94 → 95 for the new manifest row.OMN-15336 (item 4)
Node-Migration-Source-Ref: dev
(Updated 2026-08-08: omnimarket#2021 merged 2026-08-07T23:46:01Z and its branch was deleted post-merge, so the node-migration-sync gate's sibling checkout could no longer resolve
jonah/omn-15336-node-service-registry-no-force-rlsin omnimarket (404). The migration is now on omnimarket dev tip, so pinning todevresolves correctly.)Summary by CodeRabbit
Bug Fixes
Tests
Evidence-Ticket: OMN-15336
Evidence-Source: OCC#6167
Evidence-Head: ee979582745e8cc968a9dc3f996a44638e3b6f8e