Skip to content

fix(OMN-10970): wire skip-token rejection CI gate - #1006

Merged
jonahgabriel merged 7 commits into
mainfrom
jonah/omn-10970-wire-reject-deploy-gate-skip-on-all-remaining-repos-8
May 14, 2026
Merged

jonahgabriel merged 7 commits into
mainfrom
jonah/omn-10970-wire-reject-deploy-gate-skip-on-all-remaining-repos-8

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented May 14, 2026 •

Copy link
Copy Markdown
Contributor

Evidence-Ticket: OMN-10970
Evidence-Source: a84f3c6

Wire the reject-deploy-gate-skip reusable workflow as a caller in this repo. Ensures unapproved skip tokens are rejected org-wide.

dod_evidence:

  • type: no_deployable_artifact
    description: CI workflow addition only — no runtime code modified

Summary by CodeRabbit

  • Chores
    • Added a new automated workflow, "Reject skip-gate bypass tokens", to detect and reject skip-gate bypass tokens on pull requests and merge groups targeting main.
  • Documentation
    • Added evidence/receipt entries documenting manual verification results for three PRs related to the gate enforcement.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 14, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6153f358-6574-4a9f-a874-98b648917685

📥 Commits

Reviewing files that changed from the base of the PR and between 33963ec and f5a9bda.

📒 Files selected for processing (1)
  • .github/workflows/call-reject-skip.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/call-reject-skip.yml

📝 Walkthrough

Walkthrough

Adds a repository workflow that invokes a hosted reusable workflow to reject skip-gate bypass tokens, and records three new OMN-10970 drift receipt files plus a contract update that lists those evidence items and their command checks.

Changes

Reject skip-gate gate + OMN-10970 receipts

Layer / File(s) Summary
Workflow to call hosted reject-gate check
.github/workflows/call-reject-skip.yml
New GitHub Actions workflow named "Reject skip-gate bypass tokens" triggered on pull_request (types: opened, edited, synchronize, reopened on main) and merge_group; sets contents: read, pull-requests: read; single job call-reject-skip-token invokes reusable workflow OmniNode-ai/omniclaude/.github/workflows/reject-deploy-gate-skip.yml@main via uses.
Contract: register new evidence items
contracts/OMN-10970.yaml
Adds three dod_evidence entries (dod-omniintelligence-pr-650, dod-occ-pr-1006, dod-omniclaude-pr-1585) with manual sources and command checks that assert corresponding receipt files report status: PASS and the expected pr_number.
Drift receipts: manual command check results
drift/dod_receipts/OMN-10970/dod-omniintelligence-pr-650/command.yaml, drift/dod_receipts/OMN-10970/dod-occ-pr-1006/command.yaml, drift/dod_receipts/OMN-10970/dod-omniclaude-pr-1585/command.yaml
Adds three receipt command.yaml files recording schema metadata, ticket/evidence IDs, check_type: command and check_value, status: PASS, run_timestamp, commit_sha, runner/verifier, pr_number, probe_command and probe_stdout, actual_output, and exit_code: 0.

Sequence Diagram

sequenceDiagram
  autonumber
  participant PR as Pull Request
  participant RepoWF as Repository Workflow (.github)
  participant HostedWF as Hosted Reusable Workflow (omniclaude)
  participant Contracts as Contracts/Receipts

  PR->>RepoWF: open/edit/synchronize/reopen (main) / merge_group
  RepoWF->>HostedWF: call reusable workflow (`uses`)
  HostedWF->>HostedWF: evaluate skip-gate token checks
  HostedWF-->>RepoWF: status check result (scan / reject-skip-gate-token)
  RepoWF->>Contracts: record/verify receipts & contract evidence (manual inputs)
  Contracts-->>RepoWF: PASS verification (receipt files show status: PASS)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰
I hopped through YAML, neat and bright,
Called a workflow in the quiet night,
Three receipts logged with PASS and time,
Exit code zero, tidy and prime,
A little guard, soft as a bite.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix(OMN-10970): wire skip-token rejection CI gate' directly describes the main change: adding a GitHub Actions workflow to wire the skip-token rejection CI gate, as evidenced by the new .github/workflows/call-reject-skip.yml file and related contract/receipt updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jonah/omn-10970-wire-reject-deploy-gate-skip-on-all-remaining-repos-8

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

@jonahgabriel
jonahgabriel enabled auto-merge (squash) May 14, 2026 18:33

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 @.github/workflows/call-reject-skip.yml:
- Line 28: Remove the unnecessary secrets inheritance from the reusable-workflow
call: delete the "secrets: inherit" entry in the call that invokes
reject-deploy-gate-skip.yml (the reusable workflow only uses ${{ github.token }}
and declares no secret inputs), so omit the secrets block entirely to enforce
least privilege.
🪄 Autofix (Beta)

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: 87577e96-eb81-496b-8503-3ec429f0567e

📥 Commits

Reviewing files that changed from the base of the PR and between 7b6e353 and 86737ef.

📒 Files selected for processing (1)
  • .github/workflows/call-reject-skip.yml

Comment thread .github/workflows/call-reject-skip.yml Outdated
@jonahgabriel
jonahgabriel merged commit 01525e2 into main May 14, 2026
31 checks passed
@jonahgabriel
jonahgabriel deleted the jonah/omn-10970-wire-reject-deploy-gate-skip-on-all-remaining-repos-8 branch May 14, 2026 21:03
andywu42 pushed a commit to andywu42/onex_change_control that referenced this pull request Jun 10, 2026
…c PRs (OmniNode-ai#579)

* docs(OMN-10376): add DoD contracts and receipts for swarm pattern epic PRs

Adds 11 missing ticket contracts + dod receipts for omnibase_core PRs
blocked by the Receipt Gate verify/verify check:

- OMN-10347 (PR OmniNode-ai#986): harden receipt gate skip tokens
- OMN-10351 (PR OmniNode-ai#987): EnumFileZone
- OMN-10357 (PR OmniNode-ai#991): ModelCompletionVerifyResult
- OMN-10358 (PR OmniNode-ai#990): extract_identifiers
- OMN-10363 (PR OmniNode-ai#1001): static import graph
- OMN-10367 (PR OmniNode-ai#996): trajectory store
- OMN-10368 (PR OmniNode-ai#1000): PRM detectors
- OMN-10369 (PR OmniNode-ai#1002): PRM escalation
- OMN-10371 (PR OmniNode-ai#1003): EnumDiffSeverity + AST diff models
- OMN-10372 (PR OmniNode-ai#998): tree-sitter symbol extractor
- OMN-10381 (PR OmniNode-ai#992): dispatch eval models

All contracts validated against ModelTicketContract schema.

* docs(OMN-10376): add contracts for newly opened swarm pattern PRs

Adds 4 more missing ticket contracts + dod receipts for omnibase_core PRs
opened after the initial batch:

- OMN-10360 (PR OmniNode-ai#1005): verify() + receipt-gate hook
- OMN-10356 (PR OmniNode-ai#1006): path-filtered CI matrix docs-only short-circuit
- OMN-10375 (PR OmniNode-ai#1009): AST semantic diff CLI + PR risk labeler
- OMN-10365 (PR OmniNode-ai#1010): co-change dark matter CLI + JSON output

All contracts validated against ModelTicketContract schema.

* docs(OMN-10376): add contract and receipts for proof-of-life integration tests

* docs(OMN-10376): resolve OCC receipt review comments

* ci: kick CI Summary runner (GHA queue stall)
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