@bonesofspring/ai-rules 0.2.22 → 0.2.24

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 (429) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +10 -2
  3. package/bin/cli.js +56 -9
  4. package/bin/mavis-install.js +441 -0
  5. package/bin/opencode-install.js +531 -0
  6. package/package.json +17 -3
  7. package/presets/_shared/core/agent-team/agent-team-orchestrator.md +2 -2
  8. package/presets/_shared/core/meta/preset-layering.md +3 -3
  9. package/presets/_shared/core/meta/preset-no-cross-stack-leakage.md +1 -1
  10. package/presets/_shared/core/meta/preset-pr-checklist.md +5 -3
  11. package/presets/_shared/core/meta/preset-token-budget.md +3 -0
  12. package/presets/_shared/core/meta/preset-twin-sync.md +32 -0
  13. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-layering.md +3 -3
  14. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  15. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  16. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-token-budget.md +3 -0
  17. package/presets/claude/android-kotlin/rules/tooling-and-review/preset-twin-sync.md +32 -0
  18. package/presets/claude/go/rules/tooling-and-review/preset-layering.md +3 -3
  19. package/presets/claude/go/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  20. package/presets/claude/go/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  21. package/presets/claude/go/rules/tooling-and-review/preset-token-budget.md +3 -0
  22. package/presets/claude/go/rules/tooling-and-review/preset-twin-sync.md +32 -0
  23. package/presets/claude/ios-swift/rules/tooling-and-review/preset-layering.md +3 -3
  24. package/presets/claude/ios-swift/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  25. package/presets/claude/ios-swift/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  26. package/presets/claude/ios-swift/rules/tooling-and-review/preset-token-budget.md +3 -0
  27. package/presets/claude/ios-swift/rules/tooling-and-review/preset-twin-sync.md +32 -0
  28. package/presets/claude/java/rules/tooling-and-review/preset-layering.md +3 -3
  29. package/presets/claude/java/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  30. package/presets/claude/java/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  31. package/presets/claude/java/rules/tooling-and-review/preset-token-budget.md +3 -0
  32. package/presets/claude/java/rules/tooling-and-review/preset-twin-sync.md +32 -0
  33. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-layering.md +3 -3
  34. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  35. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  36. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-token-budget.md +3 -0
  37. package/presets/claude/mcp-ts/rules/tooling-and-review/preset-twin-sync.md +32 -0
  38. package/presets/claude/next/REPO_AGENTS.md +10 -5
  39. package/presets/claude/next/agents/build-verifier.md +3 -1
  40. package/presets/claude/next/rules/tooling-and-review/ai-local-overlay.md +1 -1
  41. package/presets/claude/next/rules/tooling-and-review/preset-layering.md +3 -3
  42. package/presets/claude/next/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  43. package/presets/claude/next/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  44. package/presets/claude/next/rules/tooling-and-review/preset-token-budget.md +3 -0
  45. package/presets/claude/next/rules/tooling-and-review/preset-twin-sync.md +32 -0
  46. package/presets/claude/nuxt/rules/tooling-and-review/preset-layering.md +3 -3
  47. package/presets/claude/nuxt/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  48. package/presets/claude/nuxt/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  49. package/presets/claude/nuxt/rules/tooling-and-review/preset-token-budget.md +3 -0
  50. package/presets/claude/nuxt/rules/tooling-and-review/preset-twin-sync.md +32 -0
  51. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-layering.md +3 -3
  52. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  53. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  54. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-token-budget.md +3 -0
  55. package/presets/claude/php-hexagonal/rules/tooling-and-review/preset-twin-sync.md +32 -0
  56. package/presets/claude/php-laravel/rules/tooling-and-review/preset-layering.md +3 -3
  57. package/presets/claude/php-laravel/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  58. package/presets/claude/php-laravel/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  59. package/presets/claude/php-laravel/rules/tooling-and-review/preset-token-budget.md +3 -0
  60. package/presets/claude/php-laravel/rules/tooling-and-review/preset-twin-sync.md +32 -0
  61. package/presets/claude/svelte/rules/tooling-and-review/preset-layering.md +3 -3
  62. package/presets/claude/svelte/rules/tooling-and-review/preset-no-cross-stack-leakage.md +1 -1
  63. package/presets/claude/svelte/rules/tooling-and-review/preset-pr-checklist.md +5 -3
  64. package/presets/claude/svelte/rules/tooling-and-review/preset-token-budget.md +3 -0
  65. package/presets/claude/svelte/rules/tooling-and-review/preset-twin-sync.md +32 -0
  66. package/presets/cursor/android-kotlin/rules/preset-layering.mdc +3 -3
  67. package/presets/cursor/android-kotlin/rules/preset-no-cross-stack-leakage.mdc +1 -1
  68. package/presets/cursor/android-kotlin/rules/preset-pr-checklist.mdc +5 -3
  69. package/presets/cursor/android-kotlin/rules/preset-token-budget.mdc +3 -0
  70. package/presets/cursor/android-kotlin/rules/preset-twin-sync.mdc +32 -0
  71. package/presets/cursor/go/rules/preset-layering.mdc +3 -3
  72. package/presets/cursor/go/rules/preset-no-cross-stack-leakage.mdc +1 -1
  73. package/presets/cursor/go/rules/preset-pr-checklist.mdc +5 -3
  74. package/presets/cursor/go/rules/preset-token-budget.mdc +3 -0
  75. package/presets/cursor/go/rules/preset-twin-sync.mdc +32 -0
  76. package/presets/cursor/ios-swift/rules/preset-layering.mdc +3 -3
  77. package/presets/cursor/ios-swift/rules/preset-no-cross-stack-leakage.mdc +1 -1
  78. package/presets/cursor/ios-swift/rules/preset-pr-checklist.mdc +5 -3
  79. package/presets/cursor/ios-swift/rules/preset-token-budget.mdc +3 -0
  80. package/presets/cursor/ios-swift/rules/preset-twin-sync.mdc +32 -0
  81. package/presets/cursor/java/rules/preset-layering.mdc +3 -3
  82. package/presets/cursor/java/rules/preset-no-cross-stack-leakage.mdc +1 -1
  83. package/presets/cursor/java/rules/preset-pr-checklist.mdc +5 -3
  84. package/presets/cursor/java/rules/preset-token-budget.mdc +3 -0
  85. package/presets/cursor/java/rules/preset-twin-sync.mdc +32 -0
  86. package/presets/cursor/mcp-ts/rules/preset-layering.mdc +3 -3
  87. package/presets/cursor/mcp-ts/rules/preset-no-cross-stack-leakage.mdc +1 -1
  88. package/presets/cursor/mcp-ts/rules/preset-pr-checklist.mdc +5 -3
  89. package/presets/cursor/mcp-ts/rules/preset-token-budget.mdc +3 -0
  90. package/presets/cursor/mcp-ts/rules/preset-twin-sync.mdc +32 -0
  91. package/presets/cursor/next/REPO_AGENTS.md +10 -5
  92. package/presets/cursor/next/agents/build-verifier.md +3 -1
  93. package/presets/cursor/next/rules/ai-local-overlay.mdc +1 -1
  94. package/presets/cursor/next/rules/preset-layering.mdc +3 -3
  95. package/presets/cursor/next/rules/preset-no-cross-stack-leakage.mdc +1 -1
  96. package/presets/cursor/next/rules/preset-pr-checklist.mdc +5 -3
  97. package/presets/cursor/next/rules/preset-token-budget.mdc +3 -0
  98. package/presets/cursor/next/rules/preset-twin-sync.mdc +32 -0
  99. package/presets/cursor/nuxt/rules/preset-layering.mdc +3 -3
  100. package/presets/cursor/nuxt/rules/preset-no-cross-stack-leakage.mdc +1 -1
  101. package/presets/cursor/nuxt/rules/preset-pr-checklist.mdc +5 -3
  102. package/presets/cursor/nuxt/rules/preset-token-budget.mdc +3 -0
  103. package/presets/cursor/nuxt/rules/preset-twin-sync.mdc +32 -0
  104. package/presets/cursor/php-hexagonal/rules/preset-layering.mdc +3 -3
  105. package/presets/cursor/php-hexagonal/rules/preset-no-cross-stack-leakage.mdc +1 -1
  106. package/presets/cursor/php-hexagonal/rules/preset-pr-checklist.mdc +5 -3
  107. package/presets/cursor/php-hexagonal/rules/preset-token-budget.mdc +3 -0
  108. package/presets/cursor/php-hexagonal/rules/preset-twin-sync.mdc +32 -0
  109. package/presets/cursor/php-laravel/rules/preset-layering.mdc +3 -3
  110. package/presets/cursor/php-laravel/rules/preset-no-cross-stack-leakage.mdc +1 -1
  111. package/presets/cursor/php-laravel/rules/preset-pr-checklist.mdc +5 -3
  112. package/presets/cursor/php-laravel/rules/preset-token-budget.mdc +3 -0
  113. package/presets/cursor/php-laravel/rules/preset-twin-sync.mdc +32 -0
  114. package/presets/cursor/svelte/rules/preset-layering.mdc +3 -3
  115. package/presets/cursor/svelte/rules/preset-no-cross-stack-leakage.mdc +1 -1
  116. package/presets/cursor/svelte/rules/preset-pr-checklist.mdc +5 -3
  117. package/presets/cursor/svelte/rules/preset-token-budget.mdc +3 -0
  118. package/presets/cursor/svelte/rules/preset-twin-sync.mdc +32 -0
  119. package/presets/mavis/README.md +60 -0
  120. package/presets/mavis/next/MAVIS.md +67 -0
  121. package/presets/mavis/next/MCP.md +36 -0
  122. package/presets/mavis/next/README.md +15 -0
  123. package/presets/mavis/next/REPO_AGENTS.md +96 -0
  124. package/presets/mavis/next/adapter-map.json +959 -0
  125. package/presets/mavis/next/agents/README.md +206 -0
  126. package/presets/mavis/next/agents/accessibility-reviewer.md +61 -0
  127. package/presets/mavis/next/agents/api-contract-reviewer.md +57 -0
  128. package/presets/mavis/next/agents/build-verifier.md +112 -0
  129. package/presets/mavis/next/agents/ci-investigator.md +63 -0
  130. package/presets/mavis/next/agents/code-reviewer.md +61 -0
  131. package/presets/mavis/next/agents/codebase-analyzer.md +21 -0
  132. package/presets/mavis/next/agents/debugger.md +80 -0
  133. package/presets/mavis/next/agents/feature-developer.md +101 -0
  134. package/presets/mavis/next/agents/migration-specialist.md +67 -0
  135. package/presets/mavis/next/agents/mockup-reviewer.md +53 -0
  136. package/presets/mavis/next/agents/openspec-author.md +157 -0
  137. package/presets/mavis/next/agents/performance-auditor.md +68 -0
  138. package/presets/mavis/next/agents/playwright-test-generator.md +28 -0
  139. package/presets/mavis/next/agents/playwright-test-healer.md +28 -0
  140. package/presets/mavis/next/agents/playwright-test-planner.md +21 -0
  141. package/presets/mavis/next/agents/qa-tester.md +52 -0
  142. package/presets/mavis/next/agents/security-reviewer.md +54 -0
  143. package/presets/mavis/next/agents/solution-architect.md +68 -0
  144. package/presets/mavis/next/agents/task-analyst.md +166 -0
  145. package/presets/mavis/next/agents/task-router.md +178 -0
  146. package/presets/mavis/next/agents/tech-writer.md +57 -0
  147. package/presets/mavis/next/agents/unit-test-generator.md +31 -0
  148. package/presets/mavis/next/agents/unit-test-healer.md +32 -0
  149. package/presets/mavis/next/agents/unit-test-planner.md +54 -0
  150. package/presets/mavis/next/commands/README.md +49 -0
  151. package/presets/mavis/next/commands/spec-start.md +24 -0
  152. package/presets/mavis/next/commands/task-continue.md +50 -0
  153. package/presets/mavis/next/commands/task.md +50 -0
  154. package/presets/mavis/next/commands/technical-retro.md +80 -0
  155. package/presets/mavis/next/hooks/README.md +22 -0
  156. package/presets/mavis/next/hooks/chain-team-phases.sh +845 -0
  157. package/presets/mavis/next/mcp.json +19 -0
  158. package/presets/mavis/next/rules/README.md +16 -0
  159. package/presets/mavis/next/rules/agent-team-intake.md +11 -0
  160. package/presets/mavis/next/rules/agent-team-orchestrator.md +210 -0
  161. package/presets/mavis/next/rules/ai-local-overlay.md +37 -0
  162. package/presets/mavis/next/rules/anti-sycophancy-discipline.md +23 -0
  163. package/presets/mavis/next/rules/api-services.md +72 -0
  164. package/presets/mavis/next/rules/architecture-boundaries-ui.md +9 -0
  165. package/presets/mavis/next/rules/architecture-boundaries.md +86 -0
  166. package/presets/mavis/next/rules/arrow-functions.md +25 -0
  167. package/presets/mavis/next/rules/code-quality-and-refactoring.md +40 -0
  168. package/presets/mavis/next/rules/code-review-mr.md +40 -0
  169. package/presets/mavis/next/rules/css-property-order-stylelint.md +5 -0
  170. package/presets/mavis/next/rules/design-guidance.md +99 -0
  171. package/presets/mavis/next/rules/feature-delivery-workflow.md +49 -0
  172. package/presets/mavis/next/rules/http-client.md +55 -0
  173. package/presets/mavis/next/rules/layer-barrel-exports.md +68 -0
  174. package/presets/mavis/next/rules/mcp-usage.md +86 -0
  175. package/presets/mavis/next/rules/mockup-review.md +107 -0
  176. package/presets/mavis/next/rules/navigation-router-stack.md +56 -0
  177. package/presets/mavis/next/rules/navigation-router-ui.md +10 -0
  178. package/presets/mavis/next/rules/next-app-core.md +29 -0
  179. package/presets/mavis/next/rules/next-app-router.md +44 -0
  180. package/presets/mavis/next/rules/no-props-spread.md +56 -0
  181. package/presets/mavis/next/rules/no-type-assertion-as-import-export.md +51 -0
  182. package/presets/mavis/next/rules/package-manager.md +11 -0
  183. package/presets/mavis/next/rules/playwright-agents.md +67 -0
  184. package/presets/mavis/next/rules/post-change-lint.md +35 -0
  185. package/presets/mavis/next/rules/preset-layering.md +27 -0
  186. package/presets/mavis/next/rules/preset-no-cross-stack-leakage.md +90 -0
  187. package/presets/mavis/next/rules/preset-pr-checklist.md +36 -0
  188. package/presets/mavis/next/rules/preset-token-budget.md +39 -0
  189. package/presets/mavis/next/rules/preset-twin-sync.md +81 -0
  190. package/presets/mavis/next/rules/product-specs-authoring.md +112 -0
  191. package/presets/mavis/next/rules/product-specs.md +56 -0
  192. package/presets/mavis/next/rules/public-imports.md +50 -0
  193. package/presets/mavis/next/rules/react-a11y-coding.md +31 -0
  194. package/presets/mavis/next/rules/react-next-anti-hallucination.md +60 -0
  195. package/presets/mavis/next/rules/react-ui.md +105 -0
  196. package/presets/mavis/next/rules/reference-features.md +45 -0
  197. package/presets/mavis/next/rules/security-next.md +45 -0
  198. package/presets/mavis/next/rules/store-rtk.md +78 -0
  199. package/presets/mavis/next/rules/technical-retro.md +11 -0
  200. package/presets/mavis/next/rules/tests-e2e-structure.md +72 -0
  201. package/presets/mavis/next/rules/tests-unit.md +72 -0
  202. package/presets/mavis/next/rules/types-jsdoc.md +43 -0
  203. package/presets/mavis/next/rules/ux-design.md +99 -0
  204. package/presets/mavis/next/skills/README.md +21 -0
  205. package/presets/mavis/next/skills/ci-investigation/SKILL.md +39 -0
  206. package/presets/mavis/next/skills/code-review/SKILL.md +39 -0
  207. package/presets/mavis/next/skills/debug-investigation/SKILL.md +26 -0
  208. package/presets/mavis/next/skills/feature-delivery/SKILL.md +34 -0
  209. package/presets/mavis/next/skills/mockup-review/SKILL.md +24 -0
  210. package/presets/mavis/next/skills/playwright-e2e/SKILL.md +28 -0
  211. package/presets/mavis/next/skills/react-performance/SKILL.md +39 -0
  212. package/presets/mavis/next/skills/spec-authoring/SKILL.md +21 -0
  213. package/presets/mavis/next/skills/spec-discovery/SKILL.md +53 -0
  214. package/presets/mavis/next/skills/technical-retro/SKILL.md +49 -0
  215. package/presets/mavis/next/skills/unit-testing/SKILL.md +29 -0
  216. package/presets/mavis/next/skills/ux-design/SKILL.md +31 -0
  217. package/presets/mavis/next/skills/write-adr/SKILL.md +36 -0
  218. package/presets/mavis/next/team/README.md +148 -0
  219. package/presets/mavis/next/team/conventions.md +21 -0
  220. package/presets/mavis/next/team/fixtures/artifact-manifest.example.json +79 -0
  221. package/presets/mavis/next/team/fixtures/bugfix-standard.json +25 -0
  222. package/presets/mavis/next/team/fixtures/feature-full.json +29 -0
  223. package/presets/mavis/next/team/fixtures/feature-light.json +27 -0
  224. package/presets/mavis/next/team/fixtures/feature-with-figma-url.json +17 -0
  225. package/presets/mavis/next/team/fixtures/feature-with-ux-no-figma.json +17 -0
  226. package/presets/mavis/next/team/fixtures/memlog.example.md +9 -0
  227. package/presets/mavis/next/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
  228. package/presets/mavis/next/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
  229. package/presets/mavis/next/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
  230. package/presets/mavis/next/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
  231. package/presets/mavis/next/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
  232. package/presets/mavis/next/team/fixtures/metrics.example.json +54 -0
  233. package/presets/mavis/next/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
  234. package/presets/mavis/next/team/fixtures/mockup-review-standalone.json +14 -0
  235. package/presets/mavis/next/team/fixtures/ux-design-standalone.json +15 -0
  236. package/presets/mavis/next/team/tasks/.gitkeep +0 -0
  237. package/presets/mavis/platform-contract.json +131 -0
  238. package/presets/opencode/README.md +61 -0
  239. package/presets/opencode/next/MCP.md +36 -0
  240. package/presets/opencode/next/OPENCODE.md +65 -0
  241. package/presets/opencode/next/README.md +16 -0
  242. package/presets/opencode/next/REPO_AGENTS.md +97 -0
  243. package/presets/opencode/next/adapter-map.json +959 -0
  244. package/presets/opencode/next/agents/README.md +201 -0
  245. package/presets/opencode/next/agents/accessibility-reviewer.md +73 -0
  246. package/presets/opencode/next/agents/api-contract-reviewer.md +69 -0
  247. package/presets/opencode/next/agents/build-verifier.md +124 -0
  248. package/presets/opencode/next/agents/ci-investigator.md +71 -0
  249. package/presets/opencode/next/agents/code-reviewer.md +73 -0
  250. package/presets/opencode/next/agents/codebase-analyzer.md +33 -0
  251. package/presets/opencode/next/agents/debugger.md +88 -0
  252. package/presets/opencode/next/agents/feature-developer.md +109 -0
  253. package/presets/opencode/next/agents/migration-specialist.md +79 -0
  254. package/presets/opencode/next/agents/mockup-reviewer.md +65 -0
  255. package/presets/opencode/next/agents/openspec-author.md +169 -0
  256. package/presets/opencode/next/agents/performance-auditor.md +80 -0
  257. package/presets/opencode/next/agents/playwright-test-generator.md +36 -0
  258. package/presets/opencode/next/agents/playwright-test-healer.md +36 -0
  259. package/presets/opencode/next/agents/playwright-test-planner.md +33 -0
  260. package/presets/opencode/next/agents/qa-tester.md +60 -0
  261. package/presets/opencode/next/agents/security-reviewer.md +66 -0
  262. package/presets/opencode/next/agents/solution-architect.md +80 -0
  263. package/presets/opencode/next/agents/task-analyst.md +178 -0
  264. package/presets/opencode/next/agents/task-router.md +190 -0
  265. package/presets/opencode/next/agents/tech-writer.md +69 -0
  266. package/presets/opencode/next/agents/unit-test-generator.md +39 -0
  267. package/presets/opencode/next/agents/unit-test-healer.md +40 -0
  268. package/presets/opencode/next/agents/unit-test-planner.md +66 -0
  269. package/presets/opencode/next/commands/README.md +49 -0
  270. package/presets/opencode/next/commands/spec-start.md +32 -0
  271. package/presets/opencode/next/commands/task-continue.md +58 -0
  272. package/presets/opencode/next/commands/task.md +58 -0
  273. package/presets/opencode/next/commands/technical-retro.md +88 -0
  274. package/presets/opencode/next/hooks/README.md +22 -0
  275. package/presets/opencode/next/hooks/chain-team-phases.sh +845 -0
  276. package/presets/opencode/next/opencode.json +33 -0
  277. package/presets/opencode/next/rules/README.md +20 -0
  278. package/presets/opencode/next/rules/agent-team-intake.md +11 -0
  279. package/presets/opencode/next/rules/agent-team-orchestrator.md +214 -0
  280. package/presets/opencode/next/rules/ai-local-overlay.md +37 -0
  281. package/presets/opencode/next/rules/anti-sycophancy-discipline.md +23 -0
  282. package/presets/opencode/next/rules/api-services.md +72 -0
  283. package/presets/opencode/next/rules/architecture-boundaries-ui.md +9 -0
  284. package/presets/opencode/next/rules/architecture-boundaries.md +86 -0
  285. package/presets/opencode/next/rules/arrow-functions.md +25 -0
  286. package/presets/opencode/next/rules/code-quality-and-refactoring.md +40 -0
  287. package/presets/opencode/next/rules/code-review-mr.md +40 -0
  288. package/presets/opencode/next/rules/css-property-order-stylelint.md +5 -0
  289. package/presets/opencode/next/rules/design-guidance.md +99 -0
  290. package/presets/opencode/next/rules/feature-delivery-workflow.md +49 -0
  291. package/presets/opencode/next/rules/http-client.md +55 -0
  292. package/presets/opencode/next/rules/layer-barrel-exports.md +68 -0
  293. package/presets/opencode/next/rules/mcp-usage.md +86 -0
  294. package/presets/opencode/next/rules/mockup-review.md +107 -0
  295. package/presets/opencode/next/rules/navigation-router-stack.md +56 -0
  296. package/presets/opencode/next/rules/navigation-router-ui.md +10 -0
  297. package/presets/opencode/next/rules/next-app-core.md +29 -0
  298. package/presets/opencode/next/rules/next-app-router.md +44 -0
  299. package/presets/opencode/next/rules/no-props-spread.md +56 -0
  300. package/presets/opencode/next/rules/no-type-assertion-as-import-export.md +51 -0
  301. package/presets/opencode/next/rules/package-manager.md +11 -0
  302. package/presets/opencode/next/rules/playwright-agents.md +67 -0
  303. package/presets/opencode/next/rules/post-change-lint.md +35 -0
  304. package/presets/opencode/next/rules/preset-layering.md +27 -0
  305. package/presets/opencode/next/rules/preset-no-cross-stack-leakage.md +90 -0
  306. package/presets/opencode/next/rules/preset-pr-checklist.md +36 -0
  307. package/presets/opencode/next/rules/preset-token-budget.md +39 -0
  308. package/presets/opencode/next/rules/preset-twin-sync.md +81 -0
  309. package/presets/opencode/next/rules/product-specs-authoring.md +112 -0
  310. package/presets/opencode/next/rules/product-specs.md +56 -0
  311. package/presets/opencode/next/rules/public-imports.md +50 -0
  312. package/presets/opencode/next/rules/react-a11y-coding.md +31 -0
  313. package/presets/opencode/next/rules/react-next-anti-hallucination.md +60 -0
  314. package/presets/opencode/next/rules/react-ui.md +105 -0
  315. package/presets/opencode/next/rules/reference-features.md +45 -0
  316. package/presets/opencode/next/rules/security-next.md +45 -0
  317. package/presets/opencode/next/rules/store-rtk.md +78 -0
  318. package/presets/opencode/next/rules/technical-retro.md +11 -0
  319. package/presets/opencode/next/rules/tests-e2e-structure.md +72 -0
  320. package/presets/opencode/next/rules/tests-unit.md +72 -0
  321. package/presets/opencode/next/rules/types-jsdoc.md +43 -0
  322. package/presets/opencode/next/rules/ux-design.md +99 -0
  323. package/presets/opencode/next/skills/README.md +21 -0
  324. package/presets/opencode/next/skills/ci-investigation/SKILL.md +44 -0
  325. package/presets/opencode/next/skills/code-review/SKILL.md +44 -0
  326. package/presets/opencode/next/skills/debug-investigation/SKILL.md +59 -0
  327. package/presets/opencode/next/skills/feature-delivery/SKILL.md +39 -0
  328. package/presets/opencode/next/skills/mockup-review/SKILL.md +29 -0
  329. package/presets/opencode/next/skills/playwright-e2e/SKILL.md +33 -0
  330. package/presets/opencode/next/skills/react-performance/SKILL.md +44 -0
  331. package/presets/opencode/next/skills/spec-authoring/SKILL.md +26 -0
  332. package/presets/opencode/next/skills/spec-discovery/SKILL.md +58 -0
  333. package/presets/opencode/next/skills/technical-retro/SKILL.md +54 -0
  334. package/presets/opencode/next/skills/unit-testing/SKILL.md +34 -0
  335. package/presets/opencode/next/skills/ux-design/SKILL.md +36 -0
  336. package/presets/opencode/next/skills/write-adr/SKILL.md +41 -0
  337. package/presets/opencode/next/team/README.md +148 -0
  338. package/presets/opencode/next/team/conventions.md +21 -0
  339. package/presets/opencode/next/team/fixtures/artifact-manifest.example.json +79 -0
  340. package/presets/opencode/next/team/fixtures/bugfix-standard.json +25 -0
  341. package/presets/opencode/next/team/fixtures/feature-full.json +29 -0
  342. package/presets/opencode/next/team/fixtures/feature-light.json +27 -0
  343. package/presets/opencode/next/team/fixtures/feature-with-figma-url.json +17 -0
  344. package/presets/opencode/next/team/fixtures/feature-with-ux-no-figma.json +17 -0
  345. package/presets/opencode/next/team/fixtures/memlog.example.md +9 -0
  346. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json +69 -0
  347. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json +5 -0
  348. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json +79 -0
  349. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json +124 -0
  350. package/presets/opencode/next/team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json +124 -0
  351. package/presets/opencode/next/team/fixtures/metrics.example.json +54 -0
  352. package/presets/opencode/next/team/fixtures/mockup-review-fail-embedded-status.json +8 -0
  353. package/presets/opencode/next/team/fixtures/mockup-review-standalone.json +14 -0
  354. package/presets/opencode/next/team/fixtures/ux-design-standalone.json +15 -0
  355. package/presets/opencode/next/team/tasks/.gitkeep +0 -0
  356. package/presets/opencode/platform-contract.json +131 -0
  357. package/scripts/capture-cli-golden.mjs +48 -0
  358. package/scripts/check-chain-hook-coverage.sh +2 -0
  359. package/scripts/check-mavis-adapter-map.mjs +294 -0
  360. package/scripts/check-mavis-local-overlay.mjs +56 -0
  361. package/scripts/check-mavis-platform-contract.mjs +388 -0
  362. package/scripts/check-mavis-token-budget.mjs +48 -0
  363. package/scripts/check-opencode-adapter-map.mjs +294 -0
  364. package/scripts/check-opencode-local-overlay.mjs +56 -0
  365. package/scripts/check-opencode-platform-contract.mjs +388 -0
  366. package/scripts/check-opencode-token-budget.mjs +48 -0
  367. package/scripts/check-preset-leakage.sh +64 -3
  368. package/scripts/check-preset-structure.sh +108 -0
  369. package/scripts/check-shared-core-drift.sh +18 -0
  370. package/scripts/check-task-router-intents.sh +15 -2
  371. package/scripts/fixtures/cli-golden/claude/next.json +130 -0
  372. package/scripts/fixtures/cli-golden/cursor/next.json +132 -0
  373. package/scripts/fixtures/cli-golden/mavis/next.json +125 -0
  374. package/scripts/fixtures/cli-golden/opencode/next.json +125 -0
  375. package/scripts/fixtures/mavis-adapter-map/invalid-unmapped/cursor/AGENTS.md +1 -0
  376. package/scripts/fixtures/mavis-adapter-map/invalid-unmapped/cursor/rules/extra.mdc +1 -0
  377. package/scripts/fixtures/mavis-adapter-map/invalid-unmapped/cursor/rules/sample.mdc +2 -0
  378. package/scripts/fixtures/mavis-adapter-map/invalid-unmapped/mavis/MAVIS.md +1 -0
  379. package/scripts/fixtures/mavis-adapter-map/invalid-unmapped/mavis/adapter-map.json +26 -0
  380. package/scripts/fixtures/mavis-adapter-map/invalid-unmapped/mavis/rules/sample.md +2 -0
  381. package/scripts/fixtures/mavis-adapter-map/valid/cursor/AGENTS.md +1 -0
  382. package/scripts/fixtures/mavis-adapter-map/valid/cursor/rules/sample.mdc +2 -0
  383. package/scripts/fixtures/mavis-adapter-map/valid/mavis/MAVIS.md +1 -0
  384. package/scripts/fixtures/mavis-adapter-map/valid/mavis/adapter-map.json +26 -0
  385. package/scripts/fixtures/mavis-adapter-map/valid/mavis/rules/sample.md +2 -0
  386. package/scripts/fixtures/mavis-platform-contract/invalid-minimax-destination.json +131 -0
  387. package/scripts/fixtures/mavis-platform-contract/invalid-missing-capability.json +126 -0
  388. package/scripts/fixtures/mavis-platform-contract/invalid-released-unknown-stack.json +133 -0
  389. package/scripts/fixtures/mavis-platform-contract/invalid-unknown-native-path.json +131 -0
  390. package/scripts/fixtures/mavis-platform-contract/invalid-version-pin.json +132 -0
  391. package/scripts/fixtures/mavis-platform-contract/valid.json +131 -0
  392. package/scripts/fixtures/mavis-probe/AGENTS.md +6 -0
  393. package/scripts/fixtures/mavis-probe/agents/probe-agent.md +6 -0
  394. package/scripts/fixtures/mavis-probe/fake-mcode.mjs +98 -0
  395. package/scripts/fixtures/mavis-probe/output.schema.json +28 -0
  396. package/scripts/fixtures/mavis-probe/rules/probe.md +5 -0
  397. package/scripts/fixtures/mavis-probe/skills/probe/SKILL.md +11 -0
  398. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/cursor/AGENTS.md +1 -0
  399. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/cursor/rules/extra.mdc +1 -0
  400. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/cursor/rules/sample.mdc +2 -0
  401. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/opencode/OPENCODE.md +1 -0
  402. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/opencode/adapter-map.json +26 -0
  403. package/scripts/fixtures/opencode-adapter-map/invalid-unmapped/opencode/rules/sample.md +2 -0
  404. package/scripts/fixtures/opencode-adapter-map/valid/cursor/AGENTS.md +1 -0
  405. package/scripts/fixtures/opencode-adapter-map/valid/cursor/rules/sample.mdc +2 -0
  406. package/scripts/fixtures/opencode-adapter-map/valid/opencode/OPENCODE.md +1 -0
  407. package/scripts/fixtures/opencode-adapter-map/valid/opencode/adapter-map.json +26 -0
  408. package/scripts/fixtures/opencode-adapter-map/valid/opencode/rules/sample.md +2 -0
  409. package/scripts/fixtures/opencode-platform-contract/invalid-home-destination.json +131 -0
  410. package/scripts/fixtures/opencode-platform-contract/invalid-missing-capability.json +126 -0
  411. package/scripts/fixtures/opencode-platform-contract/invalid-released-unknown-stack.json +133 -0
  412. package/scripts/fixtures/opencode-platform-contract/invalid-unknown-native-path.json +131 -0
  413. package/scripts/fixtures/opencode-platform-contract/invalid-version-pin.json +132 -0
  414. package/scripts/fixtures/opencode-platform-contract/valid.json +131 -0
  415. package/scripts/generate-mavis-next.mjs +706 -0
  416. package/scripts/generate-opencode-next.mjs +831 -0
  417. package/scripts/lib/cli-golden.mjs +50 -0
  418. package/scripts/lib/discover-hooks.mjs +94 -0
  419. package/scripts/probe-mavis-capabilities.mjs +480 -0
  420. package/scripts/sync-dogfood-mavis.sh +90 -0
  421. package/scripts/sync-dogfood-opencode.sh +85 -0
  422. package/scripts/test-agent-task-metrics-hooks.mjs +25 -16
  423. package/scripts/test-chain-team-phases-coverage.mjs +15 -7
  424. package/scripts/test-cli-init-clean.mjs +367 -0
  425. package/scripts/test-cli-mcp-merge.mjs +23 -0
  426. package/scripts/test-mavis-context-budget.mjs +55 -0
  427. package/scripts/test-mavis-orchestration.mjs +649 -0
  428. package/scripts/test-opencode-context-budget.mjs +53 -0
  429. package/scripts/test-probe-mavis-capabilities.mjs +205 -0
@@ -0,0 +1,959 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "platform": "mavis",
4
+ "stack": "next",
5
+ "semanticSource": "cursor/next",
6
+ "sourceRevision": "be606e26d6d0e3f27c2a753e4025925670bc42f6e41d53ec9efc47cdb3a7be7f",
7
+ "entries": [
8
+ {
9
+ "source": "AGENTS.md",
10
+ "target": "MAVIS.md",
11
+ "category": "entry",
12
+ "disposition": "embed-entry",
13
+ "loadMode": "root-entry",
14
+ "reason": "Cursor AGENTS.md semantics feed .mavis/AGENTS.md; not a MiniMax-reserved name"
15
+ },
16
+ {
17
+ "source": "BUGBOT.md",
18
+ "target": null,
19
+ "category": "platform",
20
+ "disposition": "omit",
21
+ "loadMode": "not-installed",
22
+ "reason": "no-equivalent: Bugbot is Cursor-only; review stays a Verifier skill/role"
23
+ },
24
+ {
25
+ "source": "MCP.md",
26
+ "target": "MCP.md",
27
+ "category": "mcp",
28
+ "disposition": "transform",
29
+ "loadMode": "manual",
30
+ "reason": "Fallback merge into .mavis/mcp.json plus manual MiniMax UI import"
31
+ },
32
+ {
33
+ "source": "REPO_AGENTS.md",
34
+ "target": "REPO_AGENTS.md",
35
+ "category": "entry",
36
+ "disposition": "transform",
37
+ "loadMode": "root-entry",
38
+ "reason": "Root AGENTS.md compatibility floor plus explicit .mavis/AGENTS.md pointer"
39
+ },
40
+ {
41
+ "source": "agents/accessibility-reviewer.md",
42
+ "target": "agents/accessibility-reviewer.md",
43
+ "category": "agents",
44
+ "disposition": "transform",
45
+ "loadMode": "manual",
46
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
47
+ },
48
+ {
49
+ "source": "agents/api-contract-reviewer.md",
50
+ "target": "agents/api-contract-reviewer.md",
51
+ "category": "agents",
52
+ "disposition": "transform",
53
+ "loadMode": "manual",
54
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
55
+ },
56
+ {
57
+ "source": "agents/build-verifier.md",
58
+ "target": "agents/build-verifier.md",
59
+ "category": "agents",
60
+ "disposition": "transform",
61
+ "loadMode": "manual",
62
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
63
+ "sharedCoreStem": "quality/verification-before-completion.md"
64
+ },
65
+ {
66
+ "source": "agents/ci-investigator.md",
67
+ "target": "agents/ci-investigator.md",
68
+ "category": "agents",
69
+ "disposition": "transform",
70
+ "loadMode": "manual",
71
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
72
+ },
73
+ {
74
+ "source": "agents/code-reviewer.md",
75
+ "target": "agents/code-reviewer.md",
76
+ "category": "agents",
77
+ "disposition": "transform",
78
+ "loadMode": "manual",
79
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
80
+ "sharedCoreStem": "receipt-binding"
81
+ },
82
+ {
83
+ "source": "agents/codebase-analyzer.md",
84
+ "target": "agents/codebase-analyzer.md",
85
+ "category": "agents",
86
+ "disposition": "transform",
87
+ "loadMode": "manual",
88
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
89
+ },
90
+ {
91
+ "source": "agents/debugger.md",
92
+ "target": "agents/debugger.md",
93
+ "category": "agents",
94
+ "disposition": "transform",
95
+ "loadMode": "manual",
96
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
97
+ "sharedCoreStem": "receipt-binding"
98
+ },
99
+ {
100
+ "source": "agents/feature-developer.md",
101
+ "target": "agents/feature-developer.md",
102
+ "category": "agents",
103
+ "disposition": "transform",
104
+ "loadMode": "manual",
105
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
106
+ "sharedCoreStem": "receipt-binding"
107
+ },
108
+ {
109
+ "source": "agents/migration-specialist.md",
110
+ "target": "agents/migration-specialist.md",
111
+ "category": "agents",
112
+ "disposition": "transform",
113
+ "loadMode": "manual",
114
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
115
+ },
116
+ {
117
+ "source": "agents/mockup-reviewer.md",
118
+ "target": "agents/mockup-reviewer.md",
119
+ "category": "agents",
120
+ "disposition": "transform",
121
+ "loadMode": "manual",
122
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
123
+ },
124
+ {
125
+ "source": "agents/openspec-author.md",
126
+ "target": "agents/openspec-author.md",
127
+ "category": "agents",
128
+ "disposition": "transform",
129
+ "loadMode": "manual",
130
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
131
+ },
132
+ {
133
+ "source": "agents/performance-auditor.md",
134
+ "target": "agents/performance-auditor.md",
135
+ "category": "agents",
136
+ "disposition": "transform",
137
+ "loadMode": "manual",
138
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
139
+ },
140
+ {
141
+ "source": "agents/playwright-test-generator.md",
142
+ "target": "agents/playwright-test-generator.md",
143
+ "category": "agents",
144
+ "disposition": "transform",
145
+ "loadMode": "manual",
146
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
147
+ },
148
+ {
149
+ "source": "agents/playwright-test-healer.md",
150
+ "target": "agents/playwright-test-healer.md",
151
+ "category": "agents",
152
+ "disposition": "transform",
153
+ "loadMode": "manual",
154
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
155
+ },
156
+ {
157
+ "source": "agents/playwright-test-planner.md",
158
+ "target": "agents/playwright-test-planner.md",
159
+ "category": "agents",
160
+ "disposition": "transform",
161
+ "loadMode": "manual",
162
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
163
+ },
164
+ {
165
+ "source": "agents/qa-tester.md",
166
+ "target": "agents/qa-tester.md",
167
+ "category": "agents",
168
+ "disposition": "transform",
169
+ "loadMode": "manual",
170
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
171
+ "sharedCoreStem": "receipt-binding"
172
+ },
173
+ {
174
+ "source": "agents/security-reviewer.md",
175
+ "target": "agents/security-reviewer.md",
176
+ "category": "agents",
177
+ "disposition": "transform",
178
+ "loadMode": "manual",
179
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
180
+ },
181
+ {
182
+ "source": "agents/solution-architect.md",
183
+ "target": "agents/solution-architect.md",
184
+ "category": "agents",
185
+ "disposition": "transform",
186
+ "loadMode": "manual",
187
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
188
+ },
189
+ {
190
+ "source": "agents/task-analyst.md",
191
+ "target": "agents/task-analyst.md",
192
+ "category": "agents",
193
+ "disposition": "transform",
194
+ "loadMode": "manual",
195
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
196
+ "sharedCoreStem": "agent-team/task-classification.md"
197
+ },
198
+ {
199
+ "source": "agents/task-router.md",
200
+ "target": "agents/task-router.md",
201
+ "category": "agents",
202
+ "disposition": "transform",
203
+ "loadMode": "manual",
204
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file",
205
+ "sharedCoreStem": "agent-team/task-classification.md"
206
+ },
207
+ {
208
+ "source": "agents/tech-writer.md",
209
+ "target": "agents/tech-writer.md",
210
+ "category": "agents",
211
+ "disposition": "transform",
212
+ "loadMode": "manual",
213
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
214
+ },
215
+ {
216
+ "source": "agents/unit-test-generator.md",
217
+ "target": "agents/unit-test-generator.md",
218
+ "category": "agents",
219
+ "disposition": "transform",
220
+ "loadMode": "manual",
221
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
222
+ },
223
+ {
224
+ "source": "agents/unit-test-healer.md",
225
+ "target": "agents/unit-test-healer.md",
226
+ "category": "agents",
227
+ "disposition": "transform",
228
+ "loadMode": "manual",
229
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
230
+ },
231
+ {
232
+ "source": "agents/unit-test-planner.md",
233
+ "target": "agents/unit-test-planner.md",
234
+ "category": "agents",
235
+ "disposition": "transform",
236
+ "loadMode": "manual",
237
+ "reason": "Native workspace agent discovery is unknown; attach with mcode exec --file"
238
+ },
239
+ {
240
+ "source": "commands/spec-start.md",
241
+ "target": "commands/spec-start.md",
242
+ "category": "commands",
243
+ "disposition": "transform",
244
+ "loadMode": "manual",
245
+ "reason": "No file-defined slash command API; keep as an explicit procedure plus exec --file"
246
+ },
247
+ {
248
+ "source": "commands/task-continue.md",
249
+ "target": "commands/task-continue.md",
250
+ "category": "commands",
251
+ "disposition": "transform",
252
+ "loadMode": "manual",
253
+ "reason": "No file-defined slash command API; keep as an explicit procedure plus exec --file"
254
+ },
255
+ {
256
+ "source": "commands/task.md",
257
+ "target": "commands/task.md",
258
+ "category": "commands",
259
+ "disposition": "transform",
260
+ "loadMode": "manual",
261
+ "reason": "No file-defined slash command API; keep as an explicit procedure plus exec --file"
262
+ },
263
+ {
264
+ "source": "commands/technical-retro.md",
265
+ "target": "commands/technical-retro.md",
266
+ "category": "commands",
267
+ "disposition": "transform",
268
+ "loadMode": "manual",
269
+ "reason": "No file-defined slash command API; keep as an explicit procedure plus exec --file"
270
+ },
271
+ {
272
+ "source": "hooks.json",
273
+ "target": null,
274
+ "category": "hooks",
275
+ "disposition": "omit",
276
+ "loadMode": "not-installed",
277
+ "reason": "omit until a documented MiniMax hook schema exists"
278
+ },
279
+ {
280
+ "source": "hooks/chain-team-phases.sh",
281
+ "target": "hooks/chain-team-phases.sh",
282
+ "category": "hooks",
283
+ "disposition": "transform",
284
+ "loadMode": "manual",
285
+ "reason": "Manual/semi-auto chain runner under .mavis/hooks; not auto-registered"
286
+ },
287
+ {
288
+ "source": "hooks/examples/format-edited.example.sh",
289
+ "target": null,
290
+ "category": "hooks",
291
+ "disposition": "omit",
292
+ "loadMode": "not-installed",
293
+ "reason": "omit until a Mavis hook event API is confirmed"
294
+ },
295
+ {
296
+ "source": "hooks/examples/secret-guard.example.sh",
297
+ "target": null,
298
+ "category": "hooks",
299
+ "disposition": "omit",
300
+ "loadMode": "not-installed",
301
+ "reason": "omit until a Mavis hook event API is confirmed"
302
+ },
303
+ {
304
+ "source": "hooks/examples/test-on-save.example.sh",
305
+ "target": null,
306
+ "category": "hooks",
307
+ "disposition": "omit",
308
+ "loadMode": "not-installed",
309
+ "reason": "omit until a Mavis hook event API is confirmed"
310
+ },
311
+ {
312
+ "source": "hooks/guard-shell-command.sh",
313
+ "target": null,
314
+ "category": "hooks",
315
+ "disposition": "omit",
316
+ "loadMode": "not-installed",
317
+ "reason": "omit from active wiring; safety policy stays in entry prose, not enforcement"
318
+ },
319
+ {
320
+ "source": "mcp.json",
321
+ "target": "mcp.json",
322
+ "category": "mcp",
323
+ "disposition": "copy",
324
+ "loadMode": "manual",
325
+ "reason": "Fallback merge into .mavis/mcp.json plus manual MiniMax UI import"
326
+ },
327
+ {
328
+ "source": "rules/agent-team-intake.mdc",
329
+ "target": "rules/agent-team-intake.md",
330
+ "category": "rules",
331
+ "disposition": "transform",
332
+ "loadMode": "referenced",
333
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
334
+ "sharedCoreStem": "agent-team/agent-team-intake.md"
335
+ },
336
+ {
337
+ "source": "rules/agent-team-orchestrator.mdc",
338
+ "target": "rules/agent-team-orchestrator.md",
339
+ "category": "rules",
340
+ "disposition": "transform",
341
+ "loadMode": "referenced",
342
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
343
+ "sharedCoreStem": "agent-team/agent-team-orchestrator.md"
344
+ },
345
+ {
346
+ "source": "rules/ai-local-overlay.mdc",
347
+ "target": "rules/ai-local-overlay.md",
348
+ "category": "rules",
349
+ "disposition": "transform",
350
+ "loadMode": "root-entry",
351
+ "reason": "Essential always-on Cursor rule: summary in entry files; full body referenced from .mavis/rules"
352
+ },
353
+ {
354
+ "source": "rules/anti-sycophancy-discipline.mdc",
355
+ "target": "rules/anti-sycophancy-discipline.md",
356
+ "category": "rules",
357
+ "disposition": "transform",
358
+ "loadMode": "referenced",
359
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
360
+ "sharedCoreStem": "quality/anti-sycophancy-discipline.md"
361
+ },
362
+ {
363
+ "source": "rules/api-services.mdc",
364
+ "target": "rules/api-services.md",
365
+ "category": "rules",
366
+ "disposition": "transform",
367
+ "loadMode": "referenced",
368
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
369
+ },
370
+ {
371
+ "source": "rules/architecture-boundaries-ui.mdc",
372
+ "target": "rules/architecture-boundaries-ui.md",
373
+ "category": "rules",
374
+ "disposition": "transform",
375
+ "loadMode": "referenced",
376
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
377
+ },
378
+ {
379
+ "source": "rules/architecture-boundaries.mdc",
380
+ "target": "rules/architecture-boundaries.md",
381
+ "category": "rules",
382
+ "disposition": "transform",
383
+ "loadMode": "referenced",
384
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
385
+ },
386
+ {
387
+ "source": "rules/arrow-functions.mdc",
388
+ "target": "rules/arrow-functions.md",
389
+ "category": "rules",
390
+ "disposition": "transform",
391
+ "loadMode": "referenced",
392
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
393
+ },
394
+ {
395
+ "source": "rules/code-quality-and-refactoring.mdc",
396
+ "target": "rules/code-quality-and-refactoring.md",
397
+ "category": "rules",
398
+ "disposition": "transform",
399
+ "loadMode": "root-entry",
400
+ "reason": "Essential always-on Cursor rule: summary in entry files; full body referenced from .mavis/rules",
401
+ "sharedCoreStem": "quality/code-quality-and-refactoring.md"
402
+ },
403
+ {
404
+ "source": "rules/code-review-mr.mdc",
405
+ "target": "rules/code-review-mr.md",
406
+ "category": "rules",
407
+ "disposition": "transform",
408
+ "loadMode": "referenced",
409
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
410
+ "sharedCoreStem": "review/code-review-mr.md"
411
+ },
412
+ {
413
+ "source": "rules/css-property-order-stylelint.mdc",
414
+ "target": "rules/css-property-order-stylelint.md",
415
+ "category": "rules",
416
+ "disposition": "transform",
417
+ "loadMode": "referenced",
418
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
419
+ },
420
+ {
421
+ "source": "rules/design-guidance.mdc",
422
+ "target": "rules/design-guidance.md",
423
+ "category": "rules",
424
+ "disposition": "transform",
425
+ "loadMode": "referenced",
426
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
427
+ "sharedCoreStem": "quality/design-guidance.md"
428
+ },
429
+ {
430
+ "source": "rules/feature-delivery-workflow.mdc",
431
+ "target": "rules/feature-delivery-workflow.md",
432
+ "category": "rules",
433
+ "disposition": "transform",
434
+ "loadMode": "referenced",
435
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
436
+ "sharedCoreStem": "architecture/feature-delivery-workflow.md"
437
+ },
438
+ {
439
+ "source": "rules/http-client.mdc",
440
+ "target": "rules/http-client.md",
441
+ "category": "rules",
442
+ "disposition": "transform",
443
+ "loadMode": "referenced",
444
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
445
+ },
446
+ {
447
+ "source": "rules/layer-barrel-exports.mdc",
448
+ "target": "rules/layer-barrel-exports.md",
449
+ "category": "rules",
450
+ "disposition": "transform",
451
+ "loadMode": "referenced",
452
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
453
+ },
454
+ {
455
+ "source": "rules/mcp-usage.mdc",
456
+ "target": "rules/mcp-usage.md",
457
+ "category": "rules",
458
+ "disposition": "transform",
459
+ "loadMode": "referenced",
460
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
461
+ "sharedCoreStem": "quality/mcp-usage.md"
462
+ },
463
+ {
464
+ "source": "rules/mockup-review.mdc",
465
+ "target": "rules/mockup-review.md",
466
+ "category": "rules",
467
+ "disposition": "transform",
468
+ "loadMode": "referenced",
469
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
470
+ "sharedCoreStem": "review/mockup-review.md"
471
+ },
472
+ {
473
+ "source": "rules/navigation-router-stack.mdc",
474
+ "target": "rules/navigation-router-stack.md",
475
+ "category": "rules",
476
+ "disposition": "transform",
477
+ "loadMode": "referenced",
478
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
479
+ },
480
+ {
481
+ "source": "rules/navigation-router-ui.mdc",
482
+ "target": "rules/navigation-router-ui.md",
483
+ "category": "rules",
484
+ "disposition": "transform",
485
+ "loadMode": "referenced",
486
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
487
+ },
488
+ {
489
+ "source": "rules/next-app-core.mdc",
490
+ "target": "rules/next-app-core.md",
491
+ "category": "rules",
492
+ "disposition": "transform",
493
+ "loadMode": "root-entry",
494
+ "reason": "Essential always-on Cursor rule: summary in entry files; full body referenced from .mavis/rules"
495
+ },
496
+ {
497
+ "source": "rules/next-app-router.mdc",
498
+ "target": "rules/next-app-router.md",
499
+ "category": "rules",
500
+ "disposition": "transform",
501
+ "loadMode": "referenced",
502
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
503
+ },
504
+ {
505
+ "source": "rules/no-props-spread.mdc",
506
+ "target": "rules/no-props-spread.md",
507
+ "category": "rules",
508
+ "disposition": "transform",
509
+ "loadMode": "referenced",
510
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
511
+ },
512
+ {
513
+ "source": "rules/no-type-assertion-as-import-export.mdc",
514
+ "target": "rules/no-type-assertion-as-import-export.md",
515
+ "category": "rules",
516
+ "disposition": "transform",
517
+ "loadMode": "referenced",
518
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
519
+ },
520
+ {
521
+ "source": "rules/package-manager.mdc",
522
+ "target": "rules/package-manager.md",
523
+ "category": "rules",
524
+ "disposition": "transform",
525
+ "loadMode": "root-entry",
526
+ "reason": "Essential always-on Cursor rule: summary in entry files; full body referenced from .mavis/rules"
527
+ },
528
+ {
529
+ "source": "rules/playwright-agents.mdc",
530
+ "target": "rules/playwright-agents.md",
531
+ "category": "rules",
532
+ "disposition": "transform",
533
+ "loadMode": "referenced",
534
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
535
+ },
536
+ {
537
+ "source": "rules/post-change-lint.mdc",
538
+ "target": "rules/post-change-lint.md",
539
+ "category": "rules",
540
+ "disposition": "transform",
541
+ "loadMode": "referenced",
542
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
543
+ },
544
+ {
545
+ "source": "rules/preset-layering.mdc",
546
+ "target": "rules/preset-layering.md",
547
+ "category": "rules",
548
+ "disposition": "transform",
549
+ "loadMode": "referenced",
550
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
551
+ "sharedCoreStem": "meta/preset-layering.md"
552
+ },
553
+ {
554
+ "source": "rules/preset-no-cross-stack-leakage.mdc",
555
+ "target": "rules/preset-no-cross-stack-leakage.md",
556
+ "category": "rules",
557
+ "disposition": "transform",
558
+ "loadMode": "referenced",
559
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
560
+ "sharedCoreStem": "meta/preset-no-cross-stack-leakage.md"
561
+ },
562
+ {
563
+ "source": "rules/preset-pr-checklist.mdc",
564
+ "target": "rules/preset-pr-checklist.md",
565
+ "category": "rules",
566
+ "disposition": "transform",
567
+ "loadMode": "referenced",
568
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
569
+ "sharedCoreStem": "meta/preset-pr-checklist.md"
570
+ },
571
+ {
572
+ "source": "rules/preset-token-budget.mdc",
573
+ "target": "rules/preset-token-budget.md",
574
+ "category": "rules",
575
+ "disposition": "transform",
576
+ "loadMode": "referenced",
577
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
578
+ "sharedCoreStem": "meta/preset-token-budget.md"
579
+ },
580
+ {
581
+ "source": "rules/preset-twin-sync.mdc",
582
+ "target": "rules/preset-twin-sync.md",
583
+ "category": "rules",
584
+ "disposition": "transform",
585
+ "loadMode": "referenced",
586
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
587
+ "sharedCoreStem": "meta/preset-twin-sync.md"
588
+ },
589
+ {
590
+ "source": "rules/product-specs-authoring.mdc",
591
+ "target": "rules/product-specs-authoring.md",
592
+ "category": "rules",
593
+ "disposition": "transform",
594
+ "loadMode": "referenced",
595
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
596
+ "sharedCoreStem": "architecture/product-specs-authoring.md"
597
+ },
598
+ {
599
+ "source": "rules/product-specs.mdc",
600
+ "target": "rules/product-specs.md",
601
+ "category": "rules",
602
+ "disposition": "transform",
603
+ "loadMode": "referenced",
604
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
605
+ "sharedCoreStem": "architecture/product-specs.md"
606
+ },
607
+ {
608
+ "source": "rules/public-imports.mdc",
609
+ "target": "rules/public-imports.md",
610
+ "category": "rules",
611
+ "disposition": "transform",
612
+ "loadMode": "referenced",
613
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
614
+ },
615
+ {
616
+ "source": "rules/react-a11y-coding.mdc",
617
+ "target": "rules/react-a11y-coding.md",
618
+ "category": "rules",
619
+ "disposition": "transform",
620
+ "loadMode": "referenced",
621
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
622
+ },
623
+ {
624
+ "source": "rules/react-next-anti-hallucination.mdc",
625
+ "target": "rules/react-next-anti-hallucination.md",
626
+ "category": "rules",
627
+ "disposition": "transform",
628
+ "loadMode": "referenced",
629
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
630
+ },
631
+ {
632
+ "source": "rules/react-ui.mdc",
633
+ "target": "rules/react-ui.md",
634
+ "category": "rules",
635
+ "disposition": "transform",
636
+ "loadMode": "referenced",
637
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
638
+ },
639
+ {
640
+ "source": "rules/reference-features.mdc",
641
+ "target": "rules/reference-features.md",
642
+ "category": "rules",
643
+ "disposition": "transform",
644
+ "loadMode": "referenced",
645
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
646
+ "sharedCoreStem": "architecture/reference-features.template.md"
647
+ },
648
+ {
649
+ "source": "rules/security-next.mdc",
650
+ "target": "rules/security-next.md",
651
+ "category": "rules",
652
+ "disposition": "transform",
653
+ "loadMode": "referenced",
654
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
655
+ },
656
+ {
657
+ "source": "rules/store-rtk.mdc",
658
+ "target": "rules/store-rtk.md",
659
+ "category": "rules",
660
+ "disposition": "transform",
661
+ "loadMode": "referenced",
662
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
663
+ },
664
+ {
665
+ "source": "rules/technical-retro.mdc",
666
+ "target": "rules/technical-retro.md",
667
+ "category": "rules",
668
+ "disposition": "transform",
669
+ "loadMode": "referenced",
670
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
671
+ "sharedCoreStem": "review/technical-retro.md"
672
+ },
673
+ {
674
+ "source": "rules/tests-e2e-structure.mdc",
675
+ "target": "rules/tests-e2e-structure.md",
676
+ "category": "rules",
677
+ "disposition": "transform",
678
+ "loadMode": "referenced",
679
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
680
+ "sharedCoreStem": "testing/testing-principles.md"
681
+ },
682
+ {
683
+ "source": "rules/tests-unit.mdc",
684
+ "target": "rules/tests-unit.md",
685
+ "category": "rules",
686
+ "disposition": "transform",
687
+ "loadMode": "referenced",
688
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
689
+ "sharedCoreStem": "testing/testing-principles.md"
690
+ },
691
+ {
692
+ "source": "rules/types-jsdoc.mdc",
693
+ "target": "rules/types-jsdoc.md",
694
+ "category": "rules",
695
+ "disposition": "transform",
696
+ "loadMode": "referenced",
697
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load"
698
+ },
699
+ {
700
+ "source": "rules/ux-design.mdc",
701
+ "target": "rules/ux-design.md",
702
+ "category": "rules",
703
+ "disposition": "transform",
704
+ "loadMode": "referenced",
705
+ "reason": "Requestable Cursor rule: referenced from entry files; not claimed as MiniMax auto-load",
706
+ "sharedCoreStem": "review/ux-design.md"
707
+ },
708
+ {
709
+ "source": "skills/ci-investigation/SKILL.md",
710
+ "target": "skills/ci-investigation/SKILL.md",
711
+ "category": "skills",
712
+ "disposition": "transform",
713
+ "loadMode": "referenced",
714
+ "reason": "Workspace skill discovery without a root reference is unknown"
715
+ },
716
+ {
717
+ "source": "skills/code-review/SKILL.md",
718
+ "target": "skills/code-review/SKILL.md",
719
+ "category": "skills",
720
+ "disposition": "transform",
721
+ "loadMode": "referenced",
722
+ "reason": "Workspace skill discovery without a root reference is unknown",
723
+ "sharedCoreStem": "review/receiving-code-review.md"
724
+ },
725
+ {
726
+ "source": "skills/debug-investigation/SKILL.md",
727
+ "target": "skills/debug-investigation/SKILL.md",
728
+ "category": "skills",
729
+ "disposition": "transform",
730
+ "loadMode": "referenced",
731
+ "reason": "Workspace skill discovery without a root reference is unknown",
732
+ "sharedCoreStem": "quality/debug-investigation.md"
733
+ },
734
+ {
735
+ "source": "skills/feature-delivery/SKILL.md",
736
+ "target": "skills/feature-delivery/SKILL.md",
737
+ "category": "skills",
738
+ "disposition": "transform",
739
+ "loadMode": "referenced",
740
+ "reason": "Workspace skill discovery without a root reference is unknown"
741
+ },
742
+ {
743
+ "source": "skills/mockup-review/SKILL.md",
744
+ "target": "skills/mockup-review/SKILL.md",
745
+ "category": "skills",
746
+ "disposition": "transform",
747
+ "loadMode": "referenced",
748
+ "reason": "Workspace skill discovery without a root reference is unknown"
749
+ },
750
+ {
751
+ "source": "skills/playwright-e2e/SKILL.md",
752
+ "target": "skills/playwright-e2e/SKILL.md",
753
+ "category": "skills",
754
+ "disposition": "transform",
755
+ "loadMode": "referenced",
756
+ "reason": "Workspace skill discovery without a root reference is unknown"
757
+ },
758
+ {
759
+ "source": "skills/react-performance/SKILL.md",
760
+ "target": "skills/react-performance/SKILL.md",
761
+ "category": "skills",
762
+ "disposition": "transform",
763
+ "loadMode": "referenced",
764
+ "reason": "Workspace skill discovery without a root reference is unknown"
765
+ },
766
+ {
767
+ "source": "skills/spec-authoring/SKILL.md",
768
+ "target": "skills/spec-authoring/SKILL.md",
769
+ "category": "skills",
770
+ "disposition": "transform",
771
+ "loadMode": "referenced",
772
+ "reason": "Workspace skill discovery without a root reference is unknown"
773
+ },
774
+ {
775
+ "source": "skills/spec-discovery/SKILL.md",
776
+ "target": "skills/spec-discovery/SKILL.md",
777
+ "category": "skills",
778
+ "disposition": "transform",
779
+ "loadMode": "referenced",
780
+ "reason": "Workspace skill discovery without a root reference is unknown"
781
+ },
782
+ {
783
+ "source": "skills/technical-retro/SKILL.md",
784
+ "target": "skills/technical-retro/SKILL.md",
785
+ "category": "skills",
786
+ "disposition": "transform",
787
+ "loadMode": "referenced",
788
+ "reason": "Workspace skill discovery without a root reference is unknown"
789
+ },
790
+ {
791
+ "source": "skills/unit-testing/SKILL.md",
792
+ "target": "skills/unit-testing/SKILL.md",
793
+ "category": "skills",
794
+ "disposition": "transform",
795
+ "loadMode": "referenced",
796
+ "reason": "Workspace skill discovery without a root reference is unknown"
797
+ },
798
+ {
799
+ "source": "skills/ux-design/SKILL.md",
800
+ "target": "skills/ux-design/SKILL.md",
801
+ "category": "skills",
802
+ "disposition": "transform",
803
+ "loadMode": "referenced",
804
+ "reason": "Workspace skill discovery without a root reference is unknown"
805
+ },
806
+ {
807
+ "source": "skills/write-adr/SKILL.md",
808
+ "target": "skills/write-adr/SKILL.md",
809
+ "category": "skills",
810
+ "disposition": "transform",
811
+ "loadMode": "referenced",
812
+ "reason": "Workspace skill discovery without a root reference is unknown"
813
+ },
814
+ {
815
+ "source": "team/conventions.md",
816
+ "target": "team/conventions.md",
817
+ "category": "team",
818
+ "disposition": "transform",
819
+ "loadMode": "manual",
820
+ "reason": "File pipeline remains audit SoT under .mavis/team"
821
+ },
822
+ {
823
+ "source": "team/fixtures/artifact-manifest.example.json",
824
+ "target": "team/fixtures/artifact-manifest.example.json",
825
+ "category": "team",
826
+ "disposition": "copy",
827
+ "loadMode": "manual",
828
+ "reason": "File pipeline remains audit SoT under .mavis/team"
829
+ },
830
+ {
831
+ "source": "team/fixtures/bugfix-standard.json",
832
+ "target": "team/fixtures/bugfix-standard.json",
833
+ "category": "team",
834
+ "disposition": "copy",
835
+ "loadMode": "manual",
836
+ "reason": "File pipeline remains audit SoT under .mavis/team"
837
+ },
838
+ {
839
+ "source": "team/fixtures/feature-full.json",
840
+ "target": "team/fixtures/feature-full.json",
841
+ "category": "team",
842
+ "disposition": "copy",
843
+ "loadMode": "manual",
844
+ "reason": "File pipeline remains audit SoT under .mavis/team"
845
+ },
846
+ {
847
+ "source": "team/fixtures/feature-light.json",
848
+ "target": "team/fixtures/feature-light.json",
849
+ "category": "team",
850
+ "disposition": "copy",
851
+ "loadMode": "manual",
852
+ "reason": "File pipeline remains audit SoT under .mavis/team"
853
+ },
854
+ {
855
+ "source": "team/fixtures/feature-with-figma-url.json",
856
+ "target": "team/fixtures/feature-with-figma-url.json",
857
+ "category": "team",
858
+ "disposition": "copy",
859
+ "loadMode": "manual",
860
+ "reason": "File pipeline remains audit SoT under .mavis/team"
861
+ },
862
+ {
863
+ "source": "team/fixtures/feature-with-ux-no-figma.json",
864
+ "target": "team/fixtures/feature-with-ux-no-figma.json",
865
+ "category": "team",
866
+ "disposition": "copy",
867
+ "loadMode": "manual",
868
+ "reason": "File pipeline remains audit SoT under .mavis/team"
869
+ },
870
+ {
871
+ "source": "team/fixtures/memlog.example.md",
872
+ "target": "team/fixtures/memlog.example.md",
873
+ "category": "team",
874
+ "disposition": "transform",
875
+ "loadMode": "manual",
876
+ "reason": "File pipeline remains audit SoT under .mavis/team"
877
+ },
878
+ {
879
+ "source": "team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json",
880
+ "target": "team/fixtures/metrics-scenarios/tasks/human-gate/metrics.json",
881
+ "category": "team",
882
+ "disposition": "copy",
883
+ "loadMode": "manual",
884
+ "reason": "File pipeline remains audit SoT under .mavis/team"
885
+ },
886
+ {
887
+ "source": "team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json",
888
+ "target": "team/fixtures/metrics-scenarios/tasks/missing-ledger/status.json",
889
+ "category": "team",
890
+ "disposition": "copy",
891
+ "loadMode": "manual",
892
+ "reason": "File pipeline remains audit SoT under .mavis/team"
893
+ },
894
+ {
895
+ "source": "team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json",
896
+ "target": "team/fixtures/metrics-scenarios/tasks/parallel-receipts/metrics.json",
897
+ "category": "team",
898
+ "disposition": "copy",
899
+ "loadMode": "manual",
900
+ "reason": "File pipeline remains audit SoT under .mavis/team"
901
+ },
902
+ {
903
+ "source": "team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json",
904
+ "target": "team/fixtures/metrics-scenarios/tasks/serial-retry/metrics.json",
905
+ "category": "team",
906
+ "disposition": "copy",
907
+ "loadMode": "manual",
908
+ "reason": "File pipeline remains audit SoT under .mavis/team"
909
+ },
910
+ {
911
+ "source": "team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json",
912
+ "target": "team/fixtures/metrics-scenarios/tasks/validation-failed/metrics.json",
913
+ "category": "team",
914
+ "disposition": "copy",
915
+ "loadMode": "manual",
916
+ "reason": "File pipeline remains audit SoT under .mavis/team"
917
+ },
918
+ {
919
+ "source": "team/fixtures/metrics.example.json",
920
+ "target": "team/fixtures/metrics.example.json",
921
+ "category": "team",
922
+ "disposition": "copy",
923
+ "loadMode": "manual",
924
+ "reason": "File pipeline remains audit SoT under .mavis/team"
925
+ },
926
+ {
927
+ "source": "team/fixtures/mockup-review-fail-embedded-status.json",
928
+ "target": "team/fixtures/mockup-review-fail-embedded-status.json",
929
+ "category": "team",
930
+ "disposition": "copy",
931
+ "loadMode": "manual",
932
+ "reason": "File pipeline remains audit SoT under .mavis/team"
933
+ },
934
+ {
935
+ "source": "team/fixtures/mockup-review-standalone.json",
936
+ "target": "team/fixtures/mockup-review-standalone.json",
937
+ "category": "team",
938
+ "disposition": "copy",
939
+ "loadMode": "manual",
940
+ "reason": "File pipeline remains audit SoT under .mavis/team"
941
+ },
942
+ {
943
+ "source": "team/fixtures/ux-design-standalone.json",
944
+ "target": "team/fixtures/ux-design-standalone.json",
945
+ "category": "team",
946
+ "disposition": "copy",
947
+ "loadMode": "manual",
948
+ "reason": "File pipeline remains audit SoT under .mavis/team"
949
+ },
950
+ {
951
+ "source": "team/tasks/.gitkeep",
952
+ "target": "team/tasks/.gitkeep",
953
+ "category": "team",
954
+ "disposition": "copy",
955
+ "loadMode": "manual",
956
+ "reason": "File pipeline remains audit SoT under .mavis/team"
957
+ }
958
+ ]
959
+ }