Repository navigation
fix(OMN-16076): resolve changed-SQL base from push event context, not a hardcoded pin - #2754
Conversation
… a hardcoded pin The trusted changed-SQL step's base-revision fallback was a hardcoded SHA reachable only through a since-deleted stacked branch, so the first push-event run (post-merge on main, which has no pull_request or merge_group base) could not resolve the diff range and crashed on a raw git fatal. The fallback is now push event.before -- for a promotion merge that is exactly the promotion PR's base, so the push verdict reproduces the proven PR verdict. The gate script now validates the base revision up front: empty, zero, or unreachable bases fail with an actionable message naming the expected event-context sources, and a regression test holds the workflow expression to zero hardcoded SHAs.
The strict release-identity fitness gate requires pyproject to be ahead of the latest published tag; v0.38.6 was published today and dev still carried 0.38.6, so the gate failed on every pre-push repo-wide. This is the gate's own stated remediation and unblocks all open lanes.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 8 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 ignored due to path filters (1)
📒 Files selected for processing (5)
Comment |
…lock The shared-env digest is keyed on uv.lock; the version bump changed it, so runner-image-build-smoke failed on a stale recorded digest. Generated via scripts/ci/runner_image_identity.py --mode generate.
#6523) * evidence(OMN-16076): OCC companion for OmniNode-ai/omnibase_infra#2754 * evidence(OMN-16076): add occ-self-bind receipt for companion PR 6523
❓ Hostile Reviewer — UNKNOWNBlocking findings (critical): 0 Gate semantics (pilot phase)
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8468/OMN-8524) |
Ticket
OMN-16076
Problem
The main-branch post-merge CI run 31896443679 (push event, merge commit
ecc061c9) failed inApplication Database Domain Enforcementat the "Enforce schema qualification in changed SQL (trusted)" step:On push events the step's base-revision expression has neither
pull_request.base.shanormerge_group.base_sha, so it fell back to a hardcoded SHA. That SHA is the squash-merge commit of PR #2571 into a since-deleted stacked feature branch — it never entered dev's or main's commit graph and is unreachable from every remote branch head, so evenfetch-depth: 0cannot fetch it. Every push to main (each promotion) would re-fail deterministically; the same gate passed on the promotion PR because PR events use the real PR base.Fix
.github/workflows/ci.yml: base falls back togithub.event.beforeon push events — for a promotion merge that is exactly the promotion PR's base, so the push verdict reproduces the proven PR-event verdict. No hardcoded SHA remains (same principle as the neighboring live-resolve step: fail loudly, never a stale pin).scripts/ci/check_application_database_sql.py:_assert_base_revision_resolvable()validates the base before diffing — empty, all-zeros, or unreachable-in-checkout bases now fail with an actionable message naming the expected event-context sources instead of a raw git fatal.APPLICATION_SQL_BASE_REVISIONto zero 40-hex literals and requires thegithub.event.beforefallback.pyproject.toml0.38.6 → 0.38.7 (+uv.lock): v0.38.6 published today; the strict release-identity fitness gate requires the working version to be ahead of the latest published tag and was failing repo-wide on dev pre-push. This is the gate's own stated remediation and unblocks all open lanes.Seams
APPLICATION_SQL_BASE_REVISION(string SHA from event context) → script--base-revisionarg: matched; the committed workflow-assertion test drives this seam (reads the real ci.yml, asserts the expression shape the script's validation contract expects).RuntimeErrorwithevent context/hardcoded pinphrasing; covered by three new tests.dod_evidence
gh apiproof the pinned SHA is contained by zero remote branches.Evidence
Evidence-Ticket: OMN-16076
Evidence-Source: OCC#6523
Evidence-Source companion onex_change_control#6523 is MERGED (
5a2639217), so the cited evidence is resolvable from OCCdev:contracts/OMN-16076.yaml+ PASS receiptsdrift/dod_receipts/OMN-16076/dod-OmniNode-ai-omnibase_infra-pr-2754/command.yaml(exact-head content probe) anddrift/dod_receipts/OMN-16076/occ-self-bind-pr-6523/command.yaml.