@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
@@ -66,8 +66,8 @@ Write `.ai.local/team/tasks/<slug>/review.md` with verdict APPROVE | REQUEST_CHA
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, implementation, validation evidence, and the scoped git diff.
70
- - **Owned outputs:** `review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `review`) 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, implementation, validation evidence, and the scoped git diff.
70
+ - **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[]`.
71
71
  - **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.
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
 
@@ -117,8 +117,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
117
117
 
118
118
  ## Artifact contract
119
119
 
120
- - **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.
121
- - **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.
120
+ - **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.
121
+ - **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[]`.
122
122
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
123
123
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
124
124
 
@@ -143,8 +143,8 @@ If `scope` carries multiple phases (e.g. `openspec:<change-id>:propose+apply`),
143
143
 
144
144
  ## Artifact contract
145
145
 
146
- - **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.
147
- - **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`).
146
+ - **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.
147
+ - **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`).
148
148
  - **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.
149
149
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
150
150
 
@@ -93,6 +93,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
93
93
  ## Artifact contract
94
94
 
95
95
  - **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.
96
- - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
96
+ - **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[]`.
97
97
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
98
98
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -155,6 +155,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
155
155
  ## Artifact contract
156
156
 
157
157
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
158
- - **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.
158
+ - **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[]`.
159
159
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
160
160
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -109,7 +109,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
109
109
 
110
110
  - 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.
111
111
  - Markdown remains detailed evidence; the manifest points to authoritative paths and records producer, status, timestamps, outcome, and evidence paths.
112
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
112
+ - 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.
113
113
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite unrelated state, gate, retry, attempt, timestamp, or metrics fields.
114
114
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
115
115
 
@@ -145,6 +145,8 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
145
145
  | `awaiting_approval` | Human gate; wait for `/task-continue` |
146
146
  | `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
147
147
  | `validation_failed` | build-verifier failed; re-run developer then build-verifier |
148
+ | `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) |
149
+ | `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. |
148
150
 
149
151
  On each `subagentStop`, the hook reconciles `status.state` from the completing producer's terminal `artifact-manifest.json` receipt (`completed` \| `changes_requested` \| `validation_failed`) when agents left lifecycle fields untouched. Parent orchestrators must wait for that handoff before invoking the next step.
150
152
 
@@ -51,5 +51,5 @@ Style enforcement (formatter / linter / post-change gate) lives in the **stack t
51
51
  - Public API between packages: exported types/funcs in `pkg/` or explicit ports — avoid deep imports of another feature's `internal`.
52
52
  - Prefer wrapping errors with `%w`; check with `errors.Is` / `errors.As`.
53
53
  - Interfaces belong at **ports** (consumer side), not on every struct.
54
- - Post-change gate: **`post-change-test.mdc`** + **`go-tooling.mdc`** (not yarn lint / xcodebuild).
54
+ - Post-change gate: **`post-change-test.md`** + **`go-tooling.md`** (not yarn lint / xcodebuild).
55
55
  - Style: **gofmt** / **goimports** + **golangci-lint** when configured — authoritative style gate; do not duplicate linter rules in prose.
@@ -3,7 +3,7 @@
3
3
  "platform": "opencode",
4
4
  "stack": "ios-swift",
5
5
  "semanticSource": "cursor/ios-swift",
6
- "sourceRevision": "6109fce820397ca0bc6b9a2f09290049e4a0e88a5c8dfb5267f52ff8b46f30e5",
6
+ "sourceRevision": "937738f39c2c848d8187165c9eb63070218c522570ec6529fd4c8b12db317432",
7
7
  "entries": [
8
8
  {
9
9
  "source": "AGENTS.md",
@@ -115,8 +115,8 @@ Write the owned validation receipt (`completed` or `validation_failed`). Do not
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/decomposition, implementation evidence, pipeline scope, and changed files.
119
- - **Owned outputs:** `validation-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `validation`) 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/decomposition, implementation evidence, pipeline scope, and changed files.
119
+ - **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[]`.
120
120
  - **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.
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
 
@@ -95,7 +95,7 @@ Do not mix this output with retrospective facilitation — keep review and retro
95
95
 
96
96
  ## Artifact contract
97
97
 
98
- - **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.
99
- - **Owned outputs:** `review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `review`) and preserve all foreign entries.
98
+ - **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.
99
+ - **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[]`.
100
100
  - **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.
101
101
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -128,7 +128,7 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
128
128
 
129
129
  ## Artifact contract
130
130
 
131
- - **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.
132
- - **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.
131
+ - **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.
132
+ - **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[]`.
133
133
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
134
134
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -72,8 +72,8 @@ Standalone FAIL must **not** set `changes_requested`. Embedded FAIL is a FAIL-on
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 routing + analysis when present (standalone may have only the prompt + URL).
76
- - **Owned outputs:** `mockup-review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `mockup-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 routing + analysis when present (standalone may have only the prompt + URL).
76
+ - **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[]`.
77
77
  - **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.
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
 
@@ -143,8 +143,8 @@ If `scope` carries multiple phases (e.g. `openspec:<change-id>:propose+apply`),
143
143
 
144
144
  ## Artifact contract
145
145
 
146
- - **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.
147
- - **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`).
146
+ - **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.
147
+ - **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`).
148
148
  - **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.
149
149
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
150
150
 
@@ -114,6 +114,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
114
114
  ## Artifact contract
115
115
 
116
116
  - **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.
117
- - **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.
117
+ - **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[]`.
118
118
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
119
119
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -166,6 +166,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
166
166
  ## Artifact contract
167
167
 
168
168
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
169
- - **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.
169
+ - **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[]`.
170
170
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
171
171
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -109,7 +109,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
109
109
 
110
110
  - 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.
111
111
  - Markdown remains detailed evidence; the manifest points to authoritative paths and records producer, status, timestamps, outcome, and evidence paths.
112
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
112
+ - 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.
113
113
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite unrelated state, gate, retry, attempt, timestamp, or metrics fields.
114
114
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
115
115
 
@@ -145,6 +145,8 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
145
145
  | `awaiting_approval` | Human gate; wait for `/task-continue` |
146
146
  | `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
147
147
  | `validation_failed` | build-verifier failed; re-run developer then build-verifier |
148
+ | `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) |
149
+ | `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. |
148
150
 
149
151
  On each `subagentStop`, the hook reconciles `status.state` from the completing producer's terminal `artifact-manifest.json` receipt (`completed` \| `changes_requested` \| `validation_failed`) when agents left lifecycle fields untouched. Parent orchestrators must wait for that handoff before invoking the next step.
150
152
 
@@ -50,5 +50,5 @@ Style enforcement (formatter / linter / post-change gate) lives in the **stack t
50
50
  - Before adding a new UI control, check DesignSystem and existing components.
51
51
  - Public API: protocols and facades between features.
52
52
  - Acceptable examples: shared mapper/validation; replace force unwrap; split an overloaded ViewModel into use cases; design tokens instead of magic numbers/colors; remove a direct View→Data dependency in favor of a protocol.
53
- - Post-change gate: **`post-change-build.mdc`** + `xcode-tooling.mdc` (not yarn lint).
53
+ - Post-change gate: **`post-change-build.md`** + `xcode-tooling.md` (not yarn lint).
54
54
  - Style: **SwiftLint** (+ SwiftFormat when configured) — authoritative style gate; do not duplicate linter rules in prose.
@@ -48,7 +48,7 @@ On-demand rule for review flows (not always-on).
48
48
  - Rely on the local repository: branch, `git diff`, open files.
49
49
 
50
50
  - **What the agent must check**
51
- - **Architecture and layers** (`architecture-boundaries.mdc`, `ios-app-core.mdc`):
51
+ - **Architecture and layers** (`architecture-boundaries.md`, `ios-app-core.md`):
52
52
  - View does not call APIs and does not know DTOs.
53
53
  - ViewModel does not depend on Data implementations directly.
54
54
  - Domain does not import SwiftUI/UIKit.
@@ -57,21 +57,21 @@ On-demand rule for review flows (not always-on).
57
57
  - DI via protocols; composition root in App.
58
58
  - No deep-import between features.
59
59
  - Files in the correct layers (`Presentation`, `Domain`, `Data`, `DesignSystem`).
60
- - **Swift and concurrency** (`swift-conventions.mdc`):
60
+ - **Swift and concurrency** (`swift-conventions.md`):
61
61
  - `@MainActor` on UI; no unjustified force unwraps.
62
62
  - Typed errors; correct Task cancellation where needed.
63
- - **UI** (`swiftui-ui.mdc`):
63
+ - **UI** (`swiftui-ui.md`):
64
64
  - Thin Views; Design System tokens; accessibility identifiers for testable elements.
65
- - **Networking and data** (`networking-services.mdc`):
65
+ - **Networking and data** (`networking-services.md`):
66
66
  - DTOs separated from domain; mappers cover edge cases.
67
67
  - **Tests**:
68
- - Non-trivial logic — unit (`tests-unit.mdc`); user flows — UI (`tests-ui.mdc`).
68
+ - Non-trivial logic — unit (`tests-unit.md`); user flows — UI (`tests-ui.md`).
69
69
  - State which tests to add or update.
70
70
 
71
71
  - **Depth and format**
72
72
  - Focus on the **MR diff**, not the whole project.
73
73
  - Overview first (MR goal, risks), then concrete comments with file and a fix suggestion matching repo patterns.
74
- - No “big refactors” without a request (`code-quality-and-refactoring.mdc`).
74
+ - No “big refactors” without a request (`code-quality-and-refactoring.md`).
75
75
 
76
76
  - **Constraints**
77
77
  - Do not invent CI/MR hosting metadata without local data.
@@ -52,16 +52,16 @@ Filled in the stack adapter: concrete globs/paths and `.mdc` / topic `.md` names
52
52
 
53
53
  When the prompt or `brief.md` contains a `figma.com` URL, **mockup review** (`mockup-reviewer` / skill `mockup-review`) must complete — or the user must continue past FAIL/`BLOCKED_MCP` via `/task-continue` — **before UI implementation**. Non-UI tasks no-op this gate. When required-signal and **no** `figma.com`, **`ux-design.md`** (on the analysis manifest entry) must exist and not be `INCOMPLETE` before UI work — else **blocked**, hand back to `task-analyst`. Parallel to the mockup gate.
54
54
 
55
- Typical feature with data and UI. Layer details — `architecture-boundaries.mdc`, `ios-app-core.mdc`.
55
+ Typical feature with data and UI. Layer details — `architecture-boundaries.md`, `ios-app-core.md`.
56
56
 
57
57
  ## Checklist (work order)
58
58
 
59
59
  1. **Domain** — entities, value types, repository / use case protocols (`Features/**/Domain/**`).
60
- 2. **Data** — DTOs (`Codable`), Domain ↔ DTO mappers, repository implementations, API client (`networking-services.mdc`).
61
- 3. **ViewModel** — state, use case / protocol calls; DI from App; no DTOs or URLs (`state-and-viewmodels.mdc`).
62
- 4. **View / navigation** — thin SwiftUI Views, Design System; navigation as in the repo (`swiftui-ui.mdc`).
63
- 5. **Tests** — unit for mappers / use cases / VM (`tests-unit.mdc`); UI flows — XCUITest (`tests-ui.mdc`).
64
- 6. **Completion** — **invoke** `post-change-build.mdc` (+ `xcode-tooling.mdc` for schemes/commands): build touched targets + lint/format per repo config. When the current WP spans **more than one** layer or module, `implementation.md` includes a **Code Map** (3–8 annotated paths) and **Suggested Review Order** (`concern | path:line | ≤15 word note`). Omit both for a single-file or single-layer WP.
60
+ 2. **Data** — DTOs (`Codable`), Domain ↔ DTO mappers, repository implementations, API client (`networking-services.md`).
61
+ 3. **ViewModel** — state, use case / protocol calls; DI from App; no DTOs or URLs (`state-and-viewmodels.md`).
62
+ 4. **View / navigation** — thin SwiftUI Views, Design System; navigation as in the repo (`swiftui-ui.md`).
63
+ 5. **Tests** — unit for mappers / use cases / VM (`tests-unit.md`); UI flows — XCUITest (`tests-ui.md`).
64
+ 6. **Completion** — **invoke** `post-change-build.md` (+ `xcode-tooling.md` for schemes/commands): build touched targets + lint/format per repo config. When the current WP spans **more than one** layer or module, `implementation.md` includes a **Code Map** (3–8 annotated paths) and **Suggested Review Order** (`concern | path:line | ≤15 word note`). Omit both for a single-file or single-layer WP.
65
65
 
66
66
  ## Data flow (orientation)
67
67
 
@@ -99,14 +99,14 @@ flowchart LR
99
99
 
100
100
  | Zone | Rules |
101
101
  |------|---------|
102
- | `Features/**/Domain/**`, `Core/Domain/**` | `architecture-boundaries.mdc`, `ios-app-core.mdc` |
103
- | `Features/**/Data/**`, `**/Network*/**` | `networking-services.mdc`, `architecture-boundaries.mdc` |
104
- | `*ViewModel*.swift`, Presentation state | `state-and-viewmodels.mdc` |
105
- | `Presentation/**`, `DesignSystem/**` | `swiftui-ui.mdc`, `architecture-boundaries.mdc` |
106
- | `**/*.swift` (style) | `swift-conventions.mdc` |
107
- | `*Tests/**` | `tests-unit.mdc` |
108
- | `*UITests/**` | `tests-ui.mdc` |
109
- | After Swift edits | `post-change-build.mdc` |
102
+ | `Features/**/Domain/**`, `Core/Domain/**` | `architecture-boundaries.md`, `ios-app-core.md` |
103
+ | `Features/**/Data/**`, `**/Network*/**` | `networking-services.md`, `architecture-boundaries.md` |
104
+ | `*ViewModel*.swift`, Presentation state | `state-and-viewmodels.md` |
105
+ | `Presentation/**`, `DesignSystem/**` | `swiftui-ui.md`, `architecture-boundaries.md` |
106
+ | `**/*.swift` (style) | `swift-conventions.md` |
107
+ | `*Tests/**` | `tests-unit.md` |
108
+ | `*UITests/**` | `tests-ui.md` |
109
+ | After Swift edits | `post-change-build.md` |
110
110
 
111
111
  When adding or extending a feature, **walk the checklist** and the table rules for touched zones.
112
112
 
@@ -81,7 +81,7 @@ Run after preset init (manual smoke for agents):
81
81
  2. ViewModel bug — debugger → fix → unit test.
82
82
  3. DTO↔domain mapper — unit-test-planner/generator.
83
83
  4. UI flow — `xcuitest-test-planner` → generator (accessibilityIdentifier).
84
- 5. Auth/Keychain touch — security-reviewer + `security-ios.mdc`.
84
+ 5. Auth/Keychain touch — security-reviewer + `security-ios.md`.
85
85
 
86
86
  ## Living conventions
87
87
 
@@ -89,6 +89,6 @@ Post-init gotchas / patterns / decisions: **`.ai.local/conventions.md`** (shared
89
89
 
90
90
  ## Related rules
91
91
 
92
- - `code-quality-and-refactoring.mdc` — repeat patterns.
93
- - `feature-delivery-workflow.mdc` — layer order.
92
+ - `code-quality-and-refactoring.md` — repeat patterns.
93
+ - `feature-delivery-workflow.md` — layer order.
94
94
  - skill `feature-delivery` — end-to-end scenario.
@@ -3,7 +3,7 @@
3
3
  "platform": "opencode",
4
4
  "stack": "java",
5
5
  "semanticSource": "cursor/java",
6
- "sourceRevision": "644b4a47fead34d4c5745a9290e800b99b6948a174edcf5c74621999068dd14e",
6
+ "sourceRevision": "f817ff79b2cc0a6c212b33bf8d1e926be75de0cc957c5edc06ca13c61971d3bd",
7
7
  "entries": [
8
8
  {
9
9
  "source": "AGENTS.md",
@@ -80,8 +80,8 @@ Document PASS/FAIL in `validation-report.md`.
80
80
 
81
81
  ## Artifact contract
82
82
 
83
- - **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.
84
- - **Owned outputs:** `validation-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `validation`) and preserve all foreign entries.
83
+ - **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.
84
+ - **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[]`.
85
85
  - **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.
86
86
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
87
87
 
@@ -66,8 +66,8 @@ Write `.ai.local/team/tasks/<slug>/review.md` with verdict APPROVE | REQUEST_CHA
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, implementation, validation evidence, and the scoped git diff.
70
- - **Owned outputs:** `review.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `review`) 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, implementation, validation evidence, and the scoped git diff.
70
+ - **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[]`.
71
71
  - **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.
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
 
@@ -117,8 +117,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
117
117
 
118
118
  ## Artifact contract
119
119
 
120
- - **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.
121
- - **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.
120
+ - **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.
121
+ - **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[]`.
122
122
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
123
123
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
124
124
 
@@ -143,8 +143,8 @@ If `scope` carries multiple phases (e.g. `openspec:<change-id>:propose+apply`),
143
143
 
144
144
  ## Artifact contract
145
145
 
146
- - **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.
147
- - **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`).
146
+ - **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.
147
+ - **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`).
148
148
  - **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.
149
149
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
150
150
 
@@ -93,6 +93,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
93
93
  ## Artifact contract
94
94
 
95
95
  - **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.
96
- - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
96
+ - **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[]`.
97
97
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
98
98
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -155,6 +155,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
155
155
  ## Artifact contract
156
156
 
157
157
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
158
- - **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.
158
+ - **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[]`.
159
159
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
160
160
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -109,7 +109,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
109
109
 
110
110
  - 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.
111
111
  - Markdown remains detailed evidence; the manifest points to authoritative paths and records producer, status, timestamps, outcome, and evidence paths.
112
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
112
+ - 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.
113
113
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite unrelated state, gate, retry, attempt, timestamp, or metrics fields.
114
114
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
115
115
 
@@ -145,6 +145,8 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
145
145
  | `awaiting_approval` | Human gate; wait for `/task-continue` |
146
146
  | `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
147
147
  | `validation_failed` | build-verifier failed; re-run developer then build-verifier |
148
+ | `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) |
149
+ | `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. |
148
150
 
149
151
  On each `subagentStop`, the hook reconciles `status.state` from the completing producer's terminal `artifact-manifest.json` receipt (`completed` \| `changes_requested` \| `validation_failed`) when agents left lifecycle fields untouched. Parent orchestrators must wait for that handoff before invoking the next step.
150
152
 
@@ -51,5 +51,5 @@ Style enforcement (formatter / linter / post-change gate) lives in the **stack t
51
51
  - Public API between packages: exported types in module API or explicit ports — avoid deep imports of another feature's internals.
52
52
  - Prefer checked/unchecked exceptions with clear translation at adapter edges; do not leak persistence exceptions upward.
53
53
  - Interfaces belong at **ports** (consumer side), not on every class; prefer composition over inheritance.
54
- - Post-change gate: **`post-change-test.mdc`** + **`java-tooling.mdc`** (not yarn lint / xcodebuild / Playwright).
54
+ - Post-change gate: **`post-change-test.md`** + **`java-tooling.md`** (not yarn lint / xcodebuild / Playwright).
55
55
  - Style/static analysis: use **repository/CI** formatter and checks — do not invent a parallel Checkstyle/SpotBugs bible in rules.
@@ -3,7 +3,7 @@
3
3
  "platform": "opencode",
4
4
  "stack": "mcp-ts",
5
5
  "semanticSource": "cursor/mcp-ts",
6
- "sourceRevision": "008356a19bf3609e33b39cb6a5397384b45078380661e6b944b1f86ced6aae7d",
6
+ "sourceRevision": "3c9fa1ca7b809872976784c16439a35be56bd3719267217a4b67fc91686c7181",
7
7
  "entries": [
8
8
  {
9
9
  "source": "AGENTS.md",
@@ -74,8 +74,8 @@ Document PASS/FAIL in `validation-report.md`. Soft leakage output:
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 evidence, pipeline scope, and changed files.
78
- - **Owned outputs:** `validation-report.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `validation`) 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 evidence, pipeline scope, and changed files.
78
+ - **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[]`.
79
79
  - **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.
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
 
@@ -109,8 +109,8 @@ Load requestable rule `mcp-usage` when verifying third-party library APIs (Conte
109
109
 
110
110
  ## Artifact contract
111
111
 
112
- - **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.
113
- - **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.
112
+ - **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.
113
+ - **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[]`.
114
114
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
115
115
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
116
116
 
@@ -96,6 +96,6 @@ If the prompt/brief has a tracker URL (Linear/Jira/Notion/…) and that MCP is r
96
96
  ## Artifact contract
97
97
 
98
98
  - **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.
99
- - **Owned outputs:** `brief.md` and `decomposition.md`; upsert only the manifest entry assigned by handoff (`artifactOutputId`; fallback `analysis`) and preserve all foreign entries.
99
+ - **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[]`.
100
100
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
101
101
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -151,6 +151,6 @@ Return the routing receipt to the orchestrator. The orchestration runtime/hook e
151
151
  ## Artifact contract
152
152
 
153
153
  - **Authoritative inputs:** read `.ai.local/team/tasks/<slug>/artifact-manifest.json` first; consume the user request and any existing authoritative task/decision entries.
154
- - **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.
154
+ - **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[]`.
155
155
  - **Terminal receipt:** cover applicable AC/task IDs, list authoritative evidence paths, and emit `completed` or `blocked`. Bind it to the supplied `attemptId` when present.
156
156
  - **Shared state:** never create or mutate `status.json` or `metrics.json`; the orchestration runtime/hook owns lifecycle, gates, retries, attempts, and timestamps.
@@ -109,7 +109,7 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
109
109
 
110
110
  - 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.
111
111
  - Markdown remains detailed evidence; the manifest points to authoritative paths and records producer, status, timestamps, outcome, and evidence paths.
112
- - Agents upsert only entries they own and preserve foreign entries. Parallel agents use distinct IDs; the parent/orchestrator serializes manifest merges.
112
+ - 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.
113
113
  - The orchestration runtime/hook is the single writer for `status.json` lifecycle fields and `metrics.json`. Agents read status for eligibility but never rewrite unrelated state, gate, retry, attempt, timestamp, or metrics fields.
114
114
  - Missing/stale manifests are reported as a handoff gap; fall back to `brief.md`, `decomposition.md`, and `pipeline.json` rather than inventing authority.
115
115
 
@@ -145,6 +145,8 @@ Each slug has one `artifact-manifest.json` at `.ai.local/team/tasks/<slug>/`. Th
145
145
  | `awaiting_approval` | Human gate; wait for `/task-continue` |
146
146
  | `changes_requested` | Reviewer blocked; re-run developer (`retryAfterFix`) |
147
147
  | `validation_failed` | build-verifier failed; re-run developer then build-verifier |
148
+ | `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) |
149
+ | `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. |
148
150
 
149
151
  On each `subagentStop`, the hook reconciles `status.state` from the completing producer's terminal `artifact-manifest.json` receipt (`completed` \| `changes_requested` \| `validation_failed`) when agents left lifecycle fields untouched. Parent orchestrators must wait for that handoff before invoking the next step.
150
152
 
@@ -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.