Loading...
Loading...
Compare original and translation side by side
.feature/state/plan/plan/active/BLOCK: No plan found. Provide a plan file path, or run /feature-plan or
workflow-orchestrator to create one first.## Goal## Success Criteria.feature/state/design/BLOCK: No stated goal found in plan or design document. Goal-backward
analysis requires a goal. Add a ## Goal section to the plan.find . -maxdepth 2 -name "CLAUDE.md" -type f 2>/dev/null | head -5.feature/state/plan/plan/active/BLOCK: 未找到计划。请提供计划文件路径,或先运行/feature-plan或workflow-orchestrator创建计划。## Goal## Success Criteria.feature/state/design/BLOCK: 未在计划或设计文档中找到既定目标。目标逆向分析必须以目标为基础,请在计划中添加## Goal章节。find . -maxdepth 2 -name "CLAUDE.md" -type f 2>/dev/null | head -5undefinedundefined| # | Requirement | Covered By | Status |
|---|---|---|---|
| R1 | [requirement] | T1, T3 | COVERED |
| R2 | [requirement] | T2 | COVERED |
| R3 | [requirement] | -- | UNCOVERED |
Any UNCOVERED requirement is a blocker finding.| # | 需求 | 覆盖任务 | 状态 |
|---|---|---|---|
| R1 | [需求内容] | T1, T3 | 已覆盖 |
| R2 | [需求内容] | T2 | 已覆盖 |
| R3 | [需求内容] | -- | 未覆盖 |
任何未覆盖的需求都将被判定为阻塞项。| Vague (reject) | Concrete (accept) |
|---|---|
| "implement feature" | "add handler to router with X signature" |
| "ensure error handling" | "wrap fetchUser in try/catch, return 404 for NotFound" |
| "handle edge cases" | "add nil-check for user.Profile before accessing Avatar" |
| "improve performance" | "add index on orders.user_id, batch N+1 into JOIN" |
| "align the API" | "add created_at field to response struct" |
| "clean up" | "extract validation into validateInput() function" |
| 模糊表述(拒绝) | 具体表述(接受) |
|---|---|
| "implement feature" | "为路由添加带有X签名的处理器" |
| "ensure error handling" | "将fetchUser包裹在try/catch中,对NotFound返回404" |
| "handle edge cases" | "在访问Avatar前为user.Profile添加空值检查" |
| "improve performance" | "为orders.user_id添加索引,将N+1查询批量转换为JOIN查询" |
| "align the API" | "为响应结构体添加created_at字段" |
| "clean up" | "将验证逻辑提取到validateInput()函数中" |
undefinedundefined
For each task that references imports or packages:
- Verify the package/module exists in the codebase or dependency manifest
- Check that the import path is correct
A task referencing a nonexistent file or wrong import path is a blocker finding.
针对每个引用导入项或包的任务:
- 验证包/模块是否存在于代码库或依赖清单中
- 检查导入路径是否正确
若任务引用不存在的文件或错误的导入路径,将被判定为阻塞项。| New Component | Required Wiring |
|---|---|
| New endpoint | Route registration |
| New handler | Router/mux hookup |
| New config option | Config loading code |
| New database table | Migration + ORM registration |
| New service | Dependency injection / initialization |
| New hook | Hook registration in settings |
| New agent | INDEX.json entry |
| New skill | INDEX.json entry, routing table |
| 新组件 | 必需的连接逻辑 |
|---|---|
| 新端点 | 路由注册 |
| 新处理器 | 与Router/mux的关联 |
| 新配置项 | 配置加载代码 |
| 新数据库表 | 迁移 + ORM注册 |
| 新服务 | 依赖注入 / 初始化 |
| 新钩子 | 在设置中注册钩子 |
| 新Agent | INDEX.json条目 |
| 新Skill | INDEX.json条目、路由表 |
| Task Count | Verdict | Rationale |
|---|---|---|
| 1-3 | Good | Right-sized for focused execution |
| 4 | Warning | Approaching limit; review if any tasks can merge |
| 5+ | Blocker | Split required -- too many tasks for reliable single-context execution. WHY: context windows are finite, and each task adds execution state. Past 5 tasks, the executor loses track of earlier context, makes inconsistent decisions, or runs out of room for error recovery. |
| 任务数量 | 判定 | 理由 |
|---|---|---|
| 1-3 | 良好 | 范围大小适合聚焦执行 |
| 4 | 警告 | 接近上限;评审是否可以合并部分任务 |
| 5+ | 阻塞 | 需要拆分——任务过多,无法在单次上下文内可靠执行。原因:上下文窗口是有限的,每个任务都会增加执行状态。超过5个任务后,执行者会忘记之前的上下文,做出不一致的决策,或没有足够的空间进行错误恢复。 |
## Verification## Success Criteria| Insufficient | Sufficient |
|---|---|
| "run tests" | "run |
| "check it works" | "curl localhost:8080/api/reset returns 200 with token field" |
| "verify deployment" | "kubectl get pods -n staging shows 3/3 Running within 60s" |
## Verification## Success Criteria| 不充分的描述 | 充分的描述 |
|---|---|
| "run tests" | "运行 |
| "check it works" | "curl localhost:8080/api/reset返回200状态码且包含token字段" |
| "verify deployment" | "kubectl get pods -n staging显示60秒内3/3个Pod处于Running状态" |
| Rule Category | What to Check |
|---|---|
| Branch policy | Plan doesn't commit directly to main/master |
| Test requirements | Plan includes test tasks if CLAUDE.md requires them |
| Code style | Plan references correct formatters/linters |
| Forbidden patterns | Plan doesn't use patterns CLAUDE.md prohibits |
| Required tools | Plan uses repo-mandated tools (e.g., specific test runners) |
| 规则类别 | 检查内容 |
|---|---|
| 分支策略 | 计划不会直接提交到main/master分支 |
| 测试要求 | 若CLAUDE.md要求,计划包含测试任务 |
| 代码风格 | 计划引用了正确的格式化工具/代码检查工具 |
| 禁止模式 | 计划未使用CLAUDE.md禁止的模式 |
| 必需工具 | 计划使用了仓库规定的工具(例如特定的测试运行器) |
Plan: [plan identifier or filename]
Dimension: [N] [dimension name]
Severity: Blocker | Warning
Description: [what is wrong]
Fix hint: [specific suggestion for how to fix it]| Condition | Verdict | Action |
|---|---|---|
| Zero findings | PASS | Proceed to execution |
| Warnings only, no blockers | PASS with warnings | Proceed, but address warnings if time allows |
| Any blocker findings | BLOCK | Plan must be revised before execution |
================================================================
PLAN CHECK: [plan identifier]
================================================================
Verdict: PASS | PASS (with warnings) | BLOCK
Blockers: [count]
Warnings: [count]
Requirements Coverage: [N/M] covered
================================================================
FINDINGS
================================================================
[structured findings, blockers first]
================================================================
REQUIREMENTS COVERAGE MATRIX
================================================================
[coverage matrix from dimension 1]
================================================================Plan validated. Proceed to execution with /feature-implement or
continue with workflow-orchestrator EXECUTE phase.计划:[计划标识或文件名]
维度:[N] [维度名称]
严重程度:阻塞项 | 警告项
描述:[问题内容]
修复提示:[具体修复建议]| 条件 | 判定 | 操作 |
|---|---|---|
| 无任何问题 | PASS | 进入执行阶段 |
| 仅存在警告项,无阻塞项 | PASS(带警告) | 继续执行,若时间允许请处理警告项 |
| 存在任何阻塞项 | BLOCK | 计划必须先修订才能执行 |
================================================================
计划检查:[计划标识]
================================================================
判定:PASS | PASS(带警告) | BLOCK
阻塞项数量:[数量]
警告项数量:[数量]
需求覆盖情况:[已覆盖数量/总数量]
================================================================
检查结果
================================================================
[结构化检查结果,先阻塞项]
================================================================
需求覆盖矩阵
================================================================
[来自维度1的覆盖矩阵]
================================================================计划已验证通过。可执行/feature-implement进入执行阶段,或继续workflow-orchestrator的EXECUTE阶段。Revision iteration: [N] of 3
Remaining blockers: [count]| Condition | Action |
|---|---|
| All blockers resolved | Issue PASS verdict, done |
| Blockers remain, iterations < 3 | Next iteration |
| Blockers remain, iterations = 3 | Document remaining issues as known risks, issue PASS (with known risks) |
================================================================
PLAN CHECK: [plan identifier]
================================================================
Verdict: PASS (with known risks)
Revision iterations: 3 of 3 (limit reached)
Known Risks (unresolved after 3 iterations):
- [finding 1]
- [finding 2]
Proceeding to execution. These risks should be monitored during
implementation. If any risk materializes, pause execution and
revise the plan.
================================================================修订迭代:[当前次数] / 3
剩余阻塞项数量:[数量]| 条件 | 操作 |
|---|---|
| 所有阻塞项已解决 | 给出PASS判定,流程结束 |
| 仍有阻塞项,迭代次数<3 | 进入下一次迭代 |
| 仍有阻塞项,迭代次数=3 | 将剩余问题记录为已知风险,给出**PASS(带已知风险)**判定 |
================================================================
计划检查:[计划标识]
================================================================
判定:PASS(带已知风险)
修订迭代次数:3 / 3(已达上限)
已知风险(3次迭代后仍未解决):
- [问题1]
- [问题2]
继续执行。在实现过程中需监控这些风险。若任何风险实际发生,请暂停执行并修订计划。
================================================================| Error | Cause | Solution |
|---|---|---|
| No plan found | No plan file at expected locations | Provide explicit path, or run /feature-plan first |
| No goal found | Plan lacks ## Goal or ## Success Criteria | Add a goal section to the plan before checking |
| File verification fails | Referenced file doesn't exist in codebase | Fix the file path in the plan, or create the file first |
| CLAUDE.md not found | No CLAUDE.md in target repo | Dimension 9 passes automatically; note in findings |
| Revision loop exhausted | 3 iterations couldn't resolve all blockers | Proceed with known risks documented |
| Plan is inline text | User pasted plan instead of file path | Parse inline text; warn that revisions won't persist to file |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 未找到计划 | 预期位置无计划文件 | 提供明确的文件路径,或先运行/feature-plan创建计划 |
| 未找到目标 | 计划缺少## Goal或## Success Criteria章节 | 在检查前为计划添加Goal章节 |
| 文件验证失败 | 引用的文件在代码库中不存在 | 修复计划中的文件路径,或先创建该文件 |
| 未找到CLAUDE.md | 目标仓库中无CLAUDE.md | 第9维度自动通过;在检查结果中备注 |
| 修订循环已耗尽 | 3次迭代仍未解决所有阻塞项 | 带着已记录的已知风险继续执行 |
| 计划为内联文本 | 用户粘贴了计划内容而非文件路径 | 解析内联文本;警告用户修订内容不会保存到文件 |
| Anti-Pattern | Why Wrong | Do Instead |
|---|---|---|
| Validate tasks in isolation | A task can look perfect in isolation while missing the goal entirely. Goal-backward analysis catches what task-forward review misses. | Always trace from goal backward through requirements to tasks |
| Skip dimension because "it looks fine" | "Looks fine" is not validation. Every skipped dimension is an unchecked risk area. | Run all 10 dimensions; mark explicit PASS for clean dimensions |
| Soft-pass on blockers | "It's probably fine" on a blocker means the executor hits the wall you saw coming. Blockers predict execution failure. | BLOCK on any blocker, no exceptions |
| Revise without re-checking | A revision that fixes one blocker can introduce another. Untested revisions give false confidence. | Always re-check after every revision |
| Unlimited revision iterations | Infinite planning is worse than executing with known risks. Each iteration has diminishing returns and non-zero cost. | Hard limit of 3 iterations, then proceed with documented risks |
| Validate without reading codebase | File paths and imports validated from memory are unreliable. The codebase is the source of truth, not the plan's claims. | Use Read/Grep/Glob to verify dimension 3 against actual files |
| Accept plan without goal | Goal-backward analysis requires a goal. Without one, you're checking form (do tasks look good?) not substance (do tasks achieve something?). | Require a stated goal before starting validation |
| 反模式 | 错误原因 | 正确做法 |
|---|---|---|
| 孤立验证任务 | 单个任务本身看起来完美,但可能完全偏离目标。目标逆向分析能发现正向任务评审遗漏的问题。 | 始终从目标出发,逆向遍历需求到任务 |
| 因「看起来没问题」而跳过维度 | 「看起来没问题」不等于验证。每一个跳过的维度都是未检查的风险点。 | 运行全部10个维度;为无问题的维度明确标记PASS |
| 对阻塞项网开一面 | 对阻塞项说「可能没问题」意味着执行者会遇到你早已预见的障碍。阻塞项预示着执行必然失败。 | 只要发现阻塞项就判定BLOCK,无一例外 |
| 修订后不重新校验 | 修复一个阻塞项的修订可能引入另一个阻塞项。未经测试的修订会带来虚假的安全感。 | 每次修订后都必须重新校验 |
| 无限次修订迭代 | 无限规划比带着已知风险执行更糟糕。每一次迭代的收益递减,且成本不为零。 | 硬限制为3次迭代,之后带着已记录的风险继续执行 |
| 未读取代码库就进行验证 | 仅凭记忆验证文件路径和导入项不可靠。代码库是唯一的事实来源,而非计划中的声明。 | 使用Read/Grep/Glob工具对照实际文件验证第3维度 |
| 无目标时进行验证 | 目标逆向分析必须以目标为基础。没有目标的话,你只是在检查形式(任务看起来是否良好?)而非实质(任务是否能达成目标?)。 | 开始验证前必须要求提供明确的目标 |
| Rationalization Attempt | Why It's Wrong | Required Action |
|---|---|---|
| "The plan is detailed enough, no need to check" | Detail is not correctness. A detailed plan with a wrong file path still fails at execution. | Run all 10 dimensions regardless of plan quality appearance |
| "Only 1 blocker, we can work around it" | Workarounds during execution consume more context than fixing the plan. A known blocker is cheaper to fix pre-execution. | BLOCK verdict, enter revision loop |
| "This dimension doesn't apply to this plan" | Mark it PASS with a note explaining why. Skipping silently creates an audit gap. | Explicitly mark non-applicable dimensions as PASS with rationale |
| "The user wants to move fast, skip validation" | Fast execution of a broken plan wastes the entire execution cycle. 2 minutes of validation saves 20 minutes of failed execution. | Run the full check. Speed comes from not re-executing, not from skipping validation |
| "3 iterations wasn't enough, let me try one more" | The bounded loop exists for a reason. Iteration 4 has even lower probability of success and higher context cost. | Document remaining risks, proceed. The bound is the bound. |
| "File probably exists, I don't need to check" | "Probably" is not verified. Dimension 3 requires codebase verification. | Read the filesystem. Verify. |
| 合理化尝试 | 错误原因 | 必需操作 |
|---|---|---|
| 「计划足够详细,无需检查」 | 详细不等于正确。一个文件路径错误的详细计划在执行时仍然会失败。 | 无论计划看起来质量如何,都要运行全部10个维度 |
| 「只有1个阻塞项,我们可以在执行时解决」 | 执行时的临时解决方案比提前修复计划消耗更多的上下文。已知的阻塞项在执行前修复成本更低。 | 判定为BLOCK,进入修订循环 |
| 「这个维度不适用于本计划」 | 标记为PASS并备注原因。静默跳过会留下审计缺口。 | 明确将不适用的维度标记为PASS并说明理由 |
| 「用户想快速推进,跳过验证」 | 快速执行一个有问题的计划会浪费整个执行周期。2分钟的验证能节省20分钟的失败执行时间。 | 执行完整的检查。速度来自避免重复执行,而非跳过验证 |
| 「3次迭代不够,再试一次」 | 有限循环的存在是有原因的。第4次迭代的成功概率更低,且成本更高。 | 记录剩余风险,继续执行。限制是硬性的 |
| 「文件可能存在,无需检查」 | 「可能存在」不等于已验证。第3维度要求以代码库为依据。 | 读取文件系统,进行验证 |