soloforge 1.1.46 → 1.1.47

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 (342) hide show
  1. package/README.md +12 -0
  2. package/dist/context/adapters/shared/integration_guide.js +3 -1
  3. package/dist/context/adapters/shared/integration_guide.js.map +1 -1
  4. package/dist/core/gate_record_store.d.ts +11 -7
  5. package/dist/core/gate_record_store.d.ts.map +1 -1
  6. package/dist/core/gate_record_store.js +31 -17
  7. package/dist/core/gate_record_store.js.map +1 -1
  8. package/dist/core/observer.d.ts.map +1 -1
  9. package/dist/core/observer.js +7 -4
  10. package/dist/core/observer.js.map +1 -1
  11. package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
  12. package/dist/domain/asset_registry/derived_registry.js +20 -5
  13. package/dist/domain/asset_registry/derived_registry.js.map +1 -1
  14. package/dist/domain/asset_registry/derived_types.d.ts +5 -1
  15. package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
  16. package/dist/domain/build/contract.d.ts.map +1 -1
  17. package/dist/domain/build/contract.js +3 -8
  18. package/dist/domain/build/contract.js.map +1 -1
  19. package/dist/domain/build/engine.d.ts +3 -2
  20. package/dist/domain/build/engine.d.ts.map +1 -1
  21. package/dist/domain/build/engine.js +5 -2
  22. package/dist/domain/build/engine.js.map +1 -1
  23. package/dist/domain/design/contract.d.ts.map +1 -1
  24. package/dist/domain/design/contract.js +2 -31
  25. package/dist/domain/design/contract.js.map +1 -1
  26. package/dist/domain/design/engine.d.ts +3 -2
  27. package/dist/domain/design/engine.d.ts.map +1 -1
  28. package/dist/domain/design/engine.js +5 -2
  29. package/dist/domain/design/engine.js.map +1 -1
  30. package/dist/domain/engine_helpers.d.ts +18 -2
  31. package/dist/domain/engine_helpers.d.ts.map +1 -1
  32. package/dist/domain/engine_helpers.js +87 -8
  33. package/dist/domain/engine_helpers.js.map +1 -1
  34. package/dist/domain/operate/contract.js +1 -1
  35. package/dist/domain/operate/contract.js.map +1 -1
  36. package/dist/domain/operate/engine.d.ts +3 -2
  37. package/dist/domain/operate/engine.d.ts.map +1 -1
  38. package/dist/domain/operate/engine.js +5 -2
  39. package/dist/domain/operate/engine.js.map +1 -1
  40. package/dist/domain/verify/engine.d.ts +3 -2
  41. package/dist/domain/verify/engine.d.ts.map +1 -1
  42. package/dist/domain/verify/engine.js +5 -2
  43. package/dist/domain/verify/engine.js.map +1 -1
  44. package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
  45. package/dist/gate/executors/executors_artifact.js +8 -5
  46. package/dist/gate/executors/executors_artifact.js.map +1 -1
  47. package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
  48. package/dist/gate/executors/executors_prerequisite.js +26 -6
  49. package/dist/gate/executors/executors_prerequisite.js.map +1 -1
  50. package/dist/gate/executors/executors_regex_scan.js +2 -2
  51. package/dist/gate/executors/executors_regex_scan.js.map +1 -1
  52. package/dist/gate/executors/executors_trace.d.ts.map +1 -1
  53. package/dist/gate/executors/executors_trace.js +2 -0
  54. package/dist/gate/executors/executors_trace.js.map +1 -1
  55. package/dist/gate/gate_registry_bridge.d.ts +7 -6
  56. package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
  57. package/dist/gate/gate_registry_bridge.js +51 -13
  58. package/dist/gate/gate_registry_bridge.js.map +1 -1
  59. package/dist/server/tools/sf_doctor.d.ts +1 -0
  60. package/dist/server/tools/sf_doctor.d.ts.map +1 -1
  61. package/dist/server/tools/sf_doctor.js +15 -1
  62. package/dist/server/tools/sf_doctor.js.map +1 -1
  63. package/dist/server/tools/sf_gate.d.ts +1 -1
  64. package/dist/server/tools/sf_gate.js +2 -2
  65. package/dist/server/tools/sf_gate.js.map +1 -1
  66. package/dist/server/tools/sf_work.d.ts.map +1 -1
  67. package/dist/server/tools/sf_work.js +18 -6
  68. package/dist/server/tools/sf_work.js.map +1 -1
  69. package/package.json +2 -1
  70. package/templates/build/enforced.md +73 -0
  71. package/templates/build//344/270/223/351/241/271/345/256/236/347/216/260.md +75 -0
  72. package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272.md +75 -0
  73. package/templates/build//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201.md +50 -79
  74. package/templates/build//346/265/213/350/257/225/350/256/241/345/210/222.md +26 -24
  75. package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +75 -0
  76. package/templates/build//350/260/203/350/257/225/346/216/222/346/237/245.md +44 -75
  77. package/templates/build//351/207/215/346/236/204/346/226/271/346/263/225.md +68 -0
  78. package/templates/design/API/346/216/245/345/217/243/350/247/204/346/240/274/346/226/207/346/241/243.md +31 -28
  79. package/templates/design/enforced.md +47 -77
  80. 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 +1 -0
  81. 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
  82. package/templates/design//345/206/263/347/255/226/344/270/216/351/200/211/345/236/213.md +70 -0
  83. package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +49 -55
  84. 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 +33 -47
  85. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241.md +41 -83
  86. package/templates/design//351/234/200/346/261/202/345/210/206/346/236/220.md +31 -59
  87. package/templates/operate/enforced.md +11 -0
  88. package/templates/operate//344/270/212/347/272/277/350/247/202/345/257/237.md +53 -32
  89. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216.md +3 -0
  90. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256.md +83 -0
  91. package/templates/shared/enforced.md +46 -5
  92. package/templates/shared//345/217/215/351/246/210/344/277/256/345/244/215/351/227/255/347/216/257.md +86 -0
  93. package/templates/shared//345/267/245/347/250/213/346/211/247/350/241/214/346/200/273/347/272/262.md +148 -0
  94. package/templates/shared//345/267/245/347/250/213/347/272/252/345/276/213.md +71 -0
  95. package/templates/shared//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +48 -43
  96. package/templates/shared//346/234/272/345/210/266/350/257/264/346/230/216.md +67 -0
  97. 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
  98. package/templates/shared//350/264/241/347/214/256/350/247/204/350/214/203.md +78 -0
  99. package/templates/verify/enforced.md +3 -0
  100. 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 +45 -87
  101. package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +7 -0
  102. package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +79 -0
  103. package/templates/verify//351/252/214/350/257/201/346/226/271/346/263/225.md +72 -0
  104. package/templates/build/Bug/345/210/206/346/236/220.md +0 -59
  105. package/templates/build/Git/346/223/215/344/275/234.md +0 -48
  106. package/templates/build/OOD/350/256/276/350/256/241/346/221/230/350/246/201.md +0 -46
  107. package/templates/build/React/346/216/245/345/217/243/351/233/206/346/210/220.md +0 -42
  108. package/templates/build/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +0 -52
  109. package/templates/build/TS/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -78
  110. package/templates/build//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201.md +0 -68
  111. 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
  112. package/templates/build//344/273/243/347/240/201/351/227/250/347/246/201.md +0 -58
  113. package/templates/build//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -48
  114. package/templates/build//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213.md +0 -108
  115. 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
  116. package/templates/build//345/212/237/350/203/275/345/274/200/345/217/221.md +0 -66
  117. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260.md +0 -39
  118. package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213.md +0 -33
  119. 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
  120. package/templates/build//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260.md +0 -43
  121. package/templates/build//345/233/275/351/231/205/345/214/226.md +0 -45
  122. 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
  123. package/templates/build//345/256/211/345/205/250/345/256/241/346/237/245.md +0 -154
  124. package/templates/build//345/256/211/345/205/250/345/256/241/350/256/241.md +0 -47
  125. package/templates/build//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -56
  126. package/templates/build//346/200/247/350/203/275/345/210/206/346/236/220.md +0 -59
  127. package/templates/build//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +0 -53
  128. 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
  129. package/templates/build//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273.md +0 -63
  130. 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
  131. package/templates/build//346/235/203/351/231/220/350/256/244/350/257/201.md +0 -49
  132. package/templates/build//346/265/213/350/257/225/350/264/250/351/207/217.md +0 -45
  133. package/templates/build//347/206/224/346/226/255/351/231/215/347/272/247.md +0 -49
  134. package/templates/build//347/212/266/346/200/201/346/265/201/350/275/254.md +0 -43
  135. package/templates/build//347/213/254/347/253/213/345/256/241/346/237/245.md +0 -45
  136. package/templates/build//347/272/246/346/235/237/345/256/236/347/216/260.md +0 -47
  137. package/templates/build//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245.md +0 -60
  138. package/templates/build//347/274/226/347/240/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  139. package/templates/build//347/274/226/347/240/201/350/264/250/351/207/217.md +0 -46
  140. package/templates/build//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214.md +0 -105
  141. package/templates/build//347/274/272/351/231/267/347/256/241/347/220/206.md +0 -47
  142. package/templates/build//350/200/246/345/220/210/346/243/200/346/265/213.md +0 -86
  143. package/templates/build//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -40
  144. package/templates/build//350/264/250/351/207/217/345/256/241/346/237/245.md +0 -111
  145. package/templates/build//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +0 -52
  146. package/templates/build//351/200/232/347/224/250/350/264/250/351/207/217.md +0 -176
  147. package/templates/build//351/207/215/346/236/204/346/226/271/346/241/210.md +0 -61
  148. package/templates/build//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +0 -53
  149. package/templates/build//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201.md +0 -94
  150. package/templates/build//351/233/206/346/210/220/351/252/214/350/257/201.md +0 -67
  151. package/templates/build//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217.md +0 -135
  152. package/templates/build//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245.md +0 -64
  153. package/templates/build//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -75
  154. package/templates/design/API/350/256/276/350/256/241.md +0 -47
  155. package/templates/design/N/345/212/2401/346/237/245/350/257/242.md +0 -48
  156. package/templates/design/OOD/350/256/276/350/256/241.md +0 -72
  157. package/templates/design//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214.md +0 -109
  158. 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
  159. package/templates/design//344/273/273/345/212/241/346/213/206/350/247/243.md +0 -61
  160. package/templates/design//344/273/273/345/212/241/350/247/204/345/210/222.md +0 -84
  161. package/templates/design//344/274/232/350/257/235/346/201/242/345/244/215-procedures.md +0 -78
  162. package/templates/design//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245.md +0 -89
  163. package/templates/design//345/210/207/347/211/207/350/256/241/345/210/222.md +0 -149
  164. package/templates/design//345/211/215/347/253/257/346/200/247/350/203/275.md +0 -49
  165. 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
  166. package/templates/design//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226.md +0 -78
  167. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +0 -200
  168. package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -81
  169. 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
  170. package/templates/design//345/221/275/344/273/244/346/211/247/350/241/214-procedures.md +0 -45
  171. package/templates/design//345/221/275/344/273/244/350/267/257/347/224/261-procedures.md +0 -46
  172. package/templates/design//345/221/275/345/220/215.md +0 -49
  173. 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
  174. package/templates/design//345/267/245/345/205/267/350/260/203/347/224/250-procedures.md +0 -41
  175. package/templates/design//345/271/266/345/217/221/346/216/247/345/210/266.md +0 -50
  176. package/templates/design//346/212/200/346/234/257/351/200/211/345/236/213.md +0 -33
  177. package/templates/design//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210.md +0 -97
  178. 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
  179. 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
  180. package/templates/design//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276.md +0 -49
  181. package/templates/design//346/227/240/351/232/234/347/242/215.md +0 -49
  182. package/templates/design//346/236/266/346/236/204/345/206/263/347/255/226/350/256/260/345/275/225.md +0 -53
  183. package/templates/design//346/236/266/346/236/204/345/256/241/346/237/245.md +0 -256
  184. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-constraints.md +0 -177
  185. package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-procedures.md +0 -130
  186. 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
  187. package/templates/design//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230.md +0 -58
  188. 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
  189. 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
  190. 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
  191. package/templates/design//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214.md +0 -77
  192. package/templates/design//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205.md +0 -85
  193. 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
  194. package/templates/design//350/207/252/344/270/273/351/200/211/345/236/213.md +0 -57
  195. 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
  196. 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
  197. package/templates/design//350/256/276/350/256/241/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -21
  198. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241-procedures.md +0 -123
  199. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241.md +0 -109
  200. package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245.md +0 -88
  201. package/templates/design//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -43
  202. package/templates/design//350/277/201/347/247/273/350/257/204/344/274/260.md +0 -67
  203. 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
  204. package/templates/design//351/234/200/346/261/202/346/276/204/346/270/205.md +0 -65
  205. package/templates/design//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -88
  206. package/templates/design//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241.md +0 -43
  207. package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -60
  208. package/templates/operate//350/277/220/347/273/264/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
  209. package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256/345/256/241/346/237/245.md +0 -59
  210. package/templates/shared/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -55
  211. package/templates/shared/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -54
  212. package/templates/shared/OOD/344/270/216SOLID/350/256/276/350/256/241.md +0 -48
  213. package/templates/shared//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -57
  214. package/templates/shared//344/272/247/347/211/251/345/245/221/347/272/246.md +0 -44
  215. 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
  216. 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
  217. package/templates/shared//344/273/273/345/212/241/347/212/266/346/200/201/346/234/272.md +0 -55
  218. package/templates/shared//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -55
  219. package/templates/shared//344/274/230/351/233/205/345/201/234/346/234/272.md +0 -43
  220. 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
  221. package/templates/shared//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -55
  222. package/templates/shared//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -55
  223. package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -47
  224. package/templates/shared//345/210/207/347/211/207/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -72
  225. package/templates/shared//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -58
  226. 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
  227. package/templates/shared//345/221/275/344/273/244/346/211/247/350/241/214.md +0 -48
  228. package/templates/shared//345/221/275/344/273/244/350/267/257/347/224/261.md +0 -45
  229. package/templates/shared//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -54
  230. package/templates/shared//345/244/232/347/247/237/346/210/267.md +0 -49
  231. package/templates/shared//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -46
  232. package/templates/shared//345/257/274/345/205/245/345/257/274/345/207/272.md +0 -51
  233. package/templates/shared//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -52
  234. package/templates/shared//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -54
  235. package/templates/shared//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246.md +0 -42
  236. package/templates/shared//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -50
  237. package/templates/shared//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205.md +0 -34
  238. package/templates/shared//345/267/245/345/205/267/350/260/203/347/224/250.md +0 -48
  239. package/templates/shared//345/271/266/345/217/221/351/224/201.md +0 -57
  240. package/templates/shared//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260.md +0 -47
  241. package/templates/shared//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -34
  242. package/templates/shared//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203.md +0 -50
  243. package/templates/shared//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -50
  244. package/templates/shared//346/224/257/344/273/230.md +0 -51
  245. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206.md +0 -77
  246. package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -53
  247. package/templates/shared//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -47
  248. package/templates/shared//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246.md +0 -69
  249. package/templates/shared//346/227/245/345/277/227/346/262/273/347/220/206.md +0 -31
  250. package/templates/shared//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206.md +0 -31
  251. package/templates/shared//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226.md +0 -50
  252. package/templates/shared//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -38
  253. 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
  254. package/templates/shared//346/250/241/347/211/210Frontmatter.md +0 -125
  255. package/templates/shared//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -282
  256. 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
  257. 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
  258. 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
  259. package/templates/shared//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247.md +0 -50
  260. package/templates/shared//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246.md +0 -86
  261. package/templates/shared//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -66
  262. package/templates/shared//347/237/245/350/257/206/346/262/273/347/220/206.md +0 -31
  263. package/templates/shared//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214.md +0 -47
  264. package/templates/shared//347/273/206/350/212/202/347/272/252/345/276/213.md +0 -54
  265. 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
  266. package/templates/shared//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250.md +0 -47
  267. package/templates/shared//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205.md +0 -58
  268. package/templates/shared//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -55
  269. 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
  270. package/templates/shared//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246.md +0 -50
  271. package/templates/shared//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -58
  272. package/templates/shared//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250.md +0 -62
  273. package/templates/shared//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -47
  274. package/templates/shared//351/200/232/347/237/245.md +0 -50
  275. package/templates/shared//351/203/250/347/275/262/351/205/215/347/275/256.md +0 -14
  276. package/templates/shared//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247.md +0 -67
  277. package/templates/shared//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214.md +0 -32
  278. package/templates/shared//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260.md +0 -51
  279. package/templates/shared//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -57
  280. 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
  281. package/templates/shared//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -55
  282. package/templates/shared//351/252/214/350/257/201/345/245/221/347/272/246.md +0 -48
  283. package/templates/verify/Docker/351/203/250/347/275/262.md +0 -46
  284. package/templates/verify/POC/347/273/223/350/256/272.md +0 -53
  285. package/templates/verify/React/345/210/227/350/241/250/350/241/250/346/240/274.md +0 -43
  286. package/templates/verify/React/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  287. package/templates/verify/React/347/273/204/344/273/266.md +0 -42
  288. package/templates/verify/React/350/241/250/345/215/225.md +0 -43
  289. package/templates/verify/React/350/267/257/347/224/261.md +0 -43
  290. package/templates/verify/SOLID/344/273/243/347/240/201/345/256/241/346/237/245.md +0 -74
  291. package/templates/verify/SOLID/350/256/276/350/256/241.md +0 -31
  292. package/templates/verify/Schema/345/205/274/345/256/271.md +0 -42
  293. package/templates/verify/Vue/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
  294. package/templates/verify/Vue/347/273/204/344/273/266.md +0 -42
  295. package/templates/verify/Vue/350/267/257/347/224/261.md +0 -43
  296. 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
  297. package/templates/verify//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245.md +0 -38
  298. package/templates/verify//344/272/213/344/273/266/351/251/261/345/212/250.md +0 -46
  299. package/templates/verify//344/272/213/345/212/241/346/250/241/345/274/217.md +0 -42
  300. 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
  301. 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
  302. package/templates/verify//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -46
  303. 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
  304. package/templates/verify//345/210/206/351/241/265/346/237/245/350/257/242.md +0 -41
  305. package/templates/verify//345/211/215/347/253/257/351/241/265/351/235/242.md +0 -40
  306. 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
  307. package/templates/verify//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245.md +0 -73
  308. package/templates/verify//345/220/216/347/253/257API.md +0 -39
  309. package/templates/verify//345/242/236/345/210/240/346/224/271/346/237/245.md +0 -45
  310. package/templates/verify//345/244/226/351/203/250/344/276/235/350/265/226.md +0 -43
  311. package/templates/verify//345/245/221/347/272/246/345/205/274/345/256/271.md +0 -42
  312. package/templates/verify//345/256/232/346/227/266/344/273/273/345/212/241.md +0 -39
  313. package/templates/verify//345/256/236/346/227/266/346/216/250/351/200/201.md +0 -48
  314. package/templates/verify//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -58
  315. package/templates/verify//345/267/245/344/275/234/346/265/201.md +0 -38
  316. package/templates/verify//345/271/266/345/217/221/345/256/241/346/237/245.md +0 -132
  317. package/templates/verify//345/274/202/346/255/245/345/257/274/345/207/272.md +0 -41
  318. package/templates/verify//346/200/247/350/203/275/345/256/241/346/237/245.md +0 -110
  319. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246.md +0 -44
  320. package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245.md +0 -131
  321. package/templates/verify//346/220/234/347/264/242/346/250/241/345/274/217.md +0 -47
  322. package/templates/verify//346/225/205/351/232/234/345/244/215/347/233/230.md +0 -67
  323. package/templates/verify//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264.md +0 -37
  324. package/templates/verify//346/225/260/346/215/256/351/232/220/347/247/201.md +0 -46
  325. package/templates/verify//346/226/207/344/273/266/344/270/212/344/274/240.md +0 -45
  326. package/templates/verify//346/227/245/345/277/227.md +0 -45
  327. 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
  328. package/templates/verify//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214.md +0 -65
  329. package/templates/verify//347/237/245/350/257/206/346/263/250/345/205/245.md +0 -38
  330. 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
  331. package/templates/verify//347/274/223/345/255/230/347/255/226/347/225/245.md +0 -45
  332. 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
  333. package/templates/verify//350/201/224/350/260/203/351/252/214/350/257/201.md +0 -87
  334. package/templates/verify//350/256/276/350/256/241/345/256/241/350/256/241.md +0 -184
  335. package/templates/verify//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255.md +0 -74
  336. package/templates/verify//350/276/223/345/205/245/346/240/241/351/252/214.md +0 -44
  337. package/templates/verify//351/203/250/347/275/262/345/217/221/345/270/203.md +0 -101
  338. package/templates/verify//351/224/231/350/257/257/345/244/204/347/220/206.md +0 -46
  339. package/templates/verify//351/224/231/350/257/257/350/276/271/347/225/214.md +0 -38
  340. package/templates/verify//351/232/220/347/247/201/345/256/241/346/237/245.md +0 -37
  341. package/templates/verify//351/252/214/350/257/201.md +0 -38
  342. 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,59 +0,0 @@
1
- ---
2
- id: ka-artifact_template-Bug分析模版
3
- kind: artifact
4
- title: Bug分析
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: bug-analysis
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: build
19
- stage: build
20
- owner_mechanism: mc-generic-artifact
21
- ---
22
-
23
- # Bug 分析报告
24
-
25
- ## 1. 问题概述
26
- - **现象描述**:
27
- - **影响范围**:全部用户 / 特定条件 / 偶发 / 必现
28
- - **严重程度**:P0(致命) / P1(严重) / P2(一般) / P3(轻微)
29
- - **发现时间**:
30
- - **发现渠道**:用户反馈 / 自动告警 / 测试发现
31
-
32
- ## 2. 复现步骤
33
- 1.
34
- 2.
35
- 3.
36
- - **前置条件**:
37
- - **输入数据**:
38
- - **环境信息**:
39
-
40
- ## 3. 根因分析
41
- - **直接原因**:
42
- - **深层原因**(设计/实现/测试/流程):
43
- - **归因阶段**:需求 / 设计 / 任务拆解 / 实现 / 测试 / 门禁
44
- - **假设-验证记录**:
45
-
46
- | 假设 | 验证方式 | 结果 | 结论 |
47
- |------|---------|------|------|
48
- | | | | |
49
-
50
- ## 4. 修复方案
51
- - **修复范围**(仅限根因相关文件):
52
- - **修复方式**:
53
- - **回归风险评估**:
54
-
55
- ## 5. 预防措施
56
- - [ ] 是否需要补充测试用例
57
- - [ ] 是否需要补充审查规则
58
- - [ ] 是否需要更新知识条目
59
- - [ ] 是否存在同类问题需排查
@@ -1,48 +0,0 @@
1
- ---
2
- id: ka-pattern-gitops
3
- kind: knowledge
4
- title: Git操作
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: gitops
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
- - verify
21
- verification_layer: L2
22
- stage: build
23
- owner_mechanism: mc-general-pattern
24
- ---
25
-
26
- ## 决策规则
27
- - Commit 消息必须语义化(feat/fix/refactor/test/docs/chore + 描述),禁止"update"、"fix"等笼统消息
28
- - 每个 commit 对应一个最小变更单元
29
- - 提交前检查清单:lint/format 通过、测试通过、无调试残留(console 输出、print、待办/修复占位标记)、无敏感信息、无超范围变更、无未跟踪大文件
30
- - 功能分支合并必须使用 --no-ff 保留历史
31
- - 冲突在功能分支解决,禁止在 master 上解决冲突
32
- - 单 commit 问题用 git revert,整分支问题用 git revert -m 1
33
- - 分支命名必须包含类型前缀(feature/、fix/、hotfix/、release/),禁止无意义命名
34
- - Commit message 必须遵循 Conventional Commits 规范(type(scope): description)
35
- - 禁止 force push 到 main/master/develop 分支,必须通过 PR/MR 合并
36
- - 每个功能/修复必须从最新 develop/main 创建分支,禁止使用陈旧分支
37
- - 代码合并必须经过至少一人 review 并批准,禁止自行合并
38
- - 合并冲突必须在本地解决并测试,禁止在合并平台上直接解决
39
-
40
- ## 验收项
41
- - [AC-01] Commit 消息语义化(type + description)
42
- - [AC-02] 无调试代码残留
43
- - [AC-03] 合并使用 --no-ff
44
- - [AC-04] 回滚使用 revert 而非 reset
45
- - [AC-05] 分支命名有类型前缀
46
- - [AC-06] Commit message 符合 Conventional Commits
47
- - [AC-07] 无 force push 到主分支
48
- - [AC-08] 代码合并经过 review
@@ -1,46 +0,0 @@
1
- ---
2
- id: ka-artifact_template-OOD设计摘要模版
3
- kind: artifact
4
- title: OOD设计摘要
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: ood-design-summary
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: build
19
- stage: build
20
- owner_mechanism: mc-ood-solid-contract
21
- ---
22
-
23
- # OOD/SOLID 设计摘要
24
-
25
- ## 适用性
26
-
27
- - 任务:
28
- - 适用/不适用理由:
29
-
30
- ## 对象与职责
31
-
32
- | 对象/模块 | 单一职责 | 协作者 | 禁止承担的职责 |
33
- |---|---|---|---|
34
- | | | | |
35
-
36
- ## 接口与依赖方向
37
-
38
- | 接口/端口 | 提供者 | 消费者 | 依赖方向 | 替换/测试策略 |
39
- |---|---|---|---|---|
40
- | | | | | |
41
-
42
- ## 变化点与 SOLID 复验
43
-
44
- | 变化点 | SRP | OCP | LSP | ISP | DIP | 复验证据 |
45
- |---|---|---|---|---|---|---|
46
- | | | | | | | |
@@ -1,42 +0,0 @@
1
- ---
2
- id: ka-pattern-react-api-integration
3
- kind: knowledge
4
- title: React接口集成
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: react-api-integration
9
- scope:
10
- - frontend
11
- products:
12
- - '*'
13
- lifecycle_status: active
14
- version: 1.1.0
15
- last_reviewed: '2026-06-01'
16
- type: knowledge
17
- domain: build
18
- verification_layer: L2
19
- stage: build
20
- owner_mechanism: mc-frontend-pattern
21
- ---
22
-
23
- ## 决策规则
24
- - 必须通过 service 层封装 API 调用,禁止组件内直接写 axios.get/post
25
- - 必须基于统一 axios 实例,统一处理 Token 注入和错误拦截
26
- - 请求必须管理 loading 状态,禁止无反馈的静默请求
27
- - 401 响应必须自动跳转登录页
28
- - API URL 禁止硬编码,必须通过环境变量或统一 baseURL
29
- - API 调用必须封装到独立的 service 层,禁止在组件中直接调用 axios/fetch
30
- - API 层必须统一处理:Token 注入、错误拦截、响应解包、重试逻辑
31
- - 请求取消必须使用 AbortController,组件卸载时取消未完成请求
32
- - API 类型必须定义 Request/Response interface,禁止 any
33
- - 并发请求必须使用 Promise.all / Promise.allSettled 批量处理
34
-
35
- ## 验收项
36
- - [AC-01] API 调用通过 service 层,无组件内直接调用
37
- - [AC-02] 请求有 loading 状态管理
38
- - [AC-03] 401 响应自动跳转登录页
39
- - [AC-04] 接口错误有用户提示
40
- - [AC-05] API 封装到 service 层
41
- - [AC-06] 组件卸载取消请求
42
- - [AC-07] API 有 TypeScript 类型定义
@@ -1,52 +0,0 @@
1
- ---
2
- id: ka-procedure-Schema变更流水线
3
- kind: guidance
4
- title: Schema变更流水线
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 数据库结构变更
9
- - 加字段
10
- - 改字段
11
- - 新建表
12
- - 加索引
13
- - DDL变更
14
- - schema变更
15
- - 数据库迁移
16
- extra:
17
- name: schema-change-pipeline
18
- type: procedure
19
- scope:
20
- - backend
21
- products:
22
- - '*'
23
- lifecycle_status: active
24
- version: 1.1.0
25
- last_reviewed: '2026-06-01'
26
- domain:
27
- - build
28
- - verify
29
- verification_layer: L2
30
- stage: build
31
- ---
32
-
33
- # 数据库变更管线
34
-
35
- ## 第1步:变更设计
36
- 评估变更类型(加列/改列/删列/加索引/数据迁移/新建表)。确认向前兼容性(新列默认值或允许 NULL)。制定四层兼容策略(数据库→接口契约→前端展示→导出逻辑)。
37
- 模版:数据库变更方案.md
38
- 产出保存到:docs/design/01-数据库设计文档.md
39
- 工具:(本步骤为任务入口,由 sf_task 统一路由)
40
-
41
- ## 第2步:迁移脚本
42
- 编写 migration 脚本(正向 + 回滚),确保幂等。大表加列使用分批更新策略。大表加索引使用 ONLINE DDL。禁止 migration 中写业务逻辑。
43
- 产出保存到:docs/architecture/02-migration.sql
44
- 工具:sf_work action=act
45
-
46
- ## 第3步:代码适配
47
- 更新 Entity/DTO 映射。更新接口契约(请求/响应字段)。更新前端展示和表单。更新导出逻辑(如有)。更新相关测试数据和测试用例。
48
- 工具:sf_work action=act
49
-
50
- ## 第4步:验证验收
51
- 开发环境执行 migration 验证表结构。运行全量测试。代码审查重点关注:四层兼容完整性、回滚脚本有效性、大表性能影响评估。
52
- 工具:sf_work action=verify, sf_gate
@@ -1,78 +0,0 @@
1
- ---
2
- id: ka-review-rule-TS质量审查规则
3
- kind: guidance
4
- title: TS质量审查
5
- triggers:
6
- - TypeScript
7
- - 类型
8
- - any
9
- sync_policy: copy_to_project
10
- status: active
11
- extra:
12
- name: ts-quality-rules
13
- type: constraint
14
- scope:
15
- - backend
16
- - frontend
17
- products:
18
- - '*'
19
- lifecycle_status: active
20
- version: 1.0.0
21
- last_reviewed: '2026-06-14'
22
- domain: build
23
- verification_layer: L2
24
- stage: build
25
- owner_mechanism: mc-generic-review
26
- ---
27
-
28
- # TypeScript 质量审查规则
29
-
30
- 聚焦 TypeScript/JavaScript 强类型场景的经典坏味道,按 `languages: [ts]` 标注 —— 仅 TS 项目(含 JS,LANG_TAG_MAP 将 javascript 也映射到 ts 标签)执行,Java/Python/Go 项目按技术栈自动跳过(passed=true 不阻断)。
31
-
32
- severity 分级:
33
- - **error**:几乎一定是债(`@ts-ignore` 压制类型检查、`var` 废弃声明)→ 阻断 promote。
34
- - **warning**:可能是合理取舍或正则引擎对注释/字面量的固有误报 → hold 待人工确认,不阻断。
35
-
36
- ## TS-Q01: as any 类型断言逃逸
37
- languages: [ts]
38
- pattern: /as\s+any\b/
39
- severity: warning
40
- check_type: deterministic
41
- scope: [backend, frontend]
42
- description: 禁止用 `as any` 绕过类型检查,应补全精确类型或收窄 unknown。惰性加载占位、catch 错误对象等少数场景可标注取舍后保留,故为 warning 级(regex 无法区分合法/滥用,需人工确认)
43
- evidence_required:
44
- - "扫描结果:含 as any 的文件路径+行号"
45
- - "取舍说明:保留处为何无法避免 as any"
46
-
47
- ## TS-Q02: @ts-ignore/@ts-nocheck 压制类型检查
48
- languages: [ts]
49
- pattern: /@ts-(?:ignore|nocheck|expect-error)\b/
50
- severity: error
51
- check_type: deterministic
52
- scope: [backend, frontend]
53
- description: 禁止用 @ts-ignore/@ts-nocheck 压制类型错误,必须修复根因类型问题。@ts-expect-error 须附带错误码且在错误消失后会被编译器提示清理
54
- evidence_required:
55
- - "扫描结果:含类型压制的文件路径+行号"
56
- - "修复确认:根因类型修复证据"
57
-
58
- ## TS-Q03: 宽松相等 ==/!=
59
- languages: [ts]
60
- pattern: /[^=!<>]==[^=]|[^=!]!=[^=]/
61
- severity: warning
62
- check_type: deterministic
63
- scope: [backend, frontend]
64
- description: 禁止用 ==/!= 宽松相等(隐式类型转换坑),必须用 ===/!==。warning 级:正则按行匹配无法区分代码与注释/正则字面量,注释里的 == 会误报,需人工确认
65
- evidence_required:
66
- - "扫描结果:含宽松相等的文件路径+行号"
67
- - "修复确认:改用 ===/!== 证据"
68
-
69
- ## TS-Q04: var 声明
70
- languages: [ts]
71
- pattern: /\bvar\s+[A-Za-z_$]/
72
- severity: error
73
- check_type: deterministic
74
- scope: [backend, frontend]
75
- description: 禁止 var 声明(函数作用域 + 变量提升坑),必须用 let/const。pattern 限定 var 后跟合法标识符开头,避免命中注释里的中文「var 模式」等
76
- evidence_required:
77
- - "扫描结果:含 var 声明的文件路径+行号"
78
- - "修复确认:改用 let/const 证据"
@@ -1,68 +0,0 @@
1
- ---
2
- id: 上游交叉验证
3
- kind: guidance
4
- title: 上游交叉验证
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 交叉验证
9
- - 一致性校验
10
- - cross validation
11
- - 上游验证
12
- - 设计产物一致性
13
- extra:
14
- name: upstream-cross-validation
15
- type: constraint
16
- domain: build
17
- lifecycle_status: active
18
- scope:
19
- - backend
20
- - frontend
21
- products:
22
- - '*'
23
- verification_layer: L2
24
- stage: build
25
- owner_mechanism: mc-command-router
26
- ---
27
-
28
- # 上游交叉验证规则
29
-
30
- ## UCV-01: 实施前变更范围对照设计
31
- id: UCV-01
32
- name: 实施前变更范围对照设计
33
- severity: error
34
- check_type: deterministic
35
- check_hint: 任务规划阶段,每个切片的变更范围必须对照详细设计文档逐项确认
36
- description: 任务规划阶段,每个切片的变更范围(涉及文件列表)必须对照详细设计文档逐项确认。涉及的文件列表必须与设计文档描述的模块一致。
37
-
38
- ## UCV-02: 未覆盖场景回退补充
39
- id: UCV-02
40
- name: 未覆盖场景回退补充
41
- severity: error
42
- check_type: semantic
43
- check_hint: 发现设计文档未覆盖的场景必须回退补充设计,不得跳过
44
- description: 扫描过程中发现设计文档未覆盖的业务场景,必须回退到详细设计阶段补充,不得跳过设计直接编码。
45
-
46
- ## UCV-03: 实施中接口签名匹配
47
- id: UCV-03
48
- name: 实施中接口签名匹配
49
- severity: error
50
- check_type: deterministic
51
- check_hint: 编码阶段实现的接口签名必须与设计规格严格匹配
52
- description: 编码阶段,每个切片完成后对照设计文档确认实现与设计一致。接口签名(HTTP 方法、路径、参数类型、响应结构)、数据结构、错误处理必须与设计规格严格匹配。
53
-
54
- ## UCV-04: 实施中设计偏离须更新
55
- id: UCV-04
56
- name: 实施中设计偏离须更新
57
- severity: warning
58
- check_type: semantic
59
- check_hint: 编码中发现需要偏离设计时,必须先更新设计文档并获取确认
60
- description: 编码过程中发现需要偏离设计(接口签名变更、数据结构调整、错误处理方式变更等),必须先更新设计文档并获取用户确认后才能继续。
61
-
62
- ## UCV-05: 实施后设计要求全覆盖
63
- id: UCV-05
64
- name: 实施后设计要求全覆盖
65
- severity: error
66
- check_type: deterministic
67
- check_hint: 所有设计要求必须有对应的实现证据
68
- description: 所有切片完成后,最终审查必须以设计文档为基准。每个设计要求必须有对应的实现证据。未覆盖的设计要求必须标注为待实现或已变更。
@@ -1,56 +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
- - 集成验证
10
- - 链路接入
11
- - 端到端集成
12
- extra:
13
- name: mainline-integration-verification
14
- scope:
15
- - '*'
16
- products:
17
- - '*'
18
- lifecycle_status: active
19
- version: 1.2.0
20
- last_reviewed: '2026-06-04'
21
- type: procedure
22
- domain:
23
- - build
24
- - verify
25
- verification_layer: L2
26
- stage: build
27
- owner_mechanism: mc-main-path-integration
28
- ---
29
-
30
- # 主链路接入验证流程
31
-
32
- ## 步骤
33
-
34
- 1. 识别新增模块 (changed_files 中 src/ 下的文件)
35
- 2. 扫描谁导入了该模块 (scanModuleImporters)
36
- 3. 从入口点追踪可达性 (traceModuleReachability)
37
- 4. 收集可观测证据 (collectModuleObservability)
38
- evidence_required:
39
- - "模块导入者列表(scanModuleImporters 输出)"
40
- - "入口点可达性追踪日志(traceModuleReachability 输出)"
41
- - "集成测试文件路径(findIntegrationTests 输出)"
42
- 5. 查找集成测试 (findIntegrationTests)
43
- 6. 判断接入状态 (integrated / implemented_not_integrated / ...)
44
- 7. 运行 orphanGate 和 validateMainPathIntegration
45
-
46
- ## 接入标准
47
-
48
- - **integrated**: 有生产调用 + 有入口链路
49
- - **implemented_not_integrated**: 无生产调用或无入口链路
50
- - **experimental_isolated**: 明确标注为实验性
51
-
52
- ## 注意事项
53
-
54
- - barrel export 不算生产调用
55
- - registry 声明不算接入
56
- - type reference 不算接入
@@ -1,58 +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
- - 代码审查门禁
10
- - gate review
11
- - 发布门禁
12
- - 上线检查
13
- - 代码评审
14
- - 发布审查
15
- extra:
16
- name: code-gate
17
- type: procedure
18
- scope:
19
- - backend
20
- - frontend
21
- products:
22
- - '*'
23
- lifecycle_status: active
24
- version: 1.1.0
25
- last_reviewed: '2026-06-01'
26
- domain:
27
- - build
28
- - verify
29
- verification_layer: L2
30
- stage: build
31
- owner_mechanism: mc-guard-evaluation
32
- ---
33
-
34
- ## 适用场景
35
- 代码变更的最终门禁审查,确保每行变更可追溯、有真实运行证据、符合项目约束和架构红线。
36
-
37
- ## 步骤
38
- 1. 确认存在真实 diff 和真实测试证据,无证据不启动审查
39
- 2. 先运行预检查和快照链验证,识别缺口后再下结论
40
- 3. 逐行审查 diff:每行必须追溯到任务卡、交付蓝图、实现映射或阻塞性缺陷
41
- 4. 无关变更、顺手重构、主动抽象、无任务依据的删除默认为阻断
42
- 5. 验证集成证据:部署结果、服务就绪、API 动态验证、DDL 迁移、运行时证据
43
- 6. 拒绝以下类型作为通过证据:dry-run、skipped、not_run、静态分析、AI 摘要、生成截图
44
- 7. 产出三级结论之一:通过 / 有条件通过(附改进清单)/ 不通过(附返回阶段路由)
45
- 8. 审查方与实现方分歧时记录 DISPUTE,按角色层级仲裁
46
-
47
- ## 检查点
48
- - [ ] 每个 diff 行追溯到任务卡或缺陷
49
- - [ ] 无 dry-run/静态分析/AI 摘要冒充运行时证据
50
- - [ ] 部署、就绪、API、DDL、运行时、流程覆盖均有证据
51
- - [ ] 每个发现项有唯一返回路由和修复权限
52
- - [ ] 无关变更和顺手重构已被阻断
53
-
54
- ## 注意事项
55
- - 禁止接受 dry-run/静态分析/AI 摘要/生成截图作为运行时证据
56
- - 禁止在缺少运行时证据时通过
57
- - 禁止先下结论再找理由(先查缺口再判断)
58
- - draft 状态的桥接/快照/边车文件为阻断项
@@ -1,48 +0,0 @@
1
- ---
2
- id: ka-pattern-fullstack-flowheal
3
- kind: knowledge
4
- title: 全栈流程修复
5
- sync_policy: copy_to_project
6
- status: active
7
- extra:
8
- name: fullstack-flowheal
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
- - verify
21
- verification_layer: L2
22
- stage: build
23
- owner_mechanism: mc-general-pattern
24
- ---
25
-
26
- ## 决策规则
27
- - 必须严格遵循 5 步顺序:定义用例 → 收集证据 → 诊断 → 补丁计划 → 验证,禁止跳步
28
- - 证据优先、流程优先、浏览器证据优先、最小补丁、分层验证
29
- - 禁止将不稳定测试视为业务失败,先稳定复现再判断
30
- - 禁止删除断言、增加 sleep、降低覆盖率、增加 mock 来制造通过
31
- - 禁止用 SQL 直接写业务测试数据
32
- - 禁止自动修改事务/权限/金额/库存/安全策略
33
- - 一次只修一个问题,禁止跨层大重构同时进行
34
- - 高风险/低置信度/跨多服务的复杂变更上报人工决策
35
- - 端到端测试必须从浏览器页面出发,禁止绕过前端
36
- - 前后端联调必须基于接口文档(OpenAPI),禁止口头约定字段
37
- - 前后端字段命名不一致时以后端为准,前端通过映射层适配
38
- - 接口变更必须同步更新文档和前端调用,禁止只改一侧
39
- - 联调问题必须在缺陷系统记录根因(文档不完整/需求不明确/理解偏差),持续改进
40
-
41
- ## 验收项
42
- - [AC-01] 遵循 5 步顺序(用例→证据→诊断→补丁→验证)
43
- - [AC-02] 证据包含 UI 追踪/API 调用/后端 traceId/数据状态
44
- - [AC-03] 修复后重新构建再验证
45
- - [AC-04] 最终状态显式声明(ready_to_commit/escalated/reverted)
46
- - [AC-05] 联调基于接口文档
47
- - [AC-06] 接口变更同步更新文档和前端
48
- - [AC-07] 联调问题记录根因
@@ -1,108 +0,0 @@
1
- ---
2
- id: 切片执行纪律
3
- kind: guidance
4
- title: 切片执行纪律
5
- sync_policy: copy_to_project
6
- status: active
7
- triggers:
8
- - 切片执行
9
- - 编码执行
10
- - slice execution
11
- - 开始编码
12
- - 实现切片
13
- extra:
14
- name: slice-execution-discipline
15
- type: constraint
16
- domain: build
17
- lifecycle_status: active
18
- scope:
19
- - backend
20
- - frontend
21
- products:
22
- - '*'
23
- verification_layer: L2
24
- stage: build
25
- owner_mechanism: mc-command-router
26
- ---
27
-
28
- # 切片执行纪律规则
29
-
30
- ## SED-01: 扫描先行
31
- id: SED-01
32
- name: 扫描先行
33
- severity: error
34
- check_type: deterministic
35
- check_hint: 编码前必须扫描所有涉及文件,记录文件/行号/变更类型;扫描时间戳 < 编码开始时间
36
- description: 编码前必须扫描所有涉及文件,记录文件/行号/变更类型。扫描结果必须写入执行记录。未完成扫描不得开始编码。
37
-
38
- ## SED-02: 测试前置≥9 场景
39
- id: SED-02
40
- name: 测试前置≥9 场景
41
- severity: error
42
- check_type: deterministic
43
- check_hint: 每个切片必须有 ≥9 个新测试场景(正常×2 + 边界×3 + 错误×2 + 集成×2)
44
- description: 每个切片必须有≥9 个新测试场景覆盖核心逻辑。测试场景必须覆盖:正常路径×2、边界条件×3、错误路径×2、集成场景×2。测试文件必须在编码开始前创建。已有测试的修改也必须增加新场景。
45
-
46
- ## SED-03: 逐条对账
47
- id: SED-03
48
- name: 逐条对账
49
- severity: error
50
- check_type: deterministic
51
- check_hint: AC × 测试用例映射表完整,每条 AC 有≥1 个测试用例
52
- description: 编码完成后,逐条对照验收标准确认完成。每条验收标准必须对应至少一个测试用例。未通过的验收标准必须标注原因和修复计划。
53
-
54
- ## SED-04: 禁止跨任务修改
55
- id: SED-04
56
- name: 禁止跨任务修改
57
- severity: error
58
- check_type: deterministic
59
- check_hint: git diff --name-only 与涉及文件列表对比,偏差≤2 文件
60
- description: 当前切片只能修改涉及文件列表中的文件。偏差超过 2 个文件须触发重规划评估。
61
-
62
- ## SED-05: 禁止跳过扫描
63
- id: SED-05
64
- name: 禁止跳过扫描
65
- severity: error
66
- check_type: deterministic
67
- check_hint: 扫描记录文件存在且时间戳 < 编码开始时间
68
- description: 未完成文件扫描直接编码视为违规。扫描记录必须包含文件路径、行号、变更类型。
69
-
70
- ## SED-06: 禁止空函数体
71
- id: SED-06
72
- name: 禁止空函数体
73
- severity: error
74
- check_type: deterministic
75
- check_hint: grep -E 'TODO|placeholder|pass;$' 新增函数扫描结果为 0
76
- description: 所有新增函数必须有实现,不允许 TODO/placeholder/pass 占位。
77
-
78
- ## SED-07: 反模式——试错式编码
79
- id: SED-07
80
- name: 反模式——试错式编码
81
- severity: warning
82
- check_type: semantic
83
- check_hint: 未定位根因就修改代码,同一位置修改≥3 次
84
- description: 编码时未定位根因就修改代码。发现异常应先分析日志和堆栈,定位根因后再修改。
85
-
86
- ## SED-08: 反模式——顺手重构
87
- id: SED-08
88
- name: 反模式——顺手重构
89
- severity: warning
90
- check_type: semantic
91
- check_hint: 编码过程中偏离目标进行非计划内的重构
92
- description: 编码过程中发现"可以优化"而偏离目标。重构必须单独规划,不得在功能切片中混入。
93
-
94
- ## SED-09: 反模式——隐式依赖
95
- id: SED-09
96
- name: 反模式——隐式依赖
97
- severity: warning
98
- check_type: semantic
99
- check_hint: 新增未在计划中声明的文件依赖
100
- description: 新增的 import/require 必须在切片计划的涉及文件列表中声明。未声明的依赖须触发重规划。
101
-
102
- ## SED-10: 反模式——吞异常
103
- id: SED-10
104
- name: 反模式——吞异常
105
- severity: error
106
- check_type: deterministic
107
- check_hint: 空 catch 块扫描结果为 0(grep -E 'catch\s*\([^)]*\)\s*\{\s*\}' 匹配 0)
108
- description: catch 块中不处理也不上报。空 catch 扫描必须为 0,至少需要记录日志或明确注释忽略原因。