---
description: Implement a supplied plan with TDD, adversarial review, and implementation notes
argument-hint: <plan text|plan-file-path>
---
实现以下 PLAN：

$ARGUMENTS

如果用户没有提供 PLAN，先要求用户提供 plan，不要开始实现。

如果用户提供的是本仓库内的 plan 文件路径（例如 `docs/.../*.md`，也可能带 `@` 前缀），先使用 Read 工具读取该文件内容，再按文件中的 PLAN 执行。不要假设 CLI 已经把路径内容内联进本 prompt。

如果用户直接粘贴的是 PLAN 文本，则直接按文本执行。

从 PLAN 标题、文件名或核心目标中推导一个简短 kebab-case 任务名，用于：

docs/implementation_notes/implementation-notes-[今天的日期比如 2023-10-01]-[本次任务名].html

如果无法可靠推导任务名，先询问用户确认。

在工作过程中，持续维护这个 implementation notes HTML 文件，记录所有用户需要了解的、关于实现如何偏离或诠释规格说明的内容，包括：

- **设计决策**：在规格说明存在歧义之处，你所做出的选择
- **偏离之处**：你有意偏离规格说明的地方，以及原因
- **权衡取舍**：你考虑过的备选方案，以及最终选择当前方案的理由
- **待定问题**：任何你希望用户确认或修订的事项

按 task 持续推进。每个 task 都需要覆盖严格的 TDD 护栏：

- 先写能表达意图的失败测试
- 确认测试因为目标行为缺失而失败
- 再写最少实现让测试通过
- 保持相关测试全绿

before marking a task as done, validate the task with an adversarial subagent review.

每个任务完成都需要更新一次 implementation notes。

完成所有 tasks 后，TDD 护栏应该是全绿的。
