---
name: delivery-evidence-closure
description: Use when 从 prior Nucleus result packages 生成 candidate-only 交付闭环证据和 PR/MR draft 文本。
---

# Delivery Evidence Closure

> 前置：使用本 Skill 前，先按 `using-nucleus` 完成 Nucleus 入口识别（Claude Code 会话由插件 SessionStart hook 自动注入该纪律）。

当 coding agent 需要汇总交付证据、准备可供人工审查的交付收口材料时使用本 Skill。

## 核心原则

交付收口只能汇总已经发生且可追溯的证据；它不能补造开发完成、人工 PR/MR 审查、合入或发布事实。

<HARD-GATE>
任何特性任务包缺设计、设计评审、实施计划、计划确认、实现、验证、multi-review、整改或整改复核证据时，不得准备 PR/MR draft 或声明交付可审。

未创建宿主 todo/task 任务包，不得生成 delivery closure candidate、PR/MR draft 或 result package。

到达 `delivery-closure-review` 人审点时，按 `_shared/references/subagent-precheck-protocol.md` 执行 `subagentPreReview` 子代理预审；未取得“材料可提交人工审查”结论前，不得请求人工交付评审。
</HARD-GATE>

## Checklist

启动本 Skill 后，必须先为以下每一项创建宿主 todo/task，并按顺序执行；Codex 使用计划 / 任务工具，Claude Code 使用 TodoWrite 或等价宿主 todo。每完成、阻塞、等待 review 或需要复核一项，都必须逐项更新状态。

1. **读取 prior result**：读取明确的 prior result package 和 `.nucleus/context/<workflowRunId>.json`；缺可信 result 时 `ALERT_AND_BLOCK`。
2. **创建宿主任务包**：把本 checklist 同步成当前会话的宿主 todo/task；未同步前不得生成 closure candidate 或 PR/MR draft。
3. **收集交付证据**：读取 quality gate、test report、git changed files、commit metadata 和相关 review evidence。
4. **校验特性任务包完整性**：确认每个 feature task package 都有设计、设计评审、实施计划、spec anchor、计划确认、实现、验证、multi-review、整改和整改复核证据。
5. **重算 spec compliance**：读取每个特性的 `specAnchor` 和 `feature-development/spec-compliance-evidence.json` 正文，按 changed files 重新计算 applicable rules、required evidence、UI design coverage 和公共组件 / 公共样式证据；缺 spec anchor、factsManifestHash stale、报告正文为空、blocking rule 证据缺失、UI frame 仍是 `pending-export` 或 required UI 缺截图 / 视觉证据时 `ALERT_AND_BLOCK`。
6. **阻塞缺失证据**：任何关键证据缺失时 `ALERT_AND_BLOCK`；不得用 summary、result 或 PR/MR draft 补造事实。
7. **生成收口候选**：只生成 delivery closure candidate 和 PR/MR description draft；draft 只是待审文本。
8. **等待交付人工评审**：到达人审点时按 `_shared/references/subagent-precheck-protocol.md` 执行 `subagentPreReview`，确认材料可提交人工审查后，再按 `_shared/references/interaction-format.md` 的确认型格式向用户或 PMS 呈现：先给结论（本次完成了什么、变更范围、测试状态），再展开候选材料、PR/MR draft 和缺口；缺 `delivery-closure-review` 时 STOP。
9. **写入结果证据**：构建 result package；delivery closure candidate、PR/MR draft、summary 和 result 不能替代宿主任务或人工 review，也不代表 PR/MR 已创建、已审查、已合入或已发布。

PR/MR draft 不代表 PR/MR 已创建、已审查、已合入或已发布。

## 特性开发中的角色

在特性开发场景下，只有当需求内每个特性任务包都完成时，本 Skill 才可准备 PR/MR draft 文本。完成的标准是：每个特性都有设计、设计评审、实施计划、spec anchor、计划确认、实现、验证、multi-review、整改和整改复核证据。

draft 必须汇总需求、特性、已评审设计、计划、实现、测试、review 发现、整改和证据。它不得声明人工 PR review、合入批准、版本排期或发布批准。

## 边界

- 读取 `.nucleus/context/<workflowRunId>.json` 中明确的 context package。
- 把 prior result、quality gate、test report、git changed file 和 commit metadata 作为证据读取。
- 只在 `.nucleus/runs/<workflowRunId>/` 下写 closure candidate、PR/MR draft、gate、blockers 和 result。
- 即使证据不足、最终状态为 `FAILED_BLOCKED`，也要写 `delivery-closure-candidate.json`，除非 prior result / schema / path 本身不可信。
- closure 证据完整到可供审查时返回 `NEEDS_HUMAN_REVIEW`。
- 缺 result package、gate 阻塞、缺测试、变更无归属、写保护路径、legacy path、PMS 驱动模式下缺 session binding 或 schema 失败时返回 `FAILED_BLOCKED`。

本 Skill 不创建 PR/MR，不 commit、push、merge、release，也不关闭缺陷。

## STOP 点

- 任一特性任务包不完整：`ALERT_AND_BLOCK`。
- 任一特性缺 spec anchor、factsManifestHash 失效、completion gate 证据或 spec compliance 正文覆盖：`ALERT_AND_BLOCK`。
- 任一特性存在 required UI 设计源但缺 ready frame mapping、截图 / 视觉对照或公共组件 / 公共样式契约证据：`ALERT_AND_BLOCK`。
- 任一特性缺 multi-review、整改或整改复核证据：`ALERT_AND_BLOCK`。
- 在没有 `delivery-closure-review.subagentPreReview` 和真实人工事实时，请求记录 PR/MR 人工 review、合入批准、版本排期或发布批准：`ALERT_AND_BLOCK`。
- 请求在 PR/MR 创建后继续批准、合入或发布：`ALERT_AND_BLOCK`。

## 禁止

- 用 summary.md 代替 result package、test report 或 review evidence。
- 把 PR/MR draft 写成已审查、已合入或已发布。
- 在所有特性完成前收口整个需求。
- 把 delivery closure candidate、summary 或 result 当成宿主任务、人工 review、PR/MR 创建、合入或发布事实；只有按 `_shared/references/subagent-precheck-protocol.md` 完成预审、确认材料可提交人工审查后，才可进入后续人工 review。

## Runtime

```bash
python3 skills/delivery-evidence-closure/scripts/delivery_evidence_closure.py close \
  --repo-root <target-repo> \
  --context <target-repo>/.nucleus/context/<workflowRunId>.json
```

runtime 只导入打包的 Skill 资产和 `skills/_shared/nucleus_runtime/`，不导入根目录 `harness/` 或根目录 `scripts/`。
