Skip to content

fix(OMN-16152): route dependabot into the fork fail-closed lane in Application Database Domain Enforcement - #2780

Merged
jonahgabriel merged 4 commits into
devfrom
jonah/omn-16152-ade-dependabot-token-fail-closed
Aug 21, 2026
Merged

jonahgabriel merged 4 commits into
devfrom
jonah/omn-16152-ade-dependabot-token-fail-closed

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Aug 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

All 6 open dependabot PRs (#2773-#2778) fail the required Application Database Domain Enforcement (OMN-15361) job with Input required and not supplied: token. Root cause: github.event.pull_request.head.repo.full_name == github.repository is TRUE for dependabot PRs (same-repo branch, not a fork), so the "Checkout exact service ownership dependency" step's if: routed dependabot into the CROSS_REPO_PAT-gated checkout of the private omninode_infra repo. GitHub withholds all repository secrets from dependabot-triggered pull_request runs by design (independent of fork status, and independent of the secret's own validity -- this is not the OMN-16107/OMN-16085 "PAT expired" class), so secrets.CROSS_REPO_PAT resolves to an empty string, and actions/checkout treats an explicitly-passed empty token: as required-and-missing rather than falling back to github.token.

This job already has a proven fail-closed narrow lane for exactly this problem shape -- the fork case. The "Enforce schema qualification in changed SQL (public fork, fail closed)" step skips the CROSS_REPO_PAT-gated checkout entirely and validates against only the public omnimarket ownership manifest. This PR extends that lane's condition, and the two "trusted" steps' guard conditions, to also cover github.actor == 'dependabot[bot]'.

The job itself keeps running to a genuine SUCCESS for dependabot PRs (it is not skipped) -- no ci_summary_gate.py / ACTOR_CONDITIONAL_CONTEXTS change is needed, since that mechanism exists for jobs whose check-run never materializes at all, which is not this case.

Does NOT widen secret scope to dependabot -- the narrower lane simply omits the private manifest, same as the fork case.

Test plan

OMN-16152

Evidence-Ticket: OMN-16152
Evidence-Source: OCC#6652

…plication Database Domain Enforcement

GitHub withholds all repo secrets from dependabot-triggered pull_request
runs even when the head branch is same-repo (not a fork). The
"Checkout exact service ownership dependency" step's if: only tested for
fork-vs-same-repo, so dependabot PRs were routed into the
CROSS_REPO_PAT-gated checkout of the private omninode_infra repo with an
empty token -- actions/checkout treats an explicitly-passed empty token as
required-and-missing rather than falling back to github.token, so the step
hard-fails with "Input required and not supplied: token" on every
dependabot PR.

Extend the existing fork fail-closed lane (already proven for fork PRs) to
cover github.actor == 'dependabot[bot]' too: the CROSS_REPO_PAT checkout and
the "trusted" SQL-enforcement step now skip for dependabot, and the "public
fork, fail closed" step's condition now also fires for dependabot so it
still gets a real (narrower) SQL-enforcement pass. The job itself still
completes to a genuine success -- no ci_summary_gate.py changes needed.
@jonahgabriel
jonahgabriel enabled auto-merge (squash) August 18, 2026 10:29
@coderabbitai

coderabbitai Bot commented Aug 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in: 24 minutes

Limit details: You’ve used the included review currently available. Your 116 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c0c094c0-c157-45d3-a22f-6ed1ebc880bc

📥 Commits

Reviewing files that changed from the base of the PR and between 6494944 and 54e7110.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • tests/ci/test_application_database_domain_enforcement_contract.py

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

@github-actions

github-actions Bot commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

✅ Hostile Reviewer — PASSED

Blocking findings (critical): 0
Total findings: 0
Models succeeded: qwen3-review,qwen3-review-b


Gate semantics (pilot phase)

Verdict Meaning Blocks merge?
passed No critical findings No
blocked CRITICAL findings found Yes
degraded All models unavailable (infra) No (pilot)

Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8468/OMN-8524)

jonahgabriel added a commit to OmniNode-ai/onex_change_control that referenced this pull request Aug 20, 2026
#6652)

* evidence: OCC companion pass 1 for OmniNode-ai/omnibase_infra#2780

* evidence: OCC companion self-bind for #6652

---------

Co-authored-by: node-occ-companion-effect <occ-companion-effect@omninode.ai>
Co-authored-by: Jonah Gray <jonah@omninode.ai>
@jonahgabriel
jonahgabriel merged commit 30a2ed2 into dev Aug 21, 2026
142 of 145 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-16152-ade-dependabot-token-fail-closed branch August 21, 2026 12:04
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