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,76 +1,70 @@
1
1
  ---
2
- id: 切片规划
2
+ id: ka-guidance-切片规划
3
3
  kind: guidance
4
4
  title: 切片规划
5
5
  sync_policy: copy_to_project
6
6
  status: active
7
7
  triggers:
8
- - 切片规划
9
- - 切片计划
10
- - slice planning
11
- - 任务拆分
12
- - 功能拆分
8
+ - 大任务
9
+ - 拆分
10
+ - 切片
11
+ - slice
12
+ - 任务拆解
13
+ - 并行开发
14
+ - 迭代
15
+ - 里程碑
16
+ - 增量
17
+ - 排期
13
18
  extra:
14
19
  name: slice-planning
15
- type: constraint
16
- domain: design
17
- lifecycle_status: active
18
20
  scope:
19
- - backend
20
- - frontend
21
+ - '*'
21
22
  products:
22
23
  - '*'
24
+ type: procedure
25
+ lifecycle_status: active
26
+ version: 1.0.0
27
+ last_reviewed: '2026-06-17'
23
28
  verification_layer: L2
24
29
  stage: design
25
- owner_mechanism: mc-command-router
30
+ domain: design
31
+ owner_mechanism: mc-design-artifact-pack
26
32
  ---
27
33
 
28
- # 切片规划规则
34
+ # 切片规划:大任务怎么拆
35
+
36
+ > 吸收旧的「切片规划」「切片计划」「任务拆解」「老系统切片规划」。
37
+ > **何时用**:任务超出单次交付、需多人/多轮并行、或改老系统需控制爆炸半径时。小任务不用拆。
38
+
39
+ ## 切片原则
40
+
41
+ 1. **垂直切片优先**:每个切片端到端打通一个可验价值(前端→后端→DB),不按技术层横切
42
+ 2. **独立可验证**:每个切片能单独跑、单独测、单独验收
43
+ 3. **主链路接入**:每个切片必须接入主链路,不留孤岛([[证据驱动与反幻觉]] 第 7 条)
44
+ 4. **依赖有序**:被依赖的切片先做;循环依赖必须打破
45
+ 5. **爆炸半径可控**(改老系统):每个切片可独立回滚,不牵连全局
46
+
47
+ ## 切片清单格式
48
+
49
+ | 切片ID | 目标 | 涉及模块 | 上游依赖 | 主链路入口 | 验收标准 | 预估 |
50
+ |--------|------|---------|---------|-----------|---------|------|
51
+ | S-01 | <!-- 可验价值 --> | | | | | |
29
52
 
30
- ## SLP-01: 最小闭环
31
- id: SLP-01
32
- name: 最小闭环
33
- severity: error
34
- check_type: semantic
35
- check_hint: 切片 AC 不得引用其他切片的输出作为前置条件
36
- description: 每个切片必须能独立完成并验证,不依赖后续切片的产出。AC 中引用的输入必须是上游设计产物(DD-*/ARCH-*),而非同层级其他切片的输出。
53
+ ## 每个切片必须回答
37
54
 
38
- ## SLP-02: 可独立测试
39
- id: SLP-02
40
- name: 可独立测试
41
- severity: error
42
- check_type: semantic
43
- check_hint: 每个切片的测试文件可独立执行,不需要等待其他切片完成
44
- description: 切片完成后必须能独立运行测试验证。若需其他切片的数据,须通过 fixture/mock 提供,不得依赖真实执行顺序。
55
+ - 这个切片交付什么可验证价值?
56
+ - 接入哪个主链路入口?(不接入=孤岛)
57
+ - 验收标准是什么(可执行验证,非"功能正常")?
58
+ - 失败怎么回滚?
45
59
 
46
- ## SLP-03: 单一职责
47
- id: SLP-03
48
- name: 单一职责
49
- severity: warning
50
- check_type: semantic
51
- check_hint: 切片描述≤2 个功能点
52
- description: 每个切片只聚焦一个功能点或一个变更维度。描述超过 2 个功能点的切片应拆分。复合切片须用前置依赖字段关联。
60
+ ## 老系统切片额外要求
53
61
 
54
- ## SLP-04: 上游引用完备
55
- id: SLP-04
56
- name: 上游引用完备
57
- severity: error
58
- check_type: deterministic
59
- check_hint: 每个切片的上游引用字段包含 DD-* 和 ARCH-* 编号
60
- description: 每个切片必须引用详细设计文档中的 DD-* 编号(接口/模块)和架构设计文档中的 ARCH-* 编号(架构决策)。无上游设计引用的切片不得进入执行阶段。
62
+ - 先标出历史遗留雷区([[兼容性与迁移评估]])
63
+ - 优先隔离适配器方案,不改老代码内部
64
+ - 每切片新老逻辑比对(行为一致才算通过)
61
65
 
62
- ## SLP-05: 验收标准三路径
63
- id: SLP-05
64
- name: 验收标准三路径
65
- severity: error
66
- check_type: deterministic
67
- check_hint: 每个切片≥3 条 AC,覆盖功能/质量/边界三路径
68
- description: 每个切片必须有 AC-* 验收标准,至少包含:功能验收(核心功能点的预期行为)、质量验收(测试覆盖率、无 lint 错误)、边界验收(边界条件和错误处理)。
66
+ ## 反规避
69
67
 
70
- ## SLP-06: ID 命名规范
71
- id: SLP-06
72
- name: ID 命名规范
73
- severity: error
74
- check_type: deterministic
75
- check_hint: 切片 ID 格式 SLC-{模块简称}-{序号},AC ID 格式 AC-SLC-{模块}-{序号}-{N}
76
- description: 任务 ID 格式:`SLC-{模块简称}-{序号}`(如 SLC-Auth-01)。验收标准 ID 格式:`AC-{任务ID}-{序号}`(如 AC-SLC-Auth-01-01)。依赖声明使用任务 ID,不允许使用描述性文字。ID 不得重复或缺失。
68
+ - 拆成技术层(前端一切、后端一切)= 横切,违规
69
+ - 切片不接入主链路 = 孤岛,违规
70
+ - 切片没有验收标准 = 无法验证,违规
@@ -11,8 +11,8 @@ extra:
11
11
  - backend
12
12
  products:
13
13
  - '*'
14
- version: 1.2.0
15
- last_reviewed: '2026-06-04'
14
+ version: 2.0.0
15
+ last_reviewed: '2026-06-17'
16
16
  type: artifact
17
17
  domain: design
18
18
  stage: design
@@ -21,9 +21,13 @@ extra:
21
21
 
22
22
  # 数据库设计文档
23
23
 
24
- > **根本目标引用**:本产物的 `fundamental_need` 见需求分析文档 §1.3。若未声明,引用审查规则 FP-01。
24
+ > **产物定位**:涉及数据模型/建表时产出(按需)。把表结构、关系、敏感级别、迁移回滚定清楚。
25
+ > **核心纪律**:字段映射精确到 表.字段;migration 成对(up+down)可回滚([[兼容性与迁移评估]])。
26
+ > **完成判定**:见文末。
25
27
 
26
- ## 1. 目标数据库与权威 SQL [Always — 必填]
28
+ > **根本目标引用**:本产物的 `fundamental_need` 见需求分析文档 §1.3。
29
+
30
+ ## 1. 目标数据库与权威 SQL [Always]
27
31
 
28
32
  | 项目 | 内容 |
29
33
  |------|------|
@@ -35,119 +39,101 @@ extra:
35
39
  | 上游架构文档路径 | |
36
40
  | 上游需求文档路径 | |
37
41
 
38
- ## 2. 实体与关系 [Always — 必填,P0 最关键章节]
42
+ ## 2. 实体与关系 [Always — P0 最关键]
39
43
 
40
44
  ### 2.1 实体列表
41
- > 每个表须分配唯一表编号 `DD-T01`/`DD-T02`...(供切片计划/代码审查引用,cross_validation 据此校验一致性+覆盖)
42
- > 「来源需求/架构章节」列须填 `REQ-*`(需求编号)/`ARCH-*`(架构决策)真实编号(供 cross_validation 校验与需求分析一致),禁止仅写自然语言描述
45
+ > 每个表分配唯一编号 `DD-T01`/`DD-T02`...(供切片/审查引用)
46
+ > 「来源需求/架构章节」填 `REQ-*`/`ARCH-*` 真实编号
43
47
 
44
48
  | 表编号 | 实体名 | 中文名 | 业务含义 | 来源需求/架构章节 | 估计记录量级 |
45
49
  |--------|--------|--------|----------|-------------------|-------------|
46
- | DD-T01 | <!-- 实体名 --> | <!-- 中文名 --> | <!-- 业务含义 --> | <!-- REQ-001/ARCH-01 --> | <!-- 量级 --> |
47
50
 
48
51
  ### 2.2 关系定义
49
52
  | 关系编号 | 父实体 | 子实体 | 关系类型 | 基数 | 外键字段 | 级联行为 | 说明 |
50
53
  |----------|--------|--------|----------|------|----------|----------|------|
51
- <!-- 按实际填写 -->
52
- 关系类型枚举:关联 / 组合 / 聚合
53
- 基数枚举:1:1 / 1:N / M:N
54
+
55
+ 关系类型:关联 / 组合 / 聚合;基数:1:1 / 1:N / M:N
54
56
 
55
57
  ### 2.3 ER 图
56
- > 推荐 Mermaid erDiagram 语法
58
+ > 推荐 Mermaid erDiagram
57
59
 
58
60
  ## 3. 表字段与敏感级别
59
61
 
60
62
  | 表 | 字段 | 类型 | 可空 | 默认值 | 业务含义 | 敏感级别 | 生命周期 |
61
63
  |----|------|------|------|--------|----------|----------|----------|
62
64
 
63
- ## 4. 约束、索引与查询场景 [Always — 必填]
65
+ ## 4. 约束、索引与查询场景 [Always]
64
66
 
65
67
  ### 4.1 约束定义
66
68
  | 表名 | 约束名 | 约束类型 | 约束字段 | 约束条件 | 错误提示 |
67
69
  |------|--------|----------|----------|----------|----------|
68
- <!-- 按实际填写 -->
69
- 约束类型枚举:PRIMARY KEY / UNIQUE / FOREIGN KEY / CHECK / NOT NULL / DEFAULT
70
+
71
+ 约束类型:PRIMARY KEY / UNIQUE / FOREIGN KEY / CHECK / NOT NULL / DEFAULT
70
72
 
71
73
  ### 4.2 索引定义
72
74
  | 表名 | 索引名 | 索引类型 | 字段列表 | 查询场景 | 创建理由 | 预估基数 |
73
75
  |------|--------|----------|----------|----------|----------|----------|
74
- <!-- 按实际填写 -->
75
- 索引类型枚举:PRIMARY / UNIQUE / BTREE / HASH / GIN / GIST / COMPOSITE / PARTIAL
76
76
 
77
77
  ### 4.3 高频查询场景
78
78
  | 查询编号 | 查询场景 | 涉及表 | 查询条件 | 排序/分页 | 优化策略 |
79
79
  |----------|----------|--------|----------|-----------|----------|
80
- <!-- 按实际填写 -->
81
80
 
82
- ## 5. 租户、安全、审计与数据生命周期 [Ask first — 多租户/敏感数据场景必填]
81
+ ## 5. 租户、安全、审计与数据生命周期 [多租户/敏感数据时必填]
83
82
 
84
83
  ### 5.1 租户隔离策略
85
84
  | 表名 | 隔离方式 | 租户字段 | 隔离级别 | 说明 |
86
85
  |------|----------|----------|----------|------|
87
- <!-- 按实际填写 -->
88
86
 
89
87
  ### 5.2 敏感数据保护
90
88
  | 字段路径 | 敏感级别 | 加密方式 | 脱敏规则 | 访问控制 | 合规要求 |
91
89
  |----------|----------|----------|----------|----------|----------|
92
- <!-- 按实际填写 -->
93
90
 
94
91
  ### 5.3 审计字段
95
92
  | 表名 | 创建时间字段 | 更新时间字段 | 创建人字段 | 更新人字段 | 软删除字段 |
96
93
  |------|-------------|-------------|-----------|-----------|-----------|
97
- <!-- 按实际填写 -->
98
94
 
99
95
  ### 5.4 数据生命周期
100
96
  | 数据类型 | 保留期限 | 归档策略 | 清理策略 | 合规依据 |
101
97
  |----------|----------|----------|----------|----------|
102
- <!-- 按实际填写 -->
103
98
 
104
- ## 6. Migration、回滚、备份恢复 [Always — 必填]
99
+ ## 6. Migration、回滚、备份恢复 [Always]
105
100
 
106
101
  ### 6.1 Migration 脚本清单
107
102
  | 序号 | Migration 文件名 | 变更类型 | 涉及表 | 前置依赖 | 回滚脚本 |
108
103
  |------|-----------------|----------|--------|----------|----------|
109
- <!-- 按实际填写 -->
110
- 变更类型枚举:CREATE_TABLE / ALTER_TABLE / ADD_COLUMN / DROP_COLUMN / ADD_INDEX / DATA_MIGRATION
104
+
105
+ 变更类型:CREATE_TABLE / ALTER_TABLE / ADD_COLUMN / DROP_COLUMN / ADD_INDEX / DATA_MIGRATION
111
106
 
112
107
  ### 6.2 回滚验证
113
108
  | Migration | 回滚命令 | 回滚验证 SQL | 预期结果 |
114
109
  |-----------|----------|-------------|----------|
115
- <!-- 按实际填写 -->
116
110
 
117
111
  ### 6.3 数据备份策略
118
112
  | 场景 | 备份方式 | 备份频率 | 恢复 RTO | 恢复 RPO |
119
113
  |------|----------|----------|----------|----------|
120
- <!-- 按实际填写 -->
121
114
 
122
- ## 7. API/DTO 至字段映射表 [Always — 必填]
115
+ ## 7. API/DTO 至字段映射表 [Always]
123
116
 
124
117
  | API Endpoint | HTTP Method | 请求字段 | 映射表.字段 | 响应字段 | 映射表.字段 | DTO 类名 |
125
118
  |--------------|-------------|----------|------------|----------|------------|----------|
126
- <!-- 按实际填写 -->
127
119
 
128
- > 每个 API 字段必须精确追踪到数据库表.字段,无映射的字段标注"计算字段"/"外部服务"/"缓存"。
120
+ > 每个 API 字段必须追踪到 表.字段,无映射的标注"计算字段"/"外部服务"/"缓存"。
129
121
 
130
- ## 8. 真实验证证据与未决项 [Always — 必填]
122
+ ## 8. 真实验证证据 [Always]
131
123
 
132
124
  ### 8.1 SQL 执行证据
133
125
  | 验证项 | 执行 SQL | 预期结果 | 实际结果 | 状态 |
134
126
  |--------|----------|----------|----------|------|
135
- <!-- 按实际填写 -->
136
127
 
137
128
  ### 8.2 范式自检
138
129
  | 表名 | 函数依赖 | 当前范式 | 是否满足 3NF | 修正建议 |
139
130
  |------|----------|----------|-------------|----------|
140
- <!-- 按实际填写 -->
141
-
142
- ### 8.3 字段映射覆盖自检
143
- | 检查项 | 覆盖状态 | 缺失说明 |
144
- |--------|----------|----------|
145
- | 所有 API 字段已追踪到数据库字段 | <!-- 是/否 --> | <!-- 按实际填写 --> |
146
- | 所有数据库字段已被至少一个 API 引用 | <!-- 是/否 --> | <!-- 按实际填写 --> |
147
- | 所有外键关系已在 Ch2 定义 | <!-- 是/否 --> | <!-- 按实际填写 --> |
148
- | 所有索引已在 Ch4 定义且覆盖高频查询 | <!-- 是/否 --> | <!-- 按实际填写 --> |
149
-
150
- ### 8.4 未决项
151
- | 编号 | 未决项 | 不确定分级 | 候选方案 | 状态 |
152
- |------|--------|-----------|----------|------|
153
- <!-- 按实际填写 -->
131
+
132
+ ## 完成判定
133
+
134
+ - [ ] 所有 API 字段已追踪到 表.字段
135
+ - [ ] 所有外键关系已在 §2 定义
136
+ - [ ] 所有索引已定义且覆盖高频查询
137
+ - [ ] migration 成对(up + down),回滚脚本已验证
138
+ - [ ] 敏感字段标注敏感级别 + 保护方式
139
+ - [ ] SQL 执行证据为真实运行结果(非静态分析)
@@ -12,8 +12,8 @@ extra:
12
12
  products:
13
13
  - '*'
14
14
  lifecycle_status: active
15
- version: 1.2.0
16
- last_reviewed: '2026-06-04'
15
+ version: 2.0.0
16
+ last_reviewed: '2026-06-17'
17
17
  type: artifact
18
18
  domain: design
19
19
  stage: design
@@ -22,34 +22,23 @@ extra:
22
22
 
23
23
  # 架构设计文档
24
24
 
25
- ## 1. 决策记录、范围与证据
26
- - 架构决策记录引用:`docs/architecture/00-架构决策记录.md`
27
- - 用户确认引用:
28
- - 输入证据引用:
29
-
30
- > **根本目标引用**:本产物的 `fundamental_need` 见需求分析文档 §1.3。若未声明,引用审查规则 FP-01。
31
-
32
- ## 2. 六类架构决策状态总表
25
+ > **产物定位**:架构阶段(4 阶段第 2 步)的产出。把"怎么做"想清楚,承接需求分析的 fundamental_need。
26
+ > **核心纪律**:每条架构决策须有 ADR 留痕([[开发者宪法]]),技术选型须有依据而非凭主流([[证据驱动与反幻觉]]),须考虑回滚/兼容/安全。
27
+ > **完成判定**:见文末。
33
28
 
34
- | 架构域 | 状态 | 结论 | decision_id | user_confirmation_ref | 影响产物 |
35
- |--------|------|------|-------------|-----------------------|----------|
36
-
37
- ## 3. 需求概要
38
-
39
- ### 3.1 系统角色与关注点
40
- | 角色 | 关注点 | 说明 |
41
- |------|--------|------|
29
+ ## 1. 决策记录与范围
30
+ - 架构决策记录:`docs/architecture/00-架构决策记录.md`
31
+ - 根本目标引用:需求分析 §1.3 `fundamental_need`
32
+ - 输入证据引用:
42
33
 
43
- ### 3.2 功能需求引用
44
- > 引用需求分析阶段的 REQ-* ID,附摘要
34
+ ## 2. 需求概要
45
35
  | REQ-ID | 需求摘要 | 对应架构模块 |
46
36
  |--------|---------|-------------|
47
37
 
48
- ### 3.3 非功能需求清单
49
38
  | NFR-ID | 类别 | 指标 | 目标值 | 验证方式 |
50
39
  |--------|------|------|-------|---------|
51
40
 
52
- ## 3a. 约束条件
41
+ ## 3. 约束条件
53
42
  | 约束类型 | 描述 | 来源 | 影响范围 |
54
43
  |---------|------|------|---------|
55
44
  | 技术约束 | | | |
@@ -59,53 +48,29 @@ extra:
59
48
 
60
49
  ## 4. 模块划分
61
50
  - 模块清单与职责边界
62
- - 模块间依赖关系图
51
+ - 模块间依赖关系
63
52
  - 核心接口契约(模块间调用方式)
64
53
 
65
- ## 4a. 架构范式选择(可选)
66
-
67
- ### 参考范式清单
68
- | 范式 | 解决什么问题 | 典型适用场景 |
69
- |------|------------|------------|
70
- | DDD | 业务边界划分 | 业务领域复杂 |
71
- | Clean Architecture | 依赖方向控制 | 中大型系统 |
72
- | Hexagonal | 外部依赖隔离 | 多接入方式 |
73
- | Modular Monolith | 模块边界 | 不确定是否微服务 |
74
- | GRASP | 职责归属 | 代码组织混乱 |
75
- | SOLID | 代码质量 | 所有项目 |
76
- | ADR | 决策可追溯 | 所有中大型项目 |
77
-
78
- ### 本项目采用的范式
79
- | 范式 | 适用范围 | 关键约束 | 决策引用 |
80
- |------|---------|---------|---------|
81
- | (仅列出选择采用的) | | | |
82
-
83
- ### 偏差处理
84
- 选择的范式如需偏离,须在 Ch1 ADR 中记录偏离原因。
85
-
86
- ## 5. 业务流程、数据流向与关键 Mermaid 时序图
87
- - 主流程数据流向图
88
- - 关键数据结构定义
54
+ ## 5. 业务流程与数据流向
55
+ - 主流程数据流向图(Mermaid)
56
+ - 核心业务流程时序图(每个核心流程一张,请求入口→持久化→响应完整链路)
89
57
  - 数据存储方案(数据库/缓存/文件)
90
58
 
91
- ## 6. 前端、后端、安全与基础设施架构
59
+ ## 6. 架构组成
92
60
 
93
- ### 6.1 系统上下文(C4 Level 1
94
- - 系统边界与外部系统交互图
61
+ ### 6.1 系统上下文(C4 L1
62
+ - 系统边界与外部系统交互
95
63
  - 用户角色与接入方式
96
- - 外部依赖清单
97
64
 
98
- ### 6.2 后端架构(C4 Level 2-3)
65
+ ### 6.2 后端架构(C4 L2-3)
99
66
  - 服务拆分与职责
100
67
  - 核心接口契约
101
68
  - 数据存储方案
102
- - **核心业务流程系统实现时序图**(每个核心业务流程必须有一张 Mermaid sequenceDiagram,
103
- 展示从请求入口到持久化到响应的完整调用链)
104
69
 
105
- ### 6.3 前端架构(C4 Level 2-3)
70
+ ### 6.3 前端架构(C4 L2-3)
106
71
  - 应用结构与路由
107
72
  - 状态管理策略
108
- - 组件分层方案
73
+ - 组件分层
109
74
 
110
75
  ### 6.4 安全架构
111
76
  - 认证与授权方案
@@ -113,17 +78,18 @@ extra:
113
78
  - 安全边界与信任域
114
79
 
115
80
  ### 6.5 基础设施与部署
116
- - 部署架构图
81
+ - 部署架构
117
82
  - 环境规划(开发/测试/预发/生产)
118
83
  - CI/CD 策略
119
- - 监控与告警方案
84
+ - 监控告警
120
85
 
121
86
  ## 7. 技术选型与依据
122
87
  | 技术决策 | 候选方案 | 最终选择 | 选择理由 | 放弃方案原因 |
123
88
  |---------|---------|---------|---------|------------|
124
- | | | | | |
125
89
 
126
- ## 8. 数据库与 API 专项产物引用
90
+ > 选型须有依据(性能/成本/团队熟悉度/生态),禁止"业界主流所以选它"。详见 [[决策与选型]]。
91
+
92
+ ## 8. 专项产物引用
127
93
  - 数据库设计:`docs/design/01-数据库设计文档.md`
128
94
  - API 规格:`docs/design/02-API接口规格文档.md`
129
95
  - OpenAPI:`docs/api/openapi.yaml`
@@ -133,39 +99,31 @@ extra:
133
99
  - 核心业务状态流转
134
100
  - 触发条件、守卫条件、失败/回滚动作
135
101
 
136
- ## 10. 非功能需求、验证策略、风险与回滚
137
-
138
- ### 10.1 性能预算与质量目标
139
- | 类别 | 指标 | 目标值 | 测量方式 | 关联 ADR |
140
- |------|------|-------|---------|---------|
102
+ ## 10. 风险与回滚(必填)
141
103
 
142
- ### 10.2 风险登记
143
- | RISK-ID | 风险描述 | 概率 | 影响 | 应对方案 | 关联 ADR | 状态 |
144
- |---------|---------|------|------|---------|---------|------|
104
+ ### 10.1 风险登记
105
+ | RISK-ID | 风险描述 | 概率 | 影响 | 应对方案 | 关联 ADR |
106
+ |---------|---------|------|------|---------|---------|
145
107
 
146
- ### 10.3 回滚与灾难恢复
108
+ ### 10.2 回滚与灾难恢复
147
109
  | 场景 | RTO | RPO | 恢复策略 | 触发条件 |
148
110
  |------|-----|-----|---------|---------|
149
111
 
150
- ### 10.4 验证策略
151
- | NFR-ID | 验证方法 | 验证时机 | 通过标准 |
152
- |--------|---------|---------|---------|
153
-
154
- ## 11. 未决项、延期影响和变更追踪
112
+ > 任何上线变更必须有回滚方案([[开发者宪法]])。
155
113
 
156
- ## 12. 扩展点
157
- - 已识别的未来扩展方向
158
- - 预留的扩展机制(接口/配置/插件)
159
-
160
- ## 13. 跨横切关注点
114
+ ## 11. 跨横切关注点
161
115
  | 关注点 | 方案 | 影响模块 |
162
116
  |--------|------|---------|
163
117
  | 日志与审计 | | |
164
118
  | 错误处理 | | |
165
119
  | 缓存策略 | | |
166
- | 国际化/本地化 | | |
167
120
  | 配置管理 | | |
168
121
 
169
- ## 14. 术语表
170
- | 术语 | 定义 | 来源 |
171
- |------|------|------|
122
+ ## 完成判定
123
+
124
+ - [ ] 每条架构决策有对应 ADR,重大选型经用户确认
125
+ - [ ] 约束条件覆盖技术/组织/法规/预算
126
+ - [ ] 含安全架构(认证/授权/加密)
127
+ - [ ] 含风险登记 + 回滚方案(RTO/RPO)
128
+ - [ ] 跨横切关注点(日志/错误/缓存/配置)有方案
129
+ - [ ] 引用的数据库/API 专项产物路径有效
@@ -12,8 +12,8 @@ extra:
12
12
  products:
13
13
  - '*'
14
14
  lifecycle_status: active
15
- version: 1.3.0
16
- last_reviewed: '2026-06-04'
15
+ version: 2.0.0
16
+ last_reviewed: '2026-06-17'
17
17
  type: artifact
18
18
  domain: design
19
19
  stage: design
@@ -22,6 +22,10 @@ extra:
22
22
 
23
23
  # 需求分析文档
24
24
 
25
+ > **产物定位**:需求阶段(4 阶段第 1 步)的产出。把"做什么"想清楚,不是"怎么做"。
26
+ > **核心纪律**([[工程执行总纲]]):先暴露阻塞困惑,禁止把模糊需求直接转成方案;区分事实/假设/需确认。[[证据驱动与反幻觉]]:需求声明要有来源证据。
27
+ > **完成判定**:见文末,不满足不算交付。
28
+
25
29
  ## 1. 需求来源
26
30
  - 需求文档/原型链接:
27
31
  - 提出人:
@@ -33,91 +37,59 @@ extra:
33
37
  **用户需要达成什么?(非解决方案描述)**
34
38
 
35
39
  fundamental_need: <!-- 如"用户需要在一个会话中选购多件商品并一次性结算" -->
36
- confirmed_by: <!-- 用户确认标记 -->
40
+ confirmed_by: <!-- 用户确认标记,未确认不得进入实现 -->
37
41
 
38
- > **正反示例**:
42
+ > 正反示例:
39
43
  > - ❌ `fundamental_need: "做一个购物车页面"` — 这是解决方案
40
44
  > - ✅ `fundamental_need: "用户需要在一个会话中选购多件商品并一次性结算"` — 这是用户目标
41
- >
42
- > 引用审查规则:FP-01(第一性原理推理规则)
43
45
 
44
46
  ## 2. 功能点清单
45
47
 
46
- | 编号 | 功能点 | 页面/接口 | 业务规则 | 关联角色 | 前置依赖 | 关联功能 | 验收标准 | 状态 |
47
- |------|--------|----------|---------|---------|---------|---------|---------|------|
48
- | REQ-001 | | | | | | | | 待确认/已确认 |
48
+ | 编号 | 功能点 | 页面/接口 | 业务规则 | 关联角色 | 前置依赖 | 验收标准 | 状态 |
49
+ |------|--------|----------|---------|---------|---------|---------|------|
50
+ | REQ-001 | | | | | | | 待确认/已确认 |
49
51
 
50
52
  ## 3. 术语表
51
53
  | 术语 | 含义 | 同义词(统一为) |
52
54
  |------|------|----------------|
53
- | | | |
54
55
 
55
56
  ## 4. 未确认项
56
57
  | 编号 | 问题 | 影响范围 | 阻塞程度 | 负责人 |
57
58
  |------|------|---------|---------|--------|
58
59
  | | | | 阻塞/非阻塞 | |
59
60
 
60
- ## 5. 写操作失败反馈
61
- | 操作 | 失败场景 | 用户提示 | 重试建议 | 是否可恢复 |
62
- |------|---------|---------|---------|-----------|
63
- | | | | | |
64
-
65
- ## 6. 菜单权限规划
66
- | 菜单路径 | 关联功能 | 角色 | 权限标识 | 默认可见 |
67
- |---------|---------|------|---------|---------|
68
- | | | | | |
61
+ > 阻塞级未确认项不解决不得进入实现([[工程执行总纲]] 思考先行)。
69
62
 
70
- ## 7. 冲突与越界项
63
+ ## 5. 冲突与越界项
71
64
  | 项 | 类型(冲突/越界) | 来源 | 处理方式 |
72
65
  |----|-----------------|------|---------|
73
66
  | | | | 排除/延期/升级确认 |
74
67
 
75
- ## 8. 非功能需求
76
-
77
- ### 8.1 性能要求
78
-
79
- | 编号 | 类别 | 要求描述 | 验收指标 | 优先级 | 来源 |
80
- |------|------|---------|---------|--------|------|
81
- | NFR-001 | 性能 | <!-- 如:页面首次加载时间 --> | <!-- 如:< 3s --> | P0/P1/P2 | |
82
-
83
- ### 8.2 安全要求
84
-
85
- | 编号 | 类别 | 要求描述 | 验收指标 | 优先级 | 来源 |
86
- |------|------|---------|---------|--------|------|
87
- | NFR-002 | 安全 | <!-- 如:敏感数据传输加密 --> | <!-- 如:TLS 1.2+ --> | P0/P1/P2 | |
88
-
89
- ### 8.3 可用性要求
90
-
91
- | 编号 | 类别 | 要求描述 | 验收指标 | 优先级 | 来源 |
92
- |------|------|---------|---------|--------|------|
93
- | NFR-003 | 可用性 | <!-- 如:系统可用率 --> | <!-- 如:≥ 99.9% --> | P0/P1/P2 | |
94
-
95
- ### 8.4 兼容性要求
96
-
97
- | 编号 | 类别 | 要求描述 | 验收指标 | 优先级 | 来源 |
98
- |------|------|---------|---------|--------|------|
99
- | NFR-004 | 兼容性 | <!-- 如:目标浏览器版本 --> | <!-- 如:Chrome/Safari/Firefox 最新 2 版 --> | P0/P1/P2 | |
100
-
101
- ### 8.5 数据要求
68
+ ## 6. 非功能需求
102
69
 
103
70
  | 编号 | 类别 | 要求描述 | 验收指标 | 优先级 | 来源 |
104
71
  |------|------|---------|---------|--------|------|
105
- | NFR-005 | 数据 | <!-- 如:数据保留策略 --> | <!-- 如:日志保留 90 --> | P0/P1/P2 | |
106
-
107
- > 若需求来源未提及 NFR,按项目默认 NFR 基线补齐:响应 < 3s、并发 100 用户、遵循项目安全基线、99.9% 可用率、主流浏览器最新 2 版。
108
-
109
- ## 9. 用户角色
72
+ | NFR-001 | 性能 | <!-- 如:页面首次加载 --> | <!-- < 3s --> | P0/P1/P2 | |
73
+ | NFR-002 | 安全 | <!-- 如:敏感数据传输加密 --> | <!-- TLS 1.2+ --> | P0/P1/P2 | |
74
+ | NFR-003 | 可用性 | <!-- 如:系统可用率 --> | <!-- ≥ 99.9% --> | P0/P1/P2 | |
110
75
 
111
- | 角色名称 | 角色描述 | 关联功能 | 关联菜单 | 数据权限范围 |
112
- |---------|---------|---------|---------|------------|
113
- | <!-- 如:管理员 --> | <!-- 职责和使用场景 --> | REQ-NNN | <!-- 第 6 章菜单路径 --> | <!-- 可访问的数据范围 --> |
76
+ > 若需求来源未提及 NFR,按项目默认基线补齐:响应 < 3s、并发 100 用户、遵循项目安全基线、99.9% 可用率、主流浏览器最新 2 版。
114
77
 
115
- > 角色名称必须在第 6 章菜单权限和第 2 章功能点中保持一致引用。
116
-
117
- ## 10. 外部接口与集成
78
+ ## 7. 用户角色与权限
79
+ | 角色名称 | 角色描述 | 关联功能 | 数据权限范围 |
80
+ |---------|---------|---------|------------|
118
81
 
82
+ ## 8. 外部接口与集成
119
83
  | 外部系统 | 接口类型 | 用途 | 数据流向 | 可用性要求 | 负责方 |
120
84
  |---------|---------|------|---------|----------|--------|
121
85
  | | API/Webhook/SDK/文件 | | 出/入/双向 | SLA 要求 | 己方/对方/三方 |
122
86
 
123
- > 若系统无外部依赖,在此章显式标注"本系统无外部接口依赖"。
87
+ > 若系统无外部依赖,显式标注"本系统无外部接口依赖"。
88
+
89
+ ## 完成判定
90
+
91
+ - [ ] `fundamental_need` 是用户目标而非解决方案,且 `confirmed_by` 已标记
92
+ - [ ] 每个 REQ 有验收标准(可验证,非"功能正常"模糊表述)
93
+ - [ ] 阻塞级未确认项已解决或已升级
94
+ - [ ] NFR 有量化验收指标
95
+ - [ ] 无证据的需求声明已标注来源/不确定
@@ -5,6 +5,8 @@ gate: operate-gate
5
5
  title: operate阶段强制检查清单
6
6
  sync_policy: engine_only
7
7
  status: active
8
+ extra:
9
+ owner_mechanism: mc-stage-gate-engine
8
10
  checks:
9
11
  - id: OPR-G01
10
12
  executor: file_evidence
@@ -46,6 +48,15 @@ checks:
46
48
  evidence_required: ["校验 SQL 结果 + 覆盖表/记录数"]
47
49
  gate: operate-gate
48
50
  target: "self"
51
+ - id: RELNOTE-STRUCT
52
+ executor: document_structure
53
+ check_type: deterministic
54
+ severity: warning
55
+ gate: operate-gate
56
+ required_artifact: 发布说明模版
57
+ rule: "发布说明须包含「1. 版本信息」「2. 变更摘要」「5. 验证结果」「6. 回滚方案」章节"
58
+ evidence_required: ["docs/audits/04-发布说明.md"]
59
+ target: "self"
49
60
  ---
50
61
 
51
62
  # operate-gate 强制检查清单