Files
pikasTech-HWLAB/docs/reference/commander-collaboration.md
T

86 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HWLAB 指挥官与 runner 协作规则
本文定义指挥官、runner、分支、PR、prompt handoff 和文档维护的长期规则。
## 指挥作风
- 指挥官必须亲自掌握关键一手事实,不能只依赖 runner 的二手摘要。
- 必须亲自查看 `http://74.48.78.17:17666/` 默认首屏、`/gate` 或内部诊断页、关键 PR diff、部署 revision、DEV 验收结果和失败证据。
- 一层 Code Queue 直接执行业务实现、修复、部署和验证是允许的基层指挥模式。
- 不得把战略判断、是否偏离用户目标的判断、关键 PR 最终审查、关键部署证据审查、指挥官自我反省和指挥规则更新外派给 runner。
- 不得为了 Gate 生成 Gate、为了报告生成报告、为了审查再派审查、为了管理继续拆管理;Gate、报告、预检和观测脚本只能作为真实上线、真实 E2E 或 blocker 解除的必要最小工具。
- 派单前必须能回答该任务直接带来的用户可见变化、运行态变化或 blocker 解除是什么;回答不了时默认不派单。
- 用户反馈 issue 默认高优先级处理;`pikasTech/HWLAB#131` 是当前指挥作风纠偏的一手事实权威来源。
## 工作区规则
- 常规 runner 和指挥官工作区是 `/workspace/hwlab`
- 进入仓库先检查分支和工作树状态。
- G14 人工/指挥官开发必须先在固定 repo `/root/hwlab``pwd``git status --short --branch``git remote -v``fetch` 预检,再在 `/root/hwlab/.worktree/<task>` 从最新 `origin/G14` 创建任务专属 worktree;代码、文档、测试补丁、提交和 PR 准备都在该独立 worktree 中完成。
- 固定 repo `/root/hwlab` 是 source truth 和 worktree 管理入口,不是并行任务 scratch 区;不要在固定 repo 根目录堆叠未提交改动,也不要复用其他任务遗留 `.worktree/<task>`
- D601 发布和 rollout 工作区是 `/home/ubuntu/workspace/hwlab`
- 不要清理、reset 或复用无关 runner worktree 作为发布真相。
## 分支和 PR 工作流
- 从最新 `origin/main` 创建短分支。
- 不要直推 `main`
- 不要修改 PROD。
- 除非任务明确授权,不要重启服务。
-`pikasTech/HWLAB:main` 创建 PR。
- runner 默认不合并自己的 PR;用户或指挥官可以对单个 PR 明确授权 runner 自合并。
- 自合并前必须同时满足:PR 为 `MERGEABLE/CLEAN` 或等价无冲突状态;required checks 没有失败;D601/CI 或指定运行态验证证据已贴到 PR/issue;变更不涉及 PROD、Secret、权限提升、数据迁移或未授权重启;runner 在最终评论中列出提交 SHA、验证命令和回滚边界。
- 当前 GitHub 写入仍优先走 UniDesk CLI 或 repo-owned GitHub 路径;若当前 CLI 不支持 merge,必须使用可审计的授权路径,不能用无记录的本地绕行来规避审计。
- PR 冲突由指挥官审阅并处理;runner 不做大范围冲突手术,除非被明确分配。
- 指挥官合并 PR 时必须同时 review,确认方向没有偏离 `#7``#78``#99` 和当前用户反馈。
## Prompt 合同
每个 HWLAB runner 任务必须自包含,并包含:
- 仓库和工作区路径;
- 分支 base 和目标 PR 分支;
- 任务目标和关联 issue 背景;
- 当前稳定约束,尤其是相关时必须引用 `DC-DCSN-P0-2026-003`
- 禁止动作;
- 验收标准;
- 精确验证命令;
- 最终回复要求。
派单前必须用 dry-run 或提交结果确认 prompt 实际内容不是本地临时文件路径、空字符串或被 shell 转义污染的文本。误派的任务要立即 cancel,并在后续派单中改用 `--prompt-file`
不要假设 runner 能读取 issue 评论。需要 issue/PR 可见性时,运行:
```sh
node scripts/runner-issue-visibility-preflight.mjs
```
详细 prompt handoff 合同见 [runner-issue-visibility-handoff.md](runner-issue-visibility-handoff.md)。
## 审查护栏
审查时必须拒绝以下输出:
- 把 SOURCE、LOCAL、DRY-RUN、fixture、edge-only health 或前端状态说成 DEV-LIVE
- M3 绕过 `hwlab-patch-panel`
- 用 UniDesk runtime 替代 HWLAB runtime
- 把 Gate 或 diagnostics 放回 Cloud Web 默认首页;
- 继续使用历史公网 `:6666``:6667` 作为当前 DEV 入口;
- 把 runner kubeconfig 缺失、runner 观测 gap 或瞬时网络问题直接写成 D601/k3s 不可用;
-`/v1/agent/chat``provider_unavailable``OPENAI_API_KEY` 缺失或
本地/mock 回显写成真实 assistant reply
- 用报告完成、Gate 通过、预检通过替代用户可见上线、真实 DEV 运行态变化或 M3 blocker 解除。
## 稳定来源
- [pikasTech/HWLAB#7](https://github.com/pikasTech/HWLAB/issues/7):当前指挥官总看板。
- [pikasTech/HWLAB#78](https://github.com/pikasTech/HWLAB/issues/78)M3 prompt 和审查约束。
- [pikasTech/HWLAB#99](https://github.com/pikasTech/HWLAB/issues/99)Cloud Workbench 用户工作台主线。
- [pikasTech/HWLAB#131](https://github.com/pikasTech/HWLAB/issues/131):指挥作风纠偏,一手调研和真实推进规则。
- [pikasTech/HWLAB#109](https://github.com/pikasTech/HWLAB/issues/109):文档治理任务。
- [pikasTech/HWLAB#121](https://github.com/pikasTech/HWLAB/issues/121):中文化要求。
- [pikasTech/HWLAB#122](https://github.com/pikasTech/HWLAB/issues/122):用户反馈优先级要求。
- [pikasTech/HWLAB#123](https://github.com/pikasTech/HWLAB/issues/123)docs-spec 入库要求。
- [code-agent-chat-readiness.md](code-agent-chat-readiness.md)Code Agent chat 真实回复和 provider blocker 判定。
- [runner-issue-visibility-handoff.md](runner-issue-visibility-handoff.md)runner 可见性和 prompt handoff 详细规则。