Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/call-reject-skip.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
# SPDX-License-Identifier: MIT
#
# OMN-10422 (Wave 5): Caller — re-scan skip-gate bypass tokens at merge_group entry.
#
# Invokes the omniclaude-hosted reusable workflow on pull_request and merge_group.
# On merge_group, the reusable workflow resolves the PR via head SHA and asserts
# exactly-one-PR (invariant I10). Cache is not reused across events (invariant I9).
#
# Required-status-check name: `scan / reject-skip-gate-token`
# Wire via: Settings → Branches → main → Require status checks → add the check name above.

name: Reject skip-gate bypass tokens

on:
pull_request:
types: [opened, edited, synchronize, reopened]
branches: [main]
merge_group:

permissions:
contents: read
pull-requests: read

jobs:
call-reject-skip-token:
uses: OmniNode-ai/omniclaude/.github/workflows/reject-deploy-gate-skip.yml@main
21 changes: 21 additions & 0 deletions contracts/OMN-10970.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,24 @@ dod_evidence:
- check_type: "command"
check_value: "test -f drift/dod_receipts/OMN-10970/dod-occ-pr-self/command.yaml && grep -q '^status:
PASS$' drift/dod_receipts/OMN-10970/dod-occ-pr-self/command.yaml"
- id: "dod-omniintelligence-pr-650"
description: "omniintelligence PR #650 wires the skip-token rejection CI gate."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-10970/dod-omniintelligence-pr-650/command.yaml
&& grep -q '^pr_number: 650$' drift/dod_receipts/OMN-10970/dod-omniintelligence-pr-650/command.yaml"
- id: "dod-occ-pr-1006"
description: "onex_change_control PR #1006 wires the skip-token rejection CI gate."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-10970/dod-occ-pr-1006/command.yaml
&& grep -q '^pr_number: 1006$' drift/dod_receipts/OMN-10970/dod-occ-pr-1006/command.yaml"
- id: "dod-omniclaude-pr-1585"
description: "omniclaude PR #1585 wires the skip-token rejection CI gate."
source: "manual"
checks:
- check_type: "command"
check_value: "grep -q '^status: PASS$' drift/dod_receipts/OMN-10970/dod-omniclaude-pr-1585/command.yaml
&& grep -q '^pr_number: 1585$' drift/dod_receipts/OMN-10970/dod-omniclaude-pr-1585/command.yaml"
18 changes: 18 additions & 0 deletions drift/dod_receipts/OMN-10970/dod-occ-pr-1006/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
schema_version: "1.0.0"
ticket_id: OMN-10970
evidence_item_id: dod-occ-pr-1006
check_type: command
check_value: "gh pr view 1006 --repo OmniNode-ai/onex_change_control --json state --jq '.state'"
status: PASS
run_timestamp: "2026-05-14T20:50:00Z"
commit_sha: 016dea32c05f7953d74884b97066d83b92ee5b9f
runner: manual-verification
verifier: receipt-gate-v1
pr_number: 1006
probe_command: "gh pr view 1006 --repo OmniNode-ai/onex_change_control --json title,state --jq '{title:
.title, state: .state}'"
probe_stdout: |
{"title":"fix(OMN-10970): wire skip-token rejection CI gate","state":"OPEN"}
actual_output: "PASS: onex_change_control PR #1006 wires skip-token rejection CI gate."
exit_code: 0
18 changes: 18 additions & 0 deletions drift/dod_receipts/OMN-10970/dod-omniclaude-pr-1585/command.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
schema_version: "1.0.0"
ticket_id: OMN-10970
evidence_item_id: dod-omniclaude-pr-1585
check_type: command
check_value: "gh pr view 1585 --repo OmniNode-ai/omniclaude --json state --jq '.state'"
status: PASS
run_timestamp: "2026-05-14T20:50:00Z"
commit_sha: 4911b59ea93c40902006b1c225f4ddd5ee57fbce
runner: manual-verification
verifier: receipt-gate-v1
pr_number: 1585
probe_command: "gh pr view 1585 --repo OmniNode-ai/omniclaude --json title,state --jq '{title: .title,
state: .state}'"
probe_stdout: |
{"title":"fix(OMN-10970): wire skip-token rejection CI gate","state":"OPEN"}
actual_output: "PASS: omniclaude PR #1585 wires skip-token rejection CI gate."
exit_code: 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
schema_version: "1.0.0"
ticket_id: OMN-10970
evidence_item_id: dod-omniintelligence-pr-650
check_type: command
check_value: "gh pr view 650 --repo OmniNode-ai/omniintelligence --json state --jq '.state'"
status: PASS
run_timestamp: "2026-05-14T20:50:00Z"
commit_sha: be871b89a00cadc04d516f6cb386ecde069743b5
runner: manual-verification
verifier: receipt-gate-v1
pr_number: 650
probe_command: "gh pr view 650 --repo OmniNode-ai/omniintelligence --json title,state --jq '{title: .title,
state: .state}'"
probe_stdout: |
{"title":"fix(OMN-10970): wire skip-token rejection CI gate","state":"OPEN"}
actual_output: "PASS: omniintelligence PR #650 wires skip-token rejection CI gate."
exit_code: 0
Loading