soloforge 1.1.46 → 1.1.48

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 (451) hide show
  1. package/README.md +23 -7
  2. package/dist/cli/adapter_writers.d.ts +5 -0
  3. package/dist/cli/adapter_writers.d.ts.map +1 -1
  4. package/dist/cli/adapter_writers.js +25 -0
  5. package/dist/cli/adapter_writers.js.map +1 -1
  6. package/dist/cli/init.d.ts.map +1 -1
  7. package/dist/cli/init.js +3 -1
  8. package/dist/cli/init.js.map +1 -1
  9. package/dist/cli/scope_check.d.ts +4 -0
  10. package/dist/cli/scope_check.d.ts.map +1 -0
  11. package/dist/cli/scope_check.js +41 -0
  12. package/dist/cli/scope_check.js.map +1 -0
  13. package/dist/context/adapters/claude_code/hooks.d.ts +5 -7
  14. package/dist/context/adapters/claude_code/hooks.d.ts.map +1 -1
  15. package/dist/context/adapters/claude_code/hooks.js +11 -9
  16. package/dist/context/adapters/claude_code/hooks.js.map +1 -1
  17. package/dist/context/adapters/shared/integration_guide.js +18 -6
  18. package/dist/context/adapters/shared/integration_guide.js.map +1 -1
  19. package/dist/context/adapters/shared/workflow_template.js +1 -1
  20. package/dist/context/config/intent_schema.d.ts +793 -6
  21. package/dist/context/config/intent_schema.d.ts.map +1 -1
  22. package/dist/context/config/intent_schema.js +9 -0
  23. package/dist/context/config/intent_schema.js.map +1 -1
  24. package/dist/context/config/resolver.d.ts +9 -0
  25. package/dist/context/config/resolver.d.ts.map +1 -1
  26. package/dist/context/config/resolver.js +5 -0
  27. package/dist/context/config/resolver.js.map +1 -1
  28. package/dist/core/adversarial_review_store.d.ts +133 -0
  29. package/dist/core/adversarial_review_store.d.ts.map +1 -0
  30. package/dist/core/adversarial_review_store.js +161 -0
  31. package/dist/core/adversarial_review_store.js.map +1 -0
  32. package/dist/core/domain_transition.d.ts.map +1 -1
  33. package/dist/core/domain_transition.js +3 -0
  34. package/dist/core/domain_transition.js.map +1 -1
  35. package/dist/core/gate_record_store.d.ts +13 -7
  36. package/dist/core/gate_record_store.d.ts.map +1 -1
  37. package/dist/core/gate_record_store.js +39 -17
  38. package/dist/core/gate_record_store.js.map +1 -1
  39. package/dist/core/git_utils.d.ts +1 -1
  40. package/dist/core/git_utils.js +1 -1
  41. package/dist/core/observer.d.ts.map +1 -1
  42. package/dist/core/observer.js +33 -6
  43. package/dist/core/observer.js.map +1 -1
  44. package/dist/core/task_context/constants.js +1 -1
  45. package/dist/core/task_context/constants.js.map +1 -1
  46. package/dist/core/task_context/manager.d.ts +4 -0
  47. package/dist/core/task_context/manager.d.ts.map +1 -1
  48. package/dist/core/task_context/manager.js +48 -30
  49. package/dist/core/task_context/manager.js.map +1 -1
  50. package/dist/core/task_context/manager_setters.d.ts +2 -0
  51. package/dist/core/task_context/manager_setters.d.ts.map +1 -1
  52. package/dist/core/task_context/manager_setters.js +10 -0
  53. package/dist/core/task_context/manager_setters.js.map +1 -1
  54. package/dist/core/types.d.ts +19 -0
  55. package/dist/core/types.d.ts.map +1 -1
  56. package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
  57. package/dist/domain/asset_registry/derived_registry.js +20 -5
  58. package/dist/domain/asset_registry/derived_registry.js.map +1 -1
  59. package/dist/domain/asset_registry/derived_types.d.ts +22 -1
  60. package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
  61. package/dist/domain/build/contract.d.ts.map +1 -1
  62. package/dist/domain/build/contract.js +3 -8
  63. package/dist/domain/build/contract.js.map +1 -1
  64. package/dist/domain/build/engine.d.ts +4 -2
  65. package/dist/domain/build/engine.d.ts.map +1 -1
  66. package/dist/domain/build/engine.js +38 -5
  67. package/dist/domain/build/engine.js.map +1 -1
  68. package/dist/domain/contracts/design_lifecycle_contract.d.ts.map +1 -1
  69. package/dist/domain/contracts/design_lifecycle_contract.js +11 -4
  70. package/dist/domain/contracts/design_lifecycle_contract.js.map +1 -1
  71. package/dist/domain/design/contract.d.ts.map +1 -1
  72. package/dist/domain/design/contract.js +13 -31
  73. package/dist/domain/design/contract.js.map +1 -1
  74. package/dist/domain/design/engine.d.ts +4 -2
  75. package/dist/domain/design/engine.d.ts.map +1 -1
  76. package/dist/domain/design/engine.js +39 -4
  77. package/dist/domain/design/engine.js.map +1 -1
  78. package/dist/domain/engine_helpers.d.ts +55 -2
  79. package/dist/domain/engine_helpers.d.ts.map +1 -1
  80. package/dist/domain/engine_helpers.js +173 -8
  81. package/dist/domain/engine_helpers.js.map +1 -1
  82. package/dist/domain/operate/contract.js +1 -1
  83. package/dist/domain/operate/contract.js.map +1 -1
  84. package/dist/domain/operate/engine.d.ts +4 -2
  85. package/dist/domain/operate/engine.d.ts.map +1 -1
  86. package/dist/domain/operate/engine.js +23 -3
  87. package/dist/domain/operate/engine.js.map +1 -1
  88. package/dist/domain/types.d.ts +6 -0
  89. package/dist/domain/types.d.ts.map +1 -1
  90. package/dist/domain/types.js.map +1 -1
  91. package/dist/domain/verify/engine.d.ts +4 -2
  92. package/dist/domain/verify/engine.d.ts.map +1 -1
  93. package/dist/domain/verify/engine.js +22 -2
  94. package/dist/domain/verify/engine.js.map +1 -1
  95. package/dist/gate/contracts/tool_actions.d.ts +2 -2
  96. package/dist/gate/contracts/tool_actions.d.ts.map +1 -1
  97. package/dist/gate/contracts/tool_actions.js +2 -2
  98. package/dist/gate/contracts/tool_actions.js.map +1 -1
  99. package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
  100. package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
  101. package/dist/gate/executors/executors_artifact.d.ts +19 -0
  102. package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
  103. package/dist/gate/executors/executors_artifact.js +108 -8
  104. package/dist/gate/executors/executors_artifact.js.map +1 -1
  105. package/dist/gate/executors/executors_build.d.ts.map +1 -1
  106. package/dist/gate/executors/executors_build.js +17 -15
  107. package/dist/gate/executors/executors_build.js.map +1 -1
  108. package/dist/gate/executors/executors_external_command.d.ts.map +1 -1
  109. package/dist/gate/executors/executors_external_command.js +32 -0
  110. package/dist/gate/executors/executors_external_command.js.map +1 -1
  111. package/dist/gate/executors/executors_field_mapping.d.ts +7 -0
  112. package/dist/gate/executors/executors_field_mapping.d.ts.map +1 -0
  113. package/dist/gate/executors/executors_field_mapping.js +179 -0
  114. package/dist/gate/executors/executors_field_mapping.js.map +1 -0
  115. package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
  116. package/dist/gate/executors/executors_prerequisite.js +27 -7
  117. package/dist/gate/executors/executors_prerequisite.js.map +1 -1
  118. package/dist/gate/executors/executors_regex_scan.d.ts.map +1 -1
  119. package/dist/gate/executors/executors_regex_scan.js +36 -15
  120. package/dist/gate/executors/executors_regex_scan.js.map +1 -1
  121. package/dist/gate/executors/executors_scope.js +4 -4
  122. package/dist/gate/executors/executors_scope.js.map +1 -1
  123. package/dist/gate/executors/executors_trace.d.ts +5 -0
  124. package/dist/gate/executors/executors_trace.d.ts.map +1 -1
  125. package/dist/gate/executors/executors_trace.js +186 -3
  126. package/dist/gate/executors/executors_trace.js.map +1 -1
  127. package/dist/gate/executors/index.d.ts.map +1 -1
  128. package/dist/gate/executors/index.js +2 -0
  129. package/dist/gate/executors/index.js.map +1 -1
  130. package/dist/gate/gate_engine.d.ts +9 -0
  131. package/dist/gate/gate_engine.d.ts.map +1 -1
  132. package/dist/gate/gate_engine.js +15 -0
  133. package/dist/gate/gate_engine.js.map +1 -1
  134. package/dist/gate/gate_registry_bridge.d.ts +9 -8
  135. package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
  136. package/dist/gate/gate_registry_bridge.js +57 -16
  137. package/dist/gate/gate_registry_bridge.js.map +1 -1
  138. package/dist/gate/middleware_gates.js +1 -1
  139. package/dist/gate/middleware_gates.js.map +1 -1
  140. package/dist/gate/scope_resolver.d.ts +7 -0
  141. package/dist/gate/scope_resolver.d.ts.map +1 -1
  142. package/dist/gate/scope_resolver.js +1 -1
  143. package/dist/gate/scope_resolver.js.map +1 -1
  144. package/dist/index.js +5 -0
  145. package/dist/index.js.map +1 -1
  146. package/dist/server/tools/sf_doctor.d.ts +2 -0
  147. package/dist/server/tools/sf_doctor.d.ts.map +1 -1
  148. package/dist/server/tools/sf_doctor.js +35 -1
  149. package/dist/server/tools/sf_doctor.js.map +1 -1
  150. package/dist/server/tools/sf_gate.d.ts +1 -1
  151. package/dist/server/tools/sf_gate.js +2 -2
  152. package/dist/server/tools/sf_gate.js.map +1 -1
  153. package/dist/server/tools/sf_task.d.ts +83 -0
  154. package/dist/server/tools/sf_task.d.ts.map +1 -1
  155. package/dist/server/tools/sf_task.js +121 -4
  156. package/dist/server/tools/sf_task.js.map +1 -1
  157. package/dist/server/tools/sf_work.d.ts +203 -0
  158. package/dist/server/tools/sf_work.d.ts.map +1 -1
  159. package/dist/server/tools/sf_work.js +549 -46
  160. package/dist/server/tools/sf_work.js.map +1 -1
  161. package/dist/shared/traceability_id_utils.js +3 -3
  162. package/dist/shared/traceability_id_utils.js.map +1 -1
  163. package/dist/verify/contracts/decision_workshop.d.ts.map +1 -1
  164. package/dist/verify/contracts/decision_workshop.js +4 -3
  165. package/dist/verify/contracts/decision_workshop.js.map +1 -1
  166. package/package.json +2 -1
  167. package/templates/build/enforced.md +299 -39
  168. package/templates/build//344/270/223/351/241/271/345/256/236/347/216/260.md +75 -0
  169. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272.md +75 -0
  170. package/templates/build//346/263/250/351/207/212/347/272/252/345/276/213.md +48 -0
  171. package/templates/build//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201.md +50 -79
  172. package/templates/build//346/265/213/350/257/225/350/256/241/345/210/222.md +31 -24
  173. package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +101 -0
  174. package/templates/build//350/260/203/350/257/225/346/216/222/346/237/245.md +44 -75
  175. package/templates/build//351/207/215/346/236/204/346/226/271/346/263/225.md +68 -0
  176. package/templates/design/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243.md +38 -28
  177. package/templates/design/enforced.md +234 -74
  178. package/templates/design//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +5 -2
  179. package/templates/design//345/205/274/345/256/271/346/200/247/344/270/216/350/277/201/347/247/273/350/257/204/344/274/260.md +71 -0
  180. package/templates/design//345/206/263/347/255/226/344/270/216/351/200/211/345/236/213.md +70 -0
  181. package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +51 -55
  182. package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md +75 -0
  183. package/templates/design//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243.md +35 -47
  184. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241.md +63 -81
  185. package/templates/design//350/256/276/350/256/241/345/206/263/347/255/226/347/272/252/345/276/213.md +58 -0
  186. package/templates/design//350/256/276/350/256/241/350/264/250/351/207/217/350/246/201/347/202/271.md +58 -0
  187. package/templates/design//351/234/200/346/261/202/345/210/206/346/236/220.md +49 -53
  188. package/templates/operate/UI/350/247/206/350/247/211/351/252/214/346/224/266/347/272/252/345/276/213.md +74 -0
  189. package/templates/operate/enforced.md +52 -5
  190. package/templates/operate//344/270/212/347/272/277/350/247/202/345/257/237.md +53 -32
  191. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216.md +22 -1
  192. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256.md +93 -0
  193. package/templates/shared/enforced.md +83 -5
  194. package/templates/shared//345/217/215/351/246/210/344/277/256/345/244/215/351/227/255/347/216/257.md +86 -0
  195. package/templates/shared//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246.md +1 -1
  196. package/templates/shared//345/267/245/347/250/213/346/211/247/350/241/214/346/200/273/347/272/262.md +148 -0
  197. package/templates/shared//345/267/245/347/250/213/347/272/252/345/276/213.md +71 -0
  198. package/templates/shared//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +48 -43
  199. package/templates/shared//346/234/272/345/210/266/350/257/264/346/230/216.md +67 -0
  200. package/templates/shared//347/240/224/350/256/250/350/256/260/345/275/225.md +54 -0
  201. package/templates/shared//350/257/201/346/215/256/351/251/261/345/212/250/344/270/216/345/217/215/345/271/273/350/247/211.md +27 -17
  202. package/templates/shared//350/264/241/347/214/256/350/247/204/350/214/203.md +78 -0
  203. package/templates/verify/enforced.md +87 -263
  204. package/templates/verify//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245.md +46 -87
  205. package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +17 -0
  206. package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +79 -0
  207. package/templates/verify//346/236/266/346/236/204/350/257/255/344/271/211/347/272/242/347/272/277.md +60 -0
  208. package/templates/verify//351/252/214/350/257/201/346/226/271/346/263/225.md +72 -0
  209. package/dist/core/scope_checker.d.ts +0 -29
  210. package/dist/core/scope_checker.d.ts.map +0 -1
  211. package/dist/core/scope_checker.js +0 -53
  212. package/dist/core/scope_checker.js.map +0 -1
  213. package/templates/build/Bug/345/210/206/346/236/220.md +0 -59
  214. package/templates/build/Git/346/223/215/344/275/234.md +0 -48
  215. package/templates/build/OOD/350/256/276/350/256/241/346/221/230/350/246/201.md +0 -46
  216. package/templates/build/React/346/216/245/345/217/243/351/233/206/346/210/220.md +0 -42
  217. package/templates/build/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +0 -52
  218. package/templates/build/TS/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -78
  219. package/templates/build//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201.md +0 -68
  220. package/templates/build//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245/351/252/214/350/257/201.md +0 -56
  221. package/templates/build//344/273/243/347/240/201/351/227/250/347/246/201.md +0 -58
  222. package/templates/build//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -48
  223. package/templates/build//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213.md +0 -108
  224. package/templates/build//345/210/207/347/211/207/347/253/257/345/210/260/347/253/257/351/252/214/350/257/201.md +0 -221
  225. package/templates/build//345/212/237/350/203/275/345/274/200/345/217/221.md +0 -66
  226. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260.md +0 -39
  227. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213.md +0 -33
  228. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245.md +0 -70
  229. package/templates/build//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260.md +0 -43
  230. package/templates/build//345/233/275/351/231/205/345/214/226.md +0 -45
  231. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272/346/265/201/346/260/264/347/272/277.md +0 -68
  232. package/templates/build//345/256/211/345/205/250/345/256/241/346/237/245.md +0 -154
  233. package/templates/build//345/256/211/345/205/250/345/256/241/350/256/241.md +0 -47
  234. package/templates/build//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -56
  235. package/templates/build//346/200/247/350/203/275/345/210/206/346/236/220.md +0 -59
  236. package/templates/build//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +0 -53
  237. package/templates/build//346/216/245/345/217/243/351/233/206/346/210/220/346/265/201/346/260/264/347/272/277.md +0 -76
  238. package/templates/build//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273.md +0 -63
  239. package/templates/build//346/226/260/350/200/201/351/200/273/350/276/221/346/257/224/345/257/271/346/227/245/345/277/227.md +0 -39
  240. package/templates/build//346/235/203/351/231/220/350/256/244/350/257/201.md +0 -49
  241. package/templates/build//346/265/213/350/257/225/350/264/250/351/207/217.md +0 -45
  242. package/templates/build//347/206/224/346/226/255/351/231/215/347/272/247.md +0 -49
  243. package/templates/build//347/212/266/346/200/201/346/265/201/350/275/254.md +0 -43
  244. package/templates/build//347/213/254/347/253/213/345/256/241/346/237/245.md +0 -45
  245. package/templates/build//347/272/246/346/235/237/345/256/236/347/216/260.md +0 -47
  246. package/templates/build//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245.md +0 -60
  247. package/templates/build//347/274/226/347/240/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  248. package/templates/build//347/274/226/347/240/201/350/264/250/351/207/217.md +0 -46
  249. package/templates/build//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214.md +0 -105
  250. package/templates/build//347/274/272/351/231/267/347/256/241/347/220/206.md +0 -47
  251. package/templates/build//350/200/246/345/220/210/346/243/200/346/265/213.md +0 -86
  252. package/templates/build//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -40
  253. package/templates/build//350/264/250/351/207/217/345/256/241/346/237/245.md +0 -111
  254. package/templates/build//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +0 -52
  255. package/templates/build//351/200/232/347/224/250/350/264/250/351/207/217.md +0 -176
  256. package/templates/build//351/207/215/346/236/204/346/226/271/346/241/210.md +0 -61
  257. package/templates/build//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +0 -53
  258. package/templates/build//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201.md +0 -94
  259. package/templates/build//351/233/206/346/210/220/351/252/214/350/257/201.md +0 -67
  260. package/templates/build//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217.md +0 -135
  261. package/templates/build//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245.md +0 -64
  262. package/templates/build//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -75
  263. package/templates/design/API/350/256/276/350/256/241.md +0 -47
  264. package/templates/design/N/345/212/2401/346/237/245/350/257/242.md +0 -48
  265. package/templates/design/OOD/350/256/276/350/256/241.md +0 -72
  266. package/templates/design//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214.md +0 -109
  267. package/templates/design//344/270/215/347/241/256/345/256/232/346/227/266/345/244/264/350/204/221/351/243/216/346/232/264.md +0 -105
  268. package/templates/design//344/273/273/345/212/241/346/213/206/350/247/243.md +0 -61
  269. package/templates/design//344/273/273/345/212/241/350/247/204/345/210/222.md +0 -84
  270. package/templates/design//344/274/232/350/257/235/346/201/242/345/244/215-procedures.md +0 -78
  271. package/templates/design//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245.md +0 -89
  272. package/templates/design//345/210/207/347/211/207/350/256/241/345/210/222.md +0 -149
  273. package/templates/design//345/211/215/347/253/257/346/200/247/350/203/275.md +0 -49
  274. package/templates/design//345/216/206/345/217/262/351/201/227/347/225/231/351/233/267/345/214/272/346/270/205/345/215/225.md +0 -50
  275. package/templates/design//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226.md +0 -78
  276. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +0 -200
  277. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -81
  278. package/templates/design//345/220/221/345/220/216/345/205/274/345/256/271/346/200/247/345/220/210/350/247/204/346/212/245/345/221/212.md +0 -52
  279. package/templates/design//345/221/275/344/273/244/346/211/247/350/241/214-procedures.md +0 -45
  280. package/templates/design//345/221/275/344/273/244/350/267/257/347/224/261-procedures.md +0 -46
  281. package/templates/design//345/221/275/345/220/215.md +0 -49
  282. package/templates/design//345/242/236/351/207/217/350/276/271/347/225/214/347/225/214/345/256/232/346/226/207/346/241/243.md +0 -48
  283. package/templates/design//345/267/245/345/205/267/350/260/203/347/224/250-procedures.md +0 -41
  284. package/templates/design//345/271/266/345/217/221/346/216/247/345/210/266.md +0 -50
  285. package/templates/design//346/212/200/346/234/257/351/200/211/345/236/213.md +0 -33
  286. package/templates/design//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210.md +0 -97
  287. package/templates/design//346/224/271/351/200/240/345/275/261/345/223/215/350/214/203/345/233/264/350/257/204/344/274/260.md +0 -56
  288. package/templates/design//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/346/226/271/346/241/210.md +0 -75
  289. package/templates/design//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276.md +0 -49
  290. package/templates/design//346/227/240/351/232/234/347/242/215.md +0 -49
  291. package/templates/design//346/236/266/346/236/204/345/206/263/347/255/226/350/256/260/345/275/225.md +0 -53
  292. package/templates/design//346/236/266/346/236/204/345/256/241/346/237/245.md +0 -256
  293. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-constraints.md +0 -177
  294. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-procedures.md +0 -130
  295. package/templates/design//346/246/202/345/277/265/351/252/214/350/257/201/346/265/201/346/260/264/347/272/277.md +0 -47
  296. package/templates/design//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230.md +0 -58
  297. package/templates/design//347/216/260/346/234/211/347/263/273/347/273/237/345/267/256/350/267/235/345/210/206/346/236/220.md +0 -114
  298. package/templates/design//347/237/245/350/257/206/347/273/264/346/212/244/346/265/201/346/260/264/347/272/277.md +0 -64
  299. package/templates/design//347/254/254/344/270/200/346/200/247/345/216/237/347/220/206/346/216/250/347/220/206.md +0 -182
  300. package/templates/design//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214.md +0 -77
  301. package/templates/design//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205.md +0 -85
  302. package/templates/design//350/200/201/347/263/273/347/273/237/345/210/207/347/211/207/350/247/204/345/210/222.md +0 -48
  303. package/templates/design//350/207/252/344/270/273/351/200/211/345/236/213.md +0 -57
  304. package/templates/design//350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -34
  305. package/templates/design//350/256/276/350/256/241/344/272/247/347/211/251/347/224/237/346/210/220/344/270/216/345/244/215/351/252/214.md +0 -60
  306. package/templates/design//350/256/276/350/256/241/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -21
  307. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241-procedures.md +0 -123
  308. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241.md +0 -109
  309. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245.md +0 -88
  310. package/templates/design//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -43
  311. package/templates/design//350/277/201/347/247/273/350/257/204/344/274/260.md +0 -67
  312. package/templates/design//351/232/224/347/246/273/351/200/202/351/205/215/345/231/250/346/226/271/346/241/210.md +0 -44
  313. package/templates/design//351/234/200/346/261/202/346/276/204/346/270/205.md +0 -65
  314. package/templates/design//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -88
  315. package/templates/design//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241.md +0 -43
  316. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -60
  317. package/templates/operate//350/277/220/347/273/264/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  318. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256/345/256/241/346/237/245.md +0 -59
  319. package/templates/shared/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -55
  320. package/templates/shared/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -54
  321. package/templates/shared/OOD/344/270/216SOLID/350/256/276/350/256/241.md +0 -48
  322. package/templates/shared//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -57
  323. package/templates/shared//344/272/247/347/211/251/345/245/221/347/272/246.md +0 -44
  324. package/templates/shared//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/345/245/221/347/272/246.md +0 -116
  325. package/templates/shared//344/273/273/345/212/241/344/270/212/344/270/213/346/226/207/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -45
  326. package/templates/shared//344/273/273/345/212/241/347/212/266/346/200/201/346/234/272.md +0 -55
  327. package/templates/shared//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -55
  328. package/templates/shared//344/274/230/351/233/205/345/201/234/346/234/272.md +0 -43
  329. package/templates/shared//344/275/234/347/224/250/345/237/237/344/270/216/345/257/206/351/222/245/346/213/246/346/210/252.md +0 -54
  330. package/templates/shared//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -55
  331. package/templates/shared//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -55
  332. package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -47
  333. package/templates/shared//345/210/207/347/211/207/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -72
  334. package/templates/shared//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -58
  335. package/templates/shared//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246.md +0 -40
  336. package/templates/shared//345/221/275/344/273/244/346/211/247/350/241/214.md +0 -48
  337. package/templates/shared//345/221/275/344/273/244/350/267/257/347/224/261.md +0 -45
  338. package/templates/shared//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -54
  339. package/templates/shared//345/244/232/347/247/237/346/210/267.md +0 -49
  340. package/templates/shared//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -46
  341. package/templates/shared//345/257/274/345/205/245/345/257/274/345/207/272.md +0 -51
  342. package/templates/shared//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -52
  343. package/templates/shared//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -54
  344. package/templates/shared//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246.md +0 -42
  345. package/templates/shared//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -50
  346. package/templates/shared//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205.md +0 -34
  347. package/templates/shared//345/267/245/345/205/267/350/260/203/347/224/250.md +0 -48
  348. package/templates/shared//345/271/266/345/217/221/351/224/201.md +0 -57
  349. package/templates/shared//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260.md +0 -47
  350. package/templates/shared//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -34
  351. package/templates/shared//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203.md +0 -50
  352. package/templates/shared//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -50
  353. package/templates/shared//346/224/257/344/273/230.md +0 -51
  354. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206.md +0 -77
  355. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -53
  356. package/templates/shared//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -47
  357. package/templates/shared//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246.md +0 -69
  358. package/templates/shared//346/227/245/345/277/227/346/262/273/347/220/206.md +0 -31
  359. package/templates/shared//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206.md +0 -31
  360. package/templates/shared//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226.md +0 -50
  361. package/templates/shared//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -38
  362. package/templates/shared//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214/345/216/237/345/210/231.md +0 -154
  363. package/templates/shared//346/250/241/347/211/210Frontmatter.md +0 -125
  364. package/templates/shared//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -282
  365. package/templates/shared//346/250/241/347/211/210/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247.md +0 -48
  366. package/templates/shared//346/262/273/347/220/206/350/277/220/350/241/214/346/227/266/345/276/252/347/216/257.md +0 -56
  367. package/templates/shared//346/263/250/345/206/214/350/241/250/345/237/272/347/241/200/350/256/276/346/226/275.md +0 -49
  368. package/templates/shared//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247.md +0 -50
  369. package/templates/shared//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246.md +0 -86
  370. package/templates/shared//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -66
  371. package/templates/shared//347/237/245/350/257/206/346/262/273/347/220/206.md +0 -31
  372. package/templates/shared//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214.md +0 -47
  373. package/templates/shared//347/273/206/350/212/202/347/272/252/345/276/213.md +0 -54
  374. package/templates/shared//350/204/221/346/232/264/344/270/216/346/226/271/346/241/210/346/216/242/347/264/242.md +0 -51
  375. package/templates/shared//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250.md +0 -47
  376. package/templates/shared//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205.md +0 -58
  377. package/templates/shared//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -55
  378. package/templates/shared//350/267/250/345/271/263/345/217/260/350/267/257/345/276/204/345/256/211/345/205/250.md +0 -41
  379. package/templates/shared//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246.md +0 -50
  380. package/templates/shared//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -58
  381. package/templates/shared//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250.md +0 -62
  382. package/templates/shared//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -47
  383. package/templates/shared//351/200/232/347/237/245.md +0 -50
  384. package/templates/shared//351/203/250/347/275/262/351/205/215/347/275/256.md +0 -14
  385. package/templates/shared//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247.md +0 -67
  386. package/templates/shared//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214.md +0 -32
  387. package/templates/shared//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260.md +0 -51
  388. package/templates/shared//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -57
  389. package/templates/shared//351/252/214/346/224/266/346/250/241/347/211/210/350/276/223/345/207/272/345/245/221/347/272/246.md +0 -71
  390. package/templates/shared//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -55
  391. package/templates/shared//351/252/214/350/257/201/345/245/221/347/272/246.md +0 -48
  392. package/templates/verify/Docker/351/203/250/347/275/262.md +0 -46
  393. package/templates/verify/POC/347/273/223/350/256/272.md +0 -53
  394. package/templates/verify/React/345/210/227/350/241/250/350/241/250/346/240/274.md +0 -43
  395. package/templates/verify/React/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  396. package/templates/verify/React/347/273/204/344/273/266.md +0 -42
  397. package/templates/verify/React/350/241/250/345/215/225.md +0 -43
  398. package/templates/verify/React/350/267/257/347/224/261.md +0 -43
  399. package/templates/verify/SOLID/344/273/243/347/240/201/345/256/241/346/237/245.md +0 -74
  400. package/templates/verify/SOLID/350/256/276/350/256/241.md +0 -31
  401. package/templates/verify/Schema/345/205/274/345/256/271.md +0 -42
  402. package/templates/verify/Vue/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  403. package/templates/verify/Vue/347/273/204/344/273/266.md +0 -42
  404. package/templates/verify/Vue/350/267/257/347/224/261.md +0 -43
  405. package/templates/verify//344/270/212/346/270/270/350/256/276/350/256/241/344/272/244/345/217/211/351/252/214/350/257/201/345/256/241/346/237/245.md +0 -76
  406. package/templates/verify//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245.md +0 -38
  407. package/templates/verify//344/272/213/344/273/266/351/251/261/345/212/250.md +0 -46
  408. package/templates/verify//344/272/213/345/212/241/346/250/241/345/274/217.md +0 -42
  409. package/templates/verify//344/273/243/347/240/201/345/217/257/347/273/264/346/212/244/346/200/247/344/270/216/345/217/257/350/247/202/346/265/213/346/200/247/345/256/241/346/237/245.md +0 -92
  410. package/templates/verify//344/273/243/347/240/201/346/263/250/351/207/212/344/270/216/346/227/245/345/277/227/351/252/214/346/224/266.md +0 -64
  411. package/templates/verify//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -46
  412. package/templates/verify//345/206/263/347/255/226/345/256/214/346/225/264/346/200/247/345/256/241/346/237/245.md +0 -71
  413. package/templates/verify//345/210/206/351/241/265/346/237/245/350/257/242.md +0 -41
  414. package/templates/verify//345/211/215/347/253/257/351/241/265/351/235/242.md +0 -40
  415. package/templates/verify//345/216/206/345/217/262/346/225/260/346/215/256/346/270/205/346/264/227/350/204/232/346/234/254.md +0 -55
  416. package/templates/verify//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245.md +0 -73
  417. package/templates/verify//345/220/216/347/253/257API.md +0 -39
  418. package/templates/verify//345/242/236/345/210/240/346/224/271/346/237/245.md +0 -45
  419. package/templates/verify//345/244/226/351/203/250/344/276/235/350/265/226.md +0 -43
  420. package/templates/verify//345/245/221/347/272/246/345/205/274/345/256/271.md +0 -42
  421. package/templates/verify//345/256/232/346/227/266/344/273/273/345/212/241.md +0 -39
  422. package/templates/verify//345/256/236/346/227/266/346/216/250/351/200/201.md +0 -48
  423. package/templates/verify//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -58
  424. package/templates/verify//345/267/245/344/275/234/346/265/201.md +0 -38
  425. package/templates/verify//345/271/266/345/217/221/345/256/241/346/237/245.md +0 -132
  426. package/templates/verify//345/274/202/346/255/245/345/257/274/345/207/272.md +0 -41
  427. package/templates/verify//346/200/247/350/203/275/345/256/241/346/237/245.md +0 -110
  428. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246.md +0 -44
  429. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245.md +0 -131
  430. package/templates/verify//346/220/234/347/264/242/346/250/241/345/274/217.md +0 -47
  431. package/templates/verify//346/225/205/351/232/234/345/244/215/347/233/230.md +0 -67
  432. package/templates/verify//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264.md +0 -37
  433. package/templates/verify//346/225/260/346/215/256/351/232/220/347/247/201.md +0 -46
  434. package/templates/verify//346/226/207/344/273/266/344/270/212/344/274/240.md +0 -45
  435. package/templates/verify//346/227/245/345/277/227.md +0 -45
  436. package/templates/verify//346/234/254/345/234/260/346/265/217/350/247/210/345/231/250/351/252/214/346/224/266.md +0 -94
  437. package/templates/verify//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214.md +0 -65
  438. package/templates/verify//347/237/245/350/257/206/346/263/250/345/205/245.md +0 -38
  439. package/templates/verify//347/264/247/346/200/245/344/277/256/345/244/215/346/265/201/346/260/264/347/272/277.md +0 -76
  440. package/templates/verify//347/274/223/345/255/230/347/255/226/347/225/245.md +0 -45
  441. package/templates/verify//350/201/224/350/260/203/350/256/276/350/256/241/347/274/272/351/231/267/345/210/244/345/256/232.md +0 -67
  442. package/templates/verify//350/201/224/350/260/203/351/252/214/350/257/201.md +0 -87
  443. package/templates/verify//350/256/276/350/256/241/345/256/241/350/256/241.md +0 -184
  444. package/templates/verify//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255.md +0 -74
  445. package/templates/verify//350/276/223/345/205/245/346/240/241/351/252/214.md +0 -44
  446. package/templates/verify//351/203/250/347/275/262/345/217/221/345/270/203.md +0 -101
  447. package/templates/verify//351/224/231/350/257/257/345/244/204/347/220/206.md +0 -46
  448. package/templates/verify//351/224/231/350/257/257/350/276/271/347/225/214.md +0 -38
  449. package/templates/verify//351/232/220/347/247/201/345/256/241/346/237/245.md +0 -37
  450. package/templates/verify//351/252/214/350/257/201.md +0 -38
  451. package/templates/verify//351/252/214/350/257/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
@@ -1,200 +0,0 @@
1
- ---
2
- id: ka-artifact_template-prototype-specification
3
- kind: artifact
4
- title: 原型说明
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: prototype-specification
9
- scope:
10
- - frontend
11
- products:
12
- - '*'
13
- lifecycle_status: active
14
- version: 1.3.1
15
- last_reviewed: '2026-06-05'
16
- type: artifact
17
- domain: design
18
- stage: design
19
- owner_mechanism: mc-generic-artifact
20
- ---
21
-
22
- # [页面名称] 原型与交互规约
23
-
24
- > **源码提取约束**:按 `原型源码提取.md` 执行。禁止从非源码来源臆测原型信息。
25
-
26
- ## 1. 页面元数据
27
- - **所属模块/端**:
28
- - **关联 PRD 节点**:
29
- - **页面核心目标**:
30
- - **页面路由路径**:
31
- - **入口来源**:
32
- - **提取依据**:[Source Code / Source Doc / Source Asset / Manual Confirm]
33
-
34
- > **根本目标引用**:本产物的 `fundamental_need` 见需求分析文档 §1.3。若未声明,引用审查规则 FP-01。
35
-
36
- ---
37
-
38
- ## 2. 设计令牌 (Design Tokens)
39
-
40
- ### 2.1 色彩
41
- | 令牌名 | 色值 | 用途 |
42
- |--------|------|------|
43
-
44
- ### 2.2 间距与圆角
45
- | 令牌名 | 值 | 用途 |
46
- |--------|------|------|
47
-
48
- ### 2.3 字体
49
- | 令牌名 | 值 | 用途 |
50
- |--------|------|------|
51
-
52
- ---
53
-
54
- ## 3. 页面布局树
55
-
56
- ### 3.1 整体布局
57
- - **布局方式**:
58
- - **[Header]** 顶部导航栏:
59
- - **[FilterBar]** 筛选区(如有):
60
- - **[ContentArea]** 主体内容区:
61
- - **[Footer]** 底部操作区(如有):
62
-
63
- ### 3.2 核心组件布局
64
- - 外层样式:
65
- - 内部布局:
66
-
67
- ---
68
-
69
- ## 4. 组件数据绑定与渲染逻辑
70
-
71
- ### 4.1 字段映射
72
- | UI 元素 | 绑定字段 | 格式化规则 | 动态行为 |
73
- |---------|---------|-----------|---------|
74
-
75
- ### 4.2 动态渲染规则
76
- -
77
-
78
- ---
79
-
80
- ## 5. 交互流转与状态机
81
-
82
- ### 5.1 事件:[核心交互]
83
-
84
- ```text
85
- [初始状态] → 触发 → [前置校验]
86
- ├─ 条件A → 动作A → [状态X]
87
- └─ 条件B → 动作B → [状态Y]
88
- ```
89
-
90
- ### 5.2 事件:[次要交互]
91
- -
92
-
93
- ---
94
-
95
- ## 6. 组件视觉状态
96
-
97
- | 组件 | 状态 | 视觉变化 |
98
- |------|------|---------|
99
- <!-- 组件视觉状态表:填写各组件的默认/Hover/Active/Disabled 等状态及对应视觉变化 -->
100
-
101
- ---
102
-
103
- ## 7. 响应式断点
104
-
105
- | 断点 | 宽度范围 | 布局变化 |
106
- |------|---------|---------|
107
- <!-- 响应式断点表:至少覆盖 Desktop 和 Mobile 两个断点 -->
108
-
109
- ---
110
-
111
- ## 8. 动效规范
112
-
113
- | 交互 | 动效 | 时长 | 缓动函数 |
114
- |------|------|------|---------|
115
- <!-- 动效规范表:列出页面中所有动效的触发交互、动效类型、持续时间和缓动函数 -->
116
-
117
- ---
118
-
119
- ## 9. 边界与异常分支
120
-
121
- ### 9.1 数据边界
122
-
123
- | 场景名 | 触发条件 | UI 表现 | 交互行为 | 证据标记 |
124
- |--------|---------|---------|---------|---------|
125
- | 空列表(首次使用) | 数据源返回空 + 用户首次访问 | 插图+引导文案+CTA 按钮 | 引导创建第一条数据 | |
126
- | 空列表(用户清空) | 数据源返回空 + 用户曾操作 | 确认文案+快捷操作入口 | 允许撤销或重新添加 | |
127
- | 搜索无结果 | 筛选条件命中 0 条 | 建议文案+放宽条件提示 | 允许清除筛选 | |
128
- | 数据截断 | 字段值超最大长度 | 截断+Tooltip 完整内容 | Hover/Click 展示完整内容 | |
129
- | 分页末尾 | 已加载全部数据 | "没有更多了"提示 | 停止加载 | |
130
-
131
- ### 9.2 网络与权限异常
132
-
133
- | 场景名 | 触发条件 | UI 表现 | 交互行为 | 证据标记 |
134
- |--------|---------|---------|---------|---------|
135
- | 网络超时 | 请求超时 | Toast/Snackbar+重试按钮 | 允许重试 | |
136
- | 服务端错误(5xx) | 服务端返回 5xx | 错误页面/内联错误+重试 | 允许重试或返回 | |
137
- | 权限不足(403) | 用户无操作权限 | 权限提示+申请入口 | 引导联系管理员 | |
138
- | 登录过期(401) | Token 失效 | 登录弹窗/跳转 | 重新登录后恢复当前操作 | |
139
- | 网络离线 | 断网检测 | 离线横幅+缓存数据 | 提示恢复网络 | |
140
-
141
- ### 9.3 并发与竞态
142
-
143
- | 场景名 | 触发条件 | UI 表现 | 交互行为 | 证据标记 |
144
- |--------|---------|---------|---------|---------|
145
- | 重复提交 | 用户快速重复点击 | 按钮禁用+Loading | 防抖/节流+服务端幂等 | |
146
- | 数据过期 | 他人已修改同一数据 | 冲突提示+最新数据预览 | 允许覆盖/合并/放弃 | |
147
- | 并发锁 | 资源被锁定 | 锁定提示+预计释放时间 | 等待或通知 | |
148
-
149
- ### 9.4 加载态
150
-
151
- | 场景名 | 触发条件 | UI 表现 | 交互行为 | 证据标记 |
152
- |--------|---------|---------|---------|---------|
153
- | 首次加载 | 页面初始化 | 骨架屏/Loading Spinner | < 3s 显示骨架屏 | |
154
- | 局部刷新 | 局部数据更新 | 组件内 Loading/乐观更新 | < 1s 乐观更新 | |
155
- | 提交中 | 表单/操作提交 | 按钮 Loading+禁用 | 防重复点击 | |
156
- | 背景同步 | 后台数据拉取 | 进度条/Silent refresh | 不阻塞交互 | |
157
-
158
- ## 10. 无障碍 (Accessibility)
159
-
160
- > scope 限定:frontend
161
-
162
- ### 10.1 键盘导航
163
-
164
- | 功能 | Tab 序 | 快捷键 | 焦点管理 |
165
- |------|--------|--------|---------|
166
- | <!-- 功能名 --> | <!-- Tab 序号 --> | <!-- 如 Ctrl+N --> | |
167
-
168
- ### 10.2 ARIA 角色与标注
169
-
170
- | 组件 | role | aria-label | aria-describedby | 状态标注 |
171
- |------|------|-----------|-----------------|---------|
172
- | | | | | |
173
-
174
- ### 10.3 焦点管理
175
-
176
- | 场景 | 焦点来源 | 焦点目标 | 说明 |
177
- |------|---------|---------|------|
178
- | 弹窗打开 | 触发元素 | 弹窗内首个可聚焦元素 | Tab 循环限制在弹窗内 |
179
- | 弹窗关闭 | — | 回到触发元素 | |
180
- | 路由切换 | — | 新页面主内容区 | |
181
- | 列表更新 | — | 当前操作项 | |
182
- | 内联编辑完成 | — | 编辑后的内容 | |
183
-
184
- ### 10.4 色彩与对比度
185
-
186
- | 元素类型 | 前景色 | 背景色 | 对比度 | 最低要求 |
187
- |---------|--------|--------|--------|---------|
188
- | 正文 | | | | ≥ 4.5:1 |
189
- | 大文本 | | | | ≥ 3:1 |
190
- | 交互元素 | | | | ≥ 3:1 |
191
-
192
- ### 10.5 屏幕阅读器
193
-
194
- | 场景 | aria 属性 | 值 | 说明 |
195
- |------|----------|-----|------|
196
- | 动态列表更新 | aria-live | polite | |
197
- | Toast 通知 | aria-live / role | assertive / alert | |
198
- | 加载态 | aria-busy | true | |
199
- | 表单验证错误 | aria-describedby | 关联到字段 | |
200
- | 弹窗/抽屉 | role + aria-modal | dialog + true | |
@@ -1,81 +0,0 @@
1
- ---
2
- id: ka-review-rule-原型说明审查规则
3
- kind: guidance
4
- title: 原型说明审查
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 原型审查
9
- - 原型说明审查
10
- - prototype review
11
- extra:
12
- name: prototype-specification-review
13
- type: constraint
14
- scope:
15
- - frontend
16
- products:
17
- - '*'
18
- lifecycle_status: active
19
- domain: design
20
- verification_layer: L2
21
- stage: design
22
- owner_mechanism: mc-generic-artifact
23
- ---
24
-
25
- # 原型说明审查规则
26
-
27
- ## PROT-01: 完整性
28
-
29
- check_hint: 原型说明模版 10 个章节无空洞
30
- severity: error
31
- scope: [frontend]
32
- description: 原型说明必须完整覆盖 10 个章节(含第 9 章边界异常和第 10 章无障碍),不得有空章节、TODO 占位或 `-` 单独占位。
33
-
34
- ## PROT-02: 证据标记
35
-
36
- check_hint: 所有章节内容标注来源标记
37
- severity: warning
38
- scope: [frontend]
39
- description: 所有内容必须使用统一证据标记体系 [SRC]/[LOG]/[CFG]/[REF]/[DES]/[INF],不得有无标记的断言。
40
-
41
- ## PROT-03: 交互闭环
42
-
43
- check_hint: 状态机无死端,所有异常分支有处理
44
- severity: error
45
- scope: [frontend]
46
- description: 第 5 章交互流转的状态机图必须所有路径有终止状态,第 9 章异常分支每个子节至少 1 条场景。
47
-
48
- ## PROT-04: 术语一致
49
-
50
- check_hint: 使用与项目术语表一致的命名
51
- severity: warning
52
- scope: [frontend]
53
- description: 原型说明中的术语必须与需求分析第 3 章术语表一致,不得使用未定义的同义词。
54
-
55
- ## PROT-05: 令牌引用
56
-
57
- check_hint: 色彩/间距/字体引用设计令牌而非硬编码色值
58
- severity: warning
59
- scope: [frontend]
60
- description: 第 2 章设计令牌中定义的令牌名必须在第 6 章视觉状态中引用,禁止出现硬编码色值(如 #FF0000)。
61
-
62
- ## PROT-06: 无障碍完备
63
-
64
- check_hint: 第 10 章 5 个子节无空洞
65
- severity: warning
66
- scope: [frontend]
67
- description: 第 10 章无障碍的 5 个子节(键盘导航/ARIA/焦点管理/色彩对比度/屏幕阅读器)必须全部填写,不得有空子节。
68
-
69
- ## PROT-07: 响应式覆盖
70
-
71
- check_hint: 至少覆盖 Desktop / Mobile 两个断点
72
- severity: warning
73
- scope: [frontend]
74
- description: 第 7 章响应式断点必须至少包含 Desktop 和 Mobile 两个断点定义。
75
-
76
- ## PROT-08: 异常覆盖
77
-
78
- check_hint: 第 9 章 4 个子节每节至少 1 条场景
79
- severity: error
80
- scope: [frontend]
81
- description: 第 9 章边界与异常分支的 4 个子节(数据边界/网络权限异常/并发竞态/加载态)每节至少 1 条场景记录。
@@ -1,52 +0,0 @@
1
- ---
2
- id: 向后兼容性合规报告
3
- kind: artifact
4
- title: 向后兼容性合规报告
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: backward-compatibility-report
9
- type: artifact
10
- scope:
11
- - '*'
12
- domain: design
13
- lifecycle_status: active
14
- stage: design
15
- owner_mechanism: mc-existing-system-artifact
16
- ---
17
-
18
- # 向后兼容性合规报告
19
-
20
- ## 1. 检查范围
21
- - 检查时间:<!-- 日期 -->
22
- - 检查版本:<!-- 版本号 -->
23
-
24
- ## 2. 接口兼容性
25
-
26
- | 接口 | 检查项 | COMP 规则 | 兼容 | 说明 |
27
- |---|---|---|---|---|
28
- | <!-- 接口名 --> | 参数是否被删除 | COMP-API-01 | 是/否 | <!-- 说明 --> |
29
- | <!-- 接口名 --> | 参数类型是否窄化 | COMP-API-02 | 是/否 | <!-- 说明 --> |
30
- | <!-- 接口名 --> | 返回结构是否破坏性变更 | COMP-API-03 | 是/否 | <!-- 说明 --> |
31
-
32
- ## 3. 数据库兼容性
33
-
34
- | 表 | 检查项 | COMP 规则 | 兼容 | 说明 |
35
- |---|---|---|---|---|
36
- | <!-- 表名 --> | 是否删除列 | COMP-DB-01 | 是/否 | <!-- 说明 --> |
37
- | <!-- 表名 --> | 新增列是否有默认值 | COMP-DB-03 | 是/否 | <!-- 说明 --> |
38
- | <!-- 表名 --> | 变更对老数据是否兼容 | — | 是/否 | <!-- 说明 --> |
39
-
40
- ## 3.5 行为兼容性
41
-
42
- | 功能 | 检查项 | COMP 规则 | 兼容 | 证据 |
43
- |------|--------|---------|------|------|
44
- | <!-- 功能 --> | 开关关闭时输出与老版本一致 | COMP-BEH-01 | 是/否 | 新老逻辑比对日志 |
45
- | <!-- 功能 --> | 新老逻辑可共存 | COMP-BEH-02 | 是/否 | Feature Toggle 切换测试 |
46
- | <!-- 功能 --> | 回滚后功能恢复正常 | COMP-BEH-03 | 是/否 | 回滚验证记录 |
47
-
48
- ## 4. 结论
49
- - **兼容率:** 兼容项数 / 总检查项数 = <!-- 百分比 -->
50
- - **整体结论:** 通过(兼容率 100%)/ 不通过
51
- - **风险项:**
52
- - <!-- 风险描述 -->
@@ -1,45 +0,0 @@
1
- ---
2
- id: ka-procedure-命令执行流程
3
- kind: guidance
4
- title: 命令执行
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 命令执行流程
9
- extra:
10
- name: command-execution-workflow
11
- scope:
12
- - '*'
13
- products:
14
- - '*'
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- type: procedure
19
- domain:
20
- - build
21
- - design
22
- verification_layer: L2
23
- stage: design
24
- owner_mechanism: mc-command-execution
25
- ---
26
-
27
- # 命令执行流程
28
-
29
- ## 步骤
30
-
31
- 1. 接收命令 (command string)
32
- 2. 调用 classifyCommand 分级
33
- 3. 检查分级结果:
34
- - destructive → 需人工确认
35
- - mutating → 可执行,记录证据
36
- - read_only → 自由执行
37
- 4. 执行命令
38
- 5. 收集执行结果和证据
39
- 6. 记录到 task_context
40
-
41
- ## 注意事项
42
-
43
- - 命令分级基于模式匹配,不是白名单
44
- - 未知命令默认为 mutating
45
- - 命令参数中的敏感信息需脱敏
@@ -1,46 +0,0 @@
1
- ---
2
- id: ka-procedure-命令路由流程
3
- kind: guidance
4
- title: 命令路由
5
- triggers:
6
- - 命令路由
7
- - 路由
8
- - 命令分发
9
- sync_policy: copy_to_project
10
- status: active
11
- extra:
12
- name: command-routing-workflow
13
- scope:
14
- - '*'
15
- products:
16
- - '*'
17
- type: procedure
18
- lifecycle_status: active
19
- domain:
20
- - design
21
- - build
22
- - verify
23
- - operate
24
- version: 2.0.0
25
- last_reviewed: '2026-06-12'
26
- verification_layer: L2
27
- stage: design
28
- owner_mechanism: mc-command-router
29
- ---
30
-
31
- # 命令路由流程
32
-
33
- ## 步骤
34
-
35
- 1. sf_task 接收用户意图文本(intent)+ 上下文(system_context / tech_stack)
36
- 2. sf_task(start 动作)调用 `routeIntent(intent, context, domainContracts)`
37
- 3. `routeIntent` 遍历 `ROUTE_TABLE`,匹配意图关键词
38
- 4. 命中 → 返回 `{ domain, required_artifacts }`(`required_artifacts` 由该域契约 `required` 产物推导)
39
- 5. 未命中 → 默认返回 `{ domain: "design", required_artifacts: [] }`(先想清楚再做)
40
- 6. sf_task 将 `domain` 写入 task_context,后续工具按域分发
41
-
42
- ## 注意事项
43
-
44
- - `routeIntent` 是纯计算函数,不读写任务状态,不触发副作用
45
- - 轻量任务(直接问答 / 单产物脚手架)由 sf_task / sf_scaffold 承载,不经域路由强制
46
- - `ROUTE_TABLE` 与 4 能力域枚举的一致性由 `check:schema-enum` 门禁守护
@@ -1,49 +0,0 @@
1
- ---
2
- id: ka-pattern-naming-convention
3
- kind: knowledge
4
- title: 命名
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: naming-convention
9
- scope:
10
- - backend
11
- - frontend
12
- products:
13
- - '*'
14
- lifecycle_status: active
15
- version: 1.1.0
16
- last_reviewed: '2026-06-01'
17
- type: knowledge
18
- domain:
19
- - build
20
- - design
21
- verification_layer: L2
22
- stage: design
23
- owner_mechanism: mc-general-pattern
24
- ---
25
-
26
- ## 决策规则
27
- - Java 类名使用 UpperCamelCase,方法/变量使用 lowerCamelCase,常量使用 UPPER_SNAKE_CASE
28
- - 数据库表名使用 snake_case,字段名使用 snake_case,主键统一命名为 id
29
- - API 路径使用 kebab-case 复数名词(如 /api/v1/user-orders),禁止在路径中使用动词
30
- - 前端组件文件名使用 PascalCase,CSS 类名使用 kebab-case,路由路径使用 kebab-case
31
- - 禁止使用无业务含义的命名(data、info、result、temp、list、item、obj)
32
- - Boolean 变量/方法必须以 is/has/can/should 开头(如 isActive、hasPermission)
33
- - 接口/抽象类命名应体现行为意图(如 UserRepository、PaymentService)
34
- - 枚举类名使用名词,枚举值使用 UPPER_SNAKE_CASE
35
- - 包名使用全小写点分隔(com.company.module.service),禁止下划线或大写
36
- - 常量必须定义在常量类或枚举中,禁止散落在业务代码各处
37
- - 方法名应为动词或动词短语(getUserById、calculateTotalAmount)
38
- - 泛型类型参数使用大写单字母或简写(T、E、K、V、R、REQ、RESP)
39
- - 配置项 key 使用点分隔的 kebab-case(spring.datasource.url)
40
-
41
- ## 验收项
42
- - [AC-01] Java 类/方法/变量/常量命名风格一致
43
- - [AC-02] 数据库表名/字段名统一 snake_case
44
- - [AC-03] API 路径 kebab-case + 复数名词
45
- - [AC-04] 前端组件 PascalCase、CSS kebab-case
46
- - [AC-05] 无无含义命名(data/info/result/temp)
47
- - [AC-06] Boolean 变量 is/has/can 前缀
48
- - [AC-07] 方法名为动词短语
49
- - [AC-08] 枚举值 UPPER_SNAKE_CASE
@@ -1,48 +0,0 @@
1
- ---
2
- id: 增量边界界定文档
3
- kind: artifact
4
- title: 增量边界界定文档
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: incremental-boundary-document
9
- type: artifact
10
- scope:
11
- - '*'
12
- domain: design
13
- lifecycle_status: active
14
- stage: design
15
- owner_mechanism: mc-existing-system-artifact
16
- ---
17
-
18
- # 增量边界界定文档
19
-
20
- ## 1. 变更范围
21
- - 系统名称:<!-- 系统名 -->
22
- - 版本基线:<!-- 基线版本 -->
23
-
24
- ## 2. 受影响模块
25
-
26
- | # | 模块 | 变更类型 | 关联需求 | 说明 |
27
- |---|------|---------|---------|------|
28
- | 1 | <!-- 模块名 --> | 新增/修改/删除 | REQ-NNN | <!-- 说明 --> |
29
-
30
- > 变更类型判定:纯新文件/函数/表 → 新增;已有文件中的新增字段/接口 → 修改;移除已有功能 → 删除
31
-
32
- ## 3. 受影响接口
33
-
34
- | # | 接口 | 变更类型 | 关联需求 | 说明 |
35
- |---|------|---------|---------|------|
36
- | 1 | <!-- 接口名 --> | 新增/修改/废弃 | REQ-NNN | <!-- 说明 --> |
37
-
38
- ## 4. 纯新增功能
39
-
40
- | # | 功能 | 关联需求 | 涉及模块 | 说明 |
41
- |---|------|---------|---------|------|
42
- | 1 | <!-- 功能描述 --> | REQ-NNN | <!-- 模块名 --> | <!-- 说明 --> |
43
-
44
- ## 5. 改造范围
45
-
46
- | # | 改造项 | 原逻辑 | 改造目标 | 关联需求 | 风险等级 |
47
- |---|--------|--------|---------|---------|---------|
48
- | 1 | <!-- 改造描述 --> | <!-- 原有行为 --> | <!-- 改造后行为 --> | REQ-NNN | 高/中/低 |
@@ -1,41 +0,0 @@
1
- ---
2
- id: ka-procedure-工具调用流程
3
- kind: guidance
4
- title: 工具调用
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 工具调用流程
9
- extra:
10
- name: tool-invocation-workflow
11
- scope:
12
- - '*'
13
- products:
14
- - '*'
15
- lifecycle_status: active
16
- version: 1.1.0
17
- last_reviewed: '2026-06-01'
18
- type: procedure
19
- domain:
20
- - build
21
- - design
22
- verification_layer: L2
23
- stage: design
24
- owner_mechanism: mc-tool-invocation-contract
25
- ---
26
-
27
- # 工具调用流程
28
-
29
- ## 步骤
30
-
31
- 1. 接收工具调用请求 (tool_name, arguments)
32
- 2. 在 Tool Invocation Contract Registry 中查找工具契约
33
- 3. 检查当前调用链是否违反 forbidden_next_tools
34
- 4. 检查 strict_controlled 工具的前置审批
35
- 5. 执行工具调用
36
- 6. 记录 tool_trace
37
-
38
- ## 注意事项
39
-
40
- - 只读工具可自由调用,不受转换约束
41
- - 工具调用失败时记录到 task_context
@@ -1,50 +0,0 @@
1
- ---
2
- id: ka-pattern-concurrency-control
3
- kind: knowledge
4
- title: 并发控制
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: concurrency-control
9
- scope:
10
- - backend
11
- products:
12
- - '*'
13
- lifecycle_status: active
14
- version: 1.1.0
15
- last_reviewed: '2026-06-01'
16
- type: knowledge
17
- domain:
18
- - build
19
- - design
20
- verification_layer: L2
21
- stage: design
22
- owner_mechanism: mc-backend-pattern
23
- ---
24
-
25
- ## 决策规则
26
- - 涉及金额、库存、配额、计数器等可变共享状态的操作必须显式声明并发控制策略
27
- - 乐观锁适用于读多写少场景(版本号字段 + CAS),悲观锁适用于写多竞争激烈场景(SELECT FOR UPDATE)
28
- - 分布式环境必须使用分布式锁(Redis SETNX / Redisson / ZooKeeper),禁止依赖 JVM 级锁跨实例
29
- - 锁粒度必须最小化:锁具体资源而非整个表,锁业务 ID 而非全局锁
30
- - 分布式锁必须设置超时时间(防止死锁),建议默认 30 秒
31
- - 幂等方案优先于加锁:唯一约束、去重表、Token 机制比分布式锁更可靠
32
- - 超卖/超扣场景必须使用数据库原子操作(UPDATE SET stock = stock - 1 WHERE stock >= 1),禁止先查后改
33
- - 乐观锁冲突必须有用户可见提示("数据已被修改,请刷新重试"),禁止静默失败
34
- - 批量并发操作必须限制并发度(信号量/线程池),禁止无限制并发
35
- - ThreadLocal 必须在请求结束时 remove(),否则线程池复用导致数据串线
36
- - 锁的获取和释放必须在同一个 try-finally 块中,防止异常导致死锁
37
- - 分布式锁必须设置过期时间(如 30s),防止持有者崩溃导致永久死锁
38
- - 原子操作优先使用 CAS(AtomicInteger/LongAdder),无竞争场景性能优于锁
39
- - 线程池必须通过 ThreadPoolExecutor 构造函数创建,禁止使用 Executors(避免 OOM)
40
-
41
- ## 验收项
42
- - [AC-01] 共享可变状态操作有显式并发控制策略
43
- - [AC-02] 分布式锁有超时设置
44
- - [AC-03] 超卖场景使用原子操作而非先查后改
45
- - [AC-04] 乐观锁冲突有用户提示
46
- - [AC-05] 批量并发操作有并发度限制
47
- - [AC-06] ThreadLocal 请求结束清理
48
- - [AC-07] 锁释放 try-finally 保护
49
- - [AC-08] 分布式锁有超时时间
50
- - [AC-09] 线程池显式创建
@@ -1,33 +0,0 @@
1
- ---
2
- id: ka-artifact_template-tech-selection
3
- kind: artifact
4
- title: 技术选型
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: tech-selection
9
- scope:
10
- - backend
11
- - frontend
12
- products:
13
- - '*'
14
- lifecycle_status: active
15
- version: 1.1.0
16
- last_reviewed: '2026-06-01'
17
- type: artifact
18
- domain: design
19
- stage: design
20
- owner_mechanism: mc-decision-workshop
21
- ---
22
-
23
- ## 验收项
24
- - [AC-01] 行业基准对齐: 检索到至少 3 个行业标准方案,非凭空捏造
25
- - [AC-02] 四维权重矩阵完整: 覆盖开发成本、运行性能、扩展上限、维护复杂度
26
- - [AC-03] 最优解宣誓明确: 架构师推荐方案有明确理由,且说明了如何规避其他方案的致命缺点
27
- - [AC-04] 证伪循环完成: 每个候选方案至少有 1 个极端失效场景分析
28
- - [AC-05] 方案边界声明: 推荐方案的天花板和失效边界已如实告知
29
- - [AC-06] A/B 决策诱导输出: 无开放式提问,决策选项为精确的 A/B 选择
30
- - [AC-07] 综合评分达标: 推荐方案四维总分 >= 12/20(行业前 50%)
31
- - [AC-08] 致命缺点无回避: 推荐方案的致命缺点已列出且有应对策略
32
- - [AC-09] 项目上下文对齐: 选型理由引用了当前项目技术栈(非泛泛而谈)
33
- - [AC-10] 非平庸证明: 推荐方案性能+扩展性评分 >= 7/10,不是"最省事"的方案