---
name: an-review
description: 按 requirements 的稳定完成标准审阅实际产出，将逐项结果写入 review.json，并给出 PASS、REVIEW 或 BLOCKED 结论。任务执行后、归档前或用户要求检查任务是否完成时使用。
---

# AI Native 任务 Review

检查实际产出是否达到完成标准。生命周期和 Review 机器契约统一遵循 `conventions/workflow.md`。

## 输入

- `artifact.json`：流程等级、状态和交付物引用。
- L2/L3 的 `requirements/requirements.md`：带稳定 ID 的完成标准。
- spec、execution 记录和实际交付物。
- L1 没有 requirements 时，根据原始目标在 `review.json` 中定义本次轻量检查项。

## 执行流程

1. 将每项完成标准映射到一个或多个检查动作。
2. 优先使用 `.agents/recipes.json` 中适用且 `purpose` 为 `review` 的动作；没有时根据材料设计检查方式。
3. 执行命令、材料核对、内容审阅、结果预览或必要确认，并保存可定位证据。
4. 可自行修复的问题先修复，然后重新检查；如果修改了实际产出，同时更新 `execution/summary.md`。
5. 将逐项结果、未解决事项和结论写入 `review/review.json`。
6. 可选生成 `review/review-report.md` 供人阅读，但不要从 Markdown 反推机器结论。
7. 运行结构门禁：

```bash
node .agents/skills/an-review/scripts/review-task.mjs artifacts/{artifact-id}
```

脚本退出码：`0` 表示 PASS，`3` 表示 REVIEW，`1` 表示 BLOCKED，`2` 表示调用或路径错误。

门禁为 PASS 后，将 `artifact.json` 和 `artifacts/index.json` 中的状态更新为 `completed`。REVIEW 保持 `in_progress` 或 `paused`；用户明确接受后由 `$an-archive` 直接事务归档，不手工改为 `completed`。BLOCKED 保持 `in_progress` 或 `paused`。

## 机器记录

`review/review.json` 的完整字段以 `conventions/workflow.md` 为准。写入时必须：

- 设置当前 UTC `reviewedAt`。
- 每项 criteria 包含 `id`、`description`、`status`、`method` 和非空 `evidence`。
- 没有未解决事项时使用空数组，不写“无”或占位文本。
- 非 REVIEW 结论将 `acceptance` 显式设为 `null`。

门禁脚本会输出当前 `Review digest`；该摘要用于绑定后续用户接受记录。

## 结论规则

| 结果 | 条件 |
|------|------|
| PASS | 所有标准均为 PASS、证据有效、没有未解决事项 |
| REVIEW | 没有 BLOCKED，但仍有明确列出的待复核事项 |
| BLOCKED | 存在失败、关键证据缺失、重复或漏掉的标准 ID |

## 约束

- 每项完成标准使用唯一稳定 ID；Review 必须按 ID 逐项覆盖。
- 检查方式和证据不得为空，也不得使用“待补充”“N/A”等占位内容。
- 无法执行的检查记录原因、替代证据和风险，不得伪造结果。
- Review 报告是说明材料，`review.json` 才是归档门禁依据。
- 不通过搜索 `TODO`、`error` 等普通关键词判断任务质量。
