@bonesofspring/ai-rules 0.2.30 → 0.2.32

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 (752) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/docs/LOCAL-OVERLAY.md +14 -0
  3. package/package.json +1 -1
  4. package/presets/_shared/core/agent-team/agent-artifact-contracts.md +6 -4
  5. package/presets/_shared/core/agent-team/agent-task-metrics.md +14 -1
  6. package/presets/_shared/core/agent-team/agent-team-orchestrator.md +3 -1
  7. package/presets/claude/android-kotlin/agents/accessibility-reviewer.md +2 -2
  8. package/presets/claude/android-kotlin/agents/api-contract-reviewer.md +2 -2
  9. package/presets/claude/android-kotlin/agents/build-verifier.md +1 -1
  10. package/presets/claude/android-kotlin/agents/ci-investigator.md +2 -2
  11. package/presets/claude/android-kotlin/agents/code-reviewer.md +2 -2
  12. package/presets/claude/android-kotlin/agents/debugger.md +2 -2
  13. package/presets/claude/android-kotlin/agents/feature-developer.md +2 -2
  14. package/presets/claude/android-kotlin/agents/migration-specialist.md +2 -2
  15. package/presets/claude/android-kotlin/agents/mockup-reviewer.md +2 -2
  16. package/presets/claude/android-kotlin/agents/openspec-author.md +2 -2
  17. package/presets/claude/android-kotlin/agents/performance-auditor.md +2 -2
  18. package/presets/claude/android-kotlin/agents/qa-tester.md +2 -2
  19. package/presets/claude/android-kotlin/agents/security-reviewer.md +2 -2
  20. package/presets/claude/android-kotlin/agents/task-analyst.md +1 -1
  21. package/presets/claude/android-kotlin/agents/task-router.md +1 -1
  22. package/presets/claude/android-kotlin/agents/tech-writer.md +2 -2
  23. package/presets/claude/android-kotlin/agents/unit-test-generator.md +2 -2
  24. package/presets/claude/android-kotlin/agents/unit-test-healer.md +2 -2
  25. package/presets/claude/android-kotlin/agents/unit-test-planner.md +2 -2
  26. package/presets/claude/android-kotlin/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
  27. package/presets/claude/go/agents/build-verifier.md +2 -2
  28. package/presets/claude/go/agents/code-reviewer.md +2 -2
  29. package/presets/claude/go/agents/feature-developer.md +2 -2
  30. package/presets/claude/go/agents/openspec-author.md +2 -2
  31. package/presets/claude/go/agents/task-analyst.md +1 -1
  32. package/presets/claude/go/agents/task-router.md +1 -1
  33. package/presets/claude/go/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  34. package/presets/claude/ios-swift/agents/build-verifier.md +2 -2
  35. package/presets/claude/ios-swift/agents/code-reviewer.md +2 -2
  36. package/presets/claude/ios-swift/agents/feature-developer.md +2 -2
  37. package/presets/claude/ios-swift/agents/mockup-reviewer.md +2 -2
  38. package/presets/claude/ios-swift/agents/openspec-author.md +2 -2
  39. package/presets/claude/ios-swift/agents/task-analyst.md +1 -1
  40. package/presets/claude/ios-swift/agents/task-router.md +1 -1
  41. package/presets/claude/ios-swift/rules/tooling-and-review/agent-team-orchestrator.md +1 -1
  42. package/presets/claude/java/agents/build-verifier.md +2 -2
  43. package/presets/claude/java/agents/code-reviewer.md +2 -2
  44. package/presets/claude/java/agents/feature-developer.md +2 -2
  45. package/presets/claude/java/agents/openspec-author.md +2 -2
  46. package/presets/claude/java/agents/task-analyst.md +1 -1
  47. package/presets/claude/java/agents/task-router.md +1 -1
  48. package/presets/claude/java/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  49. package/presets/claude/mcp-ts/agents/build-verifier.md +2 -2
  50. package/presets/claude/mcp-ts/agents/feature-developer.md +2 -2
  51. package/presets/claude/mcp-ts/agents/task-analyst.md +1 -1
  52. package/presets/claude/mcp-ts/agents/task-router.md +1 -1
  53. package/presets/claude/mcp-ts/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  54. package/presets/claude/next/REPO_AGENTS.md +11 -1
  55. package/presets/claude/next/agents/accessibility-reviewer.md +2 -2
  56. package/presets/claude/next/agents/api-contract-reviewer.md +2 -2
  57. package/presets/claude/next/agents/build-verifier.md +3 -2
  58. package/presets/claude/next/agents/ci-investigator.md +2 -2
  59. package/presets/claude/next/agents/code-reviewer.md +3 -2
  60. package/presets/claude/next/agents/debugger.md +2 -2
  61. package/presets/claude/next/agents/feature-developer.md +3 -2
  62. package/presets/claude/next/agents/migration-specialist.md +2 -2
  63. package/presets/claude/next/agents/mockup-reviewer.md +2 -2
  64. package/presets/claude/next/agents/openspec-author.md +4 -2
  65. package/presets/claude/next/agents/performance-auditor.md +2 -2
  66. package/presets/claude/next/agents/qa-tester.md +2 -2
  67. package/presets/claude/next/agents/security-reviewer.md +2 -2
  68. package/presets/claude/next/agents/solution-architect.md +2 -2
  69. package/presets/claude/next/agents/task-analyst.md +8 -1
  70. package/presets/claude/next/agents/task-router.md +2 -1
  71. package/presets/claude/next/agents/tech-writer.md +2 -2
  72. package/presets/claude/next/agents/unit-test-generator.md +2 -2
  73. package/presets/claude/next/agents/unit-test-healer.md +2 -2
  74. package/presets/claude/next/agents/unit-test-planner.md +2 -2
  75. package/presets/claude/next/hooks/chain-team-phases.sh +46 -1
  76. package/presets/claude/next/rules/README.md +3 -0
  77. package/presets/claude/next/rules/anti-hallucination/react-next-anti-hallucination.md +10 -0
  78. package/presets/claude/next/rules/api-and-data/store-rtk.md +6 -0
  79. package/presets/claude/next/rules/architecture/feature-delivery-workflow.md +5 -1
  80. package/presets/claude/next/rules/architecture/product-specs-authoring.md +1 -0
  81. package/presets/claude/next/rules/architecture/product-specs.md +1 -0
  82. package/presets/claude/next/rules/architecture/reference-features.md +5 -0
  83. package/presets/claude/next/rules/stack/next-app-core.md +3 -0
  84. package/presets/claude/next/rules/stack/next-static-export.md +36 -0
  85. package/presets/claude/next/rules/testing/tests-e2e-structure.md +1 -0
  86. package/presets/claude/next/rules/testing/tests-unit.md +1 -0
  87. package/presets/claude/next/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  88. package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +16 -2
  89. package/presets/claude/next/rules/tooling-and-review/code-review-mr.md +4 -0
  90. package/presets/claude/next/rules/tooling-and-review/mcp-usage.md +1 -0
  91. package/presets/claude/next/rules/tooling-and-review/post-change-lint.md +4 -0
  92. package/presets/claude/next/rules/tooling-and-review/security-next.md +13 -0
  93. package/presets/claude/next/rules/ui-and-accessibility/component-catalog-gate.md +39 -0
  94. package/presets/claude/next/rules/ui-and-accessibility/design-tokens-binding.md +1 -1
  95. package/presets/claude/next/rules/ui-and-accessibility/forms-validation.md +35 -0
  96. package/presets/claude/next/rules/ui-and-accessibility/react-ui.md +19 -1
  97. package/presets/claude/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
  98. package/presets/claude/nuxt/agents/accessibility-reviewer.md +2 -2
  99. package/presets/claude/nuxt/agents/api-contract-reviewer.md +2 -2
  100. package/presets/claude/nuxt/agents/build-verifier.md +2 -2
  101. package/presets/claude/nuxt/agents/ci-investigator.md +2 -2
  102. package/presets/claude/nuxt/agents/code-reviewer.md +2 -2
  103. package/presets/claude/nuxt/agents/debugger.md +2 -2
  104. package/presets/claude/nuxt/agents/feature-developer.md +2 -2
  105. package/presets/claude/nuxt/agents/migration-specialist.md +2 -2
  106. package/presets/claude/nuxt/agents/mockup-reviewer.md +2 -2
  107. package/presets/claude/nuxt/agents/openspec-author.md +2 -2
  108. package/presets/claude/nuxt/agents/performance-auditor.md +2 -2
  109. package/presets/claude/nuxt/agents/qa-tester.md +2 -2
  110. package/presets/claude/nuxt/agents/security-reviewer.md +2 -2
  111. package/presets/claude/nuxt/agents/solution-architect.md +2 -2
  112. package/presets/claude/nuxt/agents/task-analyst.md +1 -1
  113. package/presets/claude/nuxt/agents/task-router.md +1 -1
  114. package/presets/claude/nuxt/agents/tech-writer.md +2 -2
  115. package/presets/claude/nuxt/agents/unit-test-generator.md +2 -2
  116. package/presets/claude/nuxt/agents/unit-test-healer.md +2 -2
  117. package/presets/claude/nuxt/agents/unit-test-planner.md +2 -2
  118. package/presets/claude/nuxt/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  119. package/presets/claude/php-hexagonal/agents/build-verifier.md +2 -2
  120. package/presets/claude/php-hexagonal/agents/code-reviewer.md +2 -2
  121. package/presets/claude/php-hexagonal/agents/feature-developer.md +2 -2
  122. package/presets/claude/php-hexagonal/agents/openspec-author.md +2 -2
  123. package/presets/claude/php-hexagonal/agents/task-analyst.md +1 -1
  124. package/presets/claude/php-hexagonal/agents/task-router.md +1 -1
  125. package/presets/claude/php-hexagonal/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  126. package/presets/claude/php-laravel/agents/build-verifier.md +2 -2
  127. package/presets/claude/php-laravel/agents/code-reviewer.md +2 -2
  128. package/presets/claude/php-laravel/agents/feature-developer.md +2 -2
  129. package/presets/claude/php-laravel/agents/openspec-author.md +2 -2
  130. package/presets/claude/php-laravel/agents/task-analyst.md +1 -1
  131. package/presets/claude/php-laravel/agents/task-router.md +1 -1
  132. package/presets/claude/php-laravel/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  133. package/presets/claude/svelte/agents/accessibility-reviewer.md +2 -2
  134. package/presets/claude/svelte/agents/api-contract-reviewer.md +2 -2
  135. package/presets/claude/svelte/agents/build-verifier.md +2 -2
  136. package/presets/claude/svelte/agents/ci-investigator.md +2 -2
  137. package/presets/claude/svelte/agents/code-reviewer.md +2 -2
  138. package/presets/claude/svelte/agents/debugger.md +2 -2
  139. package/presets/claude/svelte/agents/feature-developer.md +2 -2
  140. package/presets/claude/svelte/agents/migration-specialist.md +2 -2
  141. package/presets/claude/svelte/agents/mockup-reviewer.md +2 -2
  142. package/presets/claude/svelte/agents/openspec-author.md +2 -2
  143. package/presets/claude/svelte/agents/performance-auditor.md +2 -2
  144. package/presets/claude/svelte/agents/qa-tester.md +2 -2
  145. package/presets/claude/svelte/agents/security-reviewer.md +2 -2
  146. package/presets/claude/svelte/agents/solution-architect.md +2 -2
  147. package/presets/claude/svelte/agents/task-analyst.md +1 -1
  148. package/presets/claude/svelte/agents/task-router.md +1 -1
  149. package/presets/claude/svelte/agents/tech-writer.md +2 -2
  150. package/presets/claude/svelte/agents/unit-test-generator.md +2 -2
  151. package/presets/claude/svelte/agents/unit-test-healer.md +2 -2
  152. package/presets/claude/svelte/agents/unit-test-planner.md +2 -2
  153. package/presets/claude/svelte/rules/tooling-and-review/agent-team-orchestrator.md +3 -1
  154. package/presets/cursor/android-kotlin/agents/accessibility-reviewer.md +2 -2
  155. package/presets/cursor/android-kotlin/agents/api-contract-reviewer.md +2 -2
  156. package/presets/cursor/android-kotlin/agents/build-verifier.md +1 -1
  157. package/presets/cursor/android-kotlin/agents/ci-investigator.md +2 -2
  158. package/presets/cursor/android-kotlin/agents/code-reviewer.md +2 -2
  159. package/presets/cursor/android-kotlin/agents/debugger.md +2 -2
  160. package/presets/cursor/android-kotlin/agents/feature-developer.md +2 -2
  161. package/presets/cursor/android-kotlin/agents/migration-specialist.md +2 -2
  162. package/presets/cursor/android-kotlin/agents/mockup-reviewer.md +2 -2
  163. package/presets/cursor/android-kotlin/agents/openspec-author.md +2 -2
  164. package/presets/cursor/android-kotlin/agents/performance-auditor.md +2 -2
  165. package/presets/cursor/android-kotlin/agents/qa-tester.md +2 -2
  166. package/presets/cursor/android-kotlin/agents/security-reviewer.md +2 -2
  167. package/presets/cursor/android-kotlin/agents/task-analyst.md +1 -1
  168. package/presets/cursor/android-kotlin/agents/task-router.md +1 -1
  169. package/presets/cursor/android-kotlin/agents/tech-writer.md +2 -2
  170. package/presets/cursor/android-kotlin/agents/unit-test-generator.md +2 -2
  171. package/presets/cursor/android-kotlin/agents/unit-test-healer.md +2 -2
  172. package/presets/cursor/android-kotlin/agents/unit-test-planner.md +2 -2
  173. package/presets/cursor/android-kotlin/rules/agent-team-orchestrator.mdc +1 -1
  174. package/presets/cursor/go/agents/build-verifier.md +2 -2
  175. package/presets/cursor/go/agents/code-reviewer.md +2 -2
  176. package/presets/cursor/go/agents/feature-developer.md +2 -2
  177. package/presets/cursor/go/agents/openspec-author.md +2 -2
  178. package/presets/cursor/go/agents/task-analyst.md +1 -1
  179. package/presets/cursor/go/agents/task-router.md +1 -1
  180. package/presets/cursor/go/rules/agent-team-orchestrator.mdc +3 -1
  181. package/presets/cursor/ios-swift/agents/build-verifier.md +2 -2
  182. package/presets/cursor/ios-swift/agents/code-reviewer.md +2 -2
  183. package/presets/cursor/ios-swift/agents/feature-developer.md +2 -2
  184. package/presets/cursor/ios-swift/agents/mockup-reviewer.md +2 -2
  185. package/presets/cursor/ios-swift/agents/openspec-author.md +2 -2
  186. package/presets/cursor/ios-swift/agents/task-analyst.md +1 -1
  187. package/presets/cursor/ios-swift/agents/task-router.md +1 -1
  188. package/presets/cursor/ios-swift/rules/agent-team-orchestrator.mdc +1 -1
  189. package/presets/cursor/java/agents/build-verifier.md +2 -2
  190. package/presets/cursor/java/agents/code-reviewer.md +2 -2
  191. package/presets/cursor/java/agents/feature-developer.md +2 -2
  192. package/presets/cursor/java/agents/openspec-author.md +2 -2
  193. package/presets/cursor/java/agents/task-analyst.md +1 -1
  194. package/presets/cursor/java/agents/task-router.md +1 -1
  195. package/presets/cursor/java/rules/agent-team-orchestrator.mdc +3 -1
  196. package/presets/cursor/mcp-ts/agents/build-verifier.md +2 -2
  197. package/presets/cursor/mcp-ts/agents/feature-developer.md +2 -2
  198. package/presets/cursor/mcp-ts/agents/task-analyst.md +1 -1
  199. package/presets/cursor/mcp-ts/agents/task-router.md +1 -1
  200. package/presets/cursor/mcp-ts/rules/agent-team-orchestrator.mdc +3 -1
  201. package/presets/cursor/next/REPO_AGENTS.md +11 -1
  202. package/presets/cursor/next/agents/accessibility-reviewer.md +2 -2
  203. package/presets/cursor/next/agents/api-contract-reviewer.md +2 -2
  204. package/presets/cursor/next/agents/build-verifier.md +3 -2
  205. package/presets/cursor/next/agents/ci-investigator.md +2 -2
  206. package/presets/cursor/next/agents/code-reviewer.md +3 -2
  207. package/presets/cursor/next/agents/debugger.md +2 -2
  208. package/presets/cursor/next/agents/feature-developer.md +3 -2
  209. package/presets/cursor/next/agents/migration-specialist.md +2 -2
  210. package/presets/cursor/next/agents/mockup-reviewer.md +2 -2
  211. package/presets/cursor/next/agents/openspec-author.md +4 -2
  212. package/presets/cursor/next/agents/performance-auditor.md +2 -2
  213. package/presets/cursor/next/agents/qa-tester.md +2 -2
  214. package/presets/cursor/next/agents/security-reviewer.md +2 -2
  215. package/presets/cursor/next/agents/solution-architect.md +2 -2
  216. package/presets/cursor/next/agents/task-analyst.md +8 -1
  217. package/presets/cursor/next/agents/task-router.md +2 -1
  218. package/presets/cursor/next/agents/tech-writer.md +2 -2
  219. package/presets/cursor/next/agents/unit-test-generator.md +2 -2
  220. package/presets/cursor/next/agents/unit-test-healer.md +2 -2
  221. package/presets/cursor/next/agents/unit-test-planner.md +2 -2
  222. package/presets/cursor/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +41 -8
  223. package/presets/cursor/next/ai-local/rules-library/agent-pipeline-gates.md +19 -0
  224. package/presets/cursor/next/ai-local/rules-library/analytics-events.md +18 -0
  225. package/presets/cursor/next/ai-local/rules-library/api-contract-source.md +14 -0
  226. package/presets/cursor/next/ai-local/rules-library/artifact-lifecycle.md +17 -0
  227. package/presets/cursor/next/ai-local/rules-library/code-style.md +68 -0
  228. package/presets/cursor/next/ai-local/rules-library/component-child-decomposition.md +81 -0
  229. package/presets/cursor/next/ai-local/rules-library/feature-flags-experiments.md +15 -0
  230. package/presets/cursor/next/ai-local/rules-library/mcp-required-for-ui-layout.md +1 -1
  231. package/presets/cursor/next/ai-local/rules-library/no-react-fc.md +46 -0
  232. package/presets/cursor/next/ai-local/rules-library/no-test-driven-behavior-change.md +1 -1
  233. package/presets/cursor/next/ai-local/rules-library/pwa-service-worker.md +15 -0
  234. package/presets/cursor/next/ai-local/rules-library/qa-test-cases.md +14 -0
  235. package/presets/cursor/next/ai-local/rules-library/router-pages.md +4 -2
  236. package/presets/cursor/next/ai-local/rules-library/single-source-copy-constants.md +3 -1
  237. package/presets/cursor/next/ai-local/rules-library/storybook-catalog-structure.md +62 -0
  238. package/presets/cursor/next/ai-local/rules-library/storybook-cleanup-temp-screenshots.md +40 -0
  239. package/presets/cursor/next/ai-local/rules-library/storybook-csf-authoring.md +100 -0
  240. package/presets/cursor/next/ai-local/rules-library/storybook-dev-compare-figma.md +67 -0
  241. package/presets/cursor/next/ai-local/rules-library/storybook-keep-tests-current.md +75 -0
  242. package/presets/cursor/next/ai-local/rules-library/storybook-modals.md +64 -0
  243. package/presets/cursor/next/ai-local/rules-library/storybook-no-app-node-modules.md +40 -0
  244. package/presets/cursor/next/ai-local/rules-library/storybook-ui-quality-gate.md +38 -0
  245. package/presets/cursor/next/ai-local/rules-library/task-levels.md +28 -0
  246. package/presets/cursor/next/ai-local/rules-library/ui-change-review-gate.md +14 -0
  247. package/presets/cursor/next/hooks/chain-team-phases.sh +46 -1
  248. package/presets/cursor/next/rules/README.md +4 -1
  249. package/presets/cursor/next/rules/agent-team-orchestrator.mdc +3 -1
  250. package/presets/cursor/next/rules/ai-local-overlay.mdc +16 -2
  251. package/presets/cursor/next/rules/code-review-mr.mdc +4 -0
  252. package/presets/cursor/next/rules/component-catalog-gate.mdc +38 -0
  253. package/presets/cursor/next/rules/design-tokens-binding.mdc +1 -1
  254. package/presets/cursor/next/rules/feature-delivery-workflow.mdc +5 -1
  255. package/presets/cursor/next/rules/forms-validation.mdc +33 -0
  256. package/presets/cursor/next/rules/mcp-usage.mdc +1 -0
  257. package/presets/cursor/next/rules/next-app-core.mdc +3 -0
  258. package/presets/cursor/next/rules/next-static-export.mdc +35 -0
  259. package/presets/cursor/next/rules/post-change-lint.mdc +4 -0
  260. package/presets/cursor/next/rules/product-specs-authoring.mdc +1 -0
  261. package/presets/cursor/next/rules/product-specs.mdc +1 -0
  262. package/presets/cursor/next/rules/react-next-anti-hallucination.mdc +10 -0
  263. package/presets/cursor/next/rules/react-ui.mdc +19 -1
  264. package/presets/cursor/next/rules/reference-features.mdc +5 -0
  265. package/presets/cursor/next/rules/security-next.mdc +12 -0
  266. package/presets/cursor/next/rules/store-rtk.mdc +6 -0
  267. package/presets/cursor/next/rules/tests-e2e-structure.mdc +1 -0
  268. package/presets/cursor/next/rules/tests-unit.mdc +1 -0
  269. package/presets/cursor/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
  270. package/presets/cursor/nuxt/agents/accessibility-reviewer.md +2 -2
  271. package/presets/cursor/nuxt/agents/api-contract-reviewer.md +2 -2
  272. package/presets/cursor/nuxt/agents/build-verifier.md +2 -2
  273. package/presets/cursor/nuxt/agents/ci-investigator.md +2 -2
  274. package/presets/cursor/nuxt/agents/code-reviewer.md +2 -2
  275. package/presets/cursor/nuxt/agents/debugger.md +2 -2
  276. package/presets/cursor/nuxt/agents/feature-developer.md +2 -2
  277. package/presets/cursor/nuxt/agents/migration-specialist.md +2 -2
  278. package/presets/cursor/nuxt/agents/mockup-reviewer.md +2 -2
  279. package/presets/cursor/nuxt/agents/openspec-author.md +2 -2
  280. package/presets/cursor/nuxt/agents/performance-auditor.md +2 -2
  281. package/presets/cursor/nuxt/agents/qa-tester.md +2 -2
  282. package/presets/cursor/nuxt/agents/security-reviewer.md +2 -2
  283. package/presets/cursor/nuxt/agents/solution-architect.md +2 -2
  284. package/presets/cursor/nuxt/agents/task-analyst.md +1 -1
  285. package/presets/cursor/nuxt/agents/task-router.md +1 -1
  286. package/presets/cursor/nuxt/agents/tech-writer.md +2 -2
  287. package/presets/cursor/nuxt/agents/unit-test-generator.md +2 -2
  288. package/presets/cursor/nuxt/agents/unit-test-healer.md +2 -2
  289. package/presets/cursor/nuxt/agents/unit-test-planner.md +2 -2
  290. package/presets/cursor/nuxt/rules/agent-team-orchestrator.mdc +3 -1
  291. package/presets/cursor/php-hexagonal/agents/build-verifier.md +2 -2
  292. package/presets/cursor/php-hexagonal/agents/code-reviewer.md +2 -2
  293. package/presets/cursor/php-hexagonal/agents/feature-developer.md +2 -2
  294. package/presets/cursor/php-hexagonal/agents/openspec-author.md +2 -2
  295. package/presets/cursor/php-hexagonal/agents/task-analyst.md +1 -1
  296. package/presets/cursor/php-hexagonal/agents/task-router.md +1 -1
  297. package/presets/cursor/php-hexagonal/rules/agent-team-orchestrator.mdc +3 -1
  298. package/presets/cursor/php-laravel/agents/build-verifier.md +2 -2
  299. package/presets/cursor/php-laravel/agents/code-reviewer.md +2 -2
  300. package/presets/cursor/php-laravel/agents/feature-developer.md +2 -2
  301. package/presets/cursor/php-laravel/agents/openspec-author.md +2 -2
  302. package/presets/cursor/php-laravel/agents/task-analyst.md +1 -1
  303. package/presets/cursor/php-laravel/agents/task-router.md +1 -1
  304. package/presets/cursor/php-laravel/rules/agent-team-orchestrator.mdc +3 -1
  305. package/presets/cursor/svelte/agents/accessibility-reviewer.md +2 -2
  306. package/presets/cursor/svelte/agents/api-contract-reviewer.md +2 -2
  307. package/presets/cursor/svelte/agents/build-verifier.md +2 -2
  308. package/presets/cursor/svelte/agents/ci-investigator.md +2 -2
  309. package/presets/cursor/svelte/agents/code-reviewer.md +2 -2
  310. package/presets/cursor/svelte/agents/debugger.md +2 -2
  311. package/presets/cursor/svelte/agents/feature-developer.md +2 -2
  312. package/presets/cursor/svelte/agents/migration-specialist.md +2 -2
  313. package/presets/cursor/svelte/agents/mockup-reviewer.md +2 -2
  314. package/presets/cursor/svelte/agents/openspec-author.md +2 -2
  315. package/presets/cursor/svelte/agents/performance-auditor.md +2 -2
  316. package/presets/cursor/svelte/agents/qa-tester.md +2 -2
  317. package/presets/cursor/svelte/agents/security-reviewer.md +2 -2
  318. package/presets/cursor/svelte/agents/solution-architect.md +2 -2
  319. package/presets/cursor/svelte/agents/task-analyst.md +1 -1
  320. package/presets/cursor/svelte/agents/task-router.md +1 -1
  321. package/presets/cursor/svelte/agents/tech-writer.md +2 -2
  322. package/presets/cursor/svelte/agents/unit-test-generator.md +2 -2
  323. package/presets/cursor/svelte/agents/unit-test-healer.md +2 -2
  324. package/presets/cursor/svelte/agents/unit-test-planner.md +2 -2
  325. package/presets/cursor/svelte/rules/agent-team-orchestrator.mdc +3 -1
  326. package/presets/mavis/android-kotlin/adapter-map.json +1 -1
  327. package/presets/mavis/android-kotlin/agents/accessibility-reviewer.md +2 -2
  328. package/presets/mavis/android-kotlin/agents/api-contract-reviewer.md +2 -2
  329. package/presets/mavis/android-kotlin/agents/build-verifier.md +1 -1
  330. package/presets/mavis/android-kotlin/agents/ci-investigator.md +2 -2
  331. package/presets/mavis/android-kotlin/agents/code-reviewer.md +2 -2
  332. package/presets/mavis/android-kotlin/agents/debugger.md +2 -2
  333. package/presets/mavis/android-kotlin/agents/feature-developer.md +2 -2
  334. package/presets/mavis/android-kotlin/agents/migration-specialist.md +2 -2
  335. package/presets/mavis/android-kotlin/agents/mockup-reviewer.md +2 -2
  336. package/presets/mavis/android-kotlin/agents/openspec-author.md +2 -2
  337. package/presets/mavis/android-kotlin/agents/performance-auditor.md +2 -2
  338. package/presets/mavis/android-kotlin/agents/qa-tester.md +2 -2
  339. package/presets/mavis/android-kotlin/agents/security-reviewer.md +2 -2
  340. package/presets/mavis/android-kotlin/agents/task-analyst.md +1 -1
  341. package/presets/mavis/android-kotlin/agents/task-router.md +1 -1
  342. package/presets/mavis/android-kotlin/agents/tech-writer.md +2 -2
  343. package/presets/mavis/android-kotlin/agents/unit-test-generator.md +2 -2
  344. package/presets/mavis/android-kotlin/agents/unit-test-healer.md +2 -2
  345. package/presets/mavis/android-kotlin/agents/unit-test-planner.md +2 -2
  346. package/presets/mavis/android-kotlin/rules/agent-team-orchestrator.md +3 -1
  347. package/presets/mavis/android-kotlin/rules/code-review-mr.md +6 -6
  348. package/presets/mavis/go/adapter-map.json +1 -1
  349. package/presets/mavis/go/agents/build-verifier.md +2 -2
  350. package/presets/mavis/go/agents/code-reviewer.md +2 -2
  351. package/presets/mavis/go/agents/feature-developer.md +2 -2
  352. package/presets/mavis/go/agents/openspec-author.md +2 -2
  353. package/presets/mavis/go/agents/task-analyst.md +1 -1
  354. package/presets/mavis/go/agents/task-router.md +1 -1
  355. package/presets/mavis/go/rules/agent-team-orchestrator.md +3 -1
  356. package/presets/mavis/go/rules/code-quality-and-refactoring.md +1 -1
  357. package/presets/mavis/ios-swift/adapter-map.json +1 -1
  358. package/presets/mavis/ios-swift/agents/build-verifier.md +2 -2
  359. package/presets/mavis/ios-swift/agents/code-reviewer.md +2 -2
  360. package/presets/mavis/ios-swift/agents/feature-developer.md +2 -2
  361. package/presets/mavis/ios-swift/agents/mockup-reviewer.md +2 -2
  362. package/presets/mavis/ios-swift/agents/openspec-author.md +2 -2
  363. package/presets/mavis/ios-swift/agents/task-analyst.md +1 -1
  364. package/presets/mavis/ios-swift/agents/task-router.md +1 -1
  365. package/presets/mavis/ios-swift/rules/agent-team-orchestrator.md +3 -1
  366. package/presets/mavis/ios-swift/rules/code-quality-and-refactoring.md +1 -1
  367. package/presets/mavis/ios-swift/rules/code-review-mr.md +6 -6
  368. package/presets/mavis/ios-swift/rules/feature-delivery-workflow.md +14 -14
  369. package/presets/mavis/ios-swift/rules/reference-features.md +3 -3
  370. package/presets/mavis/java/adapter-map.json +1 -1
  371. package/presets/mavis/java/agents/build-verifier.md +2 -2
  372. package/presets/mavis/java/agents/code-reviewer.md +2 -2
  373. package/presets/mavis/java/agents/feature-developer.md +2 -2
  374. package/presets/mavis/java/agents/openspec-author.md +2 -2
  375. package/presets/mavis/java/agents/task-analyst.md +1 -1
  376. package/presets/mavis/java/agents/task-router.md +1 -1
  377. package/presets/mavis/java/rules/agent-team-orchestrator.md +3 -1
  378. package/presets/mavis/java/rules/code-quality-and-refactoring.md +1 -1
  379. package/presets/mavis/mcp-ts/adapter-map.json +1 -1
  380. package/presets/mavis/mcp-ts/agents/build-verifier.md +2 -2
  381. package/presets/mavis/mcp-ts/agents/feature-developer.md +2 -2
  382. package/presets/mavis/mcp-ts/agents/task-analyst.md +1 -1
  383. package/presets/mavis/mcp-ts/agents/task-router.md +1 -1
  384. package/presets/mavis/mcp-ts/rules/agent-team-orchestrator.md +3 -1
  385. package/presets/mavis/next/REPO_AGENTS.md +11 -1
  386. package/presets/mavis/next/adapter-map.json +192 -8
  387. package/presets/mavis/next/agents/accessibility-reviewer.md +2 -2
  388. package/presets/mavis/next/agents/api-contract-reviewer.md +2 -2
  389. package/presets/mavis/next/agents/build-verifier.md +3 -2
  390. package/presets/mavis/next/agents/ci-investigator.md +2 -2
  391. package/presets/mavis/next/agents/code-reviewer.md +3 -2
  392. package/presets/mavis/next/agents/debugger.md +2 -2
  393. package/presets/mavis/next/agents/feature-developer.md +3 -2
  394. package/presets/mavis/next/agents/migration-specialist.md +2 -2
  395. package/presets/mavis/next/agents/mockup-reviewer.md +2 -2
  396. package/presets/mavis/next/agents/openspec-author.md +4 -2
  397. package/presets/mavis/next/agents/performance-auditor.md +2 -2
  398. package/presets/mavis/next/agents/qa-tester.md +2 -2
  399. package/presets/mavis/next/agents/security-reviewer.md +2 -2
  400. package/presets/mavis/next/agents/solution-architect.md +2 -2
  401. package/presets/mavis/next/agents/task-analyst.md +8 -1
  402. package/presets/mavis/next/agents/task-router.md +2 -1
  403. package/presets/mavis/next/agents/tech-writer.md +2 -2
  404. package/presets/mavis/next/agents/unit-test-generator.md +2 -2
  405. package/presets/mavis/next/agents/unit-test-healer.md +2 -2
  406. package/presets/mavis/next/agents/unit-test-planner.md +2 -2
  407. package/presets/mavis/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +41 -8
  408. package/presets/mavis/next/ai-local/rules-library/agent-pipeline-gates.md +19 -0
  409. package/presets/mavis/next/ai-local/rules-library/analytics-events.md +18 -0
  410. package/presets/mavis/next/ai-local/rules-library/api-contract-source.md +14 -0
  411. package/presets/mavis/next/ai-local/rules-library/artifact-lifecycle.md +17 -0
  412. package/presets/mavis/next/ai-local/rules-library/code-style.md +68 -0
  413. package/presets/mavis/next/ai-local/rules-library/component-child-decomposition.md +81 -0
  414. package/presets/mavis/next/ai-local/rules-library/feature-flags-experiments.md +15 -0
  415. package/presets/mavis/next/ai-local/rules-library/mcp-required-for-ui-layout.md +1 -1
  416. package/presets/mavis/next/ai-local/rules-library/no-react-fc.md +46 -0
  417. package/presets/mavis/next/ai-local/rules-library/no-test-driven-behavior-change.md +1 -1
  418. package/presets/mavis/next/ai-local/rules-library/pwa-service-worker.md +15 -0
  419. package/presets/mavis/next/ai-local/rules-library/qa-test-cases.md +14 -0
  420. package/presets/mavis/next/ai-local/rules-library/router-pages.md +4 -2
  421. package/presets/mavis/next/ai-local/rules-library/single-source-copy-constants.md +3 -1
  422. package/presets/mavis/next/ai-local/rules-library/storybook-catalog-structure.md +62 -0
  423. package/presets/mavis/next/ai-local/rules-library/storybook-cleanup-temp-screenshots.md +40 -0
  424. package/presets/mavis/next/ai-local/rules-library/storybook-csf-authoring.md +100 -0
  425. package/presets/mavis/next/ai-local/rules-library/storybook-dev-compare-figma.md +67 -0
  426. package/presets/mavis/next/ai-local/rules-library/storybook-keep-tests-current.md +75 -0
  427. package/presets/mavis/next/ai-local/rules-library/storybook-modals.md +64 -0
  428. package/presets/mavis/next/ai-local/rules-library/storybook-no-app-node-modules.md +40 -0
  429. package/presets/mavis/next/ai-local/rules-library/storybook-ui-quality-gate.md +38 -0
  430. package/presets/mavis/next/ai-local/rules-library/task-levels.md +28 -0
  431. package/presets/mavis/next/ai-local/rules-library/ui-change-review-gate.md +14 -0
  432. package/presets/mavis/next/hooks/chain-team-phases.sh +46 -1
  433. package/presets/mavis/next/rules/agent-team-orchestrator.md +3 -1
  434. package/presets/mavis/next/rules/ai-local-overlay.md +16 -2
  435. package/presets/mavis/next/rules/code-quality-and-refactoring.md +2 -2
  436. package/presets/mavis/next/rules/code-review-mr.md +11 -7
  437. package/presets/mavis/next/rules/component-catalog-gate.md +31 -0
  438. package/presets/mavis/next/rules/design-tokens-binding.md +1 -1
  439. package/presets/mavis/next/rules/feature-delivery-workflow.md +22 -18
  440. package/presets/mavis/next/rules/forms-validation.md +26 -0
  441. package/presets/mavis/next/rules/mcp-usage.md +1 -0
  442. package/presets/mavis/next/rules/mockup-review.md +1 -1
  443. package/presets/mavis/next/rules/next-app-core.md +3 -0
  444. package/presets/mavis/next/rules/next-static-export.md +28 -0
  445. package/presets/mavis/next/rules/post-change-lint.md +4 -0
  446. package/presets/mavis/next/rules/product-specs-authoring.md +1 -0
  447. package/presets/mavis/next/rules/product-specs.md +1 -0
  448. package/presets/mavis/next/rules/react-next-anti-hallucination.md +10 -0
  449. package/presets/mavis/next/rules/react-ui.md +19 -1
  450. package/presets/mavis/next/rules/reference-features.md +7 -2
  451. package/presets/mavis/next/rules/security-next.md +12 -0
  452. package/presets/mavis/next/rules/store-rtk.md +6 -0
  453. package/presets/mavis/next/rules/tests-e2e-structure.md +2 -1
  454. package/presets/mavis/next/rules/tests-unit.md +1 -0
  455. package/presets/mavis/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
  456. package/presets/mavis/nuxt/adapter-map.json +1 -1
  457. package/presets/mavis/nuxt/agents/accessibility-reviewer.md +2 -2
  458. package/presets/mavis/nuxt/agents/api-contract-reviewer.md +2 -2
  459. package/presets/mavis/nuxt/agents/build-verifier.md +2 -2
  460. package/presets/mavis/nuxt/agents/ci-investigator.md +2 -2
  461. package/presets/mavis/nuxt/agents/code-reviewer.md +2 -2
  462. package/presets/mavis/nuxt/agents/debugger.md +2 -2
  463. package/presets/mavis/nuxt/agents/feature-developer.md +2 -2
  464. package/presets/mavis/nuxt/agents/migration-specialist.md +2 -2
  465. package/presets/mavis/nuxt/agents/mockup-reviewer.md +2 -2
  466. package/presets/mavis/nuxt/agents/openspec-author.md +2 -2
  467. package/presets/mavis/nuxt/agents/performance-auditor.md +2 -2
  468. package/presets/mavis/nuxt/agents/qa-tester.md +2 -2
  469. package/presets/mavis/nuxt/agents/security-reviewer.md +2 -2
  470. package/presets/mavis/nuxt/agents/solution-architect.md +2 -2
  471. package/presets/mavis/nuxt/agents/task-analyst.md +1 -1
  472. package/presets/mavis/nuxt/agents/task-router.md +1 -1
  473. package/presets/mavis/nuxt/agents/tech-writer.md +2 -2
  474. package/presets/mavis/nuxt/agents/unit-test-generator.md +2 -2
  475. package/presets/mavis/nuxt/agents/unit-test-healer.md +2 -2
  476. package/presets/mavis/nuxt/agents/unit-test-planner.md +2 -2
  477. package/presets/mavis/nuxt/rules/agent-team-orchestrator.md +3 -1
  478. package/presets/mavis/nuxt/rules/code-review-mr.md +6 -6
  479. package/presets/mavis/nuxt/rules/feature-delivery-workflow.md +15 -15
  480. package/presets/mavis/nuxt/rules/reference-features.md +2 -2
  481. package/presets/mavis/nuxt/rules/tests-e2e-structure.md +1 -1
  482. package/presets/mavis/php-hexagonal/adapter-map.json +1 -1
  483. package/presets/mavis/php-hexagonal/agents/build-verifier.md +2 -2
  484. package/presets/mavis/php-hexagonal/agents/code-reviewer.md +2 -2
  485. package/presets/mavis/php-hexagonal/agents/feature-developer.md +2 -2
  486. package/presets/mavis/php-hexagonal/agents/openspec-author.md +2 -2
  487. package/presets/mavis/php-hexagonal/agents/task-analyst.md +1 -1
  488. package/presets/mavis/php-hexagonal/agents/task-router.md +1 -1
  489. package/presets/mavis/php-hexagonal/rules/agent-team-orchestrator.md +3 -1
  490. package/presets/mavis/php-hexagonal/rules/code-quality-and-refactoring.md +1 -1
  491. package/presets/mavis/php-laravel/adapter-map.json +1 -1
  492. package/presets/mavis/php-laravel/agents/build-verifier.md +2 -2
  493. package/presets/mavis/php-laravel/agents/code-reviewer.md +2 -2
  494. package/presets/mavis/php-laravel/agents/feature-developer.md +2 -2
  495. package/presets/mavis/php-laravel/agents/openspec-author.md +2 -2
  496. package/presets/mavis/php-laravel/agents/task-analyst.md +1 -1
  497. package/presets/mavis/php-laravel/agents/task-router.md +1 -1
  498. package/presets/mavis/php-laravel/rules/agent-team-orchestrator.md +3 -1
  499. package/presets/mavis/php-laravel/rules/code-quality-and-refactoring.md +1 -1
  500. package/presets/mavis/svelte/adapter-map.json +1 -1
  501. package/presets/mavis/svelte/agents/accessibility-reviewer.md +2 -2
  502. package/presets/mavis/svelte/agents/api-contract-reviewer.md +2 -2
  503. package/presets/mavis/svelte/agents/build-verifier.md +2 -2
  504. package/presets/mavis/svelte/agents/ci-investigator.md +2 -2
  505. package/presets/mavis/svelte/agents/code-reviewer.md +2 -2
  506. package/presets/mavis/svelte/agents/debugger.md +2 -2
  507. package/presets/mavis/svelte/agents/feature-developer.md +2 -2
  508. package/presets/mavis/svelte/agents/migration-specialist.md +2 -2
  509. package/presets/mavis/svelte/agents/mockup-reviewer.md +2 -2
  510. package/presets/mavis/svelte/agents/openspec-author.md +2 -2
  511. package/presets/mavis/svelte/agents/performance-auditor.md +2 -2
  512. package/presets/mavis/svelte/agents/qa-tester.md +2 -2
  513. package/presets/mavis/svelte/agents/security-reviewer.md +2 -2
  514. package/presets/mavis/svelte/agents/solution-architect.md +2 -2
  515. package/presets/mavis/svelte/agents/task-analyst.md +1 -1
  516. package/presets/mavis/svelte/agents/task-router.md +1 -1
  517. package/presets/mavis/svelte/agents/tech-writer.md +2 -2
  518. package/presets/mavis/svelte/agents/unit-test-generator.md +2 -2
  519. package/presets/mavis/svelte/agents/unit-test-healer.md +2 -2
  520. package/presets/mavis/svelte/agents/unit-test-planner.md +2 -2
  521. package/presets/mavis/svelte/rules/agent-team-orchestrator.md +3 -1
  522. package/presets/mavis/svelte/rules/code-review-mr.md +6 -6
  523. package/presets/mavis/svelte/rules/feature-delivery-workflow.md +1 -1
  524. package/presets/mavis/svelte/rules/reference-features.md +2 -2
  525. package/presets/mavis/svelte/rules/tests-e2e-structure.md +1 -1
  526. package/presets/opencode/android-kotlin/adapter-map.json +1 -1
  527. package/presets/opencode/android-kotlin/agents/accessibility-reviewer.md +2 -2
  528. package/presets/opencode/android-kotlin/agents/api-contract-reviewer.md +2 -2
  529. package/presets/opencode/android-kotlin/agents/build-verifier.md +1 -1
  530. package/presets/opencode/android-kotlin/agents/ci-investigator.md +2 -2
  531. package/presets/opencode/android-kotlin/agents/code-reviewer.md +2 -2
  532. package/presets/opencode/android-kotlin/agents/debugger.md +2 -2
  533. package/presets/opencode/android-kotlin/agents/feature-developer.md +2 -2
  534. package/presets/opencode/android-kotlin/agents/migration-specialist.md +2 -2
  535. package/presets/opencode/android-kotlin/agents/mockup-reviewer.md +2 -2
  536. package/presets/opencode/android-kotlin/agents/openspec-author.md +2 -2
  537. package/presets/opencode/android-kotlin/agents/performance-auditor.md +2 -2
  538. package/presets/opencode/android-kotlin/agents/qa-tester.md +2 -2
  539. package/presets/opencode/android-kotlin/agents/security-reviewer.md +2 -2
  540. package/presets/opencode/android-kotlin/agents/task-analyst.md +1 -1
  541. package/presets/opencode/android-kotlin/agents/task-router.md +1 -1
  542. package/presets/opencode/android-kotlin/agents/tech-writer.md +2 -2
  543. package/presets/opencode/android-kotlin/agents/unit-test-generator.md +2 -2
  544. package/presets/opencode/android-kotlin/agents/unit-test-healer.md +2 -2
  545. package/presets/opencode/android-kotlin/agents/unit-test-planner.md +2 -2
  546. package/presets/opencode/android-kotlin/rules/agent-team-orchestrator.md +3 -1
  547. package/presets/opencode/android-kotlin/rules/code-review-mr.md +6 -6
  548. package/presets/opencode/go/adapter-map.json +1 -1
  549. package/presets/opencode/go/agents/build-verifier.md +2 -2
  550. package/presets/opencode/go/agents/code-reviewer.md +2 -2
  551. package/presets/opencode/go/agents/feature-developer.md +2 -2
  552. package/presets/opencode/go/agents/openspec-author.md +2 -2
  553. package/presets/opencode/go/agents/task-analyst.md +1 -1
  554. package/presets/opencode/go/agents/task-router.md +1 -1
  555. package/presets/opencode/go/rules/agent-team-orchestrator.md +3 -1
  556. package/presets/opencode/go/rules/code-quality-and-refactoring.md +1 -1
  557. package/presets/opencode/ios-swift/adapter-map.json +1 -1
  558. package/presets/opencode/ios-swift/agents/build-verifier.md +2 -2
  559. package/presets/opencode/ios-swift/agents/code-reviewer.md +2 -2
  560. package/presets/opencode/ios-swift/agents/feature-developer.md +2 -2
  561. package/presets/opencode/ios-swift/agents/mockup-reviewer.md +2 -2
  562. package/presets/opencode/ios-swift/agents/openspec-author.md +2 -2
  563. package/presets/opencode/ios-swift/agents/task-analyst.md +1 -1
  564. package/presets/opencode/ios-swift/agents/task-router.md +1 -1
  565. package/presets/opencode/ios-swift/rules/agent-team-orchestrator.md +3 -1
  566. package/presets/opencode/ios-swift/rules/code-quality-and-refactoring.md +1 -1
  567. package/presets/opencode/ios-swift/rules/code-review-mr.md +6 -6
  568. package/presets/opencode/ios-swift/rules/feature-delivery-workflow.md +14 -14
  569. package/presets/opencode/ios-swift/rules/reference-features.md +3 -3
  570. package/presets/opencode/java/adapter-map.json +1 -1
  571. package/presets/opencode/java/agents/build-verifier.md +2 -2
  572. package/presets/opencode/java/agents/code-reviewer.md +2 -2
  573. package/presets/opencode/java/agents/feature-developer.md +2 -2
  574. package/presets/opencode/java/agents/openspec-author.md +2 -2
  575. package/presets/opencode/java/agents/task-analyst.md +1 -1
  576. package/presets/opencode/java/agents/task-router.md +1 -1
  577. package/presets/opencode/java/rules/agent-team-orchestrator.md +3 -1
  578. package/presets/opencode/java/rules/code-quality-and-refactoring.md +1 -1
  579. package/presets/opencode/mcp-ts/adapter-map.json +1 -1
  580. package/presets/opencode/mcp-ts/agents/build-verifier.md +2 -2
  581. package/presets/opencode/mcp-ts/agents/feature-developer.md +2 -2
  582. package/presets/opencode/mcp-ts/agents/task-analyst.md +1 -1
  583. package/presets/opencode/mcp-ts/agents/task-router.md +1 -1
  584. package/presets/opencode/mcp-ts/rules/agent-team-orchestrator.md +3 -1
  585. package/presets/opencode/next/REPO_AGENTS.md +11 -1
  586. package/presets/opencode/next/adapter-map.json +192 -8
  587. package/presets/opencode/next/agents/accessibility-reviewer.md +2 -2
  588. package/presets/opencode/next/agents/api-contract-reviewer.md +2 -2
  589. package/presets/opencode/next/agents/build-verifier.md +3 -2
  590. package/presets/opencode/next/agents/ci-investigator.md +2 -2
  591. package/presets/opencode/next/agents/code-reviewer.md +3 -2
  592. package/presets/opencode/next/agents/debugger.md +2 -2
  593. package/presets/opencode/next/agents/feature-developer.md +3 -2
  594. package/presets/opencode/next/agents/migration-specialist.md +2 -2
  595. package/presets/opencode/next/agents/mockup-reviewer.md +2 -2
  596. package/presets/opencode/next/agents/openspec-author.md +4 -2
  597. package/presets/opencode/next/agents/performance-auditor.md +2 -2
  598. package/presets/opencode/next/agents/qa-tester.md +2 -2
  599. package/presets/opencode/next/agents/security-reviewer.md +2 -2
  600. package/presets/opencode/next/agents/solution-architect.md +2 -2
  601. package/presets/opencode/next/agents/task-analyst.md +8 -1
  602. package/presets/opencode/next/agents/task-router.md +2 -1
  603. package/presets/opencode/next/agents/tech-writer.md +2 -2
  604. package/presets/opencode/next/agents/unit-test-generator.md +2 -2
  605. package/presets/opencode/next/agents/unit-test-healer.md +2 -2
  606. package/presets/opencode/next/agents/unit-test-planner.md +2 -2
  607. package/presets/opencode/next/ai-local/rules-library/agent-artifacts-no-local-paths.md +41 -8
  608. package/presets/opencode/next/ai-local/rules-library/agent-pipeline-gates.md +19 -0
  609. package/presets/opencode/next/ai-local/rules-library/analytics-events.md +18 -0
  610. package/presets/opencode/next/ai-local/rules-library/api-contract-source.md +14 -0
  611. package/presets/opencode/next/ai-local/rules-library/artifact-lifecycle.md +17 -0
  612. package/presets/opencode/next/ai-local/rules-library/code-style.md +68 -0
  613. package/presets/opencode/next/ai-local/rules-library/component-child-decomposition.md +81 -0
  614. package/presets/opencode/next/ai-local/rules-library/feature-flags-experiments.md +15 -0
  615. package/presets/opencode/next/ai-local/rules-library/mcp-required-for-ui-layout.md +1 -1
  616. package/presets/opencode/next/ai-local/rules-library/no-react-fc.md +46 -0
  617. package/presets/opencode/next/ai-local/rules-library/no-test-driven-behavior-change.md +1 -1
  618. package/presets/opencode/next/ai-local/rules-library/pwa-service-worker.md +15 -0
  619. package/presets/opencode/next/ai-local/rules-library/qa-test-cases.md +14 -0
  620. package/presets/opencode/next/ai-local/rules-library/router-pages.md +4 -2
  621. package/presets/opencode/next/ai-local/rules-library/single-source-copy-constants.md +3 -1
  622. package/presets/opencode/next/ai-local/rules-library/storybook-catalog-structure.md +62 -0
  623. package/presets/opencode/next/ai-local/rules-library/storybook-cleanup-temp-screenshots.md +40 -0
  624. package/presets/opencode/next/ai-local/rules-library/storybook-csf-authoring.md +100 -0
  625. package/presets/opencode/next/ai-local/rules-library/storybook-dev-compare-figma.md +67 -0
  626. package/presets/opencode/next/ai-local/rules-library/storybook-keep-tests-current.md +75 -0
  627. package/presets/opencode/next/ai-local/rules-library/storybook-modals.md +64 -0
  628. package/presets/opencode/next/ai-local/rules-library/storybook-no-app-node-modules.md +40 -0
  629. package/presets/opencode/next/ai-local/rules-library/storybook-ui-quality-gate.md +38 -0
  630. package/presets/opencode/next/ai-local/rules-library/task-levels.md +28 -0
  631. package/presets/opencode/next/ai-local/rules-library/ui-change-review-gate.md +14 -0
  632. package/presets/opencode/next/hooks/chain-team-phases.sh +46 -1
  633. package/presets/opencode/next/rules/agent-team-orchestrator.md +3 -1
  634. package/presets/opencode/next/rules/ai-local-overlay.md +16 -2
  635. package/presets/opencode/next/rules/code-quality-and-refactoring.md +2 -2
  636. package/presets/opencode/next/rules/code-review-mr.md +11 -7
  637. package/presets/opencode/next/rules/component-catalog-gate.md +31 -0
  638. package/presets/opencode/next/rules/design-tokens-binding.md +1 -1
  639. package/presets/opencode/next/rules/feature-delivery-workflow.md +22 -18
  640. package/presets/opencode/next/rules/forms-validation.md +26 -0
  641. package/presets/opencode/next/rules/mcp-usage.md +1 -0
  642. package/presets/opencode/next/rules/mockup-review.md +1 -1
  643. package/presets/opencode/next/rules/next-app-core.md +3 -0
  644. package/presets/opencode/next/rules/next-static-export.md +28 -0
  645. package/presets/opencode/next/rules/post-change-lint.md +4 -0
  646. package/presets/opencode/next/rules/product-specs-authoring.md +1 -0
  647. package/presets/opencode/next/rules/product-specs.md +1 -0
  648. package/presets/opencode/next/rules/react-next-anti-hallucination.md +10 -0
  649. package/presets/opencode/next/rules/react-ui.md +19 -1
  650. package/presets/opencode/next/rules/reference-features.md +7 -2
  651. package/presets/opencode/next/rules/security-next.md +12 -0
  652. package/presets/opencode/next/rules/store-rtk.md +6 -0
  653. package/presets/opencode/next/rules/tests-e2e-structure.md +2 -1
  654. package/presets/opencode/next/rules/tests-unit.md +1 -0
  655. package/presets/opencode/next/team/fixtures/feature-with-ux-no-figma.json +3 -4
  656. package/presets/opencode/nuxt/adapter-map.json +1 -1
  657. package/presets/opencode/nuxt/agents/accessibility-reviewer.md +2 -2
  658. package/presets/opencode/nuxt/agents/api-contract-reviewer.md +2 -2
  659. package/presets/opencode/nuxt/agents/build-verifier.md +2 -2
  660. package/presets/opencode/nuxt/agents/ci-investigator.md +2 -2
  661. package/presets/opencode/nuxt/agents/code-reviewer.md +2 -2
  662. package/presets/opencode/nuxt/agents/debugger.md +2 -2
  663. package/presets/opencode/nuxt/agents/feature-developer.md +2 -2
  664. package/presets/opencode/nuxt/agents/migration-specialist.md +2 -2
  665. package/presets/opencode/nuxt/agents/mockup-reviewer.md +2 -2
  666. package/presets/opencode/nuxt/agents/openspec-author.md +2 -2
  667. package/presets/opencode/nuxt/agents/performance-auditor.md +2 -2
  668. package/presets/opencode/nuxt/agents/qa-tester.md +2 -2
  669. package/presets/opencode/nuxt/agents/security-reviewer.md +2 -2
  670. package/presets/opencode/nuxt/agents/solution-architect.md +2 -2
  671. package/presets/opencode/nuxt/agents/task-analyst.md +1 -1
  672. package/presets/opencode/nuxt/agents/task-router.md +1 -1
  673. package/presets/opencode/nuxt/agents/tech-writer.md +2 -2
  674. package/presets/opencode/nuxt/agents/unit-test-generator.md +2 -2
  675. package/presets/opencode/nuxt/agents/unit-test-healer.md +2 -2
  676. package/presets/opencode/nuxt/agents/unit-test-planner.md +2 -2
  677. package/presets/opencode/nuxt/rules/agent-team-orchestrator.md +3 -1
  678. package/presets/opencode/nuxt/rules/code-review-mr.md +6 -6
  679. package/presets/opencode/nuxt/rules/feature-delivery-workflow.md +15 -15
  680. package/presets/opencode/nuxt/rules/reference-features.md +2 -2
  681. package/presets/opencode/nuxt/rules/tests-e2e-structure.md +1 -1
  682. package/presets/opencode/php-hexagonal/adapter-map.json +1 -1
  683. package/presets/opencode/php-hexagonal/agents/build-verifier.md +2 -2
  684. package/presets/opencode/php-hexagonal/agents/code-reviewer.md +2 -2
  685. package/presets/opencode/php-hexagonal/agents/feature-developer.md +2 -2
  686. package/presets/opencode/php-hexagonal/agents/openspec-author.md +2 -2
  687. package/presets/opencode/php-hexagonal/agents/task-analyst.md +1 -1
  688. package/presets/opencode/php-hexagonal/agents/task-router.md +1 -1
  689. package/presets/opencode/php-hexagonal/rules/agent-team-orchestrator.md +3 -1
  690. package/presets/opencode/php-hexagonal/rules/code-quality-and-refactoring.md +1 -1
  691. package/presets/opencode/php-laravel/adapter-map.json +1 -1
  692. package/presets/opencode/php-laravel/agents/build-verifier.md +2 -2
  693. package/presets/opencode/php-laravel/agents/code-reviewer.md +2 -2
  694. package/presets/opencode/php-laravel/agents/feature-developer.md +2 -2
  695. package/presets/opencode/php-laravel/agents/openspec-author.md +2 -2
  696. package/presets/opencode/php-laravel/agents/task-analyst.md +1 -1
  697. package/presets/opencode/php-laravel/agents/task-router.md +1 -1
  698. package/presets/opencode/php-laravel/rules/agent-team-orchestrator.md +3 -1
  699. package/presets/opencode/php-laravel/rules/code-quality-and-refactoring.md +1 -1
  700. package/presets/opencode/svelte/adapter-map.json +1 -1
  701. package/presets/opencode/svelte/agents/accessibility-reviewer.md +2 -2
  702. package/presets/opencode/svelte/agents/api-contract-reviewer.md +2 -2
  703. package/presets/opencode/svelte/agents/build-verifier.md +2 -2
  704. package/presets/opencode/svelte/agents/ci-investigator.md +2 -2
  705. package/presets/opencode/svelte/agents/code-reviewer.md +2 -2
  706. package/presets/opencode/svelte/agents/debugger.md +2 -2
  707. package/presets/opencode/svelte/agents/feature-developer.md +2 -2
  708. package/presets/opencode/svelte/agents/migration-specialist.md +2 -2
  709. package/presets/opencode/svelte/agents/mockup-reviewer.md +2 -2
  710. package/presets/opencode/svelte/agents/openspec-author.md +2 -2
  711. package/presets/opencode/svelte/agents/performance-auditor.md +2 -2
  712. package/presets/opencode/svelte/agents/qa-tester.md +2 -2
  713. package/presets/opencode/svelte/agents/security-reviewer.md +2 -2
  714. package/presets/opencode/svelte/agents/solution-architect.md +2 -2
  715. package/presets/opencode/svelte/agents/task-analyst.md +1 -1
  716. package/presets/opencode/svelte/agents/task-router.md +1 -1
  717. package/presets/opencode/svelte/agents/tech-writer.md +2 -2
  718. package/presets/opencode/svelte/agents/unit-test-generator.md +2 -2
  719. package/presets/opencode/svelte/agents/unit-test-healer.md +2 -2
  720. package/presets/opencode/svelte/agents/unit-test-planner.md +2 -2
  721. package/presets/opencode/svelte/rules/agent-team-orchestrator.md +3 -1
  722. package/presets/opencode/svelte/rules/code-review-mr.md +6 -6
  723. package/presets/opencode/svelte/rules/feature-delivery-workflow.md +1 -1
  724. package/presets/opencode/svelte/rules/reference-features.md +2 -2
  725. package/presets/opencode/svelte/rules/tests-e2e-structure.md +1 -1
  726. package/scripts/check-generated-drift.mjs +42 -2
  727. package/scripts/check-local-overlay.sh +39 -0
  728. package/scripts/fixtures/cli-golden/claude/next.json +44 -41
  729. package/scripts/fixtures/cli-golden/cursor/next.json +69 -46
  730. package/scripts/fixtures/cli-golden/mavis/android-kotlin.json +21 -21
  731. package/scripts/fixtures/cli-golden/mavis/go.json +8 -8
  732. package/scripts/fixtures/cli-golden/mavis/ios-swift.json +12 -12
  733. package/scripts/fixtures/cli-golden/mavis/java.json +8 -8
  734. package/scripts/fixtures/cli-golden/mavis/mcp-ts.json +5 -5
  735. package/scripts/fixtures/cli-golden/mavis/next.json +70 -47
  736. package/scripts/fixtures/cli-golden/mavis/nuxt.json +25 -25
  737. package/scripts/fixtures/cli-golden/mavis/php-hexagonal.json +8 -8
  738. package/scripts/fixtures/cli-golden/mavis/php-laravel.json +8 -8
  739. package/scripts/fixtures/cli-golden/mavis/svelte.json +25 -25
  740. package/scripts/fixtures/cli-golden/opencode/android-kotlin.json +21 -21
  741. package/scripts/fixtures/cli-golden/opencode/go.json +8 -8
  742. package/scripts/fixtures/cli-golden/opencode/ios-swift.json +12 -12
  743. package/scripts/fixtures/cli-golden/opencode/java.json +8 -8
  744. package/scripts/fixtures/cli-golden/opencode/mcp-ts.json +5 -5
  745. package/scripts/fixtures/cli-golden/opencode/next.json +70 -47
  746. package/scripts/fixtures/cli-golden/opencode/nuxt.json +25 -25
  747. package/scripts/fixtures/cli-golden/opencode/php-hexagonal.json +8 -8
  748. package/scripts/fixtures/cli-golden/opencode/php-laravel.json +8 -8
  749. package/scripts/fixtures/cli-golden/opencode/svelte.json +25 -25
  750. package/scripts/lib/generate-adapter-common.mjs +17 -0
  751. package/scripts/lib/generate-mavis-adapter.mjs +9 -3
  752. package/scripts/lib/generate-opencode-adapter.mjs +9 -3
@@ -161,6 +161,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
161
161
  ## Artifact contract
162
162
 
163
163
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
164
- - **Owned outputs:** `pipeline.json` and the routing manifest entry; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign entries.
164
+ - **Owned outputs:** `pipeline.json` and the routing entry in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign items in `manifest.artifacts[]`.
165
165
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
166
166
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -77,7 +77,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Sc
77
77
 
78
78
  - Read the manifest before broad prior-artifact discovery. Each step receives authoritative input entry IDs, owns named output entry IDs, and finishes with one terminal receipt linked to AC/task IDs.
79
79
  - Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
80
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
80
+ - Agents upsert only the items they own in `manifest.artifacts[]` and preserve all foreign items in that array. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges. The top-level array key is `artifacts` — not `entries`; see `agent-artifact-contracts.md` for the schema callout.
81
81
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite state, gate, retry, attempt, timestamp, or metrics fields.
82
82
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
83
83
 
@@ -75,8 +75,8 @@ Document PASS/FAIL in `validation-report.md`.
75
75
 
76
76
  ## Artifact contract
77
77
 
78
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation evidence, pipeline scope, and changed files.
79
- - **Owned outputs:** `validation-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign entries.
78
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, implementation evidence, pipeline scope, and changed files.
79
+ - **Owned outputs:** `validation-report.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign items in `manifest.artifacts[]`.
80
80
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `validation_failed`. Bind it to the supplied `attemptId` when present.
81
81
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
82
82
 
@@ -61,8 +61,8 @@ Write `.ai.local/team/tasks/<slug>/review.md` with verdict APPROVE | REQUEST_CHA
61
61
 
62
62
  ## Artifact contract
63
63
 
64
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation, validation evidence, and the scoped git diff.
65
- - **Owned outputs:** `review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `review`) and preserve all foreign entries.
64
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, implementation, validation evidence, and the scoped git diff.
65
+ - **Owned outputs:** `review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `review`) and preserve all foreign items in `manifest.artifacts[]`.
66
66
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
67
67
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
68
68
 
@@ -115,8 +115,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
115
115
 
116
116
  ## Artifact contract
117
117
 
118
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
119
- - **Owned outputs:** `implementation.md` plus changed implementation/test paths; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `implementation`) and preserve all foreign entries.
118
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
119
+ - **Owned outputs:** `implementation.md` plus changed implementation/test paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `implementation`) and preserve all foreign items in `manifest.artifacts[]`.
120
120
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
121
121
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
122
122
 
@@ -136,8 +136,8 @@ If `scope` carries multiple phases (e.g. `openspec:<change-id>:propose+apply`),
136
136
 
137
137
  ## Artifact contract
138
138
 
139
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and available architecture/migration/review artifacts.
140
- - **Owned outputs:** `openspec/changes/<change-id>/**` (proposal.md, design.md, tasks.md, .openspec.yaml, specs/<capability>/spec.md delta) plus the team slot `openspec-change.md` in `.ai.local/team/tasks/<slug>/` when the orchestrator asks for a summary handoff. Preserve all foreign entries; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `openspec-change`).
139
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and available architecture/migration/review artifacts.
140
+ - **Owned outputs:** `openspec/changes/<change-id>/**` (proposal.md, design.md, tasks.md, .openspec.yaml, specs/<capability>/spec.md delta) plus the team slot `openspec-change.md` in `.ai.local/team/tasks/<slug>/` when the orchestrator asks for a summary handoff. Preserve all foreign items in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `openspec-change`).
141
141
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths under `openspec/changes/<change-id>/**`, attach `openspec validate <change-id> --type change --strict` exit code + deltas-only summary, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
142
142
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
143
143
 
@@ -88,6 +88,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
88
88
  ## Artifact contract
89
89
 
90
90
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume `pipeline.json`, the manifest routing entry, user-approved decisions, and any authoritative architecture/approval entries.
91
- - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
91
+ - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign items in `manifest.artifacts[]`.
92
92
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
93
93
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -150,6 +150,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
150
150
  ## Artifact contract
151
151
 
152
152
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
153
- - **Owned outputs:** `pipeline.json` and the routing manifest entry; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign entries.
153
+ - **Owned outputs:** `pipeline.json` and the routing entry in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign items in `manifest.artifacts[]`.
154
154
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
155
155
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -78,7 +78,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Sc
78
78
 
79
79
  - Read the manifest before broad prior-artifact discovery. Each step receives authoritative input entry IDs, owns named output entry IDs, and finishes with one terminal receipt linked to AC/task IDs.
80
80
  - Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
81
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
81
+ - Agents upsert only the items they own in `manifest.artifacts[]` and preserve all foreign items in that array. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges. The top-level array key is `artifacts` — not `entries`; see `agent-artifact-contracts.md` for the schema callout.
82
82
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite state, gate, retry, attempt, timestamp, or metrics fields.
83
83
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
84
84
 
@@ -116,6 +116,8 @@ On each `subagentStop`, the hook reconciles `status.state` from the completing p
116
116
  | `awaiting_approval` | Human gate; wait for `/task-continue` |
117
117
  | `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
118
118
  | `validation_failed` | build-verifier failed; re-run developer then build-verifier |
119
+ | `blocked` | Pipeline / step cannot proceed (e.g. `pipeline_parse_error`, completion of a parallel step whose producer's receipt was missing — see `agent-artifact-contracts.md` § Completion receipts) |
120
+ | `awaiting_artifact_receipt` | Producer stopped but the bound or assigned-output receipt was missing or stale; hook keeps the attempt active and does not advance. See `agent-artifact-contracts.md` (Schema field name + Receipt binding) for the silent-bug class that lands here. |
119
121
 
120
122
  ## Pipeline step options
121
123
 
@@ -69,8 +69,8 @@ Document PASS/FAIL in `validation-report.md`. Soft leakage output:
69
69
 
70
70
  ## Artifact contract
71
71
 
72
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation evidence, pipeline scope, and changed files.
73
- - **Owned outputs:** `validation-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign entries.
72
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, implementation evidence, pipeline scope, and changed files.
73
+ - **Owned outputs:** `validation-report.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign items in `manifest.artifacts[]`.
74
74
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `validation_failed`. Bind it to the supplied `attemptId` when present.
75
75
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
76
76
 
@@ -107,8 +107,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
107
107
 
108
108
  ## Artifact contract
109
109
 
110
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
111
- - **Owned outputs:** `implementation.md` plus changed implementation/test paths; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `implementation`) and preserve all foreign entries.
110
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
111
+ - **Owned outputs:** `implementation.md` plus changed implementation/test paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `implementation`) and preserve all foreign items in `manifest.artifacts[]`.
112
112
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
113
113
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
114
114
 
@@ -90,6 +90,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
90
90
  ## Artifact contract
91
91
 
92
92
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume `pipeline.json`, the manifest routing entry, user-approved decisions, and any authoritative architecture/approval entries.
93
- - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
93
+ - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign items in `manifest.artifacts[]`.
94
94
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
95
95
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -146,6 +146,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
146
146
  ## Artifact contract
147
147
 
148
148
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
149
- - **Owned outputs:** `pipeline.json` and the routing manifest entry; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign entries.
149
+ - **Owned outputs:** `pipeline.json` and the routing entry in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign items in `manifest.artifacts[]`.
150
150
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
151
151
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -74,7 +74,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Sc
74
74
 
75
75
  - Read the manifest before broad prior-artifact discovery. Each step receives authoritative input entry IDs, owns named output entry IDs, and finishes with one terminal receipt linked to AC/task IDs.
76
76
  - Markdown remains detailed evidence; the manifest records producer, status, authoritative paths, timestamps, outcome, and evidence paths.
77
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
77
+ - Agents upsert only the items they own in `manifest.artifacts[]` and preserve all foreign items in that array. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges. The top-level array key is `artifacts` — not `entries`; see `agent-artifact-contracts.md` for the schema callout.
78
78
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite state, gate, retry, attempt, timestamp, or metrics fields.
79
79
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
80
80
 
@@ -112,6 +112,8 @@ On each `subagentStop`, the hook reconciles `status.state` from the completing p
112
112
  | `awaiting_approval` | Human gate; wait for `/task-continue` |
113
113
  | `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
114
114
  | `validation_failed` | build-verifier failed; re-run developer then build-verifier |
115
+ | `blocked` | Pipeline / step cannot proceed (e.g. `pipeline_parse_error`, completion of a parallel step whose producer's receipt was missing — see `agent-artifact-contracts.md` § Completion receipts) |
116
+ | `awaiting_artifact_receipt` | Producer stopped but the bound or assigned-output receipt was missing or stale; hook keeps the attempt active and does not advance. See `agent-artifact-contracts.md` (Schema field name + Receipt binding) for the silent-bug class that lands here. |
115
117
 
116
118
  ## Pipeline step options
117
119
 
@@ -43,6 +43,8 @@ Working directory for app scripts: **`app/`**. Detect the package manager from l
43
43
 
44
44
  After code edits: invoke **`post-change-lint`** (requestable). Full gate: agent `build-verifier`.
45
45
 
46
+ Repositories with more than one package (e.g. `app/` + `storybook/`) run each package's own scripts from its own directory; do not conflate runners.
47
+
46
48
  ## Security basics
47
49
 
48
50
  - Do not commit secrets (`.env`, tokens, credentials).
@@ -65,10 +67,18 @@ Skills: `.cursor/skills/`, `.claude/skills/`, `.mavis/skills/`, or `.opencode/sk
65
67
 
66
68
  Gotchas, local patterns, and team decisions: **`.ai.local/conventions.md`** (fill after init; `init` does not overwrite it).
67
69
 
70
+ ## Seed library (`.ai.local/rules-library/`)
71
+
72
+ `init` seeds **staged-inactive** rule templates here (Cursor `.mdc` sources analog: `presets/cursor/next/ai-local/rules-library/**`). They are **not** active until moved into `.ai.local/rules/`. When a seed matches the task scope, apply it and tell the owner to move it. Typical seeds: `router-pages` (Pages Router override), `no-react-fc`, `component-child-decomposition`, `single-source-copy-constants`, `commit-hygiene`, `pre-pr-checklist`, `api-contract-source`, `agent-pipeline-gates`, `task-levels`, `analytics-events`, `feature-flags-experiments`, `pwa-service-worker`, `qa-test-cases`, `forms-validation`, and the `storybook-*` set.
73
+
74
+ ## Managed vs preserved
75
+
76
+ `init` owns `.cursor/**`, `.claude/**`, `.mavis/**`, `.opencode/**`, root `AGENTS.md`, and the tool MCP config; it **overwrites/merges** them. Durable project config and authoritative specs belong **outside** those trees: `.ai.local/**`, `.ai/context/**`, `docs/specs/**`, `openspec/**`, repo-root `.mcp.json`. After a re-init, re-check any consumer-owned block added to a managed file.
77
+
68
78
  ## Local overlay (`.ai.local/`) — MANDATORY
69
79
 
70
80
  A `.ai.local/` directory MAY exist at the repo root or at any nesting depth in monorepos. **All agents MUST read and apply it on every turn.** Rules there override preset rules; in conflicts, the local rule wins. `override: kill <preset-rule-name>` drops the named preset rule from the agent's context entirely.
71
81
 
72
- Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`.
82
+ Plain markdown rules under `.ai.local/rules/*.md` are read by the agent with higher priority than preset rules. Living gotchas live in `.ai.local/conventions.md`. Staged seeds live in `.ai.local/rules-library/**`; a matching seed must be moved into `.ai.local/rules/` to activate.
73
83
 
74
84
  On every turn, probe `ls -la .ai.local`, apply `.ai.local/rules/*.md` and `.ai.local/conventions.md`, and acknowledge `Using .ai.local: <rule-name>`. Authoring guide: `docs/LOCAL-OVERLAY.md` in the `@bonesofspring/ai-rules` package. The `ai-local-overlay` rule is always-on on Cursor and session-start on Claude (no `paths:`). Mavis and OpenCode have no native `alwaysApply`; this section plus the platform entry's essential-rules list is the reinforcement.
@@ -74,8 +74,8 @@ Shipped browser split: Playwright MCP for e2e specs/selectors; Chrome DevTools M
74
74
 
75
75
  ## Artifact contract
76
76
 
77
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation or UI diff scope, and prior review artifacts when present.
78
- - **Owned outputs:** `a11y-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `a11y-review`) and preserve all foreign entries.
77
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, implementation or UI diff scope, and prior review artifacts when present.
78
+ - **Owned outputs:** `a11y-review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `a11y-review`) and preserve all foreign items in `manifest.artifacts[]`.
79
79
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
80
80
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
81
81
 
@@ -72,8 +72,8 @@ For feature-developer before or during implementation.
72
72
 
73
73
  ## Artifact contract
74
74
 
75
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, architecture when present, and changed types/API/mocks against the contract docs.
76
- - **Owned outputs:** `api-contract-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `api-contract-review`) and preserve all foreign entries.
75
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, architecture when present, and changed types/API/mocks against the contract docs.
76
+ - **Owned outputs:** `api-contract-review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `api-contract-review`) and preserve all foreign items in `manifest.artifacts[]`.
77
77
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
78
78
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
79
79
 
@@ -39,6 +39,7 @@ Use **`rules/tooling-and-review/package-manager.md`** for the repo package manag
39
39
  2. **`lint:css`** — full Stylelint.
40
40
  3. **`type-check`** — when TypeScript changed.
41
41
  4. **Unit tests** — run specs for changed modules (paths from diff); if unclear, run the narrowest parent suite that covers changed mappers/services/store.
42
+ 5. **Component catalog** — when the repo ships a catalog (e.g. `storybook/`) and `app/src/ui/**` or catalog files changed, run the catalog's own test/visual-baseline suite from the catalog package and require green **without** `--update` (`component-catalog-gate`). A green app unit run does not cover catalog stories.
42
43
 
43
44
  Prefer **`lint`** (= js + css + type-check) before handoff on large changes.
44
45
 
@@ -129,7 +130,7 @@ Do not fix code — report only. Do not advance to code-reviewer until PASS.
129
130
 
130
131
  ## Artifact contract
131
132
 
132
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation evidence, pipeline scope, and changed files.
133
- - **Owned outputs:** `validation-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign entries.
133
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, implementation evidence, pipeline scope, and changed files.
134
+ - **Owned outputs:** `validation-report.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign items in `manifest.artifacts[]`.
134
135
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `validation_failed`. Bind it to the supplied `attemptId` when present.
135
136
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -90,8 +90,8 @@ If a Sentry/Datadog (or similar) MCP is ready and the task is a production error
90
90
 
91
91
  ## Artifact contract
92
92
 
93
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition when present, failing check context, and prior validation/debug artifacts.
94
- - **Owned outputs:** `ci-report.md` plus any minimal fix paths; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `ci`) and preserve all foreign entries.
93
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition when present, failing check context, and prior validation/debug artifacts.
94
+ - **Owned outputs:** `ci-report.md` plus any minimal fix paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `ci`) and preserve all foreign items in `manifest.artifacts[]`.
95
95
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
96
96
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
97
97
 
@@ -114,7 +114,8 @@ Do not mix this output with retrospective facilitation — keep review and retro
114
114
 
115
115
  ## Artifact contract
116
116
 
117
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, implementation, validation evidence, and the scoped git diff.
118
- - **Owned outputs:** `review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `review`) and preserve all foreign entries.
117
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, implementation, validation evidence, and the scoped git diff.
118
+ - **Owned outputs:** `review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `review`) and preserve all foreign items in `manifest.artifacts[]`.
119
+ - **Commit hygiene:** never run `git commit` / `git push`. Reviewer turns end with findings only; when asked for commit guidance, propose an area-split commit plan (source / artifacts / docs) with the owning slug.
119
120
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
120
121
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -97,8 +97,8 @@ If a Sentry/Datadog (or similar) MCP is ready and the task is a production error
97
97
 
98
98
  ## Artifact contract
99
99
 
100
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition when present, failing evidence, and related prior artifacts.
101
- - **Owned outputs:** `debug-report.md` plus any minimal fix paths; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `debug`) and preserve all foreign entries.
100
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition when present, failing evidence, and related prior artifacts.
101
+ - **Owned outputs:** `debug-report.md` plus any minimal fix paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `debug`) and preserve all foreign items in `manifest.artifacts[]`.
102
102
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
103
103
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
104
104
 
@@ -147,7 +147,8 @@ Shipped browser split: Playwright MCP for e2e specs/selectors; Chrome DevTools M
147
147
 
148
148
  ## Artifact contract
149
149
 
150
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
151
- - **Owned outputs:** `implementation.md` plus changed implementation/test paths; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `implementation`) and preserve all foreign entries.
150
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for `brief.md`, `decomposition.md`, current scope, and applicable prior findings.
151
+ - **Owned outputs:** `implementation.md` plus changed implementation/test paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `implementation`) and preserve all foreign items in `manifest.artifacts[]`.
152
+ - **Commit hygiene:** never run `git commit` / `git push`. At the end of the turn return a `## Human commits` block: files touched + a proposed commit message, split by area (source / artifacts / docs) with the owning slug/ticket in the subject. See the consumer `commit-hygiene` local rule.
152
153
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
153
154
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -78,8 +78,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
78
78
 
79
79
  ## Artifact contract
80
80
 
81
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and stack/version context from the repo.
82
- - **Owned outputs:** `migration-plan.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `migration-plan`) and preserve all foreign entries.
81
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and stack/version context from the repo.
82
+ - **Owned outputs:** `migration-plan.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `migration-plan`) and preserve all foreign items in `manifest.artifacts[]`.
83
83
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
84
84
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
85
85
 
@@ -94,8 +94,8 @@ Standalone FAIL must **not** set `changes_requested`. Embedded FAIL is a FAIL-on
94
94
 
95
95
  ## Artifact contract
96
96
 
97
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for routing + analysis when present (standalone may have only the prompt + URL).
98
- - **Owned outputs:** `mockup-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `mockup-review`) and preserve all foreign entries.
97
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for routing + analysis when present (standalone may have only the prompt + URL).
98
+ - **Owned outputs:** `mockup-review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `mockup-review`) and preserve all foreign items in `manifest.artifacts[]`.
99
99
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed`, `changes_requested`, or `blocked` per the table above. Bind it to the supplied `attemptId` when present.
100
100
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
101
101
 
@@ -77,6 +77,8 @@ Hard constraints (read `config.yaml rules.proposal` first — they win):
77
77
 
78
78
  - `proposal.md` ≤ 500 words.
79
79
  - `## Non-goals` section mandatory (omit → `blocked`).
80
+ - `## Compliance impact` block mandatory in `proposal.md` and `design.md` (None | Affected — list PD / medical / analytics / SSR-cookie / third-party surfaces); when unclear, default to `Affected` and block.
81
+ - `## Hard rules applied` block at the top of `proposal.md` / `design.md` / `tasks.md` (applicable rules + how applied; `N/A — reason` for the rest), when the consumer repo maintains hard rules.
80
82
  - `## What Changes` lists capability deltas **only**; no implementation steps.
81
83
  - `## Capabilities` table groups deltas by capability slug; cite spec paths.
82
84
  - Spec deltas use `## MODIFIED Requirements` heading (or `## REMOVED Requirements`); Each `### Requirement:` block carries `SHALL` statements and `#### Scenario:` Given/When/Then. Mirror existing capability voice.
@@ -138,8 +140,8 @@ If `scope` carries multiple phases (e.g. `openspec:<change-id>:propose+apply`),
138
140
 
139
141
  ## Artifact contract
140
142
 
141
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and available architecture/migration/review artifacts.
142
- - **Owned outputs:** `openspec/changes/<change-id>/**` (proposal.md, design.md, tasks.md, .openspec.yaml, specs/<capability>/spec.md delta) plus the team slot `openspec-change.md` in `.ai.local/team/tasks/<slug>/` when the orchestrator asks for a summary handoff. Preserve all foreign entries; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `openspec-change`).
143
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and available architecture/migration/review artifacts.
144
+ - **Owned outputs:** `openspec/changes/<change-id>/**` (proposal.md, design.md, tasks.md, .openspec.yaml, specs/<capability>/spec.md delta) plus the team slot `openspec-change.md` in `.ai.local/team/tasks/<slug>/` when the orchestrator asks for a summary handoff. Preserve all foreign items in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `openspec-change`).
143
145
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths under `openspec/changes/<change-id>/**`, attach `openspec validate <change-id> --type change --strict` exit code + deltas-only summary, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
144
146
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
145
147
 
@@ -77,8 +77,8 @@ If Chrome DevTools MCP is ready and the app is running, use it for console/netwo
77
77
 
78
78
  ## Artifact contract
79
79
 
80
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief when present and the scoped git diff / routes under audit.
81
- - **Owned outputs:** `perf-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `perf-report`) and preserve all foreign entries.
80
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief when present and the scoped git diff / routes under audit.
81
+ - **Owned outputs:** `perf-report.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `perf-report`) and preserve all foreign items in `manifest.artifacts[]`.
82
82
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
83
83
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
84
84
 
@@ -57,8 +57,8 @@ When the task is mostly e2e, prefer invoking the dedicated `playwright-test-plan
57
57
 
58
58
  ## Artifact contract
59
59
 
60
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, reviewer notes when present, and prior implementation/validation artifacts.
61
- - **Owned outputs:** changed/added test paths (and any QA notes written under the slug dir); upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `qa-tester`) and preserve all foreign entries.
60
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, reviewer notes when present, and prior implementation/validation artifacts.
61
+ - **Owned outputs:** changed/added test paths (and any QA notes written under the slug dir); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `qa-tester`) and preserve all foreign items in `manifest.artifacts[]`.
62
62
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
63
63
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
64
64
 
@@ -67,8 +67,8 @@ PASS | PASS_WITH_NOTES | FAIL
67
67
 
68
68
  ## Artifact contract
69
69
 
70
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition, prior `review.md` when present, and the scoped git diff.
71
- - **Owned outputs:** `security-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `security-review`) and preserve all foreign entries.
70
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition, prior `review.md` when present, and the scoped git diff.
71
+ - **Owned outputs:** `security-review.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `security-review`) and preserve all foreign items in `manifest.artifacts[]`.
72
72
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `changes_requested`. Bind it to the supplied `attemptId` when present.
73
73
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
74
74
 
@@ -77,8 +77,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
77
77
 
78
78
  ## Artifact contract
79
79
 
80
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and applicable prior analysis artifacts.
81
- - **Owned outputs:** `architecture.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `architecture`) and preserve all foreign entries.
80
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and applicable prior analysis artifacts.
81
+ - **Owned outputs:** `architecture.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `architecture`) and preserve all foreign items in `manifest.artifacts[]`.
82
82
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
83
83
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
84
84
 
@@ -66,6 +66,13 @@ Create or update files under `.ai.local/team/tasks/<slug>/`:
66
66
  ## Slug
67
67
  <slug>
68
68
 
69
+ ## Hard rules applied
70
+ - <applicable preset/local rule> — <how applied>
71
+ - N/A — <reason> (list non-applicable hard rules explicitly)
72
+
73
+ ## Compliance impact
74
+ None | Affected — <surfaces: PD / medical data / analytics / SSR cookies / error reporting / third-party scripts>
75
+
69
76
  ## Goal
70
77
  ...
71
78
 
@@ -184,6 +191,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
184
191
  ## Artifact contract
185
192
 
186
193
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume `pipeline.json`, the manifest routing entry, user-approved decisions, and any authoritative architecture/approval entries.
187
- - **Owned outputs:** `brief.md` and `decomposition.md` (plus `ux-design.md` when produced); upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
194
+ - **Owned outputs:** `brief.md` and `decomposition.md` (plus `ux-design.md` when produced); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign items in `manifest.artifacts[]`.
188
195
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
189
196
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -117,6 +117,7 @@ Keep top-level `profile` and emit this top-level object in every new `pipeline.j
117
117
  - If prompt or `brief.md` contains `figma.com` on `feature` / `refactor` / `spike` / `spec-gen`, insert **mockup-reviewer** after **task-analyst** (when present) and before **solution-architect** and **feature-developer**. Set `model: "strong"` on that step. Do not add static `humanGates: ["after:mockup-reviewer"]` (FAIL-only hook exception). Never put `mockup-reviewer` in a `parallel: true` step (FAIL-only gate is serial).
118
118
  - Classify intent `mockup-review` **before** `ux-design` **before** `review-only`. A `figma.com` URL with review-not-implement language is `mockup-review` even without the word «макет», including when the user said «ревью UX». <!-- i18n-keep: E4 -->
119
119
  - If UI stack and (required-signal or advisory UI AC), instruct **task-analyst** to load skill `ux-design` (no new pipeline step; analyst default model, not `strong`). Required-signal: user asked UX, or AC require flows/states, or spec-gen page/feature.
120
+ - If the resolved scope touches UI paths (`app/src/ui/**`, or the repo's component-catalog root) on `feature` / `refactor`, insert **mockup-reviewer** even **without** a `figma.com` URL — it reviews against the AC / `ux-design.md` instead of Figma. Pair it with a **`mockup-review.md`** terminal artifact requirement (the UI change is not complete without it) and, where the repo ships a component catalog, a catalog-test note on `build-verifier` (`component-catalog-gate`).
120
121
  - Skip **task-analyst** if AC/scope fully specified → document in `skipped`.
121
122
  - Add **solution-architect** for cross-layer / new public APIs — after analyst, before developer.
122
123
  - Add **api-contract-reviewer** for new/changed backend contracts — before developer.
@@ -196,6 +197,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
196
197
  ## Artifact contract
197
198
 
198
199
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
199
- - **Owned outputs:** `pipeline.json` and the routing manifest entry; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign entries.
200
+ - **Owned outputs:** `pipeline.json` and the routing entry in `manifest.artifacts[]`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `routing`) and preserve all foreign items in `manifest.artifacts[]`.
200
201
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
201
202
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -70,8 +70,8 @@ Post-delivery: when behavior or public docs changed and `docs/specs/` is in play
70
70
 
71
71
  ## Artifact contract
72
72
 
73
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and available architecture/migration/review artifacts.
74
- - **Owned outputs:** `documentation.md` (and any explicitly requested docs paths); upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `documentation`) and preserve all foreign entries.
73
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and available architecture/migration/review artifacts.
74
+ - **Owned outputs:** `documentation.md` (and any explicitly requested docs paths); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `documentation`) and preserve all foreign items in `manifest.artifacts[]`.
75
75
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
76
76
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
77
77
 
@@ -45,8 +45,8 @@ Run affected unit tests from `app/` when feasible. Report files changed, command
45
45
 
46
46
  ## Artifact contract
47
47
 
48
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for `unit-test-plan.md`, brief/decomposition when present, and target modules.
49
- - **Owned outputs:** generated/updated `*.spec.ts` / `*.spec.tsx` paths; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `unit-test-generator`) and preserve all foreign entries.
48
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for `unit-test-plan.md`, brief/decomposition when present, and target modules.
49
+ - **Owned outputs:** generated/updated `*.spec.ts` / `*.spec.tsx` paths; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `unit-test-generator`) and preserve all foreign items in `manifest.artifacts[]`.
50
50
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
51
51
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
52
52
 
@@ -46,8 +46,8 @@ Report root cause, files changed, validation result, and remaining risk.
46
46
 
47
47
  ## Artifact contract
48
48
 
49
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for failing test evidence, `unit-test-plan.md` when present, and recent diff.
50
- - **Owned outputs:** healed `*.spec.ts` / `*.spec.tsx` paths (and minimal production fixes only when evidenced); upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `unit-test-healer`) and preserve all foreign entries.
49
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for failing test evidence, `unit-test-plan.md` when present, and recent diff.
50
+ - **Owned outputs:** healed `*.spec.ts` / `*.spec.tsx` paths (and minimal production fixes only when evidenced); upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `unit-test-healer`) and preserve all foreign items in `manifest.artifacts[]`.
51
51
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
52
52
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
53
53
 
@@ -66,8 +66,8 @@ Test titles in the plan must follow Russian capitalization rules from `rules/tes
66
66
 
67
67
  ## Artifact contract
68
68
 
69
- - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the manifest entries for brief/decomposition and target modules under `app/src/**`.
70
- - **Owned outputs:** `unit-test-plan.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `unit-test-planner`) and preserve all foreign entries.
69
+ - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume handoff `artifactInputIds` when supplied, otherwise consume the items in `manifest.artifacts[]` for brief/decomposition and target modules under `app/src/**`.
70
+ - **Owned outputs:** `unit-test-plan.md`; upsert only the entry in `manifest.artifacts[]` assigned by handoff (`artifactOutputId`; fallback `unit-test-planner`) and preserve all foreign items in `manifest.artifacts[]`.
71
71
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
72
72
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
73
73