# Product BU Release Control Plane ## Before 发布状态靠对话记忆和手工 Markdown 更新维持。用户问“现在啥进度/有进展了吗”时,agent 需要重新翻会话、查本地包、查 GitHub PR、查 release asset,再手动改 `00-company/bu-dashboard.md`。 ## After `release-control-plane.yml` 是唯一事实源,agent 每次发布动作只做状态迁移;`release_status.py` 负责外部校验和看板再生成。 | 状态 | 进入条件 | 自动检查 | 下一步 | | --- | --- | --- | --- | | intake | 新产品或发布包进入 product-bu | artifact_path 是否存在 | package | | packaged | 已整理成可发布包 | manifest、权限、zip 结构 | local_verified | | local_verified | 本地加载或 smoke test 通过 | Edge/Obsidian 加载证据 | submitted | | submitted | 已提交社区 PR 或 release | PR URL、bot validation | bot_validated 或 blocked | | bot_validated | 自动校验通过 | release asset、版本号 | released | | blocked | 校验失败或缺授权 | blocker、owner、next_action | 修复后回到 submitted | ## Tool Upgrade Example ```bash python tools/release-control/release_status.py sync --product obsidian-groq-copilot python tools/release-control/release_status.py render-dashboard --write ``` 产物效果:用户问进度时,agent 直接读取状态机,回答“obsidian-groq-copilot 当前在 submitted,GitHub PR 已创建,bot validation 因 sentence-case lint 阻塞,下一步是修标题并重新触发校验”,同时 `00-company/bu-dashboard.md` 已由脚本同步。