@tea-agent/loop-agent 0.12.0 → 0.13.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/AGENTS.md +155 -153
  2. package/CHANGELOG.md +338 -265
  3. package/README.md +345 -298
  4. package/bin/agent-worker.js +22 -22
  5. package/bin/loop-agent.js +21 -21
  6. package/dist/application/dag/generate-task-dag.js +28 -28
  7. package/dist/application/evaluation/candidate-hash.js +75 -0
  8. package/dist/application/evaluation/candidate.js +52 -0
  9. package/dist/application/evaluation/replay.js +289 -0
  10. package/dist/application/evaluation/types.js +130 -0
  11. package/dist/cli/command-definitions.js +27 -7
  12. package/dist/cli/program.js +8 -4
  13. package/dist/commands/cursor-prompt.js +6 -6
  14. package/dist/commands/eval.js +235 -0
  15. package/dist/commands/init.js +544 -506
  16. package/dist/commands/knowledge.js +129 -31
  17. package/dist/commands/loop-benchmark.js +11 -11
  18. package/dist/commands/pi-reuse-benchmark.js +16 -16
  19. package/dist/executors/pi-sdk-executor.js +38 -24
  20. package/dist/executors/shell-executor.js +34 -2
  21. package/dist/executors/shell-presets.js +20 -0
  22. package/dist/executors/shell-verification.js +7 -0
  23. package/dist/governance/manifest-types.js +4 -0
  24. package/dist/infrastructure/evaluation/candidate-store.js +435 -0
  25. package/dist/infrastructure/evaluation/store.js +40 -0
  26. package/dist/sidecars/cursor-prompt/executor.js +1 -1
  27. package/dist/task/config-types.js +28 -1
  28. package/dist/task/runtime.js +27 -27
  29. package/dist/worker/cli.js +96 -1
  30. package/dist/worker/delivery/package.js +3 -3
  31. package/dist/worker/feature/decision-loader.js +37 -6
  32. package/dist/worker/feature/next-action.js +10 -2
  33. package/dist/worker/feature/ready-plan-projection.js +81 -0
  34. package/dist/worker/feature/reducer.js +2 -1
  35. package/dist/worker/feature/review.js +19 -2
  36. package/dist/worker/feature/run.js +27 -2
  37. package/dist/worker/follow-up/approve.js +5 -2
  38. package/dist/worker/follow-up/factory.js +1 -1
  39. package/dist/worker/observability/read-model.js +246 -41
  40. package/dist/worker/observe/routes.js +173 -15
  41. package/dist/worker/observe/spec-evidence.js +281 -0
  42. package/dist/worker/observe/static/api.js +46 -27
  43. package/dist/worker/observe/static/app.js +150 -150
  44. package/dist/worker/observe/static/constants.js +148 -148
  45. package/dist/worker/observe/static/copy.js +67 -67
  46. package/dist/worker/observe/static/dag-helpers.js +172 -172
  47. package/dist/worker/observe/static/dag-layout.d.ts +31 -31
  48. package/dist/worker/observe/static/dag-layout.js +83 -83
  49. package/dist/worker/observe/static/dag-model.js +72 -72
  50. package/dist/worker/observe/static/dom.js +61 -61
  51. package/dist/worker/observe/static/format-pool.js +67 -67
  52. package/dist/worker/observe/static/format.js +292 -292
  53. package/dist/worker/observe/static/index.html +308 -308
  54. package/dist/worker/observe/static/kpi.js +94 -94
  55. package/dist/worker/observe/static/relations.js +133 -128
  56. package/dist/worker/observe/static/router.js +93 -85
  57. package/dist/worker/observe/static/run-processing.js +148 -148
  58. package/dist/worker/observe/static/shell-chrome.js +68 -68
  59. package/dist/worker/observe/static/state.js +253 -253
  60. package/dist/worker/observe/static/styles.css +1902 -1890
  61. package/dist/worker/observe/static/views/batch.js +227 -226
  62. package/dist/worker/observe/static/views/dag-graph.js +172 -172
  63. package/dist/worker/observe/static/views/dag-inspector.js +607 -477
  64. package/dist/worker/observe/static/views/dag.js +362 -362
  65. package/dist/worker/observe/static/views/dashboard.js +445 -442
  66. package/dist/worker/observe/static/views/failures.js +143 -143
  67. package/dist/worker/observe/static/views/feature.js +492 -453
  68. package/dist/worker/observe/static/views/pool.js +350 -347
  69. package/dist/worker/observe/static/views/run.js +453 -453
  70. package/dist/worker/observe/static/views/session-timeline.js +205 -205
  71. package/dist/worker/observe/static/views/shell.js +7 -7
  72. package/dist/worker/observe/static/views/task.js +314 -260
  73. package/dist/worker/observe/static/views/timeline.js +163 -163
  74. package/dist/worker/pool/doctor.js +165 -0
  75. package/dist/worker/pool/migrate-state.js +303 -0
  76. package/dist/worker/pool/run-store.js +205 -17
  77. package/dist/worker/pool/types.js +17 -1
  78. package/dist/worker/pool/validation.js +100 -15
  79. package/dist/worker/report/morning-report.js +12 -2
  80. package/dist/worker/runner/run-ready.js +41 -26
  81. package/dist/worker/task-graph/ready-planner.js +136 -0
  82. package/dist/workflows/dag/backend-test-analysis-contract.js +120 -0
  83. package/dist/workflows/dag/canvas-observer.js +275 -275
  84. package/dist/workflows/dag/convergence/controller.js +16 -8
  85. package/dist/workflows/dag/dynamic-runtime/map.js +90 -2
  86. package/dist/workflows/dag/failure-routing.js +12 -1
  87. package/dist/workflows/dag/init-hybrid.js +2404 -360
  88. package/dist/workflows/dag/node-execution.js +9 -0
  89. package/dist/workflows/dag/prompt.js +9 -0
  90. package/dist/workflows/dag/report.js +35 -1
  91. package/dist/workflows/dag/runner.js +28 -2
  92. package/dist/workflows/dag/task-demand-routing.js +383 -0
  93. package/dist/workflows/dag/types.js +51 -13
  94. package/dist/workflows/dag/upstream-artifacts.js +1 -0
  95. package/dist/workflows/dag/validate.js +59 -1
  96. package/docs/README.md +106 -104
  97. package/docs/agent-dag-recovery-playbook.md +195 -184
  98. package/docs/agent-dag-runner.md +67 -67
  99. package/docs/architecture/README.md +26 -26
  100. package/docs/architecture/dag-execution.md +140 -140
  101. package/docs/architecture/evolution.md +54 -53
  102. package/docs/architecture/facts-and-state.md +71 -58
  103. package/docs/architecture/runtime-boundaries.md +191 -191
  104. package/docs/architecture/system-overview.md +93 -93
  105. package/docs/architecture/worker-and-feature.md +85 -81
  106. package/docs/cursor-prompt-sidecar.md +36 -36
  107. package/docs/decisions/README.md +18 -15
  108. package/docs/design/README.md +167 -77
  109. package/docs/development-principles.md +73 -73
  110. package/docs/exec-plans/README.md +6 -6
  111. package/docs/exec-plans/active/README.md +15 -9
  112. package/docs/exec-plans/completed/README.md +85 -73
  113. package/docs/feature-workflow.md +389 -261
  114. package/docs/harness-methodology-debugging.md +153 -153
  115. package/docs/harness-methodology-tdd.md +130 -130
  116. package/docs/harness-methodology-verification.md +27 -27
  117. package/docs/init-surface.manifest.json +289 -280
  118. package/docs/loop-agent-harness.md +142 -130
  119. package/docs/production-readiness.md +96 -96
  120. package/docs/progress/README.md +64 -54
  121. package/docs/reports/README.md +117 -94
  122. package/docs/skills/README.md +7 -7
  123. package/docs/skills/vetted-skill-registry.md +29 -27
  124. package/docs/templates/adr.md +60 -60
  125. package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
  126. package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
  127. package/docs/templates/agent-dag-decision-gate-dogfood-report.md +117 -117
  128. package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
  129. package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
  130. package/docs/templates/agent-dag-report.schema.json +473 -473
  131. package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
  132. package/docs/templates/agent-dag.base.json +190 -190
  133. package/docs/templates/agent-dag.final-verification.json +185 -185
  134. package/docs/templates/agent-dag.schema.json +411 -383
  135. package/docs/templates/agent-dag.supervised-implementation.json +501 -501
  136. package/docs/templates/backend-test-analysis.schema.json +44 -0
  137. package/docs/templates/backend-test-dag.generate-pytest.prompt.md +202 -139
  138. package/docs/templates/backend-test-dag.json +311 -276
  139. package/docs/templates/backend-test-dag.retrospect.prompt.md +125 -125
  140. package/docs/templates/backend-test-dag.review-cases.prompt.md +81 -81
  141. package/docs/templates/exec-plan.md +64 -64
  142. package/docs/templates/feature-spec.md +53 -53
  143. package/docs/templates/frontend-design-contract.md +42 -33
  144. package/docs/templates/frontend-task-constraints.md +35 -25
  145. package/docs/templates/frontend-task-requirement.md +70 -61
  146. package/docs/templates/frontend-test-dag.generate-cases.prompt.md +5 -0
  147. package/docs/templates/frontend-test-dag.json +23 -0
  148. package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +3 -0
  149. package/docs/templates/frontend-test-dag.retrospect.prompt.md +3 -0
  150. package/docs/templates/frontend-test-dag.review-cases.prompt.md +3 -0
  151. package/docs/templates/frontend-test-dag.review-execution.prompt.md +3 -0
  152. package/docs/templates/harness.schema.json +221 -221
  153. package/docs/templates/hybrid-dag.json +188 -188
  154. package/docs/templates/init-evolution-review.md +35 -35
  155. package/docs/templates/interactive-ui-round2-experiment.md +66 -66
  156. package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -0
  157. package/docs/templates/knowledge-sync-dag.json +178 -0
  158. package/docs/templates/knowledge-sync-draft.schema.json +71 -0
  159. package/docs/templates/product-line/AGENTS.md +8 -8
  160. package/docs/templates/product-line/README.md +9 -9
  161. package/docs/templates/product-line/acceptance.yaml +14 -14
  162. package/docs/templates/product-line/closeout.yaml +9 -9
  163. package/docs/templates/product-line/design.md +13 -13
  164. package/docs/templates/product-line/links.md +10 -10
  165. package/docs/templates/product-line/requirement.md +17 -17
  166. package/docs/templates/product-line/task-graph.yaml +15 -15
  167. package/docs/templates/product-line/task.yaml +64 -64
  168. package/docs/templates/product-line/test-plan.md +7 -7
  169. package/docs/templates/production-readiness-checklist.md +57 -57
  170. package/docs/templates/progress-log.md +17 -17
  171. package/docs/templates/project-start-checklist.md +9 -9
  172. package/docs/templates/qa-report.md +48 -48
  173. package/docs/templates/sprint-contract.md +29 -29
  174. package/docs/templates/worker-dogfood-evidence.md +80 -80
  175. package/docs/templates/worker-dogfood-setup.md +68 -68
  176. package/docs/verification-matrix.md +70 -66
  177. package/examples/decision-gate-agent-dag.json +177 -177
  178. package/examples/example-dag.json +46 -46
  179. package/examples/hybrid-loop-agent-dag.json +189 -189
  180. package/harness.json +66 -66
  181. package/package.json +88 -46
  182. package/scripts/check-product-line-docs.sh +29 -29
  183. package/scripts/check-task-pool-root.sh +32 -32
  184. package/scripts/kb-bootstrap-init-skeleton.sh +240 -0
  185. package/scripts/kb-graph-incremental-prepare.mjs +386 -0
  186. package/scripts/kb-graph-incremental-prepare.sh +5 -0
  187. package/scripts/kb-graph-materialize.mjs +105 -0
  188. package/scripts/kb-graph-materialize.sh +4 -0
  189. package/scripts/kb-graph-promote.mjs +164 -0
  190. package/scripts/kb-graph-promote.sh +4 -0
  191. package/scripts/kb-query.mjs +554 -0
  192. package/scripts/kb-query.sh +5 -0
  193. package/skills/agent-worker/SKILL.md +39 -37
  194. package/skills/agent-worker/references/agent-worker-operator.md +60 -43
  195. package/skills/ai-engineering-context/SKILL.md +48 -48
  196. package/skills/analyze-product-dependencies/SKILL.md +67 -0
  197. package/skills/analyze-product-dependencies/agents/openai.yaml +4 -0
  198. package/skills/analyze-product-dependencies/references/api-documentation-schema.md +30 -0
  199. package/skills/analyze-product-dependencies/references/dependency-analysis-schema.md +28 -0
  200. package/skills/analyze-product-dependencies/references/example.md +76 -0
  201. package/skills/analyze-product-dependencies/references/forward-test-cases.md +35 -0
  202. package/skills/analyze-product-dependencies/references/input-contract.md +11 -0
  203. package/skills/analyze-product-dependencies/references/scouting-rules.md +61 -0
  204. package/skills/analyze-product-dependencies/scripts/test-validators.mjs +267 -0
  205. package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +101 -0
  206. package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +142 -0
  207. package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +76 -0
  208. package/skills/analyze-product-dependencies/scripts/validation-helpers.mjs +146 -0
  209. package/skills/analyze-product-requirements/SKILL.md +90 -0
  210. package/skills/analyze-product-requirements/agents/openai.yaml +4 -0
  211. package/skills/analyze-product-requirements/references/acceptance-criteria.md +91 -0
  212. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +56 -0
  213. package/skills/analyze-product-requirements/references/example.md +86 -0
  214. package/skills/analyze-product-requirements/references/forward-test-cases.md +66 -0
  215. package/skills/analyze-product-requirements/references/product-analysis-schema.md +32 -0
  216. package/skills/analyze-product-requirements/references/product-requirement-schema.md +33 -0
  217. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +35 -0
  218. package/skills/analyze-product-requirements/scripts/test-validators.mjs +193 -0
  219. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +69 -0
  220. package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +97 -0
  221. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +98 -0
  222. package/skills/analyze-product-requirements/scripts/validation-helpers.mjs +156 -0
  223. package/skills/code-review-core/SKILL.md +20 -20
  224. package/skills/codebase-scout/SKILL.md +19 -19
  225. package/skills/frontend-design-review/SKILL.md +66 -59
  226. package/skills/frontend-design-review/references/review-checklist.md +58 -37
  227. package/skills/frontend-implementation/SKILL.md +47 -51
  228. package/skills/frontend-implementation/references/code-standards.md +32 -34
  229. package/skills/frontend-implementation/references/design-spec.md +46 -46
  230. package/skills/frontend-implementation/references/node-contracts.md +76 -32
  231. package/skills/frontend-review/SKILL.md +59 -53
  232. package/skills/frontend-review/references/review-findings.md +47 -42
  233. package/skills/frontend-verification/SKILL.md +53 -40
  234. package/skills/frontend-verification/references/verification-checklist.md +68 -56
  235. package/skills/grill-me/SKILL.md +10 -10
  236. package/skills/grill-with-docs/SKILL.md +88 -88
  237. package/skills/grill-with-docs/adr-format.md +47 -47
  238. package/skills/grill-with-docs/context-format.md +60 -60
  239. package/skills/init-capability-evolution/SKILL.md +70 -70
  240. package/skills/loop-agent/SKILL.md +151 -151
  241. package/skills/loop-agent/references/README.md +67 -67
  242. package/skills/loop-agent/references/command-reference.md +505 -452
  243. package/skills/loop-agent/references/docs-converge.md +126 -126
  244. package/skills/loop-agent/references/harness-policy.md +263 -263
  245. package/skills/loop-agent/references/hybrid-dag.md +238 -233
  246. package/skills/loop-agent/references/learned/README.md +21 -21
  247. package/skills/loop-agent/references/long-running-loop.md +57 -57
  248. package/skills/loop-agent/references/model-routing.md +36 -36
  249. package/skills/loop-agent/references/multi-worktree.md +54 -54
  250. package/skills/loop-agent/references/one-shot-runs.md +85 -85
  251. package/skills/loop-agent/references/orchestrator-and-interventions.md +169 -169
  252. package/skills/loop-agent/references/pi-prompt.md +23 -23
  253. package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
  254. package/skills/loop-agent/references/post-implementation-and-patterns.md +44 -44
  255. package/skills/loop-agent/references/task-workflow.md +89 -89
  256. package/skills/loop-agent/references/verification-and-failure-handling.md +139 -139
  257. package/skills/playwright-cli/SKILL.md +420 -0
  258. package/skills/playwright-cli/references/element-attributes.md +23 -0
  259. package/skills/playwright-cli/references/playwright-tests.md +39 -0
  260. package/skills/playwright-cli/references/request-mocking.md +87 -0
  261. package/skills/playwright-cli/references/running-code.md +241 -0
  262. package/skills/playwright-cli/references/session-management.md +225 -0
  263. package/skills/playwright-cli/references/storage-state.md +275 -0
  264. package/skills/playwright-cli/references/test-generation.md +433 -0
  265. package/skills/playwright-cli/references/tracing.md +139 -0
  266. package/skills/playwright-cli/references/video-recording.md +143 -0
  267. package/skills/playwright-cli-case-generator/SKILL.md +74 -0
  268. package/skills/requesting-code-review/SKILL.md +101 -101
  269. package/skills/requesting-code-review/code-reviewer.md +168 -168
  270. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  271. package/skills/systematic-debugging/SKILL.md +296 -296
  272. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  273. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  274. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  275. package/skills/systematic-debugging/find-polluter.sh +63 -63
  276. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  277. package/skills/systematic-debugging/test-academic.md +14 -14
  278. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  279. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  280. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  281. package/skills/test-driven-development/SKILL.md +20 -20
  282. package/skills/using-git-worktrees/SKILL.md +215 -215
  283. package/skills/verification-before-completion/SKILL.md +154 -154
  284. package/skills/webapp-testing/SKILL.md +19 -19
@@ -1,20 +1,20 @@
1
- ---
2
- name: code-review-core
3
- description: 用于只读 code review 节点,产出带文件与行号引用的优先级 findings。
4
- ---
5
-
6
- # Code Review Core
7
-
8
- 本 skill 用于 reviewer 节点。
9
-
10
- ## Review 重点
11
-
12
- - 优先关注 correctness、行为回归、security、数据丢失与缺失验证。
13
- - findings 须 grounded 在具体文件与行号。
14
- - 区分 blocking findings 与次要 maintainability 备注。
15
- - 检查测试是否证明变更行为,文档是否与面向用户的变更一致。
16
- - 若无 findings,明确说明,并指出 residual test gap(如有)。
17
-
18
- ## Output
19
-
20
- 按 severity 排序列出 findings。仅当无 blocking findings 时,才写 `VERDICT: pass`。
1
+ ---
2
+ name: code-review-core
3
+ description: 用于只读 code review 节点,产出带文件与行号引用的优先级 findings。
4
+ ---
5
+
6
+ # Code Review Core
7
+
8
+ 本 skill 用于 reviewer 节点。
9
+
10
+ ## Review 重点
11
+
12
+ - 优先关注 correctness、行为回归、security、数据丢失与缺失验证。
13
+ - findings 须 grounded 在具体文件与行号。
14
+ - 区分 blocking findings 与次要 maintainability 备注。
15
+ - 检查测试是否证明变更行为,文档是否与面向用户的变更一致。
16
+ - 若无 findings,明确说明,并指出 residual test gap(如有)。
17
+
18
+ ## Output
19
+
20
+ 按 severity 排序列出 findings。仅当无 blocking findings 时,才写 `VERDICT: pass`。
@@ -1,19 +1,19 @@
1
- ---
2
- name: codebase-scout
3
- description: 用于只读 scout 节点,在实现前定位现有代码、测试、文档与集成点。
4
- ---
5
-
6
- # Codebase Scout
7
-
8
- 本 skill 用于 scout 节点。
9
-
10
- ## 规则
11
-
12
- - 从 repo 指令、task source 与邻近测试入手。
13
- - 可用时优先 CodeGraph;否则用 `rg` 与聚焦文件阅读。
14
- - 在提议新抽象前,识别现有 helper 与 ownership 边界。
15
- - 只返回事实,不做编辑。
16
-
17
- ## Output
18
-
19
- 列出相关文件、现有模式、风险,以及实现所需的最小 write surface。
1
+ ---
2
+ name: codebase-scout
3
+ description: 用于只读 scout 节点,在实现前定位现有代码、测试、文档与集成点。
4
+ ---
5
+
6
+ # Codebase Scout
7
+
8
+ 本 skill 用于 scout 节点。
9
+
10
+ ## 规则
11
+
12
+ - 从 repo 指令、task source 与邻近测试入手。
13
+ - 可用时优先 CodeGraph;否则用 `rg` 与聚焦文件阅读。
14
+ - 在提议新抽象前,识别现有 helper 与 ownership 边界。
15
+ - 只返回事实,不做编辑。
16
+
17
+ ## Output
18
+
19
+ 列出相关文件、现有模式、风险,以及实现所需的最小 write surface。
@@ -1,59 +1,66 @@
1
- ---
2
- name: frontend-design-review
3
- description: Use for the frontend plan design gate before any writer runs.
4
- references:
5
- - path: references/review-checklist.md
6
- required: true
7
- ---
8
-
9
- # Frontend Design Review
10
-
11
- Use for `frontend-design-gate-pi`. Read the required checklist first. Review the
12
- contract, scout report, plan, task source/constraints, `task.json` boundaries, and
13
- traceable component/design evidence. The connector format is TODO; never fabricate
14
- a result. When knowledge-base access is absent, failed, or unmatched, require evidence
15
- that `<repoRoot>/openSpec/**` was searched before accepting other repo conventions.
16
-
17
- ## Verdict Contract
18
-
19
- The first non-empty line must be exactly:
20
-
21
- - `VERDICT: pass`
22
- - `VERDICT: request-revision`
23
-
24
- Use request-revision for any blocker. The shell gate reads this line exactly.
25
-
26
- ## Blocking Conditions
27
-
28
- - An acceptance criterion lacks implementation or verification coverage.
29
- - Applicable UI states are missing without a reason.
30
- - A dependency is not explicitly permitted.
31
- - Confirmed project primitives/rules are ignored, or a claim has neither knowledge-base nor required `openSpec/` fallback evidence.
32
- - Planned paths exceed allowed/write scope or touch forbidden/generated paths.
33
- - Required static or behavior commands are missing or non-deterministic.
34
- - Interaction, responsive, accessibility, data, or failure behavior is ambiguous enough to require guessing.
35
-
36
- Knowledge-base unavailability alone is advisory when relevant `openSpec/` rules were
37
- searched and applied. Block when that fallback was skipped, sources conflict without
38
- resolution, or no source resolves a required user-visible decision.
39
-
40
- ## Method And Output
41
-
42
- Map each criterion to steps, files, states, and checks; audit paths; verify evidence;
43
- then classify findings as Blocking or Advisory. Do not edit files.
44
-
45
- ```markdown
46
- VERDICT: pass
47
-
48
- ## Findings
49
- - None blocking.
50
-
51
- ## Required Plan Corrections
52
- - None.
53
-
54
- ## Checked Items
55
- - ...
56
- ```
57
-
58
- For revisions, every correction names the criterion/section, missing evidence or
59
- decision, and exact plan change required.
1
+ ---
2
+ name: frontend-design-review
3
+ description: Use for the frontend plan design gate before any writer runs.
4
+ references:
5
+ - path: references/review-checklist.md
6
+ required: true
7
+ maxChars: 3600
8
+ ---
9
+
10
+ # Frontend Design Review
11
+
12
+ For first/final design review nodes. Read the checklist, then audit contract, scout,
13
+ mock strategy, plan/revision, task constraints/bounds, and traceable design evidence. The knowledge-
14
+ base connector is TODO: never invent results. If absent/failed/unmatched, require
15
+ `<repoRoot>/openSpec/**` search/read evidence before repo conventions.
16
+
17
+ ## Verdict Contract
18
+
19
+ First non-empty line: exactly `VERDICT: pass` or `VERDICT: request-revision`.
20
+ Any blocker requires request-revision; the shell gate reads this line exactly.
21
+
22
+ For `frontend-final-design-review-pi`: recheck the original plan when output is
23
+ `PASS_NO_REVISION_NEEDED`; otherwise verify every Required Plan Correction. Reject
24
+ remaining, incomplete, or newly introduced gaps.
25
+
26
+ ## Blocking Conditions
27
+
28
+ - Any criterion lacks implementation/verification; UI states lack reasons; a
29
+ dependency lacks permission; confirmed primitives/rules are ignored; design claims
30
+ lack knowledge-base or required `openSpec/` evidence; paths cross write bounds;
31
+ commands are missing/non-deterministic; or interaction, responsive, accessibility,
32
+ data, or failure behavior requires guessing.
33
+ - `MOCK_STRATEGY: blocked`; missing permitted target paths, endpoint/schema-to-fixture
34
+ mapping, fixed verification, or dev/test-only activation; a second Mock framework;
35
+ inline fake data; commented real requests; Mock-on production defaults; test-only
36
+ production imports; or Mock evidence reported as real integration.
37
+
38
+ Knowledge-base absence is advisory if relevant `openSpec/` rules were searched/read
39
+ and applied. Block skipped fallback, unresolved conflict, or unresolved UI decisions.
40
+
41
+ ## Method And Output
42
+
43
+ Map criteria to steps/files/states/checks, audit paths/evidence, classify Blocking or
44
+ Advisory, and never edit files.
45
+
46
+ ### Spec Evidence Rules
47
+
48
+ Run `grep`/`find`, then explicit `read` calls for applicable specs and checklist.
49
+ Only successful paired reads count as “已读取规范文件”; summaries do not. List each
50
+ read path/section in `Checked Items`. If the connector is unavailable, search/read
51
+ `openSpec/` before accepting repository conventions.
52
+
53
+ ```markdown
54
+ VERDICT: pass
55
+
56
+ ## Findings
57
+ - None blocking.
58
+
59
+ ## Required Plan Corrections
60
+ - None.
61
+
62
+ ## Checked Items
63
+ - ...
64
+ ```
65
+
66
+ Each correction names its criterion/section, gap, and exact plan change.
@@ -1,37 +1,58 @@
1
- # Frontend Design Review Checklist
2
-
3
- ## Requirement And State Coverage
4
-
5
- - Target route/page/component and non-goals are clear.
6
- - Every acceptance criterion maps to steps, files, UI behavior, and verification.
7
- - Assumptions and unresolved ambiguity are explicit.
8
- - Success, error/validation, loading, empty, disabled, permission, retry, repeated-action, stale-response, and boundary states are handled or marked not applicable.
9
-
10
- ## Project And Knowledge Fit
11
-
12
- - Existing components, hooks, API helpers, mocks, schemas, router patterns, templates, tokens, and theme rules were considered.
13
- - Component/design choices cite a knowledge-base result or relevant `openSpec/` rule.
14
- - If knowledge-base setup/query failed or returned no match, `<repoRoot>/openSpec/**` was recursively searched before other repo evidence.
15
- - Source is `knowledge-base`, `openSpec fallback`, `repository fallback`, or `unavailable`; evidence includes query/search terms, matched paths/headings, and conflicts.
16
- - Dependencies are authorized; paths fit allowed/write scope and avoid forbidden/generated files.
17
-
18
- ## Interaction And Quality
19
-
20
- - Actions, feedback, validation timing, navigation, persistence, and recovery are unambiguous.
21
- - Responsive and overflow behavior covers target environments.
22
- - Keyboard, focus, semantics, contrast, reduced motion, data lifecycle, cancellation, and error recovery are addressed when applicable.
23
-
24
- ## Verification
25
-
26
- - Static and behavior commands are exact, discoverable, and deterministic.
27
- - Tests prove changed state logic and flows at repository-supported levels.
28
- - Browser/visual checks are required only by task intent or existing gates.
29
- - Every missing verification path is a blocker or disclosed risk.
30
-
31
- ## Verdict Matrix
32
-
33
- - Coverage gap, unsafe scope, unauthorized dependency, unresolved required interaction, or missing required verification: request revision.
34
- - Missing knowledge-base evidence and skipped `openSpec/` fallback: request revision.
35
- - No relevant knowledge-base or `openSpec/` rule for a required decision: request revision.
36
- - Knowledge-base unavailable but relevant `openSpec/` rules were applied: advisory connection gap, not a specification gap.
37
- - Optional cleanup that cannot affect acceptance: advisory.
1
+ # Frontend Design Review Checklist
2
+
3
+ ## Requirement And State Coverage
4
+
5
+ - Target route/page/component and non-goals are clear.
6
+ - Every acceptance criterion maps to steps, files, UI behavior, and verification.
7
+ - Assumptions and unresolved ambiguity are explicit.
8
+ - Applicable success, error, loading, empty, disabled, permission, retry, stale-response, and boundary states are handled or marked N/A.
9
+
10
+ ## Project And Knowledge Fit
11
+
12
+ - Existing components, hooks, API helpers, mocks, schemas, router patterns, templates, tokens, and theme rules were considered.
13
+ - Component/design choices cite knowledge-base or `openSpec/`; failed/empty knowledge-base queries recurse through `<repoRoot>/openSpec/**` first.
14
+ - Evidence records source status, query terms, paths/headings, and conflicts.
15
+ - Dependencies are authorized; paths fit allowed/write scope and avoid forbidden/generated files.
16
+ - A required Mock-backed strategy reuses native support when proven, otherwise an
17
+ existing browser-intercept/request-adapter seam; it maps endpoint/states to fixtures,
18
+ stays in writer scope, and is off in production. `not-needed` adds none.
19
+
20
+ ## Interaction And Quality
21
+
22
+ - Actions, feedback, validation timing, navigation, persistence, and recovery are unambiguous.
23
+ - Responsive and overflow behavior covers target environments.
24
+ - Keyboard, focus, semantics, contrast, reduced motion, data lifecycle, cancellation, and error recovery are addressed when applicable.
25
+
26
+ ## Verification
27
+
28
+ - Static and behavior commands are exact, discoverable, and deterministic.
29
+ - Tests prove changed state logic and flows at repository-supported levels.
30
+ - Browser/visual checks are required only by task intent or existing gates.
31
+ - Every missing verification path is a blocker or disclosed risk.
32
+ - Verification entrypoints are frozen; any Mock-specific command is generated only
33
+ from trusted sources, and behavior separately proves page consumption.
34
+
35
+ ## Mock Strategy Safety
36
+
37
+ - The strategy protocol is valid and not `MOCK_STRATEGY: blocked`.
38
+ - For Mock strategies, API fields and fixture states trace to contract evidence; gaps are explicit.
39
+ - Selection follows repository capability: native mock first, browser interception
40
+ for existing e2e, request adapter/injection for local preview.
41
+ - The real request remains enabled by default; activation is explicit, reversible,
42
+ local/test-only, and excluded from production behavior.
43
+ - Verification uses only shell entrypoints fixed when the DAG was generated; the
44
+ plan does not invent commands that shell nodes cannot execute.
45
+ - Mock strategies include a production/default-real-path build with Mock off and
46
+ Mock-backed behavior evidence. `not-needed` instead needs applicable real or
47
+ no-remote behavior evidence.
48
+ - Mock-backed checks prove frontend states only. Real integration remains pending
49
+ until the actual backend path has fresh evidence.
50
+
51
+ ## Verdict Matrix
52
+
53
+ - Coverage gap, unsafe scope, unauthorized dependency, unresolved required interaction, or missing required verification: request revision.
54
+ - Missing knowledge-base evidence and skipped `openSpec/` fallback: request revision.
55
+ - No relevant knowledge-base or `openSpec/` rule for a required decision: request revision.
56
+ - Unsafe/missing mock strategy or mock evidence presented as real integration: request revision.
57
+ - Knowledge-base unavailable but relevant `openSpec/` rules were applied: advisory connection gap, not a specification gap.
58
+ - Optional cleanup that cannot affect acceptance: advisory.
@@ -1,51 +1,47 @@
1
- ---
2
- name: frontend-implementation
3
- description: >-
4
- Use for frontend contract, scout, plan, and implementation DAG nodes.
5
- references:
6
- - path: references/node-contracts.md
7
- required: true
8
- maxChars: 3000
9
- - path: references/design-spec.md
10
- required: true
11
- maxChars: 3000
12
- - path: references/code-standards.md
13
- required: true
14
- maxChars: 3000
15
- ---
16
-
17
- # Frontend Implementation
18
-
19
- Use for `frontend-contract-pi`, `frontend-scout-pi`, `frontend-plan-pi`, and
20
- `frontend-implement-pi`. Read every required reference before acting.
21
-
22
- ## Source And Evidence Rules
23
-
24
- Use task source and references first, then constraints and `task.json`. Resolve
25
- component/design rules by the required sequence in `design-spec.md`: connect/query
26
- the knowledge base first; when it is not configured, connection/query fails, or no
27
- relevant result exists, search `<repoRoot>/openSpec/**` and treat matching rules as
28
- the current project's specification. Use other repository evidence only afterward.
29
-
30
- - Cite repository findings with paths and symbols or tight line ranges.
31
- - Label assumptions, unresolved questions, and unavailable evidence.
32
- - Never invent conventions, component APIs, tokens, commands, or knowledge-base results.
33
- - Record the selected source as `knowledge-base`, `openSpec fallback`, `repository fallback`, or `unavailable`, with evidence and conflicts.
34
-
35
- ## Implementation Discipline
36
-
37
- - Treat explicit project specs and repo-local skills as authoritative within their stated scope.
38
- - Reuse confirmed components, tokens, helpers, APIs, mocks, schemas, and test patterns.
39
- - Do not add dependencies unless the task allows them and the approved plan justifies them.
40
- - Cover applicable success, error, loading, empty, disabled, permission, and boundary states; mark non-applicable states with reasons.
41
- - Keep state and validation logic testable where project conventions support it.
42
- - Writer nodes stay inside `writeSet`, preserve unrelated behavior, and update tests with behavior.
43
- - Never relax lint/type/test/build configuration or write unauthorized generated output.
44
-
45
- ## Output And Failure Rules
46
-
47
- - Follow the node-specific headings in `node-contracts.md` exactly.
48
- - Read-only nodes return Markdown and never edit repository files.
49
- - Missing input blocks a node when proceeding would guess behavior, design compliance, write boundaries, or verification.
50
- - Keep protocol tokens, commands, paths, identifiers, and configured output language unchanged.
51
- - Implementation may report attempted checks, but completion requires fresh downstream shell evidence.
1
+ ---
2
+ name: frontend-implementation
3
+ description: >-
4
+ Use for frontend contract, scout, mock strategy, plan, and implementation DAG nodes.
5
+ references:
6
+ - path: references/node-contracts.md
7
+ required: true
8
+ maxChars: 4800
9
+ - path: references/design-spec.md
10
+ required: true
11
+ maxChars: 3000
12
+ - path: references/code-standards.md
13
+ required: true
14
+ maxChars: 3000
15
+ ---
16
+
17
+ # Frontend Implementation
18
+
19
+ Read all required references before running any listed frontend node.
20
+
21
+ ## Source And Evidence Rules
22
+
23
+ Use task sources/references, constraints, then `task.json`. Follow `design-spec.md`:
24
+ knowledge base; `<repoRoot>/openSpec/**` after unavailable/failed/empty; then repo
25
+ evidence. Cite tight paths/symbols, label gaps/conflicts, and never invent APIs,
26
+ rules, commands, or retrievals. Scout/planners locate and explicitly read applicable
27
+ specs; only successful paired reads count. Lockfile-only, fixture-only, or unread
28
+ search hits do not prove a reusable Mock service.
29
+
30
+ ## Implementation Discipline
31
+
32
+ - Reuse confirmed specs, components, tokens, helpers, APIs, mocks, schemas, and tests.
33
+ - Keep real requests enabled by default; never comment them out for a mock.
34
+ - Prefer native Mock support; otherwise use existing browser interception for e2e or
35
+ a reversible request adapter/DI seam for local preview.
36
+ - Trace fixtures to API/schema evidence. Activation is explicit, dev/test-only,
37
+ production-off; Mock evidence never proves real API integration.
38
+ - Add dependencies only when approved. Cover applicable success/loading/empty/error/
39
+ permission/boundary states and justify N/A.
40
+ - Keep state testable. Stay in `writeSet`, preserve behavior, and update tests.
41
+ - Never relax lint/type/test/build config or write unauthorized generated output.
42
+
43
+ ## Output And Failure Rules
44
+
45
+ - Follow `node-contracts.md`; read-only nodes never edit. Missing input blocks work
46
+ when proceeding would guess behavior, bounds, or verification.
47
+ - Preserve tokens, commands, paths, IDs, and language. Completion needs fresh shell evidence.
@@ -1,34 +1,32 @@
1
- # Frontend Code Standards
2
-
3
- Discover project rules from task constraints, the component/design source sequence
4
- in `design-spec.md`, configuration, source, tests, manifests, and generated types.
5
- When knowledge-base access is unavailable, relevant `<repoRoot>/openSpec/**` rules
6
- are normative for the current project. Generic style preferences are not rules, and
7
- documentation never overrides an installed API without an explicit compatibility decision.
8
-
9
- ## Discover And Cite
10
-
11
- - Routing, server/client boundaries, state, forms, data fetching, cache/invalidation, and error boundaries.
12
- - API, mock, page, component, hook, utility, schema, template, and test directories.
13
- - Component, hook, route, mock, utility, and test naming.
14
- - Unit, component, integration, browser/e2e, fixture, and mock expectations.
15
- - Approved/forbidden dependencies and human-approval rules.
16
-
17
- Cite a representative file or configuration for every convention. When neighboring
18
- code conflicts, describe the alternatives rather than silently choosing one.
19
-
20
- ## Plan And Implement
21
-
22
- - Map each acceptance criterion to code and verification.
23
- - Determine component placement, state ownership, request lifecycle, validation, error handling, API/schema compatibility, mocks, and fixtures.
24
- - Prefer existing helpers and public APIs; preserve behavior outside the contract.
25
- - Keep rendering, transitions, validation, and side effects separable where the project pattern supports it.
26
- - Handle cancellation, stale responses, repeated actions, and boundary inputs when applicable.
27
- - Update tests at repository-supported levels; update relevant existing tests before adding duplicates.
28
- - Keep writes inside `writeSet`; generated output requires explicit authorization.
29
-
30
- ## Prohibited
31
-
32
- - Do not relax lint/type/test configuration.
33
- - Do not add dependencies, a parallel component library, styling system, or state framework without permission.
34
- - Do not describe an unexecuted command or unavailable browser/knowledge-base flow as verified.
1
+ # Frontend Code Standards
2
+
3
+ Discover rules from task constraints, `design-spec.md` source order, config, code,
4
+ tests, manifests, and generated types. After knowledge-base failure, applicable
5
+ `<repoRoot>/openSpec/**` rules are normative. Preferences are not rules, and docs do
6
+ not override installed APIs without an explicit compatibility decision.
7
+
8
+ ## Discover And Cite
9
+
10
+ - Find routing and server/client boundaries; state, forms, data/cache, and errors;
11
+ API/mock/UI/schema/test locations and naming; supported tests; dependency rules.
12
+
13
+ Cite representative files/config for each convention. Describe conflicts instead of
14
+ silently selecting one.
15
+
16
+ ## Plan And Implement
17
+
18
+ - Map criteria to code and checks. Define placement, state ownership, request
19
+ lifecycle, validation/failures, API compatibility, mocks, and fixtures.
20
+ - Trace fixtures to API evidence; label gaps. Prefer native mocks, then browser
21
+ interception for existing e2e, then a reversible request adapter/DI preview seam.
22
+ - Real API stays default; mock activation is explicit, local/test-only,
23
+ non-production, and removable.
24
+ - Reuse helpers/public APIs and preserve out-of-contract behavior. Keep rendering,
25
+ transitions, validation, and side effects testable; cover lifecycle races/bounds
26
+ when relevant. Update supported tests; stay in `writeSet`.
27
+
28
+ ## Prohibited
29
+
30
+ - Do not relax checks, add unapproved dependencies, comment real requests, hardcode
31
+ fixtures in production UI, import test mocks into production, store fixture
32
+ secrets, equate mock evidence with real integration, or report unrun checks as verified.
@@ -1,46 +1,46 @@
1
- # Frontend Design And Component Specification
2
-
3
- ## Required Source Sequence
4
-
5
- 1. Attempt the configured component/design knowledge-base query first.
6
- 2. If unavailable, failed, timed out, or unmatched, recursively search the project root's exact `openSpec/` directory.
7
- 3. Treat relevant matches as the current project's specification for this run.
8
- 4. Only then use component source, tokens, stories, tests, and pages as non-normative repository fallback.
9
-
10
- Never skip `openSpec/` directly to neighboring-code conventions. Report source
11
- conflicts instead of combining them. Explicit task requirements remain the contract;
12
- flag conflicts with knowledge-base or `openSpec/` rules.
13
-
14
- ## Knowledge Base Connection — TODO
15
-
16
- Request format is undecided. TODO: define connector/owner, namespaces, secret-free
17
- auth, query fields, result identity/version/time, and failure behavior.
18
-
19
- Attempt only a connector actually available in the execution environment. Otherwise
20
- record `not-configured` and run the `openSpec/` fallback; never invent a connection.
21
-
22
- ## `openSpec/` Fallback Procedure
23
-
24
- - Confirm whether `<repoRoot>/openSpec/` exists and enumerate its files recursively.
25
- - Read indexes first, then search names/content using task, route, component, interaction, theme, token, and state terms.
26
- - Read relevant matches in context; do not treat a filename-only hit as a rule.
27
- - Record search terms, inspected/matched paths, headings or tight line ranges, applied rules, and conflicts.
28
- - If the directory or relevant rules are absent, record that fact before using repository fallback.
29
-
30
- ## Retrieval Evidence
31
-
32
- Record source as `knowledge-base`, `openSpec fallback`, `repository fallback`, or
33
- `unavailable`. Knowledge-base evidence includes query, source ID/version/time, rules,
34
- and conflicts. `openSpec fallback` includes terms, paths/headings/lines, rules, and conflicts.
35
-
36
- ## Rules To Retrieve Or Discover
37
-
38
- - Components, variants, props, composition, accessibility, deprecations, placement, forms, overlays, navigation, and state patterns.
39
- - Tokens, typography, color, layout, breakpoints, motion, focus/keyboard/contrast, exceptions, design debt, and forbidden patterns.
40
-
41
- ## Gate Expectations
42
-
43
- - Reuse confirmed primitives unless a new pattern is authorized.
44
- - Define applicable states and responsive behavior before implementation.
45
- - Cite knowledge-base or `openSpec/` evidence for component/token choices; label weaker repository fallback.
46
- - Make deviations and unresolved gaps explicit.
1
+ # Frontend Design And Component Specification
2
+
3
+ ## Required Source Sequence
4
+
5
+ 1. Attempt the configured component/design knowledge-base query first.
6
+ 2. If unavailable, failed, timed out, or unmatched, recursively search the project root's exact `openSpec/` directory.
7
+ 3. Treat relevant matches as the current project's specification for this run.
8
+ 4. Only then use component source, tokens, stories, tests, and pages as non-normative repository fallback.
9
+
10
+ Never skip `openSpec/` directly to neighboring-code conventions. Report source
11
+ conflicts instead of combining them. Explicit task requirements remain the contract;
12
+ flag conflicts with knowledge-base or `openSpec/` rules.
13
+
14
+ ## Knowledge Base Connection — TODO
15
+
16
+ Request format is undecided. TODO: define connector/owner, namespaces, secret-free
17
+ auth, query fields, result identity/version/time, and failure behavior.
18
+
19
+ Attempt only a connector actually available in the execution environment. Otherwise
20
+ record `not-configured` and run the `openSpec/` fallback; never invent a connection.
21
+
22
+ ## `openSpec/` Fallback Procedure
23
+
24
+ - Confirm whether `<repoRoot>/openSpec/` exists and enumerate its files recursively.
25
+ - Read indexes first, then search names/content using task, route, component, interaction, theme, token, and state terms.
26
+ - Read relevant matches in context; do not treat a filename-only hit as a rule.
27
+ - Record search terms, inspected/matched paths, headings or tight line ranges, applied rules, and conflicts.
28
+ - If the directory or relevant rules are absent, record that fact before using repository fallback.
29
+
30
+ ## Retrieval Evidence
31
+
32
+ Record source as `knowledge-base`, `openSpec fallback`, `repository fallback`, or
33
+ `unavailable`. Knowledge-base evidence includes query, source ID/version/time, rules,
34
+ and conflicts. `openSpec fallback` includes terms, paths/headings/lines, rules, and conflicts.
35
+
36
+ ## Rules To Retrieve Or Discover
37
+
38
+ - Components, variants, props, composition, accessibility, deprecations, placement, forms, overlays, navigation, and state patterns.
39
+ - Tokens, typography, color, layout, breakpoints, motion, focus/keyboard/contrast, exceptions, design debt, and forbidden patterns.
40
+
41
+ ## Gate Expectations
42
+
43
+ - Reuse confirmed primitives unless a new pattern is authorized.
44
+ - Define applicable states and responsive behavior before implementation.
45
+ - Cite knowledge-base or `openSpec/` evidence for component/token choices; label weaker repository fallback.
46
+ - Make deviations and unresolved gaps explicit.