Skip to content

feat(ISSUE-263): W3-C4 CNB dispatch 通道与 fallback (#280) - #73

Merged
cloudbrid-agent[bot] merged 1 commit into
mainfrom
feat/ISSUE-263-w3-c4
Aug 23, 2026
Merged

feat(ISSUE-263): W3-C4 CNB dispatch 通道与 fallback (#280)#73
cloudbrid-agent[bot] merged 1 commit into
mainfrom
feat/ISSUE-263-w3-c4

Conversation

@cloudbrid-agent

Copy link
Copy Markdown
Contributor

摘要

按 cnb-architecture 建议实现:CNB_TOKEN org secret 注入;canary 先行(30–60s echo 任务);窗口抢占/投递/轮询/收集;fallback 链 CNB→自有 API→no-attempts(锁 needs-human + 自动开 issue);连续 3 次 fallback 或额度尽 → 自动开 type:infra issue。

变更

  • pipeline/adversary/cnb_bridge.py:CNB dispatch + canary + fallback 链 + 凭据纪律扫描
  • scripts/cnb-bridge.sh:CLI 入口

凭据纪律

CNB 沙箱只接触公开内容,零 GitHub 凭据;env 全量凭据形状扫描,出现第 2 个凭据即判红(AC-6 负向断言)。

接口兼容

与 W3-C1 adversary workflow 调用接口兼容。

Closes Cloudbird-Software/.github#280

按 cnb-architecture 建议实现:
- pipeline/adversary/cnb_bridge.py:CNB_TOKEN org secret 注入;canary 先行
  (30–60s echo 任务);窗口抢占/投递/轮询/收集;fallback 链 CNB→自有
  API→no-attempts(锁 needs-human + 自动开 issue);连续 3 次 fallback 或
  额度尽 → 自动开 type:infra issue;凭据纪律扫描(env 全量,第 2 个凭据即判红)
- scripts/cnb-bridge.sh:CLI 入口

凭据纪律:CNB 沙箱只接触公开内容,零 GitHub 凭据。
与 W3-C1 adversary workflow 调用接口兼容。

Closes Cloudbird-Software/.github#280
@cloudbrid-agent
cloudbrid-agent Bot enabled auto-merge (squash) August 23, 2026 08:45
@cloudbrid-agent
cloudbrid-agent Bot merged commit 45ef259 into main Aug 23, 2026
21 checks passed
@cloudbrid-agent
cloudbrid-agent Bot deleted the feat/ISSUE-263-w3-c4 branch August 23, 2026 08:46
randypanding added a commit that referenced this pull request Aug 26, 2026
对近一周(#21..#124)全部 PR 复盘后的机械债清理:仅删除 AST 级验证
「全仓零引用」的未用导入/未用名,不改任何判定逻辑、阈值、白名单或
policy 数据。逐文件出处:

- pipeline/adversary/cnb_bridge.py:删未用 `from typing import Any`(#73/#74)
- pipeline/adversary/golden_set.py:删未用 `from typing import Any`(#80/#82/#83)
- pipeline/adversary/holdout_registry.py:删未用 `from typing import Any`(#81/#82)
- pipeline/adversary/e2e/e2e-runner.py:删未用 `from typing import Any`(#89)
- pipeline/adversary/llm_verifier.py:删未用 `import math`;可选库导入行去掉
  未用名 extract_score(call_verifier/create_openai_client 均在用,保留)(#72/#76)
- pipeline/entropy/tests/test_e2e.py:删未用 `import sys`(#56)
- pipeline/selftest-c/tests/test_registry.py:删未用 `import copy`(#103)
- pipeline/trust-gate/tests/test_adjudicate.py:删未用 `import copy`(#63)
- pipeline/trust-gate/tests/test_cli.py:from-import 去掉未用名
  PREDICATES/UNLOCK_STATE(保留 trust_gate 可导入性冒烟导入与 noqa 惯例)(#63)
- scripts/dep-supply-chain-check.py:删未用 `import copy`(#36/#43)

刻意不动(已核验非死代码):各模块 `from __future__ import annotations`;
fuzz/sast/symbolic 的 `_yamlmini` 双模式导入守卫(noqa F401,保证包路径);
golden_set 等 try-import yaml 的环境 fail-closed 守卫;org-gate /
suppression-gate / adversary-gate 等关卡 workflow 与 policy/suppressions.yaml
基线数据——门语义一概不变。

验证:
- py_compile 全部 scripts/pipeline *.py 通过;bash -n 全部 *.sh 通过
- workflows/policy/pipeline 共 62 个 YAML 解析通过
- scripts/test-integrity-fixtures/run.sh、scripts/suppression-budget-selftest.sh 通过
- python -m unittest:trust-gate test_adjudicate+test_cli 17 例、
  selftest-c tests.test_registry 14 例、entropy tests.test_e2e 10 例——全绿

Co-authored-by: randypanding <randypanding@users.noreply.github.com>
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.

W3-C4: CNB dispatch 通道 + canary + fallback 链

1 participant