Delivery Harness Framework / 当前 Skill Routing Map
DHF 当前 Skill Routing Map。
MyCodexEnv 使用 delivery-harness-framework 作为 Delivery Harness Framework (DHF) 的入口。DHF 先恢复运行时事实,探测 Codex 环境,识别当前生命周期阶段,再把任务路由到仓库专用 harness、gstack 专家技能、本地开发与验证技能,或确定性的运行时辅助脚本。最新路由还覆盖 domain docs / ADR、vertical slices、feedback loop、throwaway prototype 和 durable agent brief。
8标准生命周期阶段
9+辅助 / 验证 / brief 入口
3通用、仓库专用、gstack 角色
4完成证据字段
当前流程
纵向 Mermaid 流程图:恢复运行时事实,选择正确技能 / 辅助脚本,然后写入检查点
ShipAI.ca
flowchart TD Start(["用户任务进入
DHF"]) AGENTS["读取 AGENTS.md
README 和 docs/repo-index.md"] Recover["运行 harness_recover.py --json
恢复阶段、脏状态、下一个安全任务"] Env["运行 harness_env_probe.py --json
观察 hooks、策略、schema"] NeedsReq{"目标、范围和
验收标准是否清晰?"} Req["锁定需求
planner / req-to-dev
CONTEXT / ADR"] ReqVal["harness_requirements.py validate PATH"] Classify{"分类生命周期阶段
和风险边界"} Repo{"是否存在仓库专用 harness?"} RepoSkill["交给项目适配器
业务路径、命令、冒烟矩阵"] Product["产品 / 范围判断
gstack-plan-ceo-review / gstack-office-hours"] Plan["工程 / 设计规划
vertical slices / AFK / HITL"] Proto["原型学习 / 深模块
throwaway prototype / deep module"] Dev["实现
tdd-guide / atdd-guide / scoped workers"] Team{"是否使用并行 agents?"} TeamVal["harness_agent_team.py validate PLAN.json
optional durable brief"] Val["验证与证据
feedback loop / verification-loop / harness_report.py"] QA["QA / 安全 / Review
gstack-qa / gstack-cso / gstack-review / code-reviewer"] Ship["发布 / 部署
gstack-ship / gstack-land-and-deploy / gstack-canary"] Docs["文档发布
gstack-document-release / doc-updater"] Handoff["交接
harness_checkpoint.py append"] Done(["DHF 输出
技能路由、验证证据、下一个安全任务"]) Start --> AGENTS --> Recover --> Env --> NeedsReq NeedsReq -- "否" --> Req --> ReqVal --> Classify NeedsReq -- "是" --> Classify Classify --> Repo Repo -- "是" --> RepoSkill --> Dev Repo -- "否,偏产品" --> Product --> Plan Repo -- "否,偏工程/设计" --> Plan --> Proto Repo -- "否,可直接实现" --> Dev Proto --> Team Dev --> Team Team -- "是" --> TeamVal --> Val Team -- "否" --> Val Classify -- "验证" --> Val Classify -- "QA/安全/Review" --> QA --> Val Classify -- "发布/部署" --> Ship --> Val Val --> Docs --> Handoff --> Done classDef runtime fill:#e9f7f5,stroke:#0f9b8e,color:#17241f; classDef decision fill:#f0eaff,stroke:#8a4fff,color:#17241f; classDef build fill:#fbf0dc,stroke:#b26a00,color:#17241f; classDef verify fill:#eaf6f0,stroke:#12805c,color:#17241f; classDef ship fill:#faeaf1,stroke:#d13574,color:#17241f; class AGENTS,Recover,Env,ReqVal,TeamVal,Handoff runtime; class NeedsReq,Classify,Team decision; class Req,Plan,Proto,Dev,RepoSkill,Product build; class Val,QA,Docs verify; class Ship ship;
Skill Routing Map
辅助脚本提供客观运行时事实;技能负责认知层工作流路由
| 流程步骤 | 主技能 | 辅助命令 | 何时路由到这里 |
|---|---|---|---|
| 开始 / 恢复 | delivery-harness-framework | scripts/harness_recover.py --jsonscripts/harness_env_probe.py --json |
任何复杂任务、恢复中的会话、脏工作区、跨阶段交接,或目标不清的请求。 |
| 需求 | plannerreq-to-devtask-flow-orchestrator | docs/templates/harness-requirements.mdscripts/harness_requirements.py validate PATHCONTEXT.md / CONTEXT-MAP.md / ADR |
目标、范围、受众、约束、领域词汇、成功标准或验收测试尚未锁定。 |
| 产品 / 业务判断 | gstack-plan-ceo-reviewgstack-office-hours | 存在需求产物时运行 scripts/harness_requirements.py validate PATHgbrain 已配置时由 gstack planning skill 自行 preflight |
需要澄清用户价值、范围、演示边界、优先级或业务取舍时;gbrain 不能替代 repo state。 |
| 工程 / 设计规划 | gstack-plan-eng-reviewgstack-plan-design-reviewgstack-plan-tuneplanner | 提出并行工作时运行 scripts/harness_agent_team.py validate PLAN.json需要 worker 合同时使用 docs/templates/harness-agent-brief.md |
需要决定架构、API、数据流、迁移、视觉结构、vertical slice、AFK/HITL 或多 agent 写入归属时;重复提问偏好才进入 plan-tune。 |
| 开发 | tdd-guideatdd-guidescoped worker agents | scripts/harness_agent_team.py validate PLAN.jsongit status --short --branch |
验收标准已清晰,且生命周期策略允许有范围的仓库写入;worker brief 可校验 current/desired behavior、key interfaces 和 acceptance criteria。 |
| 验证 / 证据 | verification-loopharness_report.py | python3 test_runner.pygit diff --checkscripts/verify_codex_env.sh ... |
声明完成之前、代码 / 配置 / 文档变更之后,或 debug 任务需要先建立 runnable feedback loop 时。 |
| QA / Review / 安全 | gstack-qagstack-qa-onlygstack-reviewcode-reviewergstack-csosecurity-reviewer | 对运行时敏感任务使用 git diff、scripts/harness_env_probe.py --json |
存在 diff、行为对用户可见、涉及安全 / 隐私边界,或任务接近交接 / 发布时。 |
| 发布 / 部署 / 金丝雀 | gstack-shipgstack-land-and-deploygstack-canary | scripts/verify_codex_env.sh ...scripts/harness_checkpoint.py append |
用户明确要求 commit、PR、merge、release、deploy 或生产验证时。 |
| 文档 / 交接 | gstack-document-releasedoc-updaterdelivery-harness-framework | scripts/harness_checkpoint.py appendscripts/harness_report.py --json |
文档需要反映已交付行为,或会话必须持久化下一个安全任务状态时。 |
路由规则
1. 运行时事实优先于记忆
先运行恢复和环境探测。聊天历史与 subconscious 输出只是线索,不是唯一事实来源。
2. 规划前必须通过需求门禁
如果范围、验收标准或领域词汇不稳定,先创建或验证需求产物,并读取
CONTEXT.md / ADR。
3. 没有验证器,不允许并行写入
任何 worker 团队都必须通过
harness_agent_team.py validate,证明写入集合不重叠,且不抢写 docs/harness-state.md;该全局 checkpoint 由 integrator 验证后追加,单线主 agent 任务不受此 worker 规则限制。
4. 完成声明必须有新鲜证据
声明完成前,记录
command、exit_code、key_output 和 timestamp;debug 修复前先证明反馈回路存在。
5. 交接是运行时事件
在有意义的工作切片结束时,使用
harness_checkpoint.py append 记录命令、退出码、关键输出、时间戳和下一个安全任务。
6. 仓库不能强行定义全局沙箱真相
环境探测可以报告可观察到的沙箱和审批设置,但不能假装知道隐藏的 Desktop 线程状态。
相关链接
中文文档
英文文档
Published by ShipAI.ca as a public DHF reference. 图中的 ShipAI.ca 水印标识该公共参考资产的发布方。