@tea-agent/loop-agent 0.13.0-beta.0 → 0.13.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 (282) hide show
  1. package/AGENTS.md +157 -155
  2. package/CHANGELOG.md +301 -322
  3. package/README.md +335 -345
  4. package/bin/agent-worker.js +22 -22
  5. package/bin/loop-agent.js +21 -21
  6. package/dist/commands/cursor-prompt.js +6 -6
  7. package/dist/commands/init.js +597 -528
  8. package/dist/commands/loop-benchmark.js +11 -11
  9. package/dist/commands/pi-reuse-benchmark.js +16 -16
  10. package/dist/executors/shell-executor.js +200 -21
  11. package/dist/infrastructure/evaluation/candidate-store.js +5 -1
  12. package/dist/sidecars/cursor-prompt/executor.js +1 -1
  13. package/dist/task/runtime.js +27 -27
  14. package/dist/worker/observe/static/api.js +46 -46
  15. package/dist/worker/observe/static/app.js +150 -150
  16. package/dist/worker/observe/static/constants.js +148 -148
  17. package/dist/worker/observe/static/copy.js +67 -67
  18. package/dist/worker/observe/static/dag-helpers.js +172 -172
  19. package/dist/worker/observe/static/dag-layout.d.ts +31 -31
  20. package/dist/worker/observe/static/dag-layout.js +83 -83
  21. package/dist/worker/observe/static/dag-model.js +72 -72
  22. package/dist/worker/observe/static/dom.js +212 -53
  23. package/dist/worker/observe/static/format-pool.js +67 -67
  24. package/dist/worker/observe/static/format.js +292 -292
  25. package/dist/worker/observe/static/index.html +308 -308
  26. package/dist/worker/observe/static/kpi.js +94 -94
  27. package/dist/worker/observe/static/relations.js +133 -133
  28. package/dist/worker/observe/static/router.js +93 -93
  29. package/dist/worker/observe/static/run-processing.js +148 -148
  30. package/dist/worker/observe/static/shell-chrome.js +68 -68
  31. package/dist/worker/observe/static/state.js +267 -253
  32. package/dist/worker/observe/static/styles.css +1902 -1902
  33. package/dist/worker/observe/static/views/batch.js +227 -227
  34. package/dist/worker/observe/static/views/dag-graph.js +172 -172
  35. package/dist/worker/observe/static/views/dag-inspector.js +627 -607
  36. package/dist/worker/observe/static/views/dag.js +371 -362
  37. package/dist/worker/observe/static/views/dashboard.js +509 -252
  38. package/dist/worker/observe/static/views/failures.js +143 -143
  39. package/dist/worker/observe/static/views/feature.js +492 -492
  40. package/dist/worker/observe/static/views/pool.js +350 -350
  41. package/dist/worker/observe/static/views/run.js +453 -453
  42. package/dist/worker/observe/static/views/session-timeline.js +219 -205
  43. package/dist/worker/observe/static/views/shell.js +7 -7
  44. package/dist/worker/observe/static/views/task.js +314 -314
  45. package/dist/worker/observe/static/views/timeline.js +163 -163
  46. package/dist/workflows/dag/backend-test-case-manifest.js +503 -0
  47. package/dist/workflows/dag/backend-test-execution-contract.js +353 -0
  48. package/dist/workflows/dag/backend-test-result-contract.js +568 -0
  49. package/dist/workflows/dag/canvas-observer.js +275 -275
  50. package/dist/workflows/dag/decision-envelope.js +57 -2
  51. package/dist/workflows/dag/frontend-implementation-contract.js +240 -0
  52. package/dist/workflows/dag/frontend-project-capability.js +309 -0
  53. package/dist/workflows/dag/frontend-repair.js +341 -0
  54. package/dist/workflows/dag/frontend-risk.js +161 -0
  55. package/dist/workflows/dag/frontend-verification-trace.js +190 -0
  56. package/dist/workflows/dag/init-hybrid.js +1020 -125
  57. package/dist/workflows/dag/repair-artifact.js +43 -3
  58. package/dist/workflows/dag/skill-instructions.js +4 -2
  59. package/dist/workflows/dag/types.js +29 -8
  60. package/docs/README.md +105 -104
  61. package/docs/agent-dag-recovery-playbook.md +195 -195
  62. package/docs/agent-dag-runner.md +67 -67
  63. package/docs/architecture/README.md +26 -26
  64. package/docs/architecture/dag-execution.md +140 -140
  65. package/docs/architecture/evolution.md +54 -54
  66. package/docs/architecture/facts-and-state.md +71 -71
  67. package/docs/architecture/runtime-boundaries.md +191 -191
  68. package/docs/architecture/system-overview.md +93 -93
  69. package/docs/architecture/worker-and-feature.md +85 -85
  70. package/docs/cursor-prompt-sidecar.md +36 -36
  71. package/docs/decisions/README.md +18 -18
  72. package/docs/design/README.md +167 -167
  73. package/docs/development-principles.md +73 -73
  74. package/docs/exec-plans/README.md +6 -6
  75. package/docs/exec-plans/active/README.md +1 -4
  76. package/docs/exec-plans/completed/README.md +106 -84
  77. package/docs/feature-workflow.md +414 -389
  78. package/docs/harness-methodology-debugging.md +153 -153
  79. package/docs/harness-methodology-tdd.md +130 -130
  80. package/docs/harness-methodology-verification.md +27 -27
  81. package/docs/init-surface.manifest.json +307 -289
  82. package/docs/loop-agent-harness.md +142 -142
  83. package/docs/production-readiness.md +96 -96
  84. package/docs/progress/README.md +76 -60
  85. package/docs/reports/README.md +150 -108
  86. package/docs/skills/README.md +7 -7
  87. package/docs/skills/vetted-skill-registry.md +29 -29
  88. package/docs/templates/adr.md +60 -60
  89. package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
  90. package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
  91. package/docs/templates/agent-dag-decision-gate-dogfood-report.md +117 -117
  92. package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
  93. package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
  94. package/docs/templates/agent-dag-report.schema.json +473 -473
  95. package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
  96. package/docs/templates/agent-dag.base.json +190 -190
  97. package/docs/templates/agent-dag.final-verification.json +185 -185
  98. package/docs/templates/agent-dag.schema.json +411 -411
  99. package/docs/templates/agent-dag.supervised-implementation.json +620 -501
  100. package/docs/templates/backend-test-analysis.schema.json +44 -44
  101. package/docs/templates/backend-test-case-manifest.schema.json +190 -0
  102. package/docs/templates/backend-test-dag.classify.prompt.md +75 -0
  103. package/docs/templates/backend-test-dag.generate-pytest.prompt.md +204 -202
  104. package/docs/templates/backend-test-dag.json +559 -311
  105. package/docs/templates/backend-test-dag.retrospect.prompt.md +139 -125
  106. package/docs/templates/backend-test-dag.review-cases.prompt.md +83 -81
  107. package/docs/templates/backend-test-execution.schema.json +133 -0
  108. package/docs/templates/backend-test-result.schema.json +99 -0
  109. package/docs/templates/branch-merge-report.md +93 -0
  110. package/docs/templates/exec-plan.md +64 -64
  111. package/docs/templates/feature-spec.md +53 -53
  112. package/docs/templates/frontend-design-contract.md +42 -42
  113. package/docs/templates/frontend-eval/fixtures/failures/01-type-build-error.md +17 -0
  114. package/docs/templates/frontend-eval/fixtures/failures/02-unit-component-test-fail.md +16 -0
  115. package/docs/templates/frontend-eval/fixtures/failures/03-fixture-schema-drift.md +16 -0
  116. package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md +16 -0
  117. package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md +16 -0
  118. package/docs/templates/frontend-eval/fixtures/failures/06-unapproved-dependency-add.md +16 -0
  119. package/docs/templates/frontend-eval/fixtures/failures/07-mock-production-on.md +21 -0
  120. package/docs/templates/frontend-eval/fixtures/functional/01-simple-component-style.md +29 -0
  121. package/docs/templates/frontend-eval/fixtures/functional/02-form-validation.md +28 -0
  122. package/docs/templates/frontend-eval/fixtures/functional/03-list-detail-page.md +28 -0
  123. package/docs/templates/frontend-eval/fixtures/functional/04-api-mock.md +29 -0
  124. package/docs/templates/frontend-eval/fixtures/functional/05-permission-auth-gated-ui.md +27 -0
  125. package/docs/templates/frontend-eval/fixtures/functional/06-ssr-server-client-boundary.md +28 -0
  126. package/docs/templates/frontend-eval/fixtures/functional/07-shared-public-component-api.md +28 -0
  127. package/docs/templates/frontend-eval/fixtures/functional/08-pure-local-no-remote.md +27 -0
  128. package/docs/templates/frontend-eval/metrics.md +138 -0
  129. package/docs/templates/frontend-eval/smoke-targets.md +53 -0
  130. package/docs/templates/frontend-implementation-contract.schema.json +27 -0
  131. package/docs/templates/frontend-task-constraints.md +35 -35
  132. package/docs/templates/frontend-task-requirement.md +70 -70
  133. package/docs/templates/frontend-test-dag.generate-cases.prompt.md +5 -5
  134. package/docs/templates/frontend-test-dag.json +23 -23
  135. package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +3 -3
  136. package/docs/templates/frontend-test-dag.retrospect.prompt.md +3 -3
  137. package/docs/templates/frontend-test-dag.review-cases.prompt.md +3 -3
  138. package/docs/templates/frontend-test-dag.review-execution.prompt.md +3 -3
  139. package/docs/templates/harness.schema.json +221 -221
  140. package/docs/templates/hybrid-dag.json +188 -188
  141. package/docs/templates/init-evolution-review.md +35 -35
  142. package/docs/templates/interactive-ui-round2-experiment.md +66 -66
  143. package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -118
  144. package/docs/templates/knowledge-sync-dag.json +178 -178
  145. package/docs/templates/knowledge-sync-draft.schema.json +71 -71
  146. package/docs/templates/product-line/AGENTS.md +8 -8
  147. package/docs/templates/product-line/README.md +9 -9
  148. package/docs/templates/product-line/acceptance.yaml +14 -14
  149. package/docs/templates/product-line/closeout.yaml +9 -9
  150. package/docs/templates/product-line/design.md +13 -13
  151. package/docs/templates/product-line/links.md +10 -10
  152. package/docs/templates/product-line/requirement.md +17 -17
  153. package/docs/templates/product-line/task-graph.yaml +15 -15
  154. package/docs/templates/product-line/task.yaml +64 -64
  155. package/docs/templates/product-line/test-plan.md +7 -7
  156. package/docs/templates/production-readiness-checklist.md +57 -57
  157. package/docs/templates/progress-log.md +17 -17
  158. package/docs/templates/project-start-checklist.md +9 -9
  159. package/docs/templates/qa-report.md +48 -48
  160. package/docs/templates/sprint-contract.md +29 -29
  161. package/docs/templates/worker-dogfood-evidence.md +80 -80
  162. package/docs/templates/worker-dogfood-setup.md +68 -68
  163. package/docs/verification-matrix.md +70 -70
  164. package/examples/decision-gate-agent-dag.json +177 -177
  165. package/examples/example-dag.json +46 -46
  166. package/examples/hybrid-loop-agent-dag.json +189 -189
  167. package/harness.json +66 -66
  168. package/package.json +52 -88
  169. package/scripts/check-product-line-docs.sh +29 -29
  170. package/scripts/check-task-pool-root.sh +32 -32
  171. package/scripts/kb-bootstrap-init-skeleton.sh +240 -240
  172. package/scripts/kb-graph-incremental-prepare.mjs +386 -386
  173. package/scripts/kb-graph-incremental-prepare.sh +5 -5
  174. package/scripts/kb-graph-materialize.mjs +105 -105
  175. package/scripts/kb-graph-materialize.sh +4 -4
  176. package/scripts/kb-graph-promote.mjs +164 -164
  177. package/scripts/kb-graph-promote.sh +4 -4
  178. package/scripts/kb-query.mjs +554 -554
  179. package/scripts/kb-query.sh +5 -5
  180. package/skills/agent-worker/SKILL.md +39 -39
  181. package/skills/agent-worker/references/agent-worker-operator.md +60 -60
  182. package/skills/ai-engineering-context/SKILL.md +48 -48
  183. package/skills/analyze-product-dependencies/SKILL.md +67 -67
  184. package/skills/analyze-product-dependencies/agents/openai.yaml +4 -4
  185. package/skills/analyze-product-dependencies/references/api-documentation-schema.md +30 -30
  186. package/skills/analyze-product-dependencies/references/dependency-analysis-schema.md +28 -28
  187. package/skills/analyze-product-dependencies/references/example.md +76 -76
  188. package/skills/analyze-product-dependencies/references/forward-test-cases.md +35 -35
  189. package/skills/analyze-product-dependencies/references/input-contract.md +11 -11
  190. package/skills/analyze-product-dependencies/references/scouting-rules.md +61 -61
  191. package/skills/analyze-product-dependencies/scripts/test-validators.mjs +267 -267
  192. package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +101 -101
  193. package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +142 -142
  194. package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +76 -76
  195. package/skills/analyze-product-dependencies/scripts/validation-helpers.mjs +146 -146
  196. package/skills/analyze-product-requirements/SKILL.md +90 -90
  197. package/skills/analyze-product-requirements/agents/openai.yaml +4 -4
  198. package/skills/analyze-product-requirements/references/acceptance-criteria.md +91 -91
  199. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +56 -56
  200. package/skills/analyze-product-requirements/references/example.md +86 -86
  201. package/skills/analyze-product-requirements/references/forward-test-cases.md +66 -66
  202. package/skills/analyze-product-requirements/references/product-analysis-schema.md +32 -32
  203. package/skills/analyze-product-requirements/references/product-requirement-schema.md +33 -33
  204. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +35 -35
  205. package/skills/analyze-product-requirements/scripts/test-validators.mjs +193 -193
  206. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +69 -69
  207. package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +97 -97
  208. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +98 -98
  209. package/skills/analyze-product-requirements/scripts/validation-helpers.mjs +156 -156
  210. package/skills/browser-tools/SKILL.md +196 -0
  211. package/skills/browser-tools/browser-content.js +103 -0
  212. package/skills/browser-tools/browser-cookies.js +35 -0
  213. package/skills/browser-tools/browser-eval.js +53 -0
  214. package/skills/browser-tools/browser-hn-scraper.js +108 -0
  215. package/skills/browser-tools/browser-nav.js +44 -0
  216. package/skills/browser-tools/browser-pick.js +162 -0
  217. package/skills/browser-tools/browser-screenshot.js +34 -0
  218. package/skills/browser-tools/browser-start.js +86 -0
  219. package/skills/browser-tools/package-lock.json +2556 -0
  220. package/skills/browser-tools/package.json +19 -0
  221. package/skills/code-review-core/SKILL.md +20 -20
  222. package/skills/codebase-scout/SKILL.md +19 -19
  223. package/skills/frontend-design-review/SKILL.md +66 -66
  224. package/skills/frontend-design-review/references/review-checklist.md +58 -58
  225. package/skills/frontend-implementation/SKILL.md +49 -47
  226. package/skills/frontend-implementation/references/code-standards.md +32 -32
  227. package/skills/frontend-implementation/references/design-spec.md +46 -46
  228. package/skills/frontend-implementation/references/node-contracts.md +27 -76
  229. package/skills/frontend-review/SKILL.md +59 -59
  230. package/skills/frontend-review/references/review-findings.md +47 -47
  231. package/skills/frontend-verification/SKILL.md +53 -53
  232. package/skills/frontend-verification/references/verification-checklist.md +68 -68
  233. package/skills/grill-me/SKILL.md +10 -10
  234. package/skills/grill-with-docs/SKILL.md +88 -88
  235. package/skills/grill-with-docs/adr-format.md +47 -47
  236. package/skills/grill-with-docs/context-format.md +60 -60
  237. package/skills/init-capability-evolution/SKILL.md +70 -70
  238. package/skills/loop-agent/SKILL.md +151 -151
  239. package/skills/loop-agent/references/README.md +67 -67
  240. package/skills/loop-agent/references/command-reference.md +527 -505
  241. package/skills/loop-agent/references/docs-converge.md +126 -126
  242. package/skills/loop-agent/references/harness-policy.md +263 -263
  243. package/skills/loop-agent/references/hybrid-dag.md +243 -238
  244. package/skills/loop-agent/references/learned/README.md +21 -21
  245. package/skills/loop-agent/references/long-running-loop.md +57 -57
  246. package/skills/loop-agent/references/model-routing.md +36 -36
  247. package/skills/loop-agent/references/multi-worktree.md +54 -54
  248. package/skills/loop-agent/references/one-shot-runs.md +85 -85
  249. package/skills/loop-agent/references/orchestrator-and-interventions.md +169 -169
  250. package/skills/loop-agent/references/pi-prompt.md +23 -23
  251. package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
  252. package/skills/loop-agent/references/post-implementation-and-patterns.md +44 -44
  253. package/skills/loop-agent/references/task-workflow.md +89 -89
  254. package/skills/loop-agent/references/verification-and-failure-handling.md +141 -139
  255. package/skills/playwright-cli/SKILL.md +420 -420
  256. package/skills/playwright-cli/references/element-attributes.md +23 -23
  257. package/skills/playwright-cli/references/playwright-tests.md +39 -39
  258. package/skills/playwright-cli/references/request-mocking.md +87 -87
  259. package/skills/playwright-cli/references/running-code.md +241 -241
  260. package/skills/playwright-cli/references/session-management.md +225 -225
  261. package/skills/playwright-cli/references/storage-state.md +275 -275
  262. package/skills/playwright-cli/references/test-generation.md +433 -433
  263. package/skills/playwright-cli/references/tracing.md +139 -139
  264. package/skills/playwright-cli/references/video-recording.md +143 -143
  265. package/skills/playwright-cli-case-generator/SKILL.md +74 -74
  266. package/skills/requesting-code-review/SKILL.md +101 -101
  267. package/skills/requesting-code-review/code-reviewer.md +168 -168
  268. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  269. package/skills/systematic-debugging/SKILL.md +296 -296
  270. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  271. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  272. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  273. package/skills/systematic-debugging/find-polluter.sh +63 -63
  274. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  275. package/skills/systematic-debugging/test-academic.md +14 -14
  276. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  277. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  278. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  279. package/skills/test-driven-development/SKILL.md +20 -20
  280. package/skills/using-git-worktrees/SKILL.md +215 -215
  281. package/skills/verification-before-completion/SKILL.md +154 -154
  282. package/skills/webapp-testing/SKILL.md +19 -19
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "browser-tools",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "Minimal CDP tools for collaborative site exploration",
6
+ "author": "Mario Zechner",
7
+ "license": "MIT",
8
+ "dependencies": {
9
+ "@mozilla/readability": "^0.6.0",
10
+ "cheerio": "^1.1.2",
11
+ "jsdom": "^27.0.1",
12
+ "puppeteer": "^24.31.0",
13
+ "puppeteer-core": "^23.11.1",
14
+ "puppeteer-extra": "^3.3.6",
15
+ "puppeteer-extra-plugin-stealth": "^2.11.2",
16
+ "turndown": "^7.2.2",
17
+ "turndown-plugin-gfm": "^1.0.2"
18
+ }
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,66 +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
- 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
+ ---
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,58 +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
- - 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
+ # 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,47 +1,49 @@
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
+ ---
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
+ # Compact contract index must stay under skill total budget (~10k with body + other refs).
9
+ # Headroom above current ~4k file; do not raise alone without checking totalMaxChars.
10
+ maxChars: 6000
11
+ - path: references/design-spec.md
12
+ required: true
13
+ maxChars: 3000
14
+ - path: references/code-standards.md
15
+ required: true
16
+ maxChars: 3000
17
+ ---
18
+
19
+ # Frontend Implementation
20
+
21
+ Read all required references before running any listed frontend node.
22
+
23
+ ## Source And Evidence Rules
24
+
25
+ Use task sources/references, constraints, then `task.json`. Follow `design-spec.md`:
26
+ knowledge base; `<repoRoot>/openSpec/**` after unavailable/failed/empty; then repo
27
+ evidence. Cite tight paths/symbols, label gaps/conflicts, and never invent APIs,
28
+ rules, commands, or retrievals. Scout/planners locate and explicitly read applicable
29
+ specs; only successful paired reads count. Lockfile-only, fixture-only, or unread
30
+ search hits do not prove a reusable Mock service.
31
+
32
+ ## Implementation Discipline
33
+
34
+ - Reuse confirmed specs, components, tokens, helpers, APIs, mocks, schemas, and tests.
35
+ - Keep real requests enabled by default; never comment them out for a mock.
36
+ - Prefer native Mock support; otherwise use existing browser interception for e2e or
37
+ a reversible request adapter/DI seam for local preview.
38
+ - Trace fixtures to API/schema evidence. Activation is explicit, dev/test-only,
39
+ production-off; Mock evidence never proves real API integration.
40
+ - Add dependencies only when approved. Cover applicable success/loading/empty/error/
41
+ permission/boundary states and justify N/A.
42
+ - Keep state testable. Stay in `writeSet`, preserve behavior, and update tests.
43
+ - Never relax lint/type/test/build config or write unauthorized generated output.
44
+
45
+ ## Output And Failure Rules
46
+
47
+ - Follow `node-contracts.md`; read-only nodes never edit. Missing input blocks work
48
+ when proceeding would guess behavior, bounds, or verification.
49
+ - Preserve tokens, commands, paths, IDs, and language. Completion needs fresh shell evidence.
@@ -1,32 +1,32 @@
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
+ # 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.