feat(ISSUE-263): W4-C2 dispatch 白名单与 check run 写回 (#283) - #309
Merged
Merged
Conversation
- governance/rulesets/main-protection.json — adversary check 纳入 required_status_checks (specs/** PR 的 adversary verdict 成为合并阻断项;gate / org-gate / adversary 三 check 并列)
Contributor
Author
|
本 PR 修改组织级 rulesets,合并后会立即生效。但当前 adversary-gate workflow 文件尚未推送 若在本 PR 之前合并:
安全部署顺序(须人类维护员执行):
请人类维护员确认 workflow 文件已部署后再合并本 PR。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
W4-C2: dispatch 白名单 + conductor 侧重断言 + check run 写回
Closes #283
变更内容(本 PR,.github 仓)
governance/rulesets/main-protection.json—required_status_checks新增adversarycontext:成为 main 分支合并阻断项(AC-14 / BEH-01;specs/** PR 漏配 adversary check 即红)。
关联变更(CI-Workflows 仓,另见 CI-Workflows PR #87)
pipeline/adversary/check_run_writeback.py— adversary 产出判定报告后,以 App 令牌(checks:write,INV-02)在 spec PR head commit 创建 check run(verdict → conclusion 映射;fail-closed)。
阻塞(当前 App 无 workflows 权限,本地保留,待权限补推)
CI-Workflows/.github/workflows/adversary.yml— repository_dispatch event_type 白名单精确匹配(adversary-run / adversary-replay / adversary-survived;W4-C2 不信任 dispatch 载荷,
conductor 侧重断言在本仓独立验证)。本地实现于
w4-c3/CI-Workflows/.github/workflows/adversary.yml。.github/.github/workflows/conductor.yml— T5/T6 前置重新断言(suite-ready 谓词 +三元组 survived 记录;needs-human 不可直跳 wave-planned)。本地实现于
w4-c3/.github/.github/workflows/conductor.yml(W4-C1 已完整实现)。部署注意
main-protection.json新增adversaryrequired check 后,须待adversary-gate.yml推送并就位(org-required-workflows 引用,见 W4-C3 W4-C3: adversary check 纳入 specs/** required checks(EXPECTED_SKIP 确定性派生) #284),否则 required check 无法被满足。
建议部署顺序:先推送 workflow 文件(adversary.yml / adversary-gate.yml,需 workflows 权限),
再合并本 PR 与 W4-C3: adversary check 纳入 specs/** required checks(EXPECTED_SKIP 确定性派生) #284。
ADR
Card: #283