@gong-ym/ai-spec-auto 0.2.13 → 0.2.15

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 (631) hide show
  1. package/.agents/commands/README.md +33 -33
  2. package/.agents/commands/claude/spec-start-review.md +88 -88
  3. package/.agents/commands/codex/spec-continue.md +74 -74
  4. package/.agents/commands/codex/spec-orchestrate.md +35 -35
  5. package/.agents/commands/codex/spec-start-review.md +88 -88
  6. package/.agents/commands/codex/spec-start.md +67 -67
  7. package/.agents/commands/codex/spec-status.md +22 -22
  8. package/.agents/commands/codex/spec-stop.md +29 -29
  9. package/.agents/commands/codex/spec-update.md +40 -40
  10. package/.agents/commands/common/branch-review.md +117 -117
  11. package/.agents/commands/common/project-init.md +25 -25
  12. package/.agents/commands/common/spec-continue.md +74 -74
  13. package/.agents/commands/common/spec-orchestrate.md +35 -35
  14. package/.agents/commands/common/spec-start-review.md +82 -82
  15. package/.agents/commands/common/spec-start.md +67 -67
  16. package/.agents/commands/common/spec-status.md +22 -22
  17. package/.agents/commands/common/spec-stop.md +29 -29
  18. package/.agents/commands/common/spec-update.md +60 -40
  19. package/.agents/commands/cursor/opsx-apply.md +55 -55
  20. package/.agents/commands/cursor/opsx-archive.md +48 -48
  21. package/.agents/commands/cursor/opsx-explore.md +45 -45
  22. package/.agents/commands/cursor/opsx-propose.md +59 -59
  23. package/.agents/commands/cursor/spec-continue.md +63 -63
  24. package/.agents/commands/cursor/spec-orchestrate.md +53 -53
  25. package/.agents/commands/cursor/spec-start-review.md +78 -78
  26. package/.agents/commands/cursor/spec-start.md +59 -59
  27. package/.agents/commands/cursor/spec-status.md +30 -30
  28. package/.agents/commands/cursor/spec-stop.md +29 -29
  29. package/.agents/commands/cursor/spec-update.md +41 -41
  30. package/.agents/flows/FRONTMATTER.md +263 -263
  31. package/.agents/flows/RUN_OUTPUT.md +263 -263
  32. package/.agents/flows/common/README.md +29 -29
  33. package/.agents/flows/common/bugfix-to-verification.md +95 -95
  34. package/.agents/flows/common/change-to-architecture-review.md +89 -89
  35. package/.agents/flows/common/change-to-release.md +94 -94
  36. package/.agents/flows/common/prd-to-delivery.md +184 -184
  37. package/.agents/flows/common/requirement-to-observability.md +97 -97
  38. package/.agents/orchestration/README.md +22 -22
  39. package/.agents/orchestration/expert-dispatch-spec.md +155 -155
  40. package/.agents/orchestration/expert-executor-spec.md +84 -84
  41. package/.agents/orchestration/expert-runtime-action-spec.md +73 -73
  42. package/.agents/orchestration/runtime-state-handoff-spec.md +264 -264
  43. package/.agents/orchestration/task-anchor-spec.md +212 -212
  44. package/.agents/orchestration/task-orchestrator-adapter-payload.md +153 -153
  45. package/.agents/orchestration/task-orchestrator-bootstrap-payload.md +145 -145
  46. package/.agents/orchestration/task-orchestrator-output-extractor-spec.md +93 -93
  47. package/.agents/orchestration/task-orchestrator-run-plan-template.md +312 -312
  48. package/.agents/orchestration/task-orchestrator-runtime-hooks.md +214 -214
  49. package/.agents/registry/README.md +63 -63
  50. package/.agents/registry/flows.json +125 -125
  51. package/.agents/registry/profiles.json +101 -101
  52. package/.agents/registry/roles.json +1265 -1265
  53. package/.agents/registry/rules.json +148 -148
  54. package/.agents/registry/scenario-packages.json +123 -123
  55. package/.agents/registry/skills.json +130 -130
  56. package/.agents/roles/INDEX.md +346 -346
  57. package/.agents/roles/common/README.md +76 -76
  58. package/.agents/roles/common/archive-change.md +80 -80
  59. package/.agents/roles/common/backend-implementer.md +92 -92
  60. package/.agents/roles/common/code-guardian.md +151 -151
  61. package/.agents/roles/common/frontend-implementer.md +146 -146
  62. package/.agents/roles/common/requirement-analyst.md +138 -138
  63. package/.agents/roles/common/task-orchestrator-routing.md +301 -301
  64. package/.agents/roles/common/task-orchestrator.md +224 -224
  65. package/.agents/roles/common/tooling-implementer.md +92 -92
  66. package/.agents/roles/domains/README.md +35 -35
  67. package/.agents/roles/domains/delivery/README.md +11 -11
  68. package/.agents/roles/domains/delivery/container-specialist.md +50 -50
  69. package/.agents/roles/domains/delivery/deployment-specialist.md +50 -50
  70. package/.agents/roles/domains/delivery/pipeline-specialist.md +50 -50
  71. package/.agents/roles/domains/demand-design/README.md +16 -16
  72. package/.agents/roles/domains/demand-design/api-contract-specialist.md +52 -52
  73. package/.agents/roles/domains/demand-design/design-collaborator.md +58 -58
  74. package/.agents/roles/domains/documentation/README.md +11 -11
  75. package/.agents/roles/domains/documentation/api-doc-specialist.md +50 -50
  76. package/.agents/roles/domains/documentation/component-doc-specialist.md +49 -49
  77. package/.agents/roles/domains/documentation/technical-writing-specialist.md +48 -48
  78. package/.agents/roles/domains/engineering/README.md +17 -17
  79. package/.agents/roles/domains/engineering/architecture-advisor.md +53 -53
  80. package/.agents/roles/domains/engineering/build-specialist.md +51 -51
  81. package/.agents/roles/domains/engineering/dependency-governor.md +52 -52
  82. package/.agents/roles/domains/governance/README.md +17 -17
  83. package/.agents/roles/domains/governance/api-governance-specialist.md +51 -51
  84. package/.agents/roles/domains/governance/lint-policy-specialist.md +49 -49
  85. package/.agents/roles/domains/governance/route-governance-specialist.md +52 -52
  86. package/.agents/roles/domains/observability/README.md +11 -11
  87. package/.agents/roles/domains/observability/error-tracker.md +50 -50
  88. package/.agents/roles/domains/observability/event-instrumentation-specialist.md +51 -51
  89. package/.agents/roles/domains/observability/rum-analyst.md +50 -50
  90. package/.agents/roles/domains/performance/README.md +11 -11
  91. package/.agents/roles/domains/performance/asset-optimizer.md +50 -50
  92. package/.agents/roles/domains/performance/performance-auditor.md +56 -56
  93. package/.agents/roles/domains/performance/vitals-analyst.md +50 -50
  94. package/.agents/roles/domains/security-a11y/README.md +11 -11
  95. package/.agents/roles/domains/security-a11y/a11y-auditor.md +50 -50
  96. package/.agents/roles/domains/security-a11y/aria-specialist.md +51 -51
  97. package/.agents/roles/domains/security-a11y/security-reviewer.md +49 -49
  98. package/.agents/roles/domains/testing/README.md +12 -12
  99. package/.agents/roles/domains/testing/coverage-analyst.md +50 -50
  100. package/.agents/roles/domains/testing/e2e-test-specialist.md +51 -51
  101. package/.agents/roles/domains/testing/unit-test-specialist.md +56 -56
  102. package/.agents/roles/domains/testing/verification-reviewer.md +67 -67
  103. package/.agents/rules/README.md +87 -87
  104. package/.agents/rules/common/02-/347/274/226/347/240/201/350/247/204/350/214/203.md +45 -45
  105. package/.agents/rules/common/08-/351/200/232/347/224/250/347/272/246/346/235/237.md +63 -63
  106. package/.agents/rules/common/10-/346/226/207/346/241/243/350/247/204/350/214/203.md +101 -101
  107. package/.agents/rules/common/12-Superpowers/346/211/247/350/241/214/350/247/204/350/214/203.md +46 -46
  108. package/.agents/rules/common/14-/345/256/241/350/256/241/346/261/207/346/212/245/350/247/204/350/214/203.md +107 -107
  109. package/.agents/rules/common/15-visual-gate-wait.md +90 -90
  110. package/.agents/rules/profiles/nestjs/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +27 -27
  111. package/.agents/rules/profiles/nestjs/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +20 -20
  112. package/.agents/rules/profiles/nestjs/04-/346/250/241/345/235/227/347/273/223/346/236/204/350/247/204/350/214/203.md +24 -24
  113. package/.agents/rules/profiles/nestjs/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +24 -24
  114. package/.agents/rules/profiles/nestjs/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +24 -24
  115. package/.agents/rules/profiles/nestjs/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +20 -20
  116. package/.agents/rules/profiles/nestjs/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +20 -20
  117. package/.agents/rules/profiles/nestjs/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +24 -24
  118. package/.agents/rules/profiles/nestjs/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +20 -20
  119. package/.agents/rules/profiles/node-tooling/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +30 -30
  120. package/.agents/rules/profiles/node-tooling/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -37
  121. package/.agents/rules/profiles/node-tooling/04-CLI/344/270/216/346/250/241/345/235/227/350/247/204/350/214/203.md +42 -42
  122. package/.agents/rules/profiles/node-tooling/05-Contract/344/270/216Schema/350/247/204/350/214/203.md +42 -42
  123. package/.agents/rules/profiles/node-tooling/06-/350/277/220/350/241/214/346/227/266/346/226/207/344/273/266/350/247/204/350/214/203.md +30 -30
  124. package/.agents/rules/profiles/node-tooling/07-/346/227/245/345/277/227/344/270/216/351/224/231/350/257/257/345/244/204/347/220/206/350/247/204/350/214/203.md +60 -60
  125. package/.agents/rules/profiles/node-tooling/09-/350/204/232/346/234/254/344/270/216/345/205/245/345/217/243/350/247/204/350/214/203.md +45 -45
  126. package/.agents/rules/profiles/node-tooling/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +41 -41
  127. package/.agents/rules/profiles/node-tooling/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +55 -55
  128. package/.agents/rules/profiles/react/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +29 -29
  129. package/.agents/rules/profiles/react/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +104 -104
  130. package/.agents/rules/profiles/react/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +46 -46
  131. package/.agents/rules/profiles/react/05-API/350/247/204/350/214/203.md +67 -67
  132. package/.agents/rules/profiles/react/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +54 -54
  133. package/.agents/rules/profiles/react/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +226 -226
  134. package/.agents/rules/profiles/react/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +71 -71
  135. package/.agents/rules/profiles/react/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -80
  136. package/.agents/rules/profiles/react/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -159
  137. package/.agents/rules/profiles/springboot/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +31 -31
  138. package/.agents/rules/profiles/springboot/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +37 -37
  139. package/.agents/rules/profiles/springboot/04-/345/210/206/345/261/202/350/247/204/350/214/203.md +33 -33
  140. package/.agents/rules/profiles/springboot/05-/346/216/245/345/217/243/344/270/216/345/245/221/347/272/246/350/247/204/350/214/203.md +51 -51
  141. package/.agents/rules/profiles/springboot/06-/346/225/260/346/215/256/350/256/277/351/227/256/350/247/204/350/214/203.md +34 -34
  142. package/.agents/rules/profiles/springboot/07-/351/205/215/347/275/256/344/270/216/350/277/220/350/241/214/346/227/266/350/247/204/350/214/203.md +38 -38
  143. package/.agents/rules/profiles/springboot/09-/345/274/202/345/270/270/344/270/216/346/227/245/345/277/227/350/247/204/350/214/203.md +48 -48
  144. package/.agents/rules/profiles/springboot/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +43 -43
  145. package/.agents/rules/profiles/springboot/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +48 -48
  146. package/.agents/rules/profiles/vue/01-/351/241/271/347/233/256/346/246/202/350/277/260.md +47 -47
  147. package/.agents/rules/profiles/vue/03-/351/241/271/347/233/256/347/273/223/346/236/204.md +106 -106
  148. package/.agents/rules/profiles/vue/04-/347/273/204/344/273/266/350/247/204/350/214/203.md +61 -61
  149. package/.agents/rules/profiles/vue/05-API/350/247/204/350/214/203.md +67 -67
  150. package/.agents/rules/profiles/vue/06-/350/267/257/347/224/261/350/247/204/350/214/203.md +69 -69
  151. package/.agents/rules/profiles/vue/07-/347/212/266/346/200/201/347/256/241/347/220/206.md +93 -93
  152. package/.agents/rules/profiles/vue/09-/346/240/267/345/274/217/350/247/204/350/214/203.md +67 -67
  153. package/.agents/rules/profiles/vue/11-/346/265/213/350/257/225/350/247/204/350/214/203.md +80 -80
  154. package/.agents/rules/profiles/vue/13-/344/273/243/347/240/201/346/240/274/345/274/217/345/214/226/344/270/216/346/243/200/346/237/245.md +159 -159
  155. package/.agents/skills/README.md +171 -171
  156. package/.agents/skills/common/archive-change/SKILL.md +180 -180
  157. package/.agents/skills/common/branch-code-reviewer/SKILL.md +533 -459
  158. package/.agents/skills/common/branch-code-reviewer/references/business-risk-guide.md +293 -293
  159. package/.agents/skills/common/branch-code-reviewer/references/html-template-guide.md +121 -121
  160. package/.agents/skills/common/config-and-secret-scan/SKILL.md +99 -99
  161. package/.agents/skills/common/create-proposal/SKILL.md +192 -192
  162. package/.agents/skills/common/create-proposal/evals/evals.json +16 -16
  163. package/.agents/skills/common/create-proposal/evals/train_queries.json +18 -18
  164. package/.agents/skills/common/create-proposal/evals/validation_queries.json +18 -18
  165. package/.agents/skills/common/create-proposal/references/interaction-spec-template.md +42 -42
  166. package/.agents/skills/common/create-test/SKILL.md +292 -292
  167. package/.agents/skills/common/dependency-impact-graph/SKILL.md +80 -80
  168. package/.agents/skills/common/execute-task/SKILL.md +206 -206
  169. package/.agents/skills/common/execute-task/evals/evals.json +16 -16
  170. package/.agents/skills/common/execute-task/evals/train_queries.json +18 -18
  171. package/.agents/skills/common/execute-task/evals/validation_queries.json +18 -18
  172. package/.agents/skills/common/find-skills/SKILL.md +144 -144
  173. package/.agents/skills/common/install-ai-spec-auto/SKILL.md +260 -260
  174. package/.agents/skills/common/install-ai-spec-auto/evals/evals.json +17 -17
  175. package/.agents/skills/common/install-ai-spec-auto/evals/train_queries.json +18 -18
  176. package/.agents/skills/common/install-ai-spec-auto/evals/validation_queries.json +18 -18
  177. package/.agents/skills/common/project-init/SKILL.md +178 -178
  178. package/.agents/skills/common/project-init/evals/evals.json +16 -16
  179. package/.agents/skills/common/project-init/evals/train_queries.json +18 -18
  180. package/.agents/skills/common/project-init/evals/validation_queries.json +18 -18
  181. package/.agents/skills/common/project-init/references/custom-rule-generation.md +89 -89
  182. package/.agents/skills/common/project-init/references/deep-scan-rules.md +67 -67
  183. package/.agents/skills/common/project-init/references/output-contracts.md +71 -71
  184. package/.agents/skills/common/project-init/references/repo-fact-gathering.md +83 -83
  185. package/.agents/skills/common/project-init/references/scope-resolution.md +76 -76
  186. package/.agents/skills/common/project-init/scripts/inspect-project.js +112 -112
  187. package/.agents/skills/common/skill-creator/LICENSE.txt +201 -201
  188. package/.agents/skills/common/skill-creator/SKILL.md +370 -370
  189. package/.agents/skills/common/skill-creator/evals/evals.json +16 -16
  190. package/.agents/skills/common/skill-creator/evals/train_queries.json +18 -18
  191. package/.agents/skills/common/skill-creator/evals/validation_queries.json +18 -18
  192. package/.agents/skills/common/skill-creator/references/output-patterns.md +82 -82
  193. package/.agents/skills/common/skill-creator/references/workflows.md +27 -27
  194. package/.agents/skills/common/skill-creator/scripts/init_skill.py +209 -209
  195. package/.agents/skills/common/skill-creator/scripts/package_skill.py +110 -110
  196. package/.agents/skills/common/skill-creator/scripts/quick_validate.py +51 -51
  197. package/.agents/skills/common/skill-optimizer/SKILL.md +102 -102
  198. package/.agents/skills/common/skill-optimizer/evals/evals.json +16 -16
  199. package/.agents/skills/common/skill-optimizer/evals/train_queries.json +18 -18
  200. package/.agents/skills/common/skill-optimizer/evals/validation_queries.json +18 -18
  201. package/.agents/skills/common/skill-optimizer/references/design-patterns.md +26 -26
  202. package/.agents/skills/common/skill-optimizer/references/review-checklist.md +22 -22
  203. package/.agents/skills/common/using-superpowers/SKILL.md +151 -151
  204. package/.agents/skills/common/wait-for-gate-signal/SKILL.md +85 -85
  205. package/.agents/skills/domains/README.md +19 -19
  206. package/.agents/skills/domains/ui-ux-pro-max/SKILL.md +58 -58
  207. package/.agents/skills/domains/web/design-analysis/SKILL.md +89 -89
  208. package/.agents/skills/domains/web/design-analysis/rules/analysis-order.md +61 -61
  209. package/.agents/skills/domains/web/design-analysis/rules/analysis-priorities.md +136 -136
  210. package/.agents/skills/domains/web/design-analysis/rules/checklist-common-misses.md +107 -107
  211. package/.agents/skills/domains/web/design-analysis/rules/implementation-common-errors.md +204 -204
  212. package/.agents/skills/domains/web/design-analysis/rules/implementation-guidelines.md +211 -211
  213. package/.agents/skills/domains/web/design-analysis/rules/output-analysis-checklist.md +247 -247
  214. package/.agents/skills/domains/web/design-analysis/rules/tools-design-guidelines.md +108 -108
  215. package/.agents/skills/domains/web/design-analysis/rules/workflow-element-extraction.md +162 -162
  216. package/.agents/skills/domains/web/design-analysis/rules/workflow-layout-map.md +131 -131
  217. package/.agents/skills/domains/web/design-analysis/rules/workflow-output-checklist.md +70 -70
  218. package/.agents/skills/domains/web/design-analysis/rules/workflow-style-summary.md +91 -91
  219. package/.agents/skills/domains/web/route-permission-map/SKILL.md +103 -103
  220. package/.agents/skills/domains/web/ui-verification/SKILL.md +114 -114
  221. package/.agents/skills/domains/web/ui-verification/evals/evals.json +16 -16
  222. package/.agents/skills/domains/web/ui-verification/evals/train_queries.json +18 -18
  223. package/.agents/skills/domains/web/ui-verification/evals/validation_queries.json +18 -18
  224. package/.agents/skills/domains/web/ui-verification/rules/comparison-content-image.md +34 -34
  225. package/.agents/skills/domains/web/ui-verification/rules/comparison-content-text.md +30 -30
  226. package/.agents/skills/domains/web/ui-verification/rules/comparison-hierarchy.md +33 -33
  227. package/.agents/skills/domains/web/ui-verification/rules/comparison-layout.md +35 -35
  228. package/.agents/skills/domains/web/ui-verification/rules/errors-alignment.md +42 -42
  229. package/.agents/skills/domains/web/ui-verification/rules/errors-button-dimensions.md +28 -28
  230. package/.agents/skills/domains/web/ui-verification/rules/errors-button-position.md +25 -25
  231. package/.agents/skills/domains/web/ui-verification/rules/errors-css-priority.md +50 -50
  232. package/.agents/skills/domains/web/ui-verification/rules/errors-flex-column-width.md +46 -46
  233. package/.agents/skills/domains/web/ui-verification/rules/errors-flex-layout.md +46 -46
  234. package/.agents/skills/domains/web/ui-verification/rules/errors-grid-container-width.md +44 -44
  235. package/.agents/skills/domains/web/ui-verification/rules/errors-page-container-width.md +39 -39
  236. package/.agents/skills/domains/web/ui-verification/rules/tools-browser-navigation.md +53 -53
  237. package/.agents/skills/domains/web/ui-verification/rules/tools-design-guidelines.md +53 -53
  238. package/.agents/skills/domains/web/ui-verification/rules/workflow-checklist.md +27 -27
  239. package/.agents/skills/domains/web/ui-verification/rules/workflow-problem-list.md +56 -56
  240. package/.agents/skills/domains/web/ui-verification/rules/workflow-reflection.md +44 -44
  241. package/.agents/skills/domains/web/ui-verification/rules/writing-alignment.md +44 -44
  242. package/.agents/skills/domains/web/ui-verification/rules/writing-element-completeness.md +63 -63
  243. package/.agents/skills/domains/web/ui-verification/rules/writing-list-layout.md +75 -75
  244. package/.agents/skills/domains/web/ui-verification/rules/writing-page-container-width.md +37 -37
  245. package/.agents/skills/domains/web/web-design-guidelines/SKILL.md +40 -40
  246. package/.agents/skills/profiles/nestjs/README.md +4 -4
  247. package/.agents/skills/profiles/node-tooling/README.md +9 -9
  248. package/.agents/skills/profiles/react/create-api/SKILL.md +145 -145
  249. package/.agents/skills/profiles/react/create-component/SKILL.md +160 -160
  250. package/.agents/skills/profiles/react/create-route/SKILL.md +168 -168
  251. package/.agents/skills/profiles/react/create-store/SKILL.md +262 -262
  252. package/.agents/skills/profiles/react/theme-variables/SKILL.md +82 -82
  253. package/.agents/skills/profiles/react/vercel-composition-patterns/AGENTS.md +899 -899
  254. package/.agents/skills/profiles/react/vercel-composition-patterns/SKILL.md +81 -81
  255. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -100
  256. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/architecture-compound-components.md +112 -112
  257. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -87
  258. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -100
  259. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-context-interface.md +191 -191
  260. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -113
  261. package/.agents/skills/profiles/react/vercel-composition-patterns/rules/state-lift-state.md +125 -125
  262. package/.agents/skills/profiles/react/vercel-react-best-practices/AGENTS.md +2934 -2934
  263. package/.agents/skills/profiles/react/vercel-react-best-practices/SKILL.md +136 -136
  264. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -55
  265. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-init-once.md +42 -42
  266. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/advanced-use-latest.md +39 -39
  267. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-api-routes.md +38 -38
  268. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-defer-await.md +80 -80
  269. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-dependencies.md +51 -51
  270. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-parallel.md +28 -28
  271. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -99
  272. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -59
  273. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-conditional.md +31 -31
  274. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -49
  275. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -35
  276. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/bundle-preload.md +50 -50
  277. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-event-listeners.md +74 -74
  278. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -71
  279. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -48
  280. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/client-swr-dedup.md +56 -56
  281. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -107
  282. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-function-results.md +80 -80
  283. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-property-access.md +28 -28
  284. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-cache-storage.md +70 -70
  285. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-combine-iterations.md +32 -32
  286. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-early-exit.md +50 -50
  287. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -45
  288. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-index-maps.md +37 -37
  289. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-length-check-first.md +49 -49
  290. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-min-max-loop.md +82 -82
  291. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -24
  292. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -57
  293. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-activity.md +26 -26
  294. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -47
  295. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -40
  296. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -38
  297. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -46
  298. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -82
  299. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -30
  300. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -28
  301. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -75
  302. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -39
  303. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-dependencies.md +45 -45
  304. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -40
  305. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-derived-state.md +29 -29
  306. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -74
  307. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -58
  308. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -38
  309. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-memo.md +44 -44
  310. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -45
  311. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -35
  312. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-transitions.md +40 -40
  313. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -73
  314. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -73
  315. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-auth-actions.md +96 -96
  316. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-lru.md +41 -41
  317. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-cache-react.md +76 -76
  318. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-dedup-props.md +65 -65
  319. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -83
  320. package/.agents/skills/profiles/react/vercel-react-best-practices/rules/server-serialization.md +38 -38
  321. package/.agents/skills/profiles/springboot/README.md +10 -10
  322. package/.agents/skills/profiles/vue/create-api/SKILL.md +105 -105
  323. package/.agents/skills/profiles/vue/create-component/SKILL.md +76 -76
  324. package/.agents/skills/profiles/vue/create-route/SKILL.md +141 -141
  325. package/.agents/skills/profiles/vue/create-store/SKILL.md +97 -97
  326. package/.agents/skills/profiles/vue/create-view/SKILL.md +81 -81
  327. package/.agents/skills/profiles/vue/theme-variables/SKILL.md +73 -73
  328. package/.agents/skills/profiles/vue/vue-best-practices/SKILL.md +166 -166
  329. package/.agents/skills/profiles/vue/vue-best-practices/references/animation-class-based-technique.md +254 -254
  330. package/.agents/skills/profiles/vue/vue-best-practices/references/animation-state-driven-technique.md +291 -291
  331. package/.agents/skills/profiles/vue/vue-best-practices/references/component-async.md +97 -97
  332. package/.agents/skills/profiles/vue/vue-best-practices/references/component-data-flow.md +307 -307
  333. package/.agents/skills/profiles/vue/vue-best-practices/references/component-fallthrough-attrs.md +174 -174
  334. package/.agents/skills/profiles/vue/vue-best-practices/references/component-keep-alive.md +137 -137
  335. package/.agents/skills/profiles/vue/vue-best-practices/references/component-slots.md +216 -216
  336. package/.agents/skills/profiles/vue/vue-best-practices/references/component-suspense.md +228 -228
  337. package/.agents/skills/profiles/vue/vue-best-practices/references/component-teleport.md +108 -108
  338. package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition-group.md +128 -128
  339. package/.agents/skills/profiles/vue/vue-best-practices/references/component-transition.md +125 -125
  340. package/.agents/skills/profiles/vue/vue-best-practices/references/composables.md +290 -290
  341. package/.agents/skills/profiles/vue/vue-best-practices/references/directives.md +162 -162
  342. package/.agents/skills/profiles/vue/vue-best-practices/references/perf-avoid-component-abstraction-in-lists.md +159 -159
  343. package/.agents/skills/profiles/vue/vue-best-practices/references/perf-v-once-v-memo-directives.md +182 -182
  344. package/.agents/skills/profiles/vue/vue-best-practices/references/perf-virtualize-large-lists.md +187 -187
  345. package/.agents/skills/profiles/vue/vue-best-practices/references/plugins.md +166 -166
  346. package/.agents/skills/profiles/vue/vue-best-practices/references/reactivity.md +344 -344
  347. package/.agents/skills/profiles/vue/vue-best-practices/references/render-functions.md +201 -201
  348. package/.agents/skills/profiles/vue/vue-best-practices/references/sfc.md +310 -310
  349. package/.agents/skills/profiles/vue/vue-best-practices/references/state-management.md +135 -135
  350. package/.agents/skills/profiles/vue/vue-best-practices/references/updated-hook-performance.md +187 -187
  351. package/.agents/templates/common/README.md +23 -23
  352. package/.agents/templates/common/bugfix.md +22 -22
  353. package/.agents/templates/common/create-expert-package.md +458 -458
  354. package/.agents/templates/common/mock-page.md +28 -28
  355. package/.agents/templates/common/new-component.md +25 -25
  356. package/.agents/templates/common/new-page.md +31 -31
  357. package/.cursor/mcp.json +35 -35
  358. package/.qoder/mcp.json +26 -26
  359. package/bin/archive-change.js +560 -474
  360. package/bin/check-command.js +62 -62
  361. package/bin/cli.js +0 -0
  362. package/bin/command-template-renderer.js +40 -40
  363. package/bin/context-command.js +102 -102
  364. package/bin/demo-runtime-smoke.js +760 -760
  365. package/bin/execution-semantics.js +821 -821
  366. package/bin/executor-command.js +93 -93
  367. package/bin/expert-dispatch.js +334 -334
  368. package/bin/expert-executor.js +1148 -1148
  369. package/bin/guard-command.js +52 -52
  370. package/bin/hub-command.js +876 -876
  371. package/bin/ide-command.js +242 -242
  372. package/bin/init-command.js +193 -193
  373. package/bin/install-workflow.js +35 -3
  374. package/bin/manifest-export.js +34 -34
  375. package/bin/profile-registry.js +90 -90
  376. package/bin/protocol-workflow.js +452 -446
  377. package/bin/repair-command.js +161 -161
  378. package/bin/repo-map.js +177 -177
  379. package/bin/report-command.js +236 -236
  380. package/bin/runtime-bootstrap.js +428 -428
  381. package/bin/runtime-embedded.js +101 -101
  382. package/bin/runtime-fallback.js +106 -106
  383. package/bin/runtime-launcher.js +116 -116
  384. package/bin/runtime-paths.js +177 -177
  385. package/bin/runtime-registry.js +289 -289
  386. package/bin/runtime-state.js +2541 -2541
  387. package/bin/scan.js +96 -96
  388. package/bin/self-upgrade.js +206 -206
  389. package/bin/skill-spec-validator.js +457 -457
  390. package/bin/spec-command.js +366 -366
  391. package/bin/superpowers.js +384 -384
  392. package/bin/sync-command.js +59 -59
  393. package/bin/sync.js +1904 -1904
  394. package/bin/task-orchestrator-adapter.js +341 -341
  395. package/bin/task-orchestrator-extractor.js +274 -274
  396. package/bin/task-orchestrator-runner.js +1208 -1208
  397. package/bin/telemetry/README.md +66 -66
  398. package/bin/telemetry/aspect.js +153 -153
  399. package/bin/telemetry/collect.js +67 -67
  400. package/bin/telemetry/config.js +114 -114
  401. package/bin/telemetry/defaults.json +5 -5
  402. package/bin/telemetry/healthcheck.js +195 -195
  403. package/bin/telemetry/identity.js +53 -53
  404. package/bin/telemetry/index.js +25 -25
  405. package/bin/telemetry/reporter.js +83 -83
  406. package/bin/telemetry/safe.js +39 -39
  407. package/bin/validate-registry.js +740 -740
  408. package/bin/visual-bridge-config.js +117 -117
  409. package/bin/visual-bridge.js +287 -287
  410. package/bin/visual-command.js +432 -432
  411. package/bin/worktree-command.js +194 -194
  412. package/configs/common/.editorconfig +15 -15
  413. package/configs/common/.husky/commit-msg +4 -4
  414. package/configs/common/.husky/pre-commit +4 -4
  415. package/configs/common/.lintstagedrc +11 -11
  416. package/configs/common/.prettierignore +11 -11
  417. package/configs/common/.prettierrc.json +11 -11
  418. package/configs/common/.stylelintignore +14 -14
  419. package/configs/common/.stylelintrc.json +21 -21
  420. package/configs/common/commitlint.config.js +3 -3
  421. package/configs/profiles/nestjs/.gitkeep +1 -1
  422. package/configs/profiles/node-tooling/.gitkeep +1 -1
  423. package/configs/profiles/react/.eslintignore +6 -6
  424. package/configs/profiles/react/.eslintrc.js +16 -16
  425. package/configs/profiles/react/.stylelintrc.json +18 -18
  426. package/configs/profiles/springboot/.gitkeep +1 -1
  427. package/configs/profiles/vue/.eslintignore +6 -6
  428. package/configs/profiles/vue/.eslintrc.cjs +17 -17
  429. package/contracts/README.md +28 -28
  430. package/contracts/fixtures/asset-package.fixture.json +26 -26
  431. package/contracts/fixtures/asset-usage-feedback.fixture.json +14 -14
  432. package/contracts/fixtures/evidence-report.fixture.json +28 -28
  433. package/contracts/fixtures/manifest.fixture.json +20 -20
  434. package/contracts/fixtures/run-event.fixture.json +15 -15
  435. package/contracts/schemas/asset-package.schema.json +76 -76
  436. package/contracts/schemas/asset-usage-feedback.schema.json +57 -57
  437. package/contracts/schemas/evidence-report.schema.json +60 -60
  438. package/contracts/schemas/manifest.schema.json +63 -63
  439. package/contracts/schemas/run-event.schema.json +72 -72
  440. package/install.ps1 +35 -35
  441. package/install.sh +17 -17
  442. package/internal/ai-protocol-workflow.js +5824 -5600
  443. package/internal/hub-client.js +98 -98
  444. package/internal/hub-sync-selection.js +69 -69
  445. package/internal/visual-hooks/README.md +481 -481
  446. package/internal/visual-hooks/config-loader.js +218 -218
  447. package/internal/visual-hooks/control-puller.js +206 -206
  448. package/internal/visual-hooks/gate-signal.js +150 -150
  449. package/internal/visual-hooks/inbox-consumer.js +469 -469
  450. package/internal/visual-hooks/index.js +197 -197
  451. package/internal/visual-hooks/push-client.js +189 -189
  452. package/internal/visual-hooks/receipt-pusher.js +176 -176
  453. package/internal/visual-hooks/runtime-state-pusher.js +128 -128
  454. package/openspec/config.yaml.template +52 -52
  455. package/openspec/schemas/expert-delivery/schema.yaml +68 -68
  456. package/openspec/schemas/expert-delivery/templates/checklist.md +39 -39
  457. package/openspec/schemas/expert-delivery/templates/design.md +61 -61
  458. package/openspec/schemas/expert-delivery/templates/iterations.md +25 -25
  459. package/openspec/schemas/expert-delivery/templates/proposal.md +45 -45
  460. package/openspec/schemas/expert-delivery/templates/spec.md +29 -29
  461. package/openspec/schemas/expert-delivery/templates/tasks.md +24 -24
  462. package/package.json +1 -1
  463. package/scripts/acceptance-zero-intrusion.sh +168 -168
  464. package/scripts/hub-sync-assets.config.example.json +296 -296
  465. package/scripts/hub-sync-assets.js +2038 -2038
  466. package/scripts/local-verify.sh +280 -280
  467. package/scripts/post-publish-auto-fix-check.js +404 -404
  468. package/scripts/post-publish-verify.sh +175 -175
  469. package/scripts/setup-cursor-manual-test.sh +107 -107
  470. package/scripts/setup-cursor-spec-archive-test.sh +111 -111
  471. package/scripts/setup-visual-integration.sh +225 -225
  472. package/scripts/test-integration.sh +176 -176
  473. package/scripts/update-test-project.sh +93 -93
  474. package/scripts/upload-four-web.sh +57 -57
  475. package/scripts/verify-install-ps1-bom.js +26 -26
  476. package/src/agent/agent-context.js +259 -259
  477. package/src/agent/agent-profile.js +185 -185
  478. package/src/agent/agent-templates.js +161 -161
  479. package/src/agent/agent-types.js +108 -108
  480. package/src/agent/collaboration-protocol.js +333 -333
  481. package/src/agent/conflict-handler.js +364 -364
  482. package/src/agent/file-permission.js +121 -121
  483. package/src/agent/index.js +38 -38
  484. package/src/agent/permission-audit.js +151 -151
  485. package/src/agent/review-repair-loop.js +270 -270
  486. package/src/agent/tool-permission.js +101 -101
  487. package/src/asset/asset-dependency.js +322 -322
  488. package/src/asset/asset-feedback.js +350 -350
  489. package/src/asset/asset-fork.js +300 -300
  490. package/src/asset/asset-install.js +278 -278
  491. package/src/asset/asset-installer.js +497 -497
  492. package/src/asset/asset-lifecycle.js +324 -324
  493. package/src/asset/asset-manager.js +245 -245
  494. package/src/asset/asset-package-manager.js +349 -349
  495. package/src/asset/asset-package.js +186 -186
  496. package/src/asset/asset-quality.js +262 -262
  497. package/src/asset/asset-registry.js +387 -387
  498. package/src/asset/asset-version.js +293 -293
  499. package/src/asset/index.js +86 -86
  500. package/src/cache/agent-profile-cache.js +59 -59
  501. package/src/cache/asset-cache.js +63 -63
  502. package/src/cache/global-cache.js +61 -61
  503. package/src/cache/manifest-cache.js +30 -30
  504. package/src/check/check-service.js +32 -32
  505. package/src/config/config-layer.js +343 -343
  506. package/src/config/config-loader.js +60 -60
  507. package/src/config/defaults.js +49 -49
  508. package/src/connectors/hub/asset-package.js +72 -72
  509. package/src/connectors/hub/asset-usage-feedback.js +46 -46
  510. package/src/connectors/hub/hub-connector.js +44 -44
  511. package/src/connectors/hub/index.js +21 -21
  512. package/src/connectors/visual/evidence-report.js +49 -49
  513. package/src/connectors/visual/index.js +15 -15
  514. package/src/connectors/visual/queue.js +41 -41
  515. package/src/connectors/visual/run-event.js +81 -81
  516. package/src/connectors/visual/visual-connector.js +77 -77
  517. package/src/context/context-budget.js +59 -59
  518. package/src/context/context-builder.js +285 -285
  519. package/src/context/context-loader.js +116 -116
  520. package/src/context/context-planner.js +158 -158
  521. package/src/context/types.js +96 -96
  522. package/src/contracts/index.js +63 -63
  523. package/src/executor/executor-registry.js +78 -78
  524. package/src/executor/executor-result-parser.js +44 -44
  525. package/src/executor/executor-runner.js +141 -141
  526. package/src/executor/executor-selector.js +139 -139
  527. package/src/executor/executor-timeout.js +36 -36
  528. package/src/executor/providers/base-provider-utils.js +189 -189
  529. package/src/executor/providers/claude-code-executor-provider.js +128 -128
  530. package/src/executor/providers/codex-executor-provider.js +126 -126
  531. package/src/executor/providers/cursor-executor-provider.js +99 -99
  532. package/src/executor/types.js +137 -137
  533. package/src/git/branch-manager.js +71 -71
  534. package/src/git/dirty-checker.js +43 -43
  535. package/src/git/dirty-strategy-handler.js +29 -29
  536. package/src/git/git-command.js +37 -37
  537. package/src/git/git-repository-detector.js +45 -45
  538. package/src/git/multi-repo-worktree-planner.js +88 -88
  539. package/src/git/policy.js +19 -19
  540. package/src/git/strategies/block-dirty-strategy.js +34 -34
  541. package/src/git/strategies/ignore-dirty-strategy.js +33 -33
  542. package/src/git/strategies/patch-snapshot-strategy.js +53 -53
  543. package/src/git/strategies/wip-commit-strategy.js +38 -38
  544. package/src/git/types.js +71 -71
  545. package/src/git/worktree-manager.js +85 -85
  546. package/src/governance/asset-review.js +351 -351
  547. package/src/governance/audit-log.js +368 -368
  548. package/src/governance/gray-release.js +312 -312
  549. package/src/governance/index.js +31 -31
  550. package/src/governance/policy-types.js +56 -56
  551. package/src/governance/rbac-types.js +171 -171
  552. package/src/governance/rbac.js +382 -382
  553. package/src/governance/rollback.js +360 -360
  554. package/src/governance/security-policy.js +354 -354
  555. package/src/hook/hook-config-writer.js +125 -125
  556. package/src/hub/hub-client.js +186 -186
  557. package/src/hub/hub-config.js +39 -39
  558. package/src/hub/project-facts.js +31 -31
  559. package/src/hub/runtime-feedback-reporter.js +55 -55
  560. package/src/ide/adapters/adapter-protocol.js +385 -385
  561. package/src/ide/adapters/claude-adapter.js +419 -419
  562. package/src/ide/adapters/codex-adapter.js +60 -60
  563. package/src/ide/adapters/cursor-adapter.js +484 -484
  564. package/src/ide/adapters/index.js +24 -24
  565. package/src/ide/anchors/markdown-anchor-writer.js +152 -152
  566. package/src/ide/ide-service.js +270 -270
  567. package/src/ide/ide-types.js +94 -94
  568. package/src/ide/links/link-mode-resolver.js +160 -160
  569. package/src/ide/registry/ide-registry-builder.js +165 -165
  570. package/src/incident/incident-writer.js +47 -47
  571. package/src/incident/types.js +22 -22
  572. package/src/init/ide-linker.js +126 -126
  573. package/src/init/ide-pointer-injector.js +75 -75
  574. package/src/init/init-applier.js +197 -197
  575. package/src/init/init-plan.js +294 -294
  576. package/src/init/init-service.js +65 -65
  577. package/src/init/manifest-installer.js +302 -302
  578. package/src/init/types.js +26 -26
  579. package/src/project/config-writer.js +83 -83
  580. package/src/project/context-index-writer.js +82 -82
  581. package/src/project/json-utils.js +72 -72
  582. package/src/project/local-state-writer.js +50 -50
  583. package/src/project/lock-file-writer.js +98 -98
  584. package/src/project/manifest-writer.js +126 -126
  585. package/src/project/policy-config-writer.js +91 -91
  586. package/src/project/project-config-writer.js +74 -74
  587. package/src/project/project-files.js +39 -39
  588. package/src/project/registry-index-writer.js +43 -43
  589. package/src/project/workspace-config-writer.js +63 -63
  590. package/src/run/index.js +11 -11
  591. package/src/run/run-id.js +32 -32
  592. package/src/run/run-service.js +269 -269
  593. package/src/run/run-store.js +80 -80
  594. package/src/scanner/aggregator/detection-aggregator.js +23 -23
  595. package/src/scanner/boundary/boundary-resolver.js +229 -229
  596. package/src/scanner/detectors/detector-registry.js +44 -44
  597. package/src/scanner/detectors/fastapi-detector.js +46 -46
  598. package/src/scanner/detectors/go-detector.js +46 -46
  599. package/src/scanner/detectors/nestjs-detector.js +57 -57
  600. package/src/scanner/detectors/nextjs-detector.js +52 -52
  601. package/src/scanner/detectors/react-vite-detector.js +52 -52
  602. package/src/scanner/detectors/react-webpack-detector.js +57 -57
  603. package/src/scanner/detectors/springboot-detector.js +46 -46
  604. package/src/scanner/detectors/springcloud-detector.js +46 -46
  605. package/src/scanner/detectors/springmvc-detector.js +46 -46
  606. package/src/scanner/detectors/vue-vite-detector.js +52 -52
  607. package/src/scanner/engine.js +72 -72
  608. package/src/scanner/facts/fact-extractor.js +211 -211
  609. package/src/scanner/types.js +30 -30
  610. package/src/security/asset-tamper-checker.js +188 -188
  611. package/src/security/checksum.js +40 -40
  612. package/src/spec/spec-writer.js +302 -302
  613. package/src/state-machine/circuit-breaker.js +112 -112
  614. package/src/state-machine/escape-hatch.js +49 -49
  615. package/src/state-machine/stage-runner.js +281 -281
  616. package/src/state-machine/state-machine.js +24 -24
  617. package/src/state-machine/transition-guard.js +36 -36
  618. package/src/state-machine/types.js +37 -37
  619. package/src/sync/sync-service.js +192 -192
  620. package/src/visual/agent-visual.js +142 -142
  621. package/src/visual/event-gateway.js +357 -357
  622. package/src/visual/event-mapper.js +128 -128
  623. package/src/visual/hook-dashboard.js +216 -216
  624. package/src/visual/index.js +27 -27
  625. package/src/visual/metrics.js +287 -287
  626. package/src/visual/privacy-filter.js +100 -100
  627. package/src/visual/risk-board.js +252 -252
  628. package/src/visual/timeline.js +245 -245
  629. package/src/visual/visual-client.js +94 -94
  630. package/src/visual/visual-config.js +40 -40
  631. package/src/visual/visual-reporter.js +88 -88
@@ -1,1266 +1,1266 @@
1
- {
2
- "version": 1,
3
- "support_files": [
4
- ".agents/roles/INDEX.md",
5
- ".agents/roles/common/README.md",
6
- ".agents/roles/domains/README.md",
7
- ".agents/orchestration/README.md",
8
- ".agents/orchestration/runtime-state-handoff-spec.md",
9
- ".agents/orchestration/task-anchor-spec.md",
10
- ".agents/orchestration/task-orchestrator-adapter-payload.md",
11
- ".agents/orchestration/task-orchestrator-bootstrap-payload.md",
12
- ".agents/orchestration/task-orchestrator-output-extractor-spec.md",
13
- ".agents/roles/common/task-orchestrator-routing.md",
14
- ".agents/orchestration/task-orchestrator-run-plan-template.md",
15
- ".agents/orchestration/task-orchestrator-runtime-hooks.md"
16
- ],
17
- "roles": {
18
- "task-orchestrator": {
19
- "name": "任务主代理",
20
- "status": "active",
21
- "profiles": [
22
- "vue",
23
- "react",
24
- "springboot",
25
- "node-tooling"
26
- ],
27
- "domains": [
28
- "orchestration"
29
- ],
30
- "source": ".agents/roles/common/task-orchestrator.md",
31
- "rule_ids": [
32
- "project-overview",
33
- "project-structure"
34
- ],
35
- "rule_ids_by_profile": {
36
- "vue": [
37
- "api-standard",
38
- "route-standard",
39
- "style-standard"
40
- ],
41
- "react": [
42
- "api-standard",
43
- "route-standard",
44
- "style-standard"
45
- ],
46
- "springboot": [
47
- "api-contract-standard",
48
- "layering-standard"
49
- ],
50
- "node-tooling": [
51
- "contract-standard",
52
- "cli-standard"
53
- ]
54
- },
55
- "rule_contract_profiles": {
56
- "default": {
57
- "must_follow": [
58
- "首轮编排必须优先吸收仓库现状与规则,再决定 flow、delivery_profile 和人工确认点。",
59
- "能从仓库结构、项目规则推断的落点事实,优先转成 assumptions 或 routing constraints。"
60
- ],
61
- "blocked_when": [
62
- "高风险领域的流程、安全、合规、风控或权限边界仍未确认时,不得放行到实现角色。"
63
- ]
64
- },
65
- "vue": {
66
- "must_follow": [
67
- "Vue 页面类任务优先以 src/views、src/router/modules、src/api、src/api/types、src/style.css 等当前仓库落点编排。",
68
- "若仓库缺少 vue-router 或请求层骨架,要先把补骨架还是保持占位入口写进编排约束。",
69
- "mock-first、真实接口、Pinia/store 与主题变量策略需要在首轮编排时明确,不留到实现阶段临时猜。"
70
- ]
71
- },
72
- "springboot": {
73
- "must_follow": [
74
- "Spring Boot 任务优先以 Controller / Service / Repository 分层落点编排。",
75
- "若仓库缺少统一响应体或全局异常处理,要先把是否补基础设施写进编排约束。",
76
- "接口契约(路径、请求/响应 DTO)需要在首轮编排时明确,不留到实现阶段临时猜。"
77
- ]
78
- },
79
- "node-tooling": {
80
- "must_follow": [
81
- "Node 工具仓任务优先以 CLI 命令 / Contract / Worker 模块落点编排。",
82
- "若仓库缺少统一 Contract Schema 或错误类型定义,要先把是否补基础设施写进编排约束。",
83
- "Contract 输入/输出 Schema 需要在首轮编排时明确,不留到实现阶段临时猜。"
84
- ]
85
- }
86
- }
87
- },
88
- "requirement-analyst": {
89
- "name": "需求解析专家",
90
- "status": "active",
91
- "profiles": [
92
- "vue",
93
- "react",
94
- "springboot",
95
- "node-tooling"
96
- ],
97
- "domains": [
98
- "demand-design"
99
- ],
100
- "source": ".agents/roles/common/requirement-analyst.md",
101
- "rule_ids": [
102
- "project-overview",
103
- "project-structure"
104
- ],
105
- "rule_ids_by_profile": {
106
- "vue": [
107
- "api-standard",
108
- "route-standard",
109
- "style-standard"
110
- ],
111
- "react": [
112
- "api-standard",
113
- "route-standard",
114
- "style-standard"
115
- ],
116
- "springboot": [
117
- "api-contract-standard",
118
- "layering-standard"
119
- ],
120
- "node-tooling": [
121
- "contract-standard",
122
- "cli-standard"
123
- ]
124
- },
125
- "skill_priority": [
126
- "create-proposal",
127
- "design-analysis"
128
- ],
129
- "micro_skill_allowlist": [
130
- "create-proposal",
131
- "design-analysis"
132
- ],
133
- "skill_priority_by_profile": {
134
- "vue": [
135
- "create-proposal",
136
- "design-analysis"
137
- ],
138
- "react": [
139
- "create-proposal",
140
- "design-analysis"
141
- ],
142
- "springboot": [
143
- "create-proposal"
144
- ],
145
- "node-tooling": [
146
- "create-proposal"
147
- ]
148
- },
149
- "rule_contract_profiles": {
150
- "default": {
151
- "must_follow": [
152
- "先把项目定位、目录落点、规范约定吸收到 proposal/specs/design/tasks,不要把规范已明确的信息重复写成 missing_inputs。",
153
- "需求收敛必须落到当前仓库可实施的具体落点,而不是抽象方案。"
154
- ],
155
- "blocked_when": [
156
- "高风险领域的流程、安全、合规、风控或权限边界仍未确认时,必须维持 before-implementation 门禁。"
157
- ]
158
- },
159
- "vue": {
160
- "must_follow": [
161
- "页面任务优先对齐 src/views/<page>/index.vue 与 src/router/modules/<module>.ts 的落点约定。",
162
- "若为 mock 或占位页,明确写清 src/mock 或本地 mock 方案,以及不接真实 API 的边界。",
163
- "样式和视觉约束需对齐主题 CSS 变量,不要把硬编码颜色或自由样式当默认方案。"
164
- ]
165
- },
166
- "springboot": {
167
- "must_follow": [
168
- "接口需求优先对齐 Controller / Service / Repository 的分层落点约定。",
169
- "明确 API 路径、请求/响应 DTO 结构和分页策略,不留到实现阶段临时猜。",
170
- "涉及数据库 Schema 变更时,需明确迁移策略和兼容性边界。"
171
- ]
172
- },
173
- "node-tooling": {
174
- "must_follow": [
175
- "功能需求优先对齐 CLI 命令 / Contract Schema / Worker 模块的落点约定。",
176
- "明确 Contract 输入/输出 Schema 和错误处理策略,不留到实现阶段临时猜。",
177
- "涉及 CLI 参数或模块导出变更时,需明确兼容性边界和版本策略。"
178
- ]
179
- }
180
- },
181
- "openspec_actions": [
182
- "propose"
183
- ],
184
- "openspec_rule_sections": [
185
- "proposal",
186
- "specs",
187
- "design",
188
- "tasks"
189
- ],
190
- "required_outputs": [
191
- "proposal",
192
- "specs",
193
- "design",
194
- "tasks"
195
- ],
196
- "runtime_transition": {
197
- "action": "handoff",
198
- "to_role": "resolve-from-profile",
199
- "to_role_by_profile": {
200
- "vue": "frontend-implementer",
201
- "react": "frontend-implementer",
202
- "springboot": "backend-implementer",
203
- "node-tooling": "tooling-implementer"
204
- },
205
- "next_role": "code-guardian",
206
- "status": "running",
207
- "message": "handoff to implementer after requirement convergence"
208
- }
209
- },
210
- "frontend-implementer": {
211
- "name": "前端实现专家",
212
- "status": "active",
213
- "profiles": [
214
- "vue",
215
- "react"
216
- ],
217
- "domains": [
218
- "engineering",
219
- "delivery"
220
- ],
221
- "source": ".agents/roles/common/frontend-implementer.md",
222
- "rule_ids": [
223
- "project-structure",
224
- "component-standard",
225
- "route-standard",
226
- "api-standard",
227
- "store-standard",
228
- "style-standard"
229
- ],
230
- "skill_priority": [
231
- "create-view",
232
- "create-route",
233
- "create-api",
234
- "theme-variables",
235
- "create-component",
236
- "create-store",
237
- "execute-task"
238
- ],
239
- "micro_skill_allowlist": [
240
- "create-view",
241
- "create-route",
242
- "create-api",
243
- "theme-variables",
244
- "create-component",
245
- "create-store"
246
- ],
247
- "rule_contract_profiles": {
248
- "default": {
249
- "must_follow": [
250
- "优先复用现有目录、路由、请求封装、状态管理和样式变量约定。",
251
- "实现前先对齐 proposal/specs/design/tasks 的范围与落点,不要自行扩 scope。",
252
- "若 verification 失败触发 auto-fix,只修失败步骤对应的问题,不新增功能、不顺手重构。"
253
- ],
254
- "blocked_when": [
255
- "proposal/specs/design/tasks 未落盘或仍处于 before-implementation 审批门禁时,禁止改业务代码。"
256
- ]
257
- },
258
- "vue": {
259
- "must_follow": [
260
- "Vue 视图优先落在 src/views/<page>/index.vue;页面专用组件落在 src/views/<page>/components/。",
261
- "路由统一放在 src/router/modules/,页面路由必须懒加载,并补齐 meta.title / requiresAuth 等项目约定。",
262
- "接口统一走 src/api/<module>.ts 与 src/api/types/<module>.ts,组件或页面里禁止直接调 request。",
263
- "状态管理统一走 Pinia 和 src/store/modules/;mock-first 场景优先本地状态,不预建复杂 store。",
264
- "样式必须使用主题变量和 scoped/CSS Modules,禁止硬编码颜色值。"
265
- ]
266
- }
267
- },
268
- "openspec_actions": [
269
- "apply"
270
- ],
271
- "openspec_rule_sections": [
272
- "specs",
273
- "tasks",
274
- "design"
275
- ],
276
- "required_inputs": [
277
- "proposal",
278
- "specs",
279
- "design",
280
- "tasks"
281
- ],
282
- "runtime_transition": {
283
- "action": "handoff",
284
- "to_role": "code-guardian",
285
- "next_role": null,
286
- "status": "running",
287
- "message": "handoff to code-guardian after implementation delivery"
288
- }
289
- },
290
- "backend-implementer": {
291
- "name": "后端实现专家",
292
- "status": "active",
293
- "profiles": [
294
- "springboot"
295
- ],
296
- "domains": [
297
- "engineering",
298
- "delivery"
299
- ],
300
- "source": ".agents/roles/common/backend-implementer.md",
301
- "rule_ids": [
302
- "layering-standard",
303
- "api-contract-standard",
304
- "persistence-standard",
305
- "exception-standard"
306
- ],
307
- "skill_priority": [
308
- "execute-task"
309
- ],
310
- "micro_skill_allowlist": [],
311
- "rule_contract_profiles": {
312
- "default": {
313
- "must_follow": [
314
- "优先复用现有 Service、Repository 和工具类,不重复建设。",
315
- "实现前先对齐 proposal/specs/design/tasks 的范围与落点,不要自行扩 scope。",
316
- "若 verification 失败触发 auto-fix,只修失败步骤对应的问题,不新增功能、不顺手重构。"
317
- ],
318
- "blocked_when": [
319
- "proposal/specs/design/tasks 未落盘或仍处于 before-implementation 审批门禁时,禁止改业务代码。"
320
- ]
321
- },
322
- "springboot": {
323
- "must_follow": [
324
- "Controller 只调 Service,Service 调 Repository,禁止跨层直接调用。",
325
- "所有接口返回统一响应体 Result<T>,禁止返回裸数据。",
326
- "业务异常使用 BusinessException 子类,不抛裸 RuntimeException。",
327
- "敏感配置通过 @ConfigurationProperties 或环境变量注入,不硬编码。"
328
- ]
329
- }
330
- },
331
- "openspec_actions": [
332
- "apply"
333
- ],
334
- "openspec_rule_sections": [
335
- "specs",
336
- "tasks",
337
- "design"
338
- ],
339
- "required_inputs": [
340
- "proposal",
341
- "specs",
342
- "design",
343
- "tasks"
344
- ],
345
- "runtime_transition": {
346
- "action": "handoff",
347
- "to_role": "code-guardian",
348
- "next_role": null,
349
- "status": "running",
350
- "message": "handoff to code-guardian after implementation delivery"
351
- }
352
- },
353
- "tooling-implementer": {
354
- "name": "工具仓实现专家",
355
- "status": "active",
356
- "profiles": [
357
- "node-tooling"
358
- ],
359
- "domains": [
360
- "engineering",
361
- "delivery"
362
- ],
363
- "source": ".agents/roles/common/tooling-implementer.md",
364
- "rule_ids": [
365
- "cli-standard",
366
- "contract-standard",
367
- "runtime-files-standard",
368
- "logging-standard"
369
- ],
370
- "skill_priority": [
371
- "execute-task"
372
- ],
373
- "micro_skill_allowlist": [],
374
- "rule_contract_profiles": {
375
- "default": {
376
- "must_follow": [
377
- "优先复用现有工具函数、Contract 定义和模块导出,不重复建设。",
378
- "实现前先对齐 proposal/specs/design/tasks 的范围与落点,不要自行扩 scope。",
379
- "若 verification 失败触发 auto-fix,只修失败步骤对应的问题,不新增功能、不顺手重构。"
380
- ],
381
- "blocked_when": [
382
- "proposal/specs/design/tasks 未落盘或仍处于 before-implementation 审批门禁时,禁止改业务代码。"
383
- ]
384
- },
385
- "node-tooling": {
386
- "must_follow": [
387
- "所有外部输入在入口处通过 Contract Schema 校验,不跳过校验直接使用。",
388
- "错误处理使用类型化错误类,不抛裸 new Error()。",
389
- "日志通过项目统一日志库输出,不用 console.log。",
390
- "模块只通过 index.ts 导出公共接口,内部实现不对外暴露。"
391
- ]
392
- }
393
- },
394
- "openspec_actions": [
395
- "apply"
396
- ],
397
- "openspec_rule_sections": [
398
- "specs",
399
- "tasks",
400
- "design"
401
- ],
402
- "required_inputs": [
403
- "proposal",
404
- "specs",
405
- "design",
406
- "tasks"
407
- ],
408
- "runtime_transition": {
409
- "action": "handoff",
410
- "to_role": "code-guardian",
411
- "next_role": null,
412
- "status": "running",
413
- "message": "handoff to code-guardian after implementation delivery"
414
- }
415
- },
416
- "code-guardian": {
417
- "name": "规范守护者",
418
- "status": "active",
419
- "profiles": [
420
- "vue",
421
- "react",
422
- "springboot",
423
- "node-tooling"
424
- ],
425
- "domains": [
426
- "governance",
427
- "testing"
428
- ],
429
- "source": ".agents/roles/common/code-guardian.md",
430
- "rule_ids": [
431
- "coding-standard",
432
- "audit-report-standard"
433
- ],
434
- "rule_ids_by_profile": {
435
- "vue": [
436
- "api-standard",
437
- "route-standard",
438
- "style-standard",
439
- "test-standard-web",
440
- "format-check-standard-web"
441
- ],
442
- "react": [
443
- "api-standard",
444
- "route-standard",
445
- "style-standard",
446
- "test-standard-web",
447
- "format-check-standard-web"
448
- ],
449
- "springboot": [
450
- "api-contract-standard",
451
- "layering-standard",
452
- "persistence-standard",
453
- "exception-standard",
454
- "test-standard-jvm",
455
- "format-check-standard-jvm"
456
- ],
457
- "node-tooling": [
458
- "contract-standard",
459
- "cli-standard",
460
- "runtime-files-standard",
461
- "logging-standard",
462
- "test-standard-node",
463
- "format-check-standard-node"
464
- ]
465
- },
466
- "skill_priority": [
467
- "create-test"
468
- ],
469
- "micro_skill_allowlist": [],
470
- "skill_priority_by_profile": {
471
- "vue": [
472
- "ui-verification",
473
- "web-design-guidelines",
474
- "create-test"
475
- ],
476
- "react": [
477
- "ui-verification",
478
- "web-design-guidelines",
479
- "create-test"
480
- ],
481
- "springboot": [
482
- "create-test"
483
- ],
484
- "node-tooling": [
485
- "create-test"
486
- ]
487
- },
488
- "micro_skill_allowlist_by_profile": {
489
- "vue": [
490
- "ui-verification",
491
- "web-design-guidelines"
492
- ],
493
- "react": [
494
- "ui-verification",
495
- "web-design-guidelines"
496
- ],
497
- "springboot": [],
498
- "node-tooling": []
499
- },
500
- "rule_contract_profiles": {
501
- "default": {
502
- "must_follow": [
503
- "以 proposal/specs/design/tasks 和项目规则为准检查实现,而不是只做泛化 lint。",
504
- "必须给出阻断项、非阻断项和交付建议,不能写成模糊建议列表。",
505
- "若实现阶段经历过 auto-fix 仍未通过 verification,必须按阻断项处理,不能以后续再看放行。"
506
- ],
507
- "blocked_when": [
508
- "存在与项目规范冲突的目录、接口、测试或格式问题时,不得给 complete 结论。"
509
- ]
510
- },
511
- "vue": {
512
- "must_follow": [
513
- "核查页面是否落在 src/views、路由是否落在 src/router/modules,并保持动态导入。",
514
- "核查 API 是否通过 src/api 封装、类型是否放在 src/api/types,页面中未直接调 request。",
515
- "核查样式是否使用主题变量、scoped 或 CSS Modules,而不是硬编码全局样式。",
516
- "核查 Pinia/store、mock 与 proposal/specs/design/tasks 的边界是否一致,避免演示页写成生产页。"
517
- ]
518
- },
519
- "springboot": {
520
- "must_follow": [
521
- "核查分层是否合规(Controller 不直接调 Repository,Service 持有事务逻辑)。",
522
- "核查所有接口是否返回统一响应体 Result<T>,无裸数据返回。",
523
- "核查异常处理是否通过全局处理器,无裸 RuntimeException 抛出。",
524
- "核查敏感配置是否通过 @ConfigurationProperties 或环境变量管理,无硬编码。"
525
- ]
526
- },
527
- "node-tooling": {
528
- "must_follow": [
529
- "核查所有外部输入是否在入口处通过 Contract Schema 校验。",
530
- "核查错误处理是否使用类型化错误类,无裸 new Error() 抛出。",
531
- "核查日志是否通过项目统一日志库输出,无 console.log 残留。",
532
- "核查模块导出是否仅通过 index.ts,无内部实现被外部直接引用。"
533
- ]
534
- }
535
- },
536
- "openspec_actions": [
537
- "verify"
538
- ],
539
- "openspec_rule_sections": [
540
- "tasks",
541
- "specs",
542
- "design",
543
- "checklist",
544
- "iterations"
545
- ],
546
- "required_inputs": [
547
- "proposal",
548
- "specs",
549
- "design",
550
- "tasks"
551
- ],
552
- "required_outputs": [
553
- "checklist",
554
- "iterations"
555
- ],
556
- "runtime_transition": {
557
- "action": "gate-blocked",
558
- "to_role": "code-guardian",
559
- "next_role": "archive-change",
560
- "pending_gate": "before-archive",
561
- "status": "waiting-approval",
562
- "message": "wait for archive confirmation after code-guardian final review"
563
- }
564
- },
565
- "archive-change": {
566
- "name": "归档专家",
567
- "status": "active",
568
- "domains": [
569
- "delivery",
570
- "documentation"
571
- ],
572
- "source": ".agents/roles/common/archive-change.md",
573
- "rule_ids": [
574
- "audit-report-standard"
575
- ],
576
- "skill_priority": [
577
- "archive-change"
578
- ],
579
- "micro_skill_allowlist": [
580
- "archive-change"
581
- ],
582
- "rule_contract_profiles": {
583
- "default": {
584
- "must_follow": [
585
- "先合并 openspec/changes/<change-id>/specs/ 到 openspec/specs/,再归档 change 目录。",
586
- "归档目录必须落在 openspec/changes/archive/YYYY-MM-DD-<change-id>/,不能改到其它位置。"
587
- ],
588
- "blocked_when": [
589
- "缺少 proposal/specs/design/tasks/checklist/iterations 任一关键产物时,不得执行归档。"
590
- ]
591
- }
592
- },
593
- "openspec_actions": [
594
- "archive"
595
- ],
596
- "openspec_rule_sections": [
597
- "specs",
598
- "checklist",
599
- "iterations"
600
- ],
601
- "required_inputs": [
602
- "proposal",
603
- "specs",
604
- "design",
605
- "tasks",
606
- "checklist",
607
- "iterations"
608
- ],
609
- "runtime_transition": {
610
- "action": "complete",
611
- "to_role": "archive-change",
612
- "next_role": null,
613
- "status": "success",
614
- "message": "run completed after archive-change closeout"
615
- }
616
- },
617
- "design-collaborator": {
618
- "name": "设计协作专家",
619
- "status": "active",
620
- "domains": [
621
- "demand-design"
622
- ],
623
- "skill_priority": [
624
- "ui-ux-pro-max",
625
- "design-analysis"
626
- ],
627
- "source": ".agents/roles/domains/demand-design/design-collaborator.md"
628
- },
629
- "api-contract-specialist": {
630
- "name": "API 契约专家",
631
- "status": "active",
632
- "domains": [
633
- "demand-design"
634
- ],
635
- "source": ".agents/roles/domains/demand-design/api-contract-specialist.md"
636
- },
637
- "lint-policy-specialist": {
638
- "name": "Lint 规则专家",
639
- "status": "planned",
640
- "domains": [
641
- "governance"
642
- ],
643
- "source": ".agents/roles/domains/governance/lint-policy-specialist.md"
644
- },
645
- "api-governance-specialist": {
646
- "name": "API 规范专家",
647
- "status": "planned",
648
- "domains": [
649
- "governance"
650
- ],
651
- "source": ".agents/roles/domains/governance/api-governance-specialist.md"
652
- },
653
- "route-governance-specialist": {
654
- "name": "路由规范专家",
655
- "status": "planned",
656
- "domains": [
657
- "governance"
658
- ],
659
- "source": ".agents/roles/domains/governance/route-governance-specialist.md"
660
- },
661
- "build-specialist": {
662
- "name": "构建专家",
663
- "status": "active",
664
- "domains": [
665
- "engineering"
666
- ],
667
- "source": ".agents/roles/domains/engineering/build-specialist.md",
668
- "rule_ids": [
669
- "coding-standard",
670
- "audit-report-standard"
671
- ],
672
- "rule_ids_by_profile": {
673
- "vue": [
674
- "format-check-standard-web"
675
- ],
676
- "react": [
677
- "format-check-standard-web"
678
- ],
679
- "springboot": [
680
- "format-check-standard-jvm"
681
- ],
682
- "node-tooling": [
683
- "format-check-standard-node"
684
- ]
685
- },
686
- "skill_priority": [
687
- "config-and-secret-scan"
688
- ],
689
- "micro_skill_allowlist": [
690
- "config-and-secret-scan"
691
- ],
692
- "rule_contract_profiles": {
693
- "default": {
694
- "must_follow": [
695
- "先判断问题位于构建入口、构建性能还是产物异常,再给出建议。",
696
- "优先复用现有构建脚本和配置,不新增无必要工具链。"
697
- ],
698
- "blocked_when": [
699
- "若构建变更会影响发布链但未给出验证与回滚路径,不得直接放行。"
700
- ]
701
- }
702
- },
703
- "required_outputs": []
704
- },
705
- "dependency-governor": {
706
- "name": "依赖治理专家",
707
- "status": "active",
708
- "domains": [
709
- "engineering"
710
- ],
711
- "source": ".agents/roles/domains/engineering/dependency-governor.md",
712
- "rule_ids": [
713
- "coding-standard",
714
- "audit-report-standard"
715
- ],
716
- "skill_priority": [
717
- "dependency-impact-graph",
718
- "config-and-secret-scan"
719
- ],
720
- "micro_skill_allowlist": [
721
- "dependency-impact-graph",
722
- "config-and-secret-scan"
723
- ],
724
- "rule_contract_profiles": {
725
- "default": {
726
- "must_follow": [
727
- "先区分新增、升级、移除三类依赖变更,再给最小影响建议。",
728
- "涉及安装来源、registry 或脚本依赖时,需要补验证与回滚说明。"
729
- ],
730
- "blocked_when": [
731
- "若依赖变更影响面未分析清楚,不得直接建议进入实现或发布。"
732
- ]
733
- }
734
- },
735
- "required_outputs": []
736
- },
737
- "architecture-advisor": {
738
- "name": "架构顾问专家",
739
- "status": "active",
740
- "domains": [
741
- "engineering"
742
- ],
743
- "source": ".agents/roles/domains/engineering/architecture-advisor.md",
744
- "rule_ids": [
745
- "project-overview",
746
- "project-structure"
747
- ],
748
- "rule_ids_by_profile": {
749
- "vue": [
750
- "api-standard",
751
- "route-standard",
752
- "style-standard"
753
- ],
754
- "react": [
755
- "api-standard",
756
- "route-standard",
757
- "style-standard"
758
- ],
759
- "springboot": [
760
- "api-contract-standard",
761
- "layering-standard"
762
- ],
763
- "node-tooling": [
764
- "contract-standard",
765
- "cli-standard"
766
- ]
767
- },
768
- "skill_priority": [
769
- "create-proposal",
770
- "dependency-impact-graph"
771
- ],
772
- "micro_skill_allowlist": [
773
- "create-proposal",
774
- "dependency-impact-graph"
775
- ],
776
- "rule_contract_profiles": {
777
- "default": {
778
- "must_follow": [
779
- "先收口模块边界和职责拆分,再讨论实现细节。",
780
- "若结构性改动会影响多个模块,需要显式列出影响面和拆分建议。"
781
- ],
782
- "blocked_when": [
783
- "若关键边界仍不清楚,不得把结构性问题直接下放到实现阶段临时决定。"
784
- ]
785
- }
786
- },
787
- "required_outputs": []
788
- },
789
- "unit-test-specialist": {
790
- "name": "单元测试专家",
791
- "status": "active",
792
- "domains": [
793
- "testing"
794
- ],
795
- "source": ".agents/roles/domains/testing/unit-test-specialist.md",
796
- "rule_ids": [
797
- "coding-standard",
798
- "audit-report-standard"
799
- ],
800
- "rule_ids_by_profile": {
801
- "vue": [
802
- "test-standard-web"
803
- ],
804
- "react": [
805
- "test-standard-web"
806
- ],
807
- "springboot": [
808
- "test-standard-jvm"
809
- ],
810
- "node-tooling": [
811
- "test-standard-node"
812
- ]
813
- },
814
- "skill_priority": [
815
- "create-test"
816
- ],
817
- "micro_skill_allowlist": [
818
- "create-test"
819
- ],
820
- "rule_contract_profiles": {
821
- "default": {
822
- "must_follow": [
823
- "先判断当前改动是否真的需要补测,再给出最小但有效的测试策略。",
824
- "quick-fix 下优先读取 bugfix 与实现说明,不把轻量修复默认升级成完整测试改造。"
825
- ],
826
- "blocked_when": [
827
- "若关键回归路径已经受损但仍拒绝补测或给出测试建议,不得给出风险可忽略的判断。"
828
- ]
829
- }
830
- },
831
- "required_inputs": [
832
- "proposal",
833
- "specs",
834
- "design",
835
- "tasks"
836
- ],
837
- "required_outputs": []
838
- },
839
- "e2e-test-specialist": {
840
- "name": "E2E 测试专家",
841
- "status": "active",
842
- "domains": [
843
- "testing"
844
- ],
845
- "source": ".agents/roles/domains/testing/e2e-test-specialist.md",
846
- "rule_ids": [
847
- "audit-report-standard"
848
- ],
849
- "rule_ids_by_profile": {
850
- "vue": [
851
- "test-standard-web"
852
- ],
853
- "react": [
854
- "test-standard-web"
855
- ],
856
- "springboot": [
857
- "test-standard-jvm"
858
- ],
859
- "node-tooling": [
860
- "test-standard-node"
861
- ]
862
- },
863
- "skill_priority": [],
864
- "skill_priority_by_profile": {
865
- "vue": [
866
- "ui-verification",
867
- "web-design-guidelines"
868
- ],
869
- "react": [
870
- "ui-verification",
871
- "web-design-guidelines"
872
- ],
873
- "springboot": [],
874
- "node-tooling": []
875
- },
876
- "micro_skill_allowlist_by_profile": {
877
- "vue": [
878
- "ui-verification",
879
- "web-design-guidelines"
880
- ],
881
- "react": [
882
- "ui-verification",
883
- "web-design-guidelines"
884
- ],
885
- "springboot": [],
886
- "node-tooling": []
887
- },
888
- "rule_contract_profiles": {
889
- "default": {
890
- "must_follow": [
891
- "优先围绕关键发布路径设计验证,不穷举所有操作。",
892
- "验证步骤应能直接服务发布前回归,而不是只做理想化脚本清单。"
893
- ],
894
- "blocked_when": [
895
- "若关键主路径没有任何端到端验证证据,不得给出低风险判断。"
896
- ]
897
- }
898
- },
899
- "required_outputs": []
900
- },
901
- "coverage-analyst": {
902
- "name": "覆盖率分析专家",
903
- "status": "planned",
904
- "domains": [
905
- "testing"
906
- ],
907
- "source": ".agents/roles/domains/testing/coverage-analyst.md"
908
- },
909
- "verification-reviewer": {
910
- "name": "验证评审专家",
911
- "status": "active",
912
- "domains": [
913
- "testing"
914
- ],
915
- "source": ".agents/roles/domains/testing/verification-reviewer.md",
916
- "rule_ids": [
917
- "audit-report-standard"
918
- ],
919
- "rule_ids_by_profile": {
920
- "vue": [
921
- "style-standard",
922
- "test-standard-web"
923
- ],
924
- "react": [
925
- "style-standard",
926
- "test-standard-web"
927
- ],
928
- "springboot": [
929
- "exception-standard",
930
- "test-standard-jvm"
931
- ],
932
- "node-tooling": [
933
- "contract-standard",
934
- "test-standard-node"
935
- ]
936
- },
937
- "skill_priority": [],
938
- "skill_priority_by_profile": {
939
- "vue": [
940
- "ui-verification",
941
- "web-design-guidelines"
942
- ],
943
- "react": [
944
- "ui-verification",
945
- "web-design-guidelines"
946
- ],
947
- "springboot": [],
948
- "node-tooling": []
949
- },
950
- "micro_skill_allowlist_by_profile": {
951
- "vue": [
952
- "ui-verification",
953
- "web-design-guidelines"
954
- ],
955
- "react": [
956
- "ui-verification",
957
- "web-design-guidelines"
958
- ],
959
- "springboot": [],
960
- "node-tooling": []
961
- },
962
- "rule_contract_profiles": {
963
- "default": {
964
- "must_follow": [
965
- "验证评审只补强验收证据与验证口径,不重新定义需求边界。",
966
- "quick-fix 下优先读取 .ai-spec/history/<run-id>/bugfix.md、implementation-notes.md 与 checklist.md(若已存在)。"
967
- ],
968
- "blocked_when": [
969
- "若关键验收链路没有证据支撑,却仍想给出放行结论,必须维持阻断。"
970
- ]
971
- }
972
- },
973
- "required_inputs": [
974
- "proposal",
975
- "specs",
976
- "design",
977
- "tasks"
978
- ],
979
- "required_outputs": []
980
- },
981
- "pipeline-specialist": {
982
- "name": "流水线专家",
983
- "status": "active",
984
- "domains": [
985
- "delivery"
986
- ],
987
- "source": ".agents/roles/domains/delivery/pipeline-specialist.md",
988
- "rule_ids": [
989
- "coding-standard",
990
- "audit-report-standard"
991
- ],
992
- "skill_priority": [
993
- "config-and-secret-scan"
994
- ],
995
- "micro_skill_allowlist": [
996
- "config-and-secret-scan"
997
- ],
998
- "rule_contract_profiles": {
999
- "default": {
1000
- "must_follow": [
1001
- "先梳理当前流水线里已有的构建、校验和发布步骤,再给治理建议。",
1002
- "要把失败重试、人工确认和回滚关注点写清楚,不只写 happy path。"
1003
- ],
1004
- "blocked_when": [
1005
- "若流水线改动会影响发布稳定性但没有回退思路,不得直接放行。"
1006
- ]
1007
- }
1008
- },
1009
- "required_outputs": []
1010
- },
1011
- "container-specialist": {
1012
- "name": "容器专家",
1013
- "status": "planned",
1014
- "domains": [
1015
- "delivery"
1016
- ],
1017
- "source": ".agents/roles/domains/delivery/container-specialist.md"
1018
- },
1019
- "deployment-specialist": {
1020
- "name": "部署专家",
1021
- "status": "active",
1022
- "domains": [
1023
- "delivery"
1024
- ],
1025
- "source": ".agents/roles/domains/delivery/deployment-specialist.md",
1026
- "rule_ids": [
1027
- "coding-standard",
1028
- "audit-report-standard"
1029
- ],
1030
- "skill_priority": [
1031
- "config-and-secret-scan"
1032
- ],
1033
- "micro_skill_allowlist": [
1034
- "config-and-secret-scan"
1035
- ],
1036
- "rule_contract_profiles": {
1037
- "default": {
1038
- "must_follow": [
1039
- "先区分环境差异、配置依赖和发布窗口,再讨论部署动作。",
1040
- "上线前检查项要覆盖配置、回滚和监控观察点。"
1041
- ],
1042
- "blocked_when": [
1043
- "若部署差异与回滚策略不清楚,不得给出可上线结论。"
1044
- ]
1045
- }
1046
- },
1047
- "required_outputs": []
1048
- },
1049
- "component-doc-specialist": {
1050
- "name": "组件文档专家",
1051
- "status": "planned",
1052
- "domains": [
1053
- "documentation"
1054
- ],
1055
- "source": ".agents/roles/domains/documentation/component-doc-specialist.md"
1056
- },
1057
- "api-doc-specialist": {
1058
- "name": "API 文档专家",
1059
- "status": "planned",
1060
- "domains": [
1061
- "documentation"
1062
- ],
1063
- "source": ".agents/roles/domains/documentation/api-doc-specialist.md"
1064
- },
1065
- "technical-writing-specialist": {
1066
- "name": "技术文档专家",
1067
- "status": "planned",
1068
- "domains": [
1069
- "documentation"
1070
- ],
1071
- "source": ".agents/roles/domains/documentation/technical-writing-specialist.md"
1072
- },
1073
- "performance-auditor": {
1074
- "name": "性能审计专家",
1075
- "status": "active",
1076
- "domains": [
1077
- "performance"
1078
- ],
1079
- "source": ".agents/roles/domains/performance/performance-auditor.md",
1080
- "rule_ids": [
1081
- "coding-standard",
1082
- "audit-report-standard"
1083
- ],
1084
- "rule_ids_by_profile": {
1085
- "vue": [
1086
- "style-standard"
1087
- ],
1088
- "react": [
1089
- "style-standard"
1090
- ],
1091
- "springboot": [],
1092
- "node-tooling": []
1093
- },
1094
- "skill_priority": [],
1095
- "micro_skill_allowlist": [],
1096
- "rule_contract_profiles": {
1097
- "default": {
1098
- "must_follow": [
1099
- "先区分首屏、运行时、资源层问题,再给优先级建议,不做泛化性能点评。",
1100
- "quick-fix 下只给轻量性能判断和升级建议,不替代完整性能改造。"
1101
- ],
1102
- "blocked_when": [
1103
- "若性能问题已明显超出小修正边界,应建议升级主流程,而不是继续当作 quick-fix 放行。"
1104
- ]
1105
- }
1106
- },
1107
- "required_inputs": [
1108
- "proposal",
1109
- "specs",
1110
- "design",
1111
- "tasks"
1112
- ],
1113
- "required_outputs": []
1114
- },
1115
- "vitals-analyst": {
1116
- "name": "性能指标专家",
1117
- "status": "planned",
1118
- "domains": [
1119
- "performance"
1120
- ],
1121
- "source": ".agents/roles/domains/performance/vitals-analyst.md"
1122
- },
1123
- "asset-optimizer": {
1124
- "name": "资源优化专家",
1125
- "status": "planned",
1126
- "domains": [
1127
- "performance"
1128
- ],
1129
- "source": ".agents/roles/domains/performance/asset-optimizer.md"
1130
- },
1131
- "error-tracker": {
1132
- "name": "错误追踪专家",
1133
- "status": "active",
1134
- "domains": [
1135
- "observability"
1136
- ],
1137
- "source": ".agents/roles/domains/observability/error-tracker.md",
1138
- "rule_ids": [
1139
- "audit-report-standard"
1140
- ],
1141
- "skill_priority": [],
1142
- "micro_skill_allowlist": [],
1143
- "rule_contract_profiles": {
1144
- "default": {
1145
- "must_follow": [
1146
- "先按频次、影响面和可归因程度整理错误,再给排查优先级建议。"
1147
- ],
1148
- "blocked_when": [
1149
- "若错误口径仍混乱,不得输出看似精确但不可执行的结论。"
1150
- ]
1151
- }
1152
- },
1153
- "required_outputs": []
1154
- },
1155
- "rum-analyst": {
1156
- "name": "RUM 分析专家",
1157
- "status": "active",
1158
- "domains": [
1159
- "observability"
1160
- ],
1161
- "source": ".agents/roles/domains/observability/rum-analyst.md",
1162
- "rule_ids": [
1163
- "audit-report-standard"
1164
- ],
1165
- "skill_priority": [],
1166
- "micro_skill_allowlist": [],
1167
- "rule_contract_profiles": {
1168
- "default": {
1169
- "must_follow": [
1170
- "先区分真实用户观测与实验室数据,再判断体验影响。"
1171
- ],
1172
- "blocked_when": [
1173
- "若没有真实用户数据支撑,不得把推测包装成 RUM 结论。"
1174
- ]
1175
- }
1176
- },
1177
- "required_outputs": []
1178
- },
1179
- "event-instrumentation-specialist": {
1180
- "name": "埋点方案专家",
1181
- "status": "active",
1182
- "domains": [
1183
- "observability"
1184
- ],
1185
- "source": ".agents/roles/domains/observability/event-instrumentation-specialist.md",
1186
- "rule_ids": [
1187
- "doc-standard",
1188
- "audit-report-standard"
1189
- ],
1190
- "rule_ids_by_profile": {
1191
- "vue": [
1192
- "api-standard"
1193
- ],
1194
- "react": [
1195
- "api-standard"
1196
- ],
1197
- "springboot": [
1198
- "api-contract-standard"
1199
- ],
1200
- "node-tooling": [
1201
- "contract-standard"
1202
- ]
1203
- },
1204
- "skill_priority": [
1205
- "design-analysis"
1206
- ],
1207
- "skill_priority_by_profile": {
1208
- "vue": [
1209
- "design-analysis"
1210
- ],
1211
- "react": [
1212
- "design-analysis"
1213
- ],
1214
- "springboot": [],
1215
- "node-tooling": []
1216
- },
1217
- "micro_skill_allowlist": [],
1218
- "micro_skill_allowlist_by_profile": {
1219
- "vue": [
1220
- "design-analysis"
1221
- ],
1222
- "react": [
1223
- "design-analysis"
1224
- ],
1225
- "springboot": [],
1226
- "node-tooling": []
1227
- },
1228
- "rule_contract_profiles": {
1229
- "default": {
1230
- "must_follow": [
1231
- "先对齐事件目标、触发时机和字段口径,再给埋点建议。",
1232
- "优先复用现有事件命名和字段前缀,不新增孤立口径。"
1233
- ],
1234
- "blocked_when": [
1235
- "若埋点承载关键业务判断但口径未确认,不得直接推进到实现。"
1236
- ]
1237
- }
1238
- },
1239
- "required_outputs": []
1240
- },
1241
- "security-reviewer": {
1242
- "name": "安全审查专家",
1243
- "status": "planned",
1244
- "domains": [
1245
- "security-a11y"
1246
- ],
1247
- "source": ".agents/roles/domains/security-a11y/security-reviewer.md"
1248
- },
1249
- "a11y-auditor": {
1250
- "name": "可访问性审计专家",
1251
- "status": "planned",
1252
- "domains": [
1253
- "security-a11y"
1254
- ],
1255
- "source": ".agents/roles/domains/security-a11y/a11y-auditor.md"
1256
- },
1257
- "aria-specialist": {
1258
- "name": "ARIA 专家",
1259
- "status": "planned",
1260
- "domains": [
1261
- "security-a11y"
1262
- ],
1263
- "source": ".agents/roles/domains/security-a11y/aria-specialist.md"
1264
- }
1265
- }
1
+ {
2
+ "version": 1,
3
+ "support_files": [
4
+ ".agents/roles/INDEX.md",
5
+ ".agents/roles/common/README.md",
6
+ ".agents/roles/domains/README.md",
7
+ ".agents/orchestration/README.md",
8
+ ".agents/orchestration/runtime-state-handoff-spec.md",
9
+ ".agents/orchestration/task-anchor-spec.md",
10
+ ".agents/orchestration/task-orchestrator-adapter-payload.md",
11
+ ".agents/orchestration/task-orchestrator-bootstrap-payload.md",
12
+ ".agents/orchestration/task-orchestrator-output-extractor-spec.md",
13
+ ".agents/roles/common/task-orchestrator-routing.md",
14
+ ".agents/orchestration/task-orchestrator-run-plan-template.md",
15
+ ".agents/orchestration/task-orchestrator-runtime-hooks.md"
16
+ ],
17
+ "roles": {
18
+ "task-orchestrator": {
19
+ "name": "任务主代理",
20
+ "status": "active",
21
+ "profiles": [
22
+ "vue",
23
+ "react",
24
+ "springboot",
25
+ "node-tooling"
26
+ ],
27
+ "domains": [
28
+ "orchestration"
29
+ ],
30
+ "source": ".agents/roles/common/task-orchestrator.md",
31
+ "rule_ids": [
32
+ "project-overview",
33
+ "project-structure"
34
+ ],
35
+ "rule_ids_by_profile": {
36
+ "vue": [
37
+ "api-standard",
38
+ "route-standard",
39
+ "style-standard"
40
+ ],
41
+ "react": [
42
+ "api-standard",
43
+ "route-standard",
44
+ "style-standard"
45
+ ],
46
+ "springboot": [
47
+ "api-contract-standard",
48
+ "layering-standard"
49
+ ],
50
+ "node-tooling": [
51
+ "contract-standard",
52
+ "cli-standard"
53
+ ]
54
+ },
55
+ "rule_contract_profiles": {
56
+ "default": {
57
+ "must_follow": [
58
+ "首轮编排必须优先吸收仓库现状与规则,再决定 flow、delivery_profile 和人工确认点。",
59
+ "能从仓库结构、项目规则推断的落点事实,优先转成 assumptions 或 routing constraints。"
60
+ ],
61
+ "blocked_when": [
62
+ "高风险领域的流程、安全、合规、风控或权限边界仍未确认时,不得放行到实现角色。"
63
+ ]
64
+ },
65
+ "vue": {
66
+ "must_follow": [
67
+ "Vue 页面类任务优先以 src/views、src/router/modules、src/api、src/api/types、src/style.css 等当前仓库落点编排。",
68
+ "若仓库缺少 vue-router 或请求层骨架,要先把补骨架还是保持占位入口写进编排约束。",
69
+ "mock-first、真实接口、Pinia/store 与主题变量策略需要在首轮编排时明确,不留到实现阶段临时猜。"
70
+ ]
71
+ },
72
+ "springboot": {
73
+ "must_follow": [
74
+ "Spring Boot 任务优先以 Controller / Service / Repository 分层落点编排。",
75
+ "若仓库缺少统一响应体或全局异常处理,要先把是否补基础设施写进编排约束。",
76
+ "接口契约(路径、请求/响应 DTO)需要在首轮编排时明确,不留到实现阶段临时猜。"
77
+ ]
78
+ },
79
+ "node-tooling": {
80
+ "must_follow": [
81
+ "Node 工具仓任务优先以 CLI 命令 / Contract / Worker 模块落点编排。",
82
+ "若仓库缺少统一 Contract Schema 或错误类型定义,要先把是否补基础设施写进编排约束。",
83
+ "Contract 输入/输出 Schema 需要在首轮编排时明确,不留到实现阶段临时猜。"
84
+ ]
85
+ }
86
+ }
87
+ },
88
+ "requirement-analyst": {
89
+ "name": "需求解析专家",
90
+ "status": "active",
91
+ "profiles": [
92
+ "vue",
93
+ "react",
94
+ "springboot",
95
+ "node-tooling"
96
+ ],
97
+ "domains": [
98
+ "demand-design"
99
+ ],
100
+ "source": ".agents/roles/common/requirement-analyst.md",
101
+ "rule_ids": [
102
+ "project-overview",
103
+ "project-structure"
104
+ ],
105
+ "rule_ids_by_profile": {
106
+ "vue": [
107
+ "api-standard",
108
+ "route-standard",
109
+ "style-standard"
110
+ ],
111
+ "react": [
112
+ "api-standard",
113
+ "route-standard",
114
+ "style-standard"
115
+ ],
116
+ "springboot": [
117
+ "api-contract-standard",
118
+ "layering-standard"
119
+ ],
120
+ "node-tooling": [
121
+ "contract-standard",
122
+ "cli-standard"
123
+ ]
124
+ },
125
+ "skill_priority": [
126
+ "create-proposal",
127
+ "design-analysis"
128
+ ],
129
+ "micro_skill_allowlist": [
130
+ "create-proposal",
131
+ "design-analysis"
132
+ ],
133
+ "skill_priority_by_profile": {
134
+ "vue": [
135
+ "create-proposal",
136
+ "design-analysis"
137
+ ],
138
+ "react": [
139
+ "create-proposal",
140
+ "design-analysis"
141
+ ],
142
+ "springboot": [
143
+ "create-proposal"
144
+ ],
145
+ "node-tooling": [
146
+ "create-proposal"
147
+ ]
148
+ },
149
+ "rule_contract_profiles": {
150
+ "default": {
151
+ "must_follow": [
152
+ "先把项目定位、目录落点、规范约定吸收到 proposal/specs/design/tasks,不要把规范已明确的信息重复写成 missing_inputs。",
153
+ "需求收敛必须落到当前仓库可实施的具体落点,而不是抽象方案。"
154
+ ],
155
+ "blocked_when": [
156
+ "高风险领域的流程、安全、合规、风控或权限边界仍未确认时,必须维持 before-implementation 门禁。"
157
+ ]
158
+ },
159
+ "vue": {
160
+ "must_follow": [
161
+ "页面任务优先对齐 src/views/<page>/index.vue 与 src/router/modules/<module>.ts 的落点约定。",
162
+ "若为 mock 或占位页,明确写清 src/mock 或本地 mock 方案,以及不接真实 API 的边界。",
163
+ "样式和视觉约束需对齐主题 CSS 变量,不要把硬编码颜色或自由样式当默认方案。"
164
+ ]
165
+ },
166
+ "springboot": {
167
+ "must_follow": [
168
+ "接口需求优先对齐 Controller / Service / Repository 的分层落点约定。",
169
+ "明确 API 路径、请求/响应 DTO 结构和分页策略,不留到实现阶段临时猜。",
170
+ "涉及数据库 Schema 变更时,需明确迁移策略和兼容性边界。"
171
+ ]
172
+ },
173
+ "node-tooling": {
174
+ "must_follow": [
175
+ "功能需求优先对齐 CLI 命令 / Contract Schema / Worker 模块的落点约定。",
176
+ "明确 Contract 输入/输出 Schema 和错误处理策略,不留到实现阶段临时猜。",
177
+ "涉及 CLI 参数或模块导出变更时,需明确兼容性边界和版本策略。"
178
+ ]
179
+ }
180
+ },
181
+ "openspec_actions": [
182
+ "propose"
183
+ ],
184
+ "openspec_rule_sections": [
185
+ "proposal",
186
+ "specs",
187
+ "design",
188
+ "tasks"
189
+ ],
190
+ "required_outputs": [
191
+ "proposal",
192
+ "specs",
193
+ "design",
194
+ "tasks"
195
+ ],
196
+ "runtime_transition": {
197
+ "action": "handoff",
198
+ "to_role": "resolve-from-profile",
199
+ "to_role_by_profile": {
200
+ "vue": "frontend-implementer",
201
+ "react": "frontend-implementer",
202
+ "springboot": "backend-implementer",
203
+ "node-tooling": "tooling-implementer"
204
+ },
205
+ "next_role": "code-guardian",
206
+ "status": "running",
207
+ "message": "handoff to implementer after requirement convergence"
208
+ }
209
+ },
210
+ "frontend-implementer": {
211
+ "name": "前端实现专家",
212
+ "status": "active",
213
+ "profiles": [
214
+ "vue",
215
+ "react"
216
+ ],
217
+ "domains": [
218
+ "engineering",
219
+ "delivery"
220
+ ],
221
+ "source": ".agents/roles/common/frontend-implementer.md",
222
+ "rule_ids": [
223
+ "project-structure",
224
+ "component-standard",
225
+ "route-standard",
226
+ "api-standard",
227
+ "store-standard",
228
+ "style-standard"
229
+ ],
230
+ "skill_priority": [
231
+ "create-view",
232
+ "create-route",
233
+ "create-api",
234
+ "theme-variables",
235
+ "create-component",
236
+ "create-store",
237
+ "execute-task"
238
+ ],
239
+ "micro_skill_allowlist": [
240
+ "create-view",
241
+ "create-route",
242
+ "create-api",
243
+ "theme-variables",
244
+ "create-component",
245
+ "create-store"
246
+ ],
247
+ "rule_contract_profiles": {
248
+ "default": {
249
+ "must_follow": [
250
+ "优先复用现有目录、路由、请求封装、状态管理和样式变量约定。",
251
+ "实现前先对齐 proposal/specs/design/tasks 的范围与落点,不要自行扩 scope。",
252
+ "若 verification 失败触发 auto-fix,只修失败步骤对应的问题,不新增功能、不顺手重构。"
253
+ ],
254
+ "blocked_when": [
255
+ "proposal/specs/design/tasks 未落盘或仍处于 before-implementation 审批门禁时,禁止改业务代码。"
256
+ ]
257
+ },
258
+ "vue": {
259
+ "must_follow": [
260
+ "Vue 视图优先落在 src/views/<page>/index.vue;页面专用组件落在 src/views/<page>/components/。",
261
+ "路由统一放在 src/router/modules/,页面路由必须懒加载,并补齐 meta.title / requiresAuth 等项目约定。",
262
+ "接口统一走 src/api/<module>.ts 与 src/api/types/<module>.ts,组件或页面里禁止直接调 request。",
263
+ "状态管理统一走 Pinia 和 src/store/modules/;mock-first 场景优先本地状态,不预建复杂 store。",
264
+ "样式必须使用主题变量和 scoped/CSS Modules,禁止硬编码颜色值。"
265
+ ]
266
+ }
267
+ },
268
+ "openspec_actions": [
269
+ "apply"
270
+ ],
271
+ "openspec_rule_sections": [
272
+ "specs",
273
+ "tasks",
274
+ "design"
275
+ ],
276
+ "required_inputs": [
277
+ "proposal",
278
+ "specs",
279
+ "design",
280
+ "tasks"
281
+ ],
282
+ "runtime_transition": {
283
+ "action": "handoff",
284
+ "to_role": "code-guardian",
285
+ "next_role": null,
286
+ "status": "running",
287
+ "message": "handoff to code-guardian after implementation delivery"
288
+ }
289
+ },
290
+ "backend-implementer": {
291
+ "name": "后端实现专家",
292
+ "status": "active",
293
+ "profiles": [
294
+ "springboot"
295
+ ],
296
+ "domains": [
297
+ "engineering",
298
+ "delivery"
299
+ ],
300
+ "source": ".agents/roles/common/backend-implementer.md",
301
+ "rule_ids": [
302
+ "layering-standard",
303
+ "api-contract-standard",
304
+ "persistence-standard",
305
+ "exception-standard"
306
+ ],
307
+ "skill_priority": [
308
+ "execute-task"
309
+ ],
310
+ "micro_skill_allowlist": [],
311
+ "rule_contract_profiles": {
312
+ "default": {
313
+ "must_follow": [
314
+ "优先复用现有 Service、Repository 和工具类,不重复建设。",
315
+ "实现前先对齐 proposal/specs/design/tasks 的范围与落点,不要自行扩 scope。",
316
+ "若 verification 失败触发 auto-fix,只修失败步骤对应的问题,不新增功能、不顺手重构。"
317
+ ],
318
+ "blocked_when": [
319
+ "proposal/specs/design/tasks 未落盘或仍处于 before-implementation 审批门禁时,禁止改业务代码。"
320
+ ]
321
+ },
322
+ "springboot": {
323
+ "must_follow": [
324
+ "Controller 只调 Service,Service 调 Repository,禁止跨层直接调用。",
325
+ "所有接口返回统一响应体 Result<T>,禁止返回裸数据。",
326
+ "业务异常使用 BusinessException 子类,不抛裸 RuntimeException。",
327
+ "敏感配置通过 @ConfigurationProperties 或环境变量注入,不硬编码。"
328
+ ]
329
+ }
330
+ },
331
+ "openspec_actions": [
332
+ "apply"
333
+ ],
334
+ "openspec_rule_sections": [
335
+ "specs",
336
+ "tasks",
337
+ "design"
338
+ ],
339
+ "required_inputs": [
340
+ "proposal",
341
+ "specs",
342
+ "design",
343
+ "tasks"
344
+ ],
345
+ "runtime_transition": {
346
+ "action": "handoff",
347
+ "to_role": "code-guardian",
348
+ "next_role": null,
349
+ "status": "running",
350
+ "message": "handoff to code-guardian after implementation delivery"
351
+ }
352
+ },
353
+ "tooling-implementer": {
354
+ "name": "工具仓实现专家",
355
+ "status": "active",
356
+ "profiles": [
357
+ "node-tooling"
358
+ ],
359
+ "domains": [
360
+ "engineering",
361
+ "delivery"
362
+ ],
363
+ "source": ".agents/roles/common/tooling-implementer.md",
364
+ "rule_ids": [
365
+ "cli-standard",
366
+ "contract-standard",
367
+ "runtime-files-standard",
368
+ "logging-standard"
369
+ ],
370
+ "skill_priority": [
371
+ "execute-task"
372
+ ],
373
+ "micro_skill_allowlist": [],
374
+ "rule_contract_profiles": {
375
+ "default": {
376
+ "must_follow": [
377
+ "优先复用现有工具函数、Contract 定义和模块导出,不重复建设。",
378
+ "实现前先对齐 proposal/specs/design/tasks 的范围与落点,不要自行扩 scope。",
379
+ "若 verification 失败触发 auto-fix,只修失败步骤对应的问题,不新增功能、不顺手重构。"
380
+ ],
381
+ "blocked_when": [
382
+ "proposal/specs/design/tasks 未落盘或仍处于 before-implementation 审批门禁时,禁止改业务代码。"
383
+ ]
384
+ },
385
+ "node-tooling": {
386
+ "must_follow": [
387
+ "所有外部输入在入口处通过 Contract Schema 校验,不跳过校验直接使用。",
388
+ "错误处理使用类型化错误类,不抛裸 new Error()。",
389
+ "日志通过项目统一日志库输出,不用 console.log。",
390
+ "模块只通过 index.ts 导出公共接口,内部实现不对外暴露。"
391
+ ]
392
+ }
393
+ },
394
+ "openspec_actions": [
395
+ "apply"
396
+ ],
397
+ "openspec_rule_sections": [
398
+ "specs",
399
+ "tasks",
400
+ "design"
401
+ ],
402
+ "required_inputs": [
403
+ "proposal",
404
+ "specs",
405
+ "design",
406
+ "tasks"
407
+ ],
408
+ "runtime_transition": {
409
+ "action": "handoff",
410
+ "to_role": "code-guardian",
411
+ "next_role": null,
412
+ "status": "running",
413
+ "message": "handoff to code-guardian after implementation delivery"
414
+ }
415
+ },
416
+ "code-guardian": {
417
+ "name": "规范守护者",
418
+ "status": "active",
419
+ "profiles": [
420
+ "vue",
421
+ "react",
422
+ "springboot",
423
+ "node-tooling"
424
+ ],
425
+ "domains": [
426
+ "governance",
427
+ "testing"
428
+ ],
429
+ "source": ".agents/roles/common/code-guardian.md",
430
+ "rule_ids": [
431
+ "coding-standard",
432
+ "audit-report-standard"
433
+ ],
434
+ "rule_ids_by_profile": {
435
+ "vue": [
436
+ "api-standard",
437
+ "route-standard",
438
+ "style-standard",
439
+ "test-standard-web",
440
+ "format-check-standard-web"
441
+ ],
442
+ "react": [
443
+ "api-standard",
444
+ "route-standard",
445
+ "style-standard",
446
+ "test-standard-web",
447
+ "format-check-standard-web"
448
+ ],
449
+ "springboot": [
450
+ "api-contract-standard",
451
+ "layering-standard",
452
+ "persistence-standard",
453
+ "exception-standard",
454
+ "test-standard-jvm",
455
+ "format-check-standard-jvm"
456
+ ],
457
+ "node-tooling": [
458
+ "contract-standard",
459
+ "cli-standard",
460
+ "runtime-files-standard",
461
+ "logging-standard",
462
+ "test-standard-node",
463
+ "format-check-standard-node"
464
+ ]
465
+ },
466
+ "skill_priority": [
467
+ "create-test"
468
+ ],
469
+ "micro_skill_allowlist": [],
470
+ "skill_priority_by_profile": {
471
+ "vue": [
472
+ "ui-verification",
473
+ "web-design-guidelines",
474
+ "create-test"
475
+ ],
476
+ "react": [
477
+ "ui-verification",
478
+ "web-design-guidelines",
479
+ "create-test"
480
+ ],
481
+ "springboot": [
482
+ "create-test"
483
+ ],
484
+ "node-tooling": [
485
+ "create-test"
486
+ ]
487
+ },
488
+ "micro_skill_allowlist_by_profile": {
489
+ "vue": [
490
+ "ui-verification",
491
+ "web-design-guidelines"
492
+ ],
493
+ "react": [
494
+ "ui-verification",
495
+ "web-design-guidelines"
496
+ ],
497
+ "springboot": [],
498
+ "node-tooling": []
499
+ },
500
+ "rule_contract_profiles": {
501
+ "default": {
502
+ "must_follow": [
503
+ "以 proposal/specs/design/tasks 和项目规则为准检查实现,而不是只做泛化 lint。",
504
+ "必须给出阻断项、非阻断项和交付建议,不能写成模糊建议列表。",
505
+ "若实现阶段经历过 auto-fix 仍未通过 verification,必须按阻断项处理,不能以后续再看放行。"
506
+ ],
507
+ "blocked_when": [
508
+ "存在与项目规范冲突的目录、接口、测试或格式问题时,不得给 complete 结论。"
509
+ ]
510
+ },
511
+ "vue": {
512
+ "must_follow": [
513
+ "核查页面是否落在 src/views、路由是否落在 src/router/modules,并保持动态导入。",
514
+ "核查 API 是否通过 src/api 封装、类型是否放在 src/api/types,页面中未直接调 request。",
515
+ "核查样式是否使用主题变量、scoped 或 CSS Modules,而不是硬编码全局样式。",
516
+ "核查 Pinia/store、mock 与 proposal/specs/design/tasks 的边界是否一致,避免演示页写成生产页。"
517
+ ]
518
+ },
519
+ "springboot": {
520
+ "must_follow": [
521
+ "核查分层是否合规(Controller 不直接调 Repository,Service 持有事务逻辑)。",
522
+ "核查所有接口是否返回统一响应体 Result<T>,无裸数据返回。",
523
+ "核查异常处理是否通过全局处理器,无裸 RuntimeException 抛出。",
524
+ "核查敏感配置是否通过 @ConfigurationProperties 或环境变量管理,无硬编码。"
525
+ ]
526
+ },
527
+ "node-tooling": {
528
+ "must_follow": [
529
+ "核查所有外部输入是否在入口处通过 Contract Schema 校验。",
530
+ "核查错误处理是否使用类型化错误类,无裸 new Error() 抛出。",
531
+ "核查日志是否通过项目统一日志库输出,无 console.log 残留。",
532
+ "核查模块导出是否仅通过 index.ts,无内部实现被外部直接引用。"
533
+ ]
534
+ }
535
+ },
536
+ "openspec_actions": [
537
+ "verify"
538
+ ],
539
+ "openspec_rule_sections": [
540
+ "tasks",
541
+ "specs",
542
+ "design",
543
+ "checklist",
544
+ "iterations"
545
+ ],
546
+ "required_inputs": [
547
+ "proposal",
548
+ "specs",
549
+ "design",
550
+ "tasks"
551
+ ],
552
+ "required_outputs": [
553
+ "checklist",
554
+ "iterations"
555
+ ],
556
+ "runtime_transition": {
557
+ "action": "gate-blocked",
558
+ "to_role": "code-guardian",
559
+ "next_role": "archive-change",
560
+ "pending_gate": "before-archive",
561
+ "status": "waiting-approval",
562
+ "message": "wait for archive confirmation after code-guardian final review"
563
+ }
564
+ },
565
+ "archive-change": {
566
+ "name": "归档专家",
567
+ "status": "active",
568
+ "domains": [
569
+ "delivery",
570
+ "documentation"
571
+ ],
572
+ "source": ".agents/roles/common/archive-change.md",
573
+ "rule_ids": [
574
+ "audit-report-standard"
575
+ ],
576
+ "skill_priority": [
577
+ "archive-change"
578
+ ],
579
+ "micro_skill_allowlist": [
580
+ "archive-change"
581
+ ],
582
+ "rule_contract_profiles": {
583
+ "default": {
584
+ "must_follow": [
585
+ "先合并 openspec/changes/<change-id>/specs/ 到 openspec/specs/,再归档 change 目录。",
586
+ "归档目录必须落在 openspec/changes/archive/YYYY-MM-DD-<change-id>/,不能改到其它位置。"
587
+ ],
588
+ "blocked_when": [
589
+ "缺少 proposal/specs/design/tasks/checklist/iterations 任一关键产物时,不得执行归档。"
590
+ ]
591
+ }
592
+ },
593
+ "openspec_actions": [
594
+ "archive"
595
+ ],
596
+ "openspec_rule_sections": [
597
+ "specs",
598
+ "checklist",
599
+ "iterations"
600
+ ],
601
+ "required_inputs": [
602
+ "proposal",
603
+ "specs",
604
+ "design",
605
+ "tasks",
606
+ "checklist",
607
+ "iterations"
608
+ ],
609
+ "runtime_transition": {
610
+ "action": "complete",
611
+ "to_role": "archive-change",
612
+ "next_role": null,
613
+ "status": "success",
614
+ "message": "run completed after archive-change closeout"
615
+ }
616
+ },
617
+ "design-collaborator": {
618
+ "name": "设计协作专家",
619
+ "status": "active",
620
+ "domains": [
621
+ "demand-design"
622
+ ],
623
+ "skill_priority": [
624
+ "ui-ux-pro-max",
625
+ "design-analysis"
626
+ ],
627
+ "source": ".agents/roles/domains/demand-design/design-collaborator.md"
628
+ },
629
+ "api-contract-specialist": {
630
+ "name": "API 契约专家",
631
+ "status": "active",
632
+ "domains": [
633
+ "demand-design"
634
+ ],
635
+ "source": ".agents/roles/domains/demand-design/api-contract-specialist.md"
636
+ },
637
+ "lint-policy-specialist": {
638
+ "name": "Lint 规则专家",
639
+ "status": "planned",
640
+ "domains": [
641
+ "governance"
642
+ ],
643
+ "source": ".agents/roles/domains/governance/lint-policy-specialist.md"
644
+ },
645
+ "api-governance-specialist": {
646
+ "name": "API 规范专家",
647
+ "status": "planned",
648
+ "domains": [
649
+ "governance"
650
+ ],
651
+ "source": ".agents/roles/domains/governance/api-governance-specialist.md"
652
+ },
653
+ "route-governance-specialist": {
654
+ "name": "路由规范专家",
655
+ "status": "planned",
656
+ "domains": [
657
+ "governance"
658
+ ],
659
+ "source": ".agents/roles/domains/governance/route-governance-specialist.md"
660
+ },
661
+ "build-specialist": {
662
+ "name": "构建专家",
663
+ "status": "active",
664
+ "domains": [
665
+ "engineering"
666
+ ],
667
+ "source": ".agents/roles/domains/engineering/build-specialist.md",
668
+ "rule_ids": [
669
+ "coding-standard",
670
+ "audit-report-standard"
671
+ ],
672
+ "rule_ids_by_profile": {
673
+ "vue": [
674
+ "format-check-standard-web"
675
+ ],
676
+ "react": [
677
+ "format-check-standard-web"
678
+ ],
679
+ "springboot": [
680
+ "format-check-standard-jvm"
681
+ ],
682
+ "node-tooling": [
683
+ "format-check-standard-node"
684
+ ]
685
+ },
686
+ "skill_priority": [
687
+ "config-and-secret-scan"
688
+ ],
689
+ "micro_skill_allowlist": [
690
+ "config-and-secret-scan"
691
+ ],
692
+ "rule_contract_profiles": {
693
+ "default": {
694
+ "must_follow": [
695
+ "先判断问题位于构建入口、构建性能还是产物异常,再给出建议。",
696
+ "优先复用现有构建脚本和配置,不新增无必要工具链。"
697
+ ],
698
+ "blocked_when": [
699
+ "若构建变更会影响发布链但未给出验证与回滚路径,不得直接放行。"
700
+ ]
701
+ }
702
+ },
703
+ "required_outputs": []
704
+ },
705
+ "dependency-governor": {
706
+ "name": "依赖治理专家",
707
+ "status": "active",
708
+ "domains": [
709
+ "engineering"
710
+ ],
711
+ "source": ".agents/roles/domains/engineering/dependency-governor.md",
712
+ "rule_ids": [
713
+ "coding-standard",
714
+ "audit-report-standard"
715
+ ],
716
+ "skill_priority": [
717
+ "dependency-impact-graph",
718
+ "config-and-secret-scan"
719
+ ],
720
+ "micro_skill_allowlist": [
721
+ "dependency-impact-graph",
722
+ "config-and-secret-scan"
723
+ ],
724
+ "rule_contract_profiles": {
725
+ "default": {
726
+ "must_follow": [
727
+ "先区分新增、升级、移除三类依赖变更,再给最小影响建议。",
728
+ "涉及安装来源、registry 或脚本依赖时,需要补验证与回滚说明。"
729
+ ],
730
+ "blocked_when": [
731
+ "若依赖变更影响面未分析清楚,不得直接建议进入实现或发布。"
732
+ ]
733
+ }
734
+ },
735
+ "required_outputs": []
736
+ },
737
+ "architecture-advisor": {
738
+ "name": "架构顾问专家",
739
+ "status": "active",
740
+ "domains": [
741
+ "engineering"
742
+ ],
743
+ "source": ".agents/roles/domains/engineering/architecture-advisor.md",
744
+ "rule_ids": [
745
+ "project-overview",
746
+ "project-structure"
747
+ ],
748
+ "rule_ids_by_profile": {
749
+ "vue": [
750
+ "api-standard",
751
+ "route-standard",
752
+ "style-standard"
753
+ ],
754
+ "react": [
755
+ "api-standard",
756
+ "route-standard",
757
+ "style-standard"
758
+ ],
759
+ "springboot": [
760
+ "api-contract-standard",
761
+ "layering-standard"
762
+ ],
763
+ "node-tooling": [
764
+ "contract-standard",
765
+ "cli-standard"
766
+ ]
767
+ },
768
+ "skill_priority": [
769
+ "create-proposal",
770
+ "dependency-impact-graph"
771
+ ],
772
+ "micro_skill_allowlist": [
773
+ "create-proposal",
774
+ "dependency-impact-graph"
775
+ ],
776
+ "rule_contract_profiles": {
777
+ "default": {
778
+ "must_follow": [
779
+ "先收口模块边界和职责拆分,再讨论实现细节。",
780
+ "若结构性改动会影响多个模块,需要显式列出影响面和拆分建议。"
781
+ ],
782
+ "blocked_when": [
783
+ "若关键边界仍不清楚,不得把结构性问题直接下放到实现阶段临时决定。"
784
+ ]
785
+ }
786
+ },
787
+ "required_outputs": []
788
+ },
789
+ "unit-test-specialist": {
790
+ "name": "单元测试专家",
791
+ "status": "active",
792
+ "domains": [
793
+ "testing"
794
+ ],
795
+ "source": ".agents/roles/domains/testing/unit-test-specialist.md",
796
+ "rule_ids": [
797
+ "coding-standard",
798
+ "audit-report-standard"
799
+ ],
800
+ "rule_ids_by_profile": {
801
+ "vue": [
802
+ "test-standard-web"
803
+ ],
804
+ "react": [
805
+ "test-standard-web"
806
+ ],
807
+ "springboot": [
808
+ "test-standard-jvm"
809
+ ],
810
+ "node-tooling": [
811
+ "test-standard-node"
812
+ ]
813
+ },
814
+ "skill_priority": [
815
+ "create-test"
816
+ ],
817
+ "micro_skill_allowlist": [
818
+ "create-test"
819
+ ],
820
+ "rule_contract_profiles": {
821
+ "default": {
822
+ "must_follow": [
823
+ "先判断当前改动是否真的需要补测,再给出最小但有效的测试策略。",
824
+ "quick-fix 下优先读取 bugfix 与实现说明,不把轻量修复默认升级成完整测试改造。"
825
+ ],
826
+ "blocked_when": [
827
+ "若关键回归路径已经受损但仍拒绝补测或给出测试建议,不得给出风险可忽略的判断。"
828
+ ]
829
+ }
830
+ },
831
+ "required_inputs": [
832
+ "proposal",
833
+ "specs",
834
+ "design",
835
+ "tasks"
836
+ ],
837
+ "required_outputs": []
838
+ },
839
+ "e2e-test-specialist": {
840
+ "name": "E2E 测试专家",
841
+ "status": "active",
842
+ "domains": [
843
+ "testing"
844
+ ],
845
+ "source": ".agents/roles/domains/testing/e2e-test-specialist.md",
846
+ "rule_ids": [
847
+ "audit-report-standard"
848
+ ],
849
+ "rule_ids_by_profile": {
850
+ "vue": [
851
+ "test-standard-web"
852
+ ],
853
+ "react": [
854
+ "test-standard-web"
855
+ ],
856
+ "springboot": [
857
+ "test-standard-jvm"
858
+ ],
859
+ "node-tooling": [
860
+ "test-standard-node"
861
+ ]
862
+ },
863
+ "skill_priority": [],
864
+ "skill_priority_by_profile": {
865
+ "vue": [
866
+ "ui-verification",
867
+ "web-design-guidelines"
868
+ ],
869
+ "react": [
870
+ "ui-verification",
871
+ "web-design-guidelines"
872
+ ],
873
+ "springboot": [],
874
+ "node-tooling": []
875
+ },
876
+ "micro_skill_allowlist_by_profile": {
877
+ "vue": [
878
+ "ui-verification",
879
+ "web-design-guidelines"
880
+ ],
881
+ "react": [
882
+ "ui-verification",
883
+ "web-design-guidelines"
884
+ ],
885
+ "springboot": [],
886
+ "node-tooling": []
887
+ },
888
+ "rule_contract_profiles": {
889
+ "default": {
890
+ "must_follow": [
891
+ "优先围绕关键发布路径设计验证,不穷举所有操作。",
892
+ "验证步骤应能直接服务发布前回归,而不是只做理想化脚本清单。"
893
+ ],
894
+ "blocked_when": [
895
+ "若关键主路径没有任何端到端验证证据,不得给出低风险判断。"
896
+ ]
897
+ }
898
+ },
899
+ "required_outputs": []
900
+ },
901
+ "coverage-analyst": {
902
+ "name": "覆盖率分析专家",
903
+ "status": "planned",
904
+ "domains": [
905
+ "testing"
906
+ ],
907
+ "source": ".agents/roles/domains/testing/coverage-analyst.md"
908
+ },
909
+ "verification-reviewer": {
910
+ "name": "验证评审专家",
911
+ "status": "active",
912
+ "domains": [
913
+ "testing"
914
+ ],
915
+ "source": ".agents/roles/domains/testing/verification-reviewer.md",
916
+ "rule_ids": [
917
+ "audit-report-standard"
918
+ ],
919
+ "rule_ids_by_profile": {
920
+ "vue": [
921
+ "style-standard",
922
+ "test-standard-web"
923
+ ],
924
+ "react": [
925
+ "style-standard",
926
+ "test-standard-web"
927
+ ],
928
+ "springboot": [
929
+ "exception-standard",
930
+ "test-standard-jvm"
931
+ ],
932
+ "node-tooling": [
933
+ "contract-standard",
934
+ "test-standard-node"
935
+ ]
936
+ },
937
+ "skill_priority": [],
938
+ "skill_priority_by_profile": {
939
+ "vue": [
940
+ "ui-verification",
941
+ "web-design-guidelines"
942
+ ],
943
+ "react": [
944
+ "ui-verification",
945
+ "web-design-guidelines"
946
+ ],
947
+ "springboot": [],
948
+ "node-tooling": []
949
+ },
950
+ "micro_skill_allowlist_by_profile": {
951
+ "vue": [
952
+ "ui-verification",
953
+ "web-design-guidelines"
954
+ ],
955
+ "react": [
956
+ "ui-verification",
957
+ "web-design-guidelines"
958
+ ],
959
+ "springboot": [],
960
+ "node-tooling": []
961
+ },
962
+ "rule_contract_profiles": {
963
+ "default": {
964
+ "must_follow": [
965
+ "验证评审只补强验收证据与验证口径,不重新定义需求边界。",
966
+ "quick-fix 下优先读取 .ai-spec/history/<run-id>/bugfix.md、implementation-notes.md 与 checklist.md(若已存在)。"
967
+ ],
968
+ "blocked_when": [
969
+ "若关键验收链路没有证据支撑,却仍想给出放行结论,必须维持阻断。"
970
+ ]
971
+ }
972
+ },
973
+ "required_inputs": [
974
+ "proposal",
975
+ "specs",
976
+ "design",
977
+ "tasks"
978
+ ],
979
+ "required_outputs": []
980
+ },
981
+ "pipeline-specialist": {
982
+ "name": "流水线专家",
983
+ "status": "active",
984
+ "domains": [
985
+ "delivery"
986
+ ],
987
+ "source": ".agents/roles/domains/delivery/pipeline-specialist.md",
988
+ "rule_ids": [
989
+ "coding-standard",
990
+ "audit-report-standard"
991
+ ],
992
+ "skill_priority": [
993
+ "config-and-secret-scan"
994
+ ],
995
+ "micro_skill_allowlist": [
996
+ "config-and-secret-scan"
997
+ ],
998
+ "rule_contract_profiles": {
999
+ "default": {
1000
+ "must_follow": [
1001
+ "先梳理当前流水线里已有的构建、校验和发布步骤,再给治理建议。",
1002
+ "要把失败重试、人工确认和回滚关注点写清楚,不只写 happy path。"
1003
+ ],
1004
+ "blocked_when": [
1005
+ "若流水线改动会影响发布稳定性但没有回退思路,不得直接放行。"
1006
+ ]
1007
+ }
1008
+ },
1009
+ "required_outputs": []
1010
+ },
1011
+ "container-specialist": {
1012
+ "name": "容器专家",
1013
+ "status": "planned",
1014
+ "domains": [
1015
+ "delivery"
1016
+ ],
1017
+ "source": ".agents/roles/domains/delivery/container-specialist.md"
1018
+ },
1019
+ "deployment-specialist": {
1020
+ "name": "部署专家",
1021
+ "status": "active",
1022
+ "domains": [
1023
+ "delivery"
1024
+ ],
1025
+ "source": ".agents/roles/domains/delivery/deployment-specialist.md",
1026
+ "rule_ids": [
1027
+ "coding-standard",
1028
+ "audit-report-standard"
1029
+ ],
1030
+ "skill_priority": [
1031
+ "config-and-secret-scan"
1032
+ ],
1033
+ "micro_skill_allowlist": [
1034
+ "config-and-secret-scan"
1035
+ ],
1036
+ "rule_contract_profiles": {
1037
+ "default": {
1038
+ "must_follow": [
1039
+ "先区分环境差异、配置依赖和发布窗口,再讨论部署动作。",
1040
+ "上线前检查项要覆盖配置、回滚和监控观察点。"
1041
+ ],
1042
+ "blocked_when": [
1043
+ "若部署差异与回滚策略不清楚,不得给出可上线结论。"
1044
+ ]
1045
+ }
1046
+ },
1047
+ "required_outputs": []
1048
+ },
1049
+ "component-doc-specialist": {
1050
+ "name": "组件文档专家",
1051
+ "status": "planned",
1052
+ "domains": [
1053
+ "documentation"
1054
+ ],
1055
+ "source": ".agents/roles/domains/documentation/component-doc-specialist.md"
1056
+ },
1057
+ "api-doc-specialist": {
1058
+ "name": "API 文档专家",
1059
+ "status": "planned",
1060
+ "domains": [
1061
+ "documentation"
1062
+ ],
1063
+ "source": ".agents/roles/domains/documentation/api-doc-specialist.md"
1064
+ },
1065
+ "technical-writing-specialist": {
1066
+ "name": "技术文档专家",
1067
+ "status": "planned",
1068
+ "domains": [
1069
+ "documentation"
1070
+ ],
1071
+ "source": ".agents/roles/domains/documentation/technical-writing-specialist.md"
1072
+ },
1073
+ "performance-auditor": {
1074
+ "name": "性能审计专家",
1075
+ "status": "active",
1076
+ "domains": [
1077
+ "performance"
1078
+ ],
1079
+ "source": ".agents/roles/domains/performance/performance-auditor.md",
1080
+ "rule_ids": [
1081
+ "coding-standard",
1082
+ "audit-report-standard"
1083
+ ],
1084
+ "rule_ids_by_profile": {
1085
+ "vue": [
1086
+ "style-standard"
1087
+ ],
1088
+ "react": [
1089
+ "style-standard"
1090
+ ],
1091
+ "springboot": [],
1092
+ "node-tooling": []
1093
+ },
1094
+ "skill_priority": [],
1095
+ "micro_skill_allowlist": [],
1096
+ "rule_contract_profiles": {
1097
+ "default": {
1098
+ "must_follow": [
1099
+ "先区分首屏、运行时、资源层问题,再给优先级建议,不做泛化性能点评。",
1100
+ "quick-fix 下只给轻量性能判断和升级建议,不替代完整性能改造。"
1101
+ ],
1102
+ "blocked_when": [
1103
+ "若性能问题已明显超出小修正边界,应建议升级主流程,而不是继续当作 quick-fix 放行。"
1104
+ ]
1105
+ }
1106
+ },
1107
+ "required_inputs": [
1108
+ "proposal",
1109
+ "specs",
1110
+ "design",
1111
+ "tasks"
1112
+ ],
1113
+ "required_outputs": []
1114
+ },
1115
+ "vitals-analyst": {
1116
+ "name": "性能指标专家",
1117
+ "status": "planned",
1118
+ "domains": [
1119
+ "performance"
1120
+ ],
1121
+ "source": ".agents/roles/domains/performance/vitals-analyst.md"
1122
+ },
1123
+ "asset-optimizer": {
1124
+ "name": "资源优化专家",
1125
+ "status": "planned",
1126
+ "domains": [
1127
+ "performance"
1128
+ ],
1129
+ "source": ".agents/roles/domains/performance/asset-optimizer.md"
1130
+ },
1131
+ "error-tracker": {
1132
+ "name": "错误追踪专家",
1133
+ "status": "active",
1134
+ "domains": [
1135
+ "observability"
1136
+ ],
1137
+ "source": ".agents/roles/domains/observability/error-tracker.md",
1138
+ "rule_ids": [
1139
+ "audit-report-standard"
1140
+ ],
1141
+ "skill_priority": [],
1142
+ "micro_skill_allowlist": [],
1143
+ "rule_contract_profiles": {
1144
+ "default": {
1145
+ "must_follow": [
1146
+ "先按频次、影响面和可归因程度整理错误,再给排查优先级建议。"
1147
+ ],
1148
+ "blocked_when": [
1149
+ "若错误口径仍混乱,不得输出看似精确但不可执行的结论。"
1150
+ ]
1151
+ }
1152
+ },
1153
+ "required_outputs": []
1154
+ },
1155
+ "rum-analyst": {
1156
+ "name": "RUM 分析专家",
1157
+ "status": "active",
1158
+ "domains": [
1159
+ "observability"
1160
+ ],
1161
+ "source": ".agents/roles/domains/observability/rum-analyst.md",
1162
+ "rule_ids": [
1163
+ "audit-report-standard"
1164
+ ],
1165
+ "skill_priority": [],
1166
+ "micro_skill_allowlist": [],
1167
+ "rule_contract_profiles": {
1168
+ "default": {
1169
+ "must_follow": [
1170
+ "先区分真实用户观测与实验室数据,再判断体验影响。"
1171
+ ],
1172
+ "blocked_when": [
1173
+ "若没有真实用户数据支撑,不得把推测包装成 RUM 结论。"
1174
+ ]
1175
+ }
1176
+ },
1177
+ "required_outputs": []
1178
+ },
1179
+ "event-instrumentation-specialist": {
1180
+ "name": "埋点方案专家",
1181
+ "status": "active",
1182
+ "domains": [
1183
+ "observability"
1184
+ ],
1185
+ "source": ".agents/roles/domains/observability/event-instrumentation-specialist.md",
1186
+ "rule_ids": [
1187
+ "doc-standard",
1188
+ "audit-report-standard"
1189
+ ],
1190
+ "rule_ids_by_profile": {
1191
+ "vue": [
1192
+ "api-standard"
1193
+ ],
1194
+ "react": [
1195
+ "api-standard"
1196
+ ],
1197
+ "springboot": [
1198
+ "api-contract-standard"
1199
+ ],
1200
+ "node-tooling": [
1201
+ "contract-standard"
1202
+ ]
1203
+ },
1204
+ "skill_priority": [
1205
+ "design-analysis"
1206
+ ],
1207
+ "skill_priority_by_profile": {
1208
+ "vue": [
1209
+ "design-analysis"
1210
+ ],
1211
+ "react": [
1212
+ "design-analysis"
1213
+ ],
1214
+ "springboot": [],
1215
+ "node-tooling": []
1216
+ },
1217
+ "micro_skill_allowlist": [],
1218
+ "micro_skill_allowlist_by_profile": {
1219
+ "vue": [
1220
+ "design-analysis"
1221
+ ],
1222
+ "react": [
1223
+ "design-analysis"
1224
+ ],
1225
+ "springboot": [],
1226
+ "node-tooling": []
1227
+ },
1228
+ "rule_contract_profiles": {
1229
+ "default": {
1230
+ "must_follow": [
1231
+ "先对齐事件目标、触发时机和字段口径,再给埋点建议。",
1232
+ "优先复用现有事件命名和字段前缀,不新增孤立口径。"
1233
+ ],
1234
+ "blocked_when": [
1235
+ "若埋点承载关键业务判断但口径未确认,不得直接推进到实现。"
1236
+ ]
1237
+ }
1238
+ },
1239
+ "required_outputs": []
1240
+ },
1241
+ "security-reviewer": {
1242
+ "name": "安全审查专家",
1243
+ "status": "planned",
1244
+ "domains": [
1245
+ "security-a11y"
1246
+ ],
1247
+ "source": ".agents/roles/domains/security-a11y/security-reviewer.md"
1248
+ },
1249
+ "a11y-auditor": {
1250
+ "name": "可访问性审计专家",
1251
+ "status": "planned",
1252
+ "domains": [
1253
+ "security-a11y"
1254
+ ],
1255
+ "source": ".agents/roles/domains/security-a11y/a11y-auditor.md"
1256
+ },
1257
+ "aria-specialist": {
1258
+ "name": "ARIA 专家",
1259
+ "status": "planned",
1260
+ "domains": [
1261
+ "security-a11y"
1262
+ ],
1263
+ "source": ".agents/roles/domains/security-a11y/aria-specialist.md"
1264
+ }
1265
+ }
1266
1266
  }