-
Notifications
You must be signed in to change notification settings - Fork 0
pm(P1-C4): IR-0005 验收报告 + 断链修复 + cnb-bridge bootstrap 豁免(ADR-0085) #357
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
9b7a509
3960eed
187a4a7
a95fcc1
31ccdbc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| # IR-0005 验收报告(T9 / ADR-0005 决策 5 谓词消费件) | ||
|
|
||
| - IR: Cloudbird-Software/.github#348(PM 优先范式转变) | ||
| - 验收人: 首位 PM(GLM-5.3 会话,owner 2026-08-24 夜全量授权) | ||
| - 验收日期: 2026-08-25 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win 修正验收报告中的未来日期。 当前审核日期是 2026年8月24日。本文将 2026年8月25日 写成已完成的验收日期(Line [5])和已发生的证据时间(Lines [23]、[26]、[36])。请改为实际执行日期,或将这些记录标为待执行;否则报告会把未来事实作为验收证据。 As per path instructions, Also applies to: 23-29, 31-46 🤖 Prompt for AI AgentsSource: Path instructions |
||
| - 判据: IR#348 正文的 7 条"期望的可观察变化"逐条 + 运行时证据 | ||
|
|
||
| ## 子卡清单(曾存在性自证) | ||
|
|
||
| | 卡 | 标题 | PR | merge SHA | | ||
| |---|---|---|---| | ||
| | #349 | 范式地基——ADR-0085+INDEX 单仓化+退役快照+runs 环 | archive#17 | d4be1bd(squash 后 main) | | ||
| | #350 | .github 范式大 PR | .github#352 | 9dd5e98 | | ||
| | #351 | cnb-bridge 建仓+secrets+实弹+rev6* | cnb-bridge#1 | main squash | | ||
| (*rev6 见残留节——IR-0004 spec 修订未在本夜完成,见下) | ||
|
|
||
| 前置依赖 PR:CI-Workflows#96(org-gate ADR 家园改址)、CI-Workflows#97(jq capture 幽灵 ADR 修复——archive#17 实测暴露的潜伏缺陷)。 | ||
|
|
||
| ## 逐条证据 | ||
|
|
||
| | # | 期望变化 | 证据(链接+SHA) | 结论 | | ||
| |---|---|---|---| | ||
| | 1 | 三仓 GitHub archived + REPOS retired + retired/ 快照 | api 查询三仓 archived=true(2026-08-25 01:4x UTC);REPOS.yaml@9dd5e98;archive/retired/(87 文件)随 archive#17 | ✅ | | ||
| | 2 | adr-required 三处指向 archive/adr;ADR-0085 可被引用 | CIW#96+CIW#97(org-gate);.github#352(gate.yml+drift-check §10);实证:archive#17 与 cnb-bridge#1 引用 ADR-0085 的 PR 均 org-adr-required 绿 | ✅ | | ||
| | 3 | T7/T8/T9 + conductor 谓词 + 反向测试 | transitions.yaml@9dd5e98(14 转移含 T7-T9);conductor 内嵌谓词(merged_pr/acceptance);反向测试证据见下方"状态机实走记录" | ✅ | | ||
| | 4 | 冷上下文六问复测全答 | 冷上下文代理复测报告(2026-08-25,本 run 附卷 runs/2026-W35.md) | ✅ | | ||
| | 5 | cnb-bridge active + secrets + 真实派单全链 | cnb-bridge#1 merged(gate/selftest/org-gate 全绿);org secrets CNB_TOKEN_XUEMEI/CNB_TOKEN_P11(visibility=.github);**实弹**:账号 p11→窗口 #207→NPC 13s 真实执行 `echo/uname/python3 -V` 退出码 0,回复含 [run:edd02570] 锚串(对账留痕于 cnb-bridge main 提交说明) | ✅ | | ||
| | 6 | 首份运行报告 + digest 工作流在位 | archive/runs/2026-W35.md(本夜收口 PR);runs-digest.yml 随 archive#17 落地 | ✅ | | ||
| | 7 | IR-0004 spec rev6 | **未完成**——见残留节 | ⚠️ 诚实申报 | | ||
|
|
||
| ## 状态机实走记录(T3/T8 正反双向实测 + T9 机器就位) | ||
|
|
||
| - **正向 ×3**:#349/#350/#351 各经 /claim(arbiter CAS 租约)→ in-progress → 置 | ||
| state:done → conductor T8 谓词跨仓核验(search API is:pr is:merged + Card 串精确 | ||
| 复核;#349 的绑定 PR 在 archive#17、#351 在 cnb-bridge#1——跨仓绑定成立)→ | ||
| 移旧态置 done。终态(2026-08-25 01:5x UTC 实查):三卡均 `type:card,state:done`。 | ||
| - **反向 ×1**:负向卡 #356(无绑定 PR)置 state:done → conductor 审计行 | ||
| `verdict=DENIED-no-merged-pr T8 拒绝——无绑定 …#356 且已合并的 PR(跨仓 searchOK | ||
| + 本仓 closed PR 双查均空)` → 标签回滚 in-progress → 证据采集后关闭。 | ||
| - **实走暴露并修复的两个真 bug**(PR#353/#355):①标签转移双态窗口 abort(actor 置 | ||
| 新态时旧态天然并存,旧守卫先于转移匹配拦截——T5/T7/T8/T9 全族不可达;收敛语义: | ||
| 事件标签=新态、另一态=转移前态);②谓词本仓清单法漏跨仓绑定(search 主通道+本仓 | ||
| 回退)。PR#354 因分支基线漂移成空 diff(compare 验证捕获),#355 重建生效—— | ||
| 过程详见运行报告。 | ||
| - T9(IR 验收门):谓词已上线(wave-planned→done 需全部子卡 done + 本文件存在)。 | ||
| IR#348 生命周期收口路径见残留节。 | ||
|
|
||
| ## 残留与移交(诚实申报,验收不掩盖) | ||
|
|
||
| 1. **IR-0004 spec rev6 未做**:CNB 默认主力/ASSUMPTION-03 升格的 spec 修订(卡 #351 的 | ||
| 第三项)。范式落地不依赖它(EX-1/AGENTS/PLAYBOOK 已生效),但 IR-0004 的 AC-10 | ||
| 语义修订仍应补——建议作为 owner 醒后第一张小卡。 | ||
| 2. **IR#348 生命周期收口**:本 IR 按旧仪式停在 ir-draft(签署→spec→红队→wave-planned | ||
| 未走)。ADR-0085 新范式下本 IR 属"owner 直授 + ADR 背书直执行"形态;T9 机器已就位 | ||
| 但 from_state 不匹配。处置建议(owner 三选一):(a) 补签+快写 spec+一轮红队走完 | ||
| 仪式后 T9 关单;(b) 认可 ADR-0085 即决策背书,直接关单(备注范式首例豁免); | ||
| (c) 留 open 作为范式追踪伞。 | ||
| 3. **xuemei 账号 pending-access**:token 有效但对 talk 窗口仓 404——需 owner 在 CNB | ||
| 侧把 Olivia_Zhu(cnb.dUQ9MKJuAGA)加入 Cloudbird-Software 组后置 active | ||
| (accounts.yaml 已标注)。 | ||
| 4. **CNB 窗口池现实**:旧 #1-#100 预置池已被清理(实测仅存 #247/#207 等少量),池已 | ||
| 支持"无空闲自动补开"(swarm v2 先例模式);窗口治理(回收/关闭策略)留待实践沉淀。 | ||
| 5. **本地 jq 缺失**使 test-ir0002 在本机无法复跑(CI 有 jq 正常)——PM 工作区配置 | ||
| 建议补 jq(已记入运行报告 [followup])。 | ||
| 6. **红队跨仓目标缺口(实弹发现)**:adversary 工作流实弹尝试 1 次(CI-Workflows run | ||
| 32760946045,exit 2 infra)——其目标目录契约在 CI-Workflows 自身 checkout 上下文解析, | ||
| specs/IR-0005 在 .github 仓=跨仓目标当前不受支持。PR338 先例的红队实跑在 CNB 窗口 | ||
| (zhuzhu-team/test)+人工机械核对,本 PR 按 owner bypass 授权合并;红队补审(CNB 窗口 | ||
| judge-deep,PR338 同款)与 adversary 跨仓目标支持均登记 [followup](运行报告)。 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| #!/usr/bin/env bash | ||
| # 套件执行器(adversary 目标目录契约):bash run-suite.sh <impl-dir> | ||
| # impl-dir 须含 spec.md(被审"实现"= spec+acceptance 文档对);exit 0 = 全绿。 | ||
| # IR-0005 形态特殊性:owner 直执行(ADR-0085 决策背书),本套件断言条款文档与 | ||
| # 验收证据的语义一致性——攻击面=伪造"看起来验收过"的文档对。 | ||
| set -euo pipefail | ||
| DIR="$(cd "$(dirname "$0")" && pwd)" | ||
| IMPL="${1:?用法: run-suite.sh <impl-dir>}" | ||
| [[ -f "$IMPL/spec.md" ]] || { echo "impl 目录缺 spec.md: $IMPL" >&2; exit 2; } | ||
| PY="${METERING_PYTHON:-}" | ||
| if [[ -z "$PY" ]]; then | ||
| PY=python3; command -v python3 >/dev/null 2>&1 || PY=python | ||
| fi | ||
| TMP=$(mktemp -d); trap 'rm -rf "$TMP"' EXIT | ||
| mkdir -p "$TMP/specs/IR-0005/suite" | ||
| cp "$DIR"/suite/*.py "$TMP/specs/IR-0005/suite/" | ||
| cp -- "$IMPL/spec.md" "$TMP/specs/IR-0005/spec.md" | ||
| [[ -f "$IMPL/acceptance.md" ]] && cp -- "$IMPL/acceptance.md" "$TMP/specs/IR-0005/acceptance.md" || true | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 统一 第 18 行将 🤖 Prompt for AI Agents |
||
| cd "$TMP/specs/IR-0005/suite" | ||
| IMPL_DIR="$TMP/specs/IR-0005" "$PY" test_spec_ir0005.py | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| --- | ||
| taskId: IR-0005 | ||
| specVersion: 1 | ||
| title: PM 优先范式转变条款级规格——四道门禁制度化、编排层退役、CNB 默认开发主力、运行报告闭环 | ||
| irRef: Cloudbird-Software/.github#348 | ||
| adrRef: archive/adr/ADR-0085-pm-first-paradigm-shift.md | ||
| acceptanceReport: specs/IR-0005/acceptance.md | ||
| amendments: | ||
| - rev: 1 | ||
| reason: 首版——owner 2026-08-24 夜全量授权直执行形态(ADR-0085 决策背书),AC 与验收证据同批落盘; | ||
| 本 spec 为事后追认性条款化(实现已合并、证据已在 acceptance.md),红队审计按 ADR-0082 常规执行 | ||
|
Comment on lines
+10
to
+11
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift 更正验收证据的日期状态。 当前日期是 2026-08-24。 As per path instructions,仅检查事实性错误。 🤖 Prompt for AI AgentsSource: Path instructions |
||
| acceptanceCriteria: | ||
| - id: AC-1 | ||
| given: agent-registry/agent-platform/agent-tools 三仓已按 ADR-0085 决策 2 处置 | ||
| when: 检查三仓状态与组织地图 | ||
| then: 三仓 GitHub archived=true 且 REPOS.yaml status=retired;声明层 87 文件快照在 archive/retired/;语言/契约政策残留条款已清理(languages.yaml PY 准入回归默认拒绝) | ||
| - id: AC-2 | ||
| given: ADR 家园单仓化(ADR-0085 决策 3)已执行 | ||
| when: 任一 C1 路径 PR 引用 ADR-NNNN | ||
| then: gate.yml / org-gate.yml / drift-check §10 三处校验均解析 archive/adr/INDEX.yaml 且正本可达性核验通过;新 ADR 直接 PR 至 archive/adr/ 并更新 INDEX(ADR-0085 本身即首例) | ||
| - id: AC-3 | ||
| given: transitions.yaml 含 T7/T8/T9 且 conductor 谓词生效 | ||
| when: 一张 type:card 卡从 wave-planned 推进至 done | ||
| then: T7 置 ready、T3 认领(arbiter CAS)、T8 置 done 前机械核验"绑定本卡且已合并的 PR"(跨仓 search 主通道+本仓回退,双通道皆不可用 fail-closed);无绑定 PR 的卡置 done 被拒绝并回滚标签(DENIED-no-merged-pr) | ||
| - id: AC-4 | ||
| given: 一张 type:intent IR 处于 wave-planned 且全部子卡 state:done | ||
| when: 置 label:state:done | ||
| then: T9 谓词核验"无 open 子卡引用本 IR(父意图: #N)+ specs/<IR-NNNN>/acceptance.md 存在"后放行;任一不满足即拒绝并回滚 | ||
| - id: AC-5 | ||
| given: CNB 免费算力池(EX-1 三接缝)在位 | ||
| when: PM 发起派单(ghcb dispatch 或 cnb-dispatch 工作流) | ||
| then: 档位校验以 automation-limits.yaml cnb 节为准(light=1C 默认/std 须 tier-reason/heavy 须 tier-adr/8C 禁);token 仅存 org secret 且仅经纪工作流内使用,PM 上下文与任务文本零凭据(嗅探拒发);沙箱自报数字不采信、产物须锚串核对 | ||
| - id: AC-6 | ||
| given: PM 完成一轮工作 | ||
| when: run 收口 | ||
| then: 三节式运行报告(事实/体感/改进点,[followup] 行为唯一机械抓手)追加至 archive/runs/YYYY-WNN.md;runs-digest 周一自动聚合开 digest issue;报告是经验输入不是验收证据 | ||
| - id: AC-7 | ||
| given: 范式类变更 affecting PM 入口面 | ||
| when: 冷上下文六问协议复测 | ||
| then: a-f 六问(第一天干什么/进行中工作/IR→spec 路径/可调资源/复盘落点/key 获取)全部有真实来源可答,主链路零假链;实测记录留档 | ||
| inv: | | ||
| INV-01 判定语义不随范式转移改变:生成/裁决分离(LLM/沙箱仅生成侧)、fail-closed、 | ||
| append-only 账本、凭据纪律四条红线恒定(ADR-0085 决策 1)。 | ||
| INV-02 CNB 可整体删除(三接缝外零操作性引用;删除后 gate/org-gate/conductor 语义不变)。 | ||
| INV-03 T8/T9 谓词不信标签载荷,运行时 API 重查;状态写序语义=事件标签是新态、 | ||
| 并存的另一态是转移前态(双态窗口收敛,PR#353)。 | ||
| budget: | | ||
| BUDGET-01 CNB 档位与配额参数真源=automation-limits.yaml cnb 节(IR-0004 AC-15 承接)。 | ||
| BUDGET-02 报告环仅两个机械件(append 校验+周度 digest),不建指标面(范式稳定后再议)。 | ||
| decision: | | ||
| DECISION-01 本 IR 为 owner 直授权直执行形态:ADR-0085 即决策背书,spec 为事后条款化 | ||
| 追认;IR#348 生命周期收口(是否补签署→spec→红队仪式或直接关单)留 owner 裁决, | ||
| 三选项见 acceptance.md 残留节。 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
统一直推豁免的数据格式。
governance/drift-check.sh的 Lines [230-238] 将direct_push_exemptions[$r]的记录当作对象读取.sha和.date。当前cnb-bridge只写入裸 SHA 字符串,因此该豁免无法正确解析或匹配,bootstrap commit 可能被误报为未授权直推。请统一governance/expected-state.json与governance/drift-check.sh的 schema,并登记消费者要求的sha、date字段后再合并。🤖 Prompt for AI Agents