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.
- package/README.md +12 -0
- package/dist/context/adapters/shared/integration_guide.js +3 -1
- package/dist/context/adapters/shared/integration_guide.js.map +1 -1
- package/dist/core/gate_record_store.d.ts +11 -7
- package/dist/core/gate_record_store.d.ts.map +1 -1
- package/dist/core/gate_record_store.js +31 -17
- package/dist/core/gate_record_store.js.map +1 -1
- package/dist/core/observer.d.ts.map +1 -1
- package/dist/core/observer.js +7 -4
- package/dist/core/observer.js.map +1 -1
- package/dist/domain/asset_registry/derived_registry.d.ts.map +1 -1
- package/dist/domain/asset_registry/derived_registry.js +20 -5
- package/dist/domain/asset_registry/derived_registry.js.map +1 -1
- package/dist/domain/asset_registry/derived_types.d.ts +5 -1
- package/dist/domain/asset_registry/derived_types.d.ts.map +1 -1
- package/dist/domain/build/contract.d.ts.map +1 -1
- package/dist/domain/build/contract.js +3 -8
- package/dist/domain/build/contract.js.map +1 -1
- package/dist/domain/build/engine.d.ts +3 -2
- package/dist/domain/build/engine.d.ts.map +1 -1
- package/dist/domain/build/engine.js +5 -2
- package/dist/domain/build/engine.js.map +1 -1
- package/dist/domain/design/contract.d.ts.map +1 -1
- package/dist/domain/design/contract.js +2 -31
- package/dist/domain/design/contract.js.map +1 -1
- package/dist/domain/design/engine.d.ts +3 -2
- package/dist/domain/design/engine.d.ts.map +1 -1
- package/dist/domain/design/engine.js +5 -2
- package/dist/domain/design/engine.js.map +1 -1
- package/dist/domain/engine_helpers.d.ts +18 -2
- package/dist/domain/engine_helpers.d.ts.map +1 -1
- package/dist/domain/engine_helpers.js +87 -8
- package/dist/domain/engine_helpers.js.map +1 -1
- package/dist/domain/operate/contract.js +1 -1
- package/dist/domain/operate/contract.js.map +1 -1
- package/dist/domain/operate/engine.d.ts +3 -2
- package/dist/domain/operate/engine.d.ts.map +1 -1
- package/dist/domain/operate/engine.js +5 -2
- package/dist/domain/operate/engine.js.map +1 -1
- package/dist/domain/verify/engine.d.ts +3 -2
- package/dist/domain/verify/engine.d.ts.map +1 -1
- package/dist/domain/verify/engine.js +5 -2
- package/dist/domain/verify/engine.js.map +1 -1
- package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
- package/dist/gate/executors/executors_artifact.js +8 -5
- package/dist/gate/executors/executors_artifact.js.map +1 -1
- package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
- package/dist/gate/executors/executors_prerequisite.js +26 -6
- package/dist/gate/executors/executors_prerequisite.js.map +1 -1
- package/dist/gate/executors/executors_regex_scan.js +2 -2
- package/dist/gate/executors/executors_regex_scan.js.map +1 -1
- package/dist/gate/executors/executors_trace.d.ts.map +1 -1
- package/dist/gate/executors/executors_trace.js +2 -0
- package/dist/gate/executors/executors_trace.js.map +1 -1
- package/dist/gate/gate_registry_bridge.d.ts +7 -6
- package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
- package/dist/gate/gate_registry_bridge.js +51 -13
- package/dist/gate/gate_registry_bridge.js.map +1 -1
- package/dist/server/tools/sf_doctor.d.ts +1 -0
- package/dist/server/tools/sf_doctor.d.ts.map +1 -1
- package/dist/server/tools/sf_doctor.js +15 -1
- package/dist/server/tools/sf_doctor.js.map +1 -1
- package/dist/server/tools/sf_gate.d.ts +1 -1
- package/dist/server/tools/sf_gate.js +2 -2
- package/dist/server/tools/sf_gate.js.map +1 -1
- package/dist/server/tools/sf_work.d.ts.map +1 -1
- package/dist/server/tools/sf_work.js +18 -6
- package/dist/server/tools/sf_work.js.map +1 -1
- package/package.json +2 -1
- package/templates/build/enforced.md +73 -0
- package/templates/build//344/270/223/351/241/271/345/256/236/347/216/260.md +75 -0
- package/templates/build//345/256/211/345/205/250/345/212/240/345/233/272.md +75 -0
- package/templates/build//346/265/213/350/257/225/344/274/230/345/205/210/347/274/226/347/240/201.md +50 -79
- package/templates/build//346/265/213/350/257/225/350/256/241/345/210/222.md +26 -24
- package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +75 -0
- package/templates/build//350/260/203/350/257/225/346/216/222/346/237/245.md +44 -75
- package/templates/build//351/207/215/346/236/204/346/226/271/346/263/225.md +68 -0
- 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
- package/templates/design/enforced.md +47 -77
- 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
- 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
- package/templates/design//345/206/263/347/255/226/344/270/216/351/200/211/345/236/213.md +70 -0
- package/templates/design//345/210/207/347/211/207/350/247/204/345/210/222.md +49 -55
- 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
- package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241.md +41 -83
- package/templates/design//351/234/200/346/261/202/345/210/206/346/236/220.md +31 -59
- package/templates/operate/enforced.md +11 -0
- package/templates/operate//344/270/212/347/272/277/350/247/202/345/257/237.md +53 -32
- package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216.md +3 -0
- package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256.md +83 -0
- package/templates/shared/enforced.md +46 -5
- package/templates/shared//345/217/215/351/246/210/344/277/256/345/244/215/351/227/255/347/216/257.md +86 -0
- package/templates/shared//345/267/245/347/250/213/346/211/247/350/241/214/346/200/273/347/272/262.md +148 -0
- package/templates/shared//345/267/245/347/250/213/347/272/252/345/276/213.md +71 -0
- package/templates/shared//345/274/200/345/217/221/350/200/205/345/256/252/346/263/225.md +48 -43
- package/templates/shared//346/234/272/345/210/266/350/257/264/346/230/216.md +67 -0
- 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
- package/templates/shared//350/264/241/347/214/256/350/247/204/350/214/203.md +78 -0
- package/templates/verify/enforced.md +3 -0
- 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
- package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +7 -0
- package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +79 -0
- package/templates/verify//351/252/214/350/257/201/346/226/271/346/263/225.md +72 -0
- package/templates/build/Bug/345/210/206/346/236/220.md +0 -59
- package/templates/build/Git/346/223/215/344/275/234.md +0 -48
- package/templates/build/OOD/350/256/276/350/256/241/346/221/230/350/246/201.md +0 -46
- package/templates/build/React/346/216/245/345/217/243/351/233/206/346/210/220.md +0 -42
- package/templates/build/Schema/345/217/230/346/233/264/346/265/201/346/260/264/347/272/277.md +0 -52
- package/templates/build/TS/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -78
- package/templates/build//344/270/212/346/270/270/344/272/244/345/217/211/351/252/214/350/257/201.md +0 -68
- 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
- package/templates/build//344/273/243/347/240/201/351/227/250/347/246/201.md +0 -58
- package/templates/build//345/205/250/346/240/210/346/265/201/347/250/213/344/277/256/345/244/215.md +0 -48
- package/templates/build//345/210/207/347/211/207/346/211/247/350/241/214/347/272/252/345/276/213.md +0 -108
- 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
- package/templates/build//345/212/237/350/203/275/345/274/200/345/217/221.md +0 -66
- package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260.md +0 -39
- package/templates/build//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213.md +0 -33
- 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
- package/templates/build//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260.md +0 -43
- package/templates/build//345/233/275/351/231/205/345/214/226.md +0 -45
- 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
- package/templates/build//345/256/211/345/205/250/345/256/241/346/237/245.md +0 -154
- package/templates/build//345/256/211/345/205/250/345/256/241/350/256/241.md +0 -47
- package/templates/build//345/267/245/347/250/213/347/272/252/345/276/213.md +0 -56
- package/templates/build//346/200/247/350/203/275/345/210/206/346/236/220.md +0 -59
- package/templates/build//346/200/247/350/203/275/346/265/201/346/260/264/347/272/277.md +0 -53
- 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
- package/templates/build//346/225/260/346/215/256/345/272/223/350/277/201/347/247/273.md +0 -63
- 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
- package/templates/build//346/235/203/351/231/220/350/256/244/350/257/201.md +0 -49
- package/templates/build//346/265/213/350/257/225/350/264/250/351/207/217.md +0 -45
- package/templates/build//347/206/224/346/226/255/351/231/215/347/272/247.md +0 -49
- package/templates/build//347/212/266/346/200/201/346/265/201/350/275/254.md +0 -43
- package/templates/build//347/213/254/347/253/213/345/256/241/346/237/245.md +0 -45
- package/templates/build//347/272/246/346/235/237/345/256/236/347/216/260.md +0 -47
- package/templates/build//347/274/226/347/240/201/345/260/261/347/273/252/345/256/241/346/237/245.md +0 -60
- package/templates/build//347/274/226/347/240/201/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
- package/templates/build//347/274/226/347/240/201/350/264/250/351/207/217.md +0 -46
- package/templates/build//347/274/226/347/240/201/351/230/266/346/256/265/346/211/247/350/241/214.md +0 -105
- package/templates/build//347/274/272/351/231/267/347/256/241/347/220/206.md +0 -47
- package/templates/build//350/200/246/345/220/210/346/243/200/346/265/213.md +0 -86
- package/templates/build//350/246/206/347/233/226/347/216/207/346/240/207/345/207/206.md +0 -40
- package/templates/build//350/264/250/351/207/217/345/256/241/346/237/245.md +0 -111
- package/templates/build//350/277/201/347/247/273/346/265/201/346/260/264/347/272/277.md +0 -52
- package/templates/build//351/200/232/347/224/250/350/264/250/351/207/217.md +0 -176
- package/templates/build//351/207/215/346/236/204/346/226/271/346/241/210.md +0 -61
- package/templates/build//351/207/215/346/236/204/346/265/201/346/260/264/347/272/277.md +0 -53
- package/templates/build//351/230/262/345/276/241/346/200/247/347/274/226/347/240/201.md +0 -94
- package/templates/build//351/233/206/346/210/220/351/252/214/350/257/201.md +0 -67
- package/templates/build//351/233/267/345/214/272/345/217/215/346/250/241/345/274/217.md +0 -135
- package/templates/build//351/252/214/346/224/266/346/240/207/345/207/206/345/256/241/346/237/245.md +0 -64
- package/templates/build//351/252/214/346/224/266/346/265/213/350/257/225/350/247/204/345/210/222.md +0 -75
- package/templates/design/API/350/256/276/350/256/241.md +0 -47
- package/templates/design/N/345/212/2401/346/237/245/350/257/242.md +0 -48
- package/templates/design/OOD/350/256/276/350/256/241.md +0 -72
- package/templates/design//344/270/200/350/207/264/346/200/247/346/240/241/351/252/214.md +0 -109
- 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
- package/templates/design//344/273/273/345/212/241/346/213/206/350/247/243.md +0 -61
- package/templates/design//344/273/273/345/212/241/350/247/204/345/210/222.md +0 -84
- package/templates/design//344/274/232/350/257/235/346/201/242/345/244/215-procedures.md +0 -78
- package/templates/design//345/205/274/345/256/271/346/200/247/346/243/200/346/237/245.md +0 -89
- package/templates/design//345/210/207/347/211/207/350/256/241/345/210/222.md +0 -149
- package/templates/design//345/211/215/347/253/257/346/200/247/350/203/275.md +0 -49
- 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
- package/templates/design//345/216/237/345/236/213/346/272/220/347/240/201/346/217/220/345/217/226.md +0 -78
- package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216.md +0 -200
- package/templates/design//345/216/237/345/236/213/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -81
- 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
- package/templates/design//345/221/275/344/273/244/346/211/247/350/241/214-procedures.md +0 -45
- package/templates/design//345/221/275/344/273/244/350/267/257/347/224/261-procedures.md +0 -46
- package/templates/design//345/221/275/345/220/215.md +0 -49
- 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
- package/templates/design//345/267/245/345/205/267/350/260/203/347/224/250-procedures.md +0 -41
- package/templates/design//345/271/266/345/217/221/346/216/247/345/210/266.md +0 -50
- package/templates/design//346/212/200/346/234/257/351/200/211/345/236/213.md +0 -33
- package/templates/design//346/216/245/345/217/243/345/257/271/346/216/245/346/226/271/346/241/210.md +0 -97
- 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
- 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
- package/templates/design//346/225/260/346/215/256/350/241/200/347/274/230/345/233/276.md +0 -49
- package/templates/design//346/227/240/351/232/234/347/242/215.md +0 -49
- package/templates/design//346/236/266/346/236/204/345/206/263/347/255/226/350/256/260/345/275/225.md +0 -53
- package/templates/design//346/236/266/346/236/204/345/256/241/346/237/245.md +0 -256
- package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-constraints.md +0 -177
- package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241-procedures.md +0 -130
- 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
- package/templates/design//346/272/220/347/240/201/345/216/237/345/236/213/344/272/244/344/273/230.md +0 -58
- 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
- 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
- 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
- package/templates/design//347/264/247/346/200/245/345/233/236/346/273/232/346/211/213/345/206/214.md +0 -77
- package/templates/design//347/274/226/347/240/201/345/211/215/346/276/204/346/270/205.md +0 -85
- 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
- package/templates/design//350/207/252/344/270/273/351/200/211/345/236/213.md +0 -57
- 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
- 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
- package/templates/design//350/256/276/350/256/241/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -21
- package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241-procedures.md +0 -123
- package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241.md +0 -109
- package/templates/design//350/257/246/347/273/206/350/256/276/350/256/241/345/256/241/346/237/245.md +0 -88
- package/templates/design//350/260/203/350/257/225/346/226/271/346/263/225/350/256/272.md +0 -43
- package/templates/design//350/277/201/347/247/273/350/257/204/344/274/260.md +0 -67
- 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
- package/templates/design//351/234/200/346/261/202/346/276/204/346/270/205.md +0 -65
- package/templates/design//351/234/200/346/261/202/350/264/250/351/207/217/345/256/241/346/237/245.md +0 -88
- package/templates/design//351/242/206/345/237/237/351/251/261/345/212/250/350/256/276/350/256/241.md +0 -43
- package/templates/operate//345/217/221/345/270/203/350/257/264/346/230/216/345/256/241/346/237/245.md +0 -60
- package/templates/operate//350/277/220/347/273/264/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -22
- package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256/345/256/241/346/237/245.md +0 -59
- package/templates/shared/Diff/345/275/222/345/261/236/350/277/275/350/270/252.md +0 -55
- package/templates/shared/Java/350/264/250/351/207/217/351/227/250/347/246/201.md +0 -54
- package/templates/shared/OOD/344/270/216SOLID/350/256/276/350/256/241.md +0 -48
- package/templates/shared//344/272/247/347/211/251Schema/346/263/250/345/206/214/344/270/255/345/277/203.md +0 -57
- package/templates/shared//344/272/247/347/211/251/345/245/221/347/272/246.md +0 -44
- 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
- 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
- package/templates/shared//344/273/273/345/212/241/347/212/266/346/200/201/346/234/272.md +0 -55
- package/templates/shared//344/273/273/345/212/241/347/256/241/347/220/206/345/231/250.md +0 -55
- package/templates/shared//344/274/230/351/233/205/345/201/234/346/234/272.md +0 -43
- 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
- package/templates/shared//344/275/234/347/224/250/345/237/237/347/247/237/347/272/246.md +0 -55
- package/templates/shared//345/206/262/347/252/201/351/227/250/347/246/201.md +0 -55
- package/templates/shared//345/206/263/347/255/226/347/275/221/345/205/263.md +0 -47
- package/templates/shared//345/210/207/347/211/207/350/201/232/345/220/210/346/243/200/346/237/245.md +0 -72
- package/templates/shared//345/217/230/345/274/202/345/256/241/350/256/241.md +0 -58
- 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
- package/templates/shared//345/221/275/344/273/244/346/211/247/350/241/214.md +0 -48
- package/templates/shared//345/221/275/344/273/244/350/267/257/347/224/261.md +0 -45
- package/templates/shared//345/233/236/345/275/222/347/237/251/351/230/265.md +0 -54
- package/templates/shared//345/244/232/347/247/237/346/210/267.md +0 -49
- package/templates/shared//345/256/241/350/256/241/346/227/245/345/277/227.md +0 -46
- package/templates/shared//345/257/274/345/205/245/345/257/274/345/207/272.md +0 -51
- package/templates/shared//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md +0 -52
- package/templates/shared//345/267/245/344/275/234/345/214/272/345/224/244/351/206/222.md +0 -54
- package/templates/shared//345/267/245/344/275/234/346/265/201/345/245/221/347/272/246.md +0 -42
- package/templates/shared//345/267/245/344/275/234/346/265/201/345/274/225/346/223/216.md +0 -50
- package/templates/shared//345/267/245/344/275/234/346/265/201/346/250/241/347/211/210/345/214/205.md +0 -34
- package/templates/shared//345/267/245/345/205/267/350/260/203/347/224/250.md +0 -48
- package/templates/shared//345/271/266/345/217/221/351/224/201.md +0 -57
- package/templates/shared//346/211/247/350/241/214/345/256/210/345/215/253/350/257/204/344/274/260.md +0 -47
- package/templates/shared//346/211/251/345/261/225/347/224/237/345/221/275/345/221/250/346/234/237.md +0 -34
- package/templates/shared//346/212/200/346/234/257/345/206/263/347/255/226/344/270/273/346/235/203.md +0 -50
- package/templates/shared//346/212/245/350/241/250/347/273/237/350/256/241.md +0 -50
- package/templates/shared//346/224/257/344/273/230.md +0 -51
- package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/345/244/204/347/220/206.md +0 -77
- package/templates/shared//346/225/217/346/204/237/344/277/241/346/201/257/346/211/253/346/217/217.md +0 -53
- package/templates/shared//346/225/260/346/215/256/346/235/203/351/231/220.md +0 -47
- package/templates/shared//346/226/275/345/267/245/346/214/207/344/273/244/345/245/221/347/272/246.md +0 -69
- package/templates/shared//346/227/245/345/277/227/346/262/273/347/220/206.md +0 -31
- package/templates/shared//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206.md +0 -31
- package/templates/shared//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226.md +0 -50
- package/templates/shared//346/240/270/345/277/203/344/275/223/351/252/214/345/216/237/345/210/231.md +0 -38
- 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
- package/templates/shared//346/250/241/347/211/210Frontmatter.md +0 -125
- package/templates/shared//346/250/241/347/211/210/350/264/241/347/214/256/346/214/207/345/215/227.md +0 -282
- 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
- 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
- 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
- package/templates/shared//346/274/224/350/277/233/345/233/236/345/275/222/351/227/250/346/216/247.md +0 -50
- package/templates/shared//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246.md +0 -86
- package/templates/shared//347/237/245/350/257/206/344/270/273/346/235/203.md +0 -66
- package/templates/shared//347/237/245/350/257/206/346/262/273/347/220/206.md +0 -31
- package/templates/shared//347/237/245/350/257/206/346/263/250/345/205/245/350/276/271/347/225/214.md +0 -47
- package/templates/shared//347/273/206/350/212/202/347/272/252/345/276/213.md +0 -54
- 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
- package/templates/shared//350/256/241/345/210/222/345/211/215/347/275/256/351/227/250.md +0 -47
- package/templates/shared//350/256/276/350/256/241/344/272/247/347/211/251/345/214/205.md +0 -58
- package/templates/shared//350/257/255/344/271/211/350/257/201/346/215/256.md +0 -55
- 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
- package/templates/shared//350/276/223/345/205/245/346/235/220/346/226/231/345/245/221/347/272/246.md +0 -50
- package/templates/shared//350/277/220/350/241/214/345/256/211/345/205/250/345/214/205.md +0 -58
- package/templates/shared//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250.md +0 -62
- package/templates/shared//351/200/232/347/224/250/346/234/272/346/242/260/346/235/241/346/254/276.md +0 -47
- package/templates/shared//351/200/232/347/237/245.md +0 -50
- package/templates/shared//351/203/250/347/275/262/351/205/215/347/275/256.md +0 -14
- package/templates/shared//351/205/215/347/275/256/344/274/230/345/205/210/347/272/247.md +0 -67
- package/templates/shared//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214.md +0 -32
- package/templates/shared//351/230/262/345/255/244/345/262/233/345/256/236/347/216/260.md +0 -51
- package/templates/shared//351/233/266/351/205/215/347/275/256/345/210/235/345/247/213/345/214/226.md +0 -57
- 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
- package/templates/shared//351/252/214/350/257/201/345/221/275/344/273/244/347/224/237/346/210/220.md +0 -55
- package/templates/shared//351/252/214/350/257/201/345/245/221/347/272/246.md +0 -48
- package/templates/verify/Docker/351/203/250/347/275/262.md +0 -46
- package/templates/verify/POC/347/273/223/350/256/272.md +0 -53
- package/templates/verify/React/345/210/227/350/241/250/350/241/250/346/240/274.md +0 -43
- package/templates/verify/React/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
- package/templates/verify/React/347/273/204/344/273/266.md +0 -42
- package/templates/verify/React/350/241/250/345/215/225.md +0 -43
- package/templates/verify/React/350/267/257/347/224/261.md +0 -43
- package/templates/verify/SOLID/344/273/243/347/240/201/345/256/241/346/237/245.md +0 -74
- package/templates/verify/SOLID/350/256/276/350/256/241.md +0 -31
- package/templates/verify/Schema/345/205/274/345/256/271.md +0 -42
- package/templates/verify/Vue/347/212/266/346/200/201/347/256/241/347/220/206.md +0 -42
- package/templates/verify/Vue/347/273/204/344/273/266.md +0 -42
- package/templates/verify/Vue/350/267/257/347/224/261.md +0 -43
- 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
- package/templates/verify//344/270/273/351/223/276/350/267/257/346/216/245/345/205/245.md +0 -38
- package/templates/verify//344/272/213/344/273/266/351/251/261/345/212/250.md +0 -46
- package/templates/verify//344/272/213/345/212/241/346/250/241/345/274/217.md +0 -42
- 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
- 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
- package/templates/verify//344/274/232/350/257/235/346/201/242/345/244/215.md +0 -46
- 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
- package/templates/verify//345/210/206/351/241/265/346/237/245/350/257/242.md +0 -41
- package/templates/verify//345/211/215/347/253/257/351/241/265/351/235/242.md +0 -40
- 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
- package/templates/verify//345/217/221/345/270/203/345/220/216/345/256/241/346/237/245.md +0 -73
- package/templates/verify//345/220/216/347/253/257API.md +0 -39
- package/templates/verify//345/242/236/345/210/240/346/224/271/346/237/245.md +0 -45
- package/templates/verify//345/244/226/351/203/250/344/276/235/350/265/226.md +0 -43
- package/templates/verify//345/245/221/347/272/246/345/205/274/345/256/271.md +0 -42
- package/templates/verify//345/256/232/346/227/266/344/273/273/345/212/241.md +0 -39
- package/templates/verify//345/256/236/346/227/266/346/216/250/351/200/201.md +0 -48
- package/templates/verify//345/256/241/346/237/245/346/221/230/350/246/201.md +0 -58
- package/templates/verify//345/267/245/344/275/234/346/265/201.md +0 -38
- package/templates/verify//345/271/266/345/217/221/345/256/241/346/237/245.md +0 -132
- package/templates/verify//345/274/202/346/255/245/345/257/274/345/207/272.md +0 -41
- package/templates/verify//346/200/247/350/203/275/345/256/241/346/237/245.md +0 -110
- package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246.md +0 -44
- package/templates/verify//346/216/245/345/217/243/345/245/221/347/272/246/345/256/241/346/237/245.md +0 -131
- package/templates/verify//346/220/234/347/264/242/346/250/241/345/274/217.md +0 -47
- package/templates/verify//346/225/205/351/232/234/345/244/215/347/233/230.md +0 -67
- package/templates/verify//346/225/260/346/215/256/345/272/223/345/217/230/346/233/264.md +0 -37
- package/templates/verify//346/225/260/346/215/256/351/232/220/347/247/201.md +0 -46
- package/templates/verify//346/226/207/344/273/266/344/270/212/344/274/240.md +0 -45
- package/templates/verify//346/227/245/345/277/227.md +0 -45
- 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
- package/templates/verify//346/240/270/345/277/203/345/267/245/347/250/213/346/211/247/350/241/214.md +0 -65
- package/templates/verify//347/237/245/350/257/206/346/263/250/345/205/245.md +0 -38
- 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
- package/templates/verify//347/274/223/345/255/230/347/255/226/347/225/245.md +0 -45
- 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
- package/templates/verify//350/201/224/350/260/203/351/252/214/350/257/201.md +0 -87
- package/templates/verify//350/256/276/350/256/241/345/256/241/350/256/241.md +0 -184
- package/templates/verify//350/257/225/350/277/220/350/241/214/347/206/224/346/226/255.md +0 -74
- package/templates/verify//350/276/223/345/205/245/346/240/241/351/252/214.md +0 -44
- package/templates/verify//351/203/250/347/275/262/345/217/221/345/270/203.md +0 -101
- package/templates/verify//351/224/231/350/257/257/345/244/204/347/220/206.md +0 -46
- package/templates/verify//351/224/231/350/257/257/350/276/271/347/225/214.md +0 -38
- package/templates/verify//351/232/220/347/247/201/345/256/241/346/237/245.md +0 -37
- package/templates/verify//351/252/214/350/257/201.md +0 -38
- 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,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-scope_lease
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 作用域租约
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: scope_lease
|
|
9
|
-
scope:
|
|
10
|
-
- '*'
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
|
|
24
|
-
- 写入文件前必须获取作用域租约(scope lease),同一文件不可被多个任务同时持有
|
|
25
|
-
- 租约包含: task_id、allowed_paths、acquired_at、expires_at
|
|
26
|
-
- 租约超时后自动失效,其他任务可重新获取
|
|
27
|
-
- 任务完成或取消时必须释放租约
|
|
28
|
-
- 租约查询 isLocked() 为 advisory check,不阻断流程
|
|
29
|
-
|
|
30
|
-
## 验收项
|
|
31
|
-
|
|
32
|
-
- [AC-01] acquire 返回有效租约,release 后 isLocked 返回 false
|
|
33
|
-
- [AC-02] 同一文件不可被两个任务同时租约
|
|
34
|
-
- [AC-03] 过期租约自动清理
|
|
35
|
-
- [AC-04] clear() 清理所有租约
|
|
36
|
-
|
|
37
|
-
## 何时使用
|
|
38
|
-
|
|
39
|
-
advisory: 租约是写入前建议检查,不强制阻断
|
|
40
|
-
|
|
41
|
-
## 是否 hard block
|
|
42
|
-
|
|
43
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
44
|
-
|
|
45
|
-
## 证据要求
|
|
46
|
-
|
|
47
|
-
- acquire/release 测试通过
|
|
48
|
-
- 过期清理测试通过
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
## 人工确认/降级边界
|
|
52
|
-
|
|
53
|
-
- 此能力可被开发者决策覆盖
|
|
54
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
55
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-conflict_gate
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 冲突门禁
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: conflict_gate
|
|
9
|
-
scope:
|
|
10
|
-
- '*'
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
|
|
24
|
-
- 写入前执行 CAS(Compare-And-Swap)校验:比较文件当前 hash 与预期 hash
|
|
25
|
-
- CAS 不匹配表示文件被外部修改,必须报告冲突
|
|
26
|
-
- 冲突报告包含: file_path、expected_hash、actual_hash、task_id
|
|
27
|
-
- 统一 CAS + Lease 冲突报告,一个接口返回所有冲突信息
|
|
28
|
-
- markConfirmed() 将冲突标记为已确认,允许写入继续
|
|
29
|
-
|
|
30
|
-
## 验收项
|
|
31
|
-
|
|
32
|
-
- [AC-01] 文件未被修改时 preWriteGate 返回无冲突
|
|
33
|
-
- [AC-02] 文件被修改后 preWriteGate 返回 CAS 冲突
|
|
34
|
-
- [AC-03] markConfirmed 后冲突状态更新
|
|
35
|
-
- [AC-04] 租约冲突和 CAS 冲突统一报告
|
|
36
|
-
|
|
37
|
-
## 何时使用
|
|
38
|
-
|
|
39
|
-
advisory: 冲突检测是建议性的,开发者可选择覆盖
|
|
40
|
-
|
|
41
|
-
## 是否 hard block
|
|
42
|
-
|
|
43
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
44
|
-
|
|
45
|
-
## 证据要求
|
|
46
|
-
|
|
47
|
-
- CAS 校验测试通过
|
|
48
|
-
- 冲突报告测试通过
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
## 人工确认/降级边界
|
|
52
|
-
|
|
53
|
-
- 此能力可被开发者决策覆盖
|
|
54
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
55
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-decision_gateway
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 决策网关
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: decision_gateway
|
|
9
|
-
scope:
|
|
10
|
-
- '*'
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
|
|
24
|
-
- 控制流操作(classify/scope_resolve/drift_detect 等)走本地,不消耗 Token
|
|
25
|
-
- 决策流操作(intent_refinement/solution_brainstorm/code_generation 等)由客户端 AI 执行(SoloForge 引擎本身不调 LLM)
|
|
26
|
-
- 信心门限 Confidence_Threshold = 0.95,低于此值禁止直接输出执行代码,必须触发头脑风暴流程(三轨方案)展示后再执行
|
|
27
|
-
|
|
28
|
-
## 验收项
|
|
29
|
-
|
|
30
|
-
- [AC-01] 信心门限由 gate/cep_assessment 独立实现(requiresBrainstorm / checkBrainstormGate),低置信度强制走头脑风暴流程
|
|
31
|
-
|
|
32
|
-
## 何时使用
|
|
33
|
-
|
|
34
|
-
信心门限:AI 决策置信度低于阈值时,禁止直接输出执行代码,必须先走头脑风暴流程展示多轨方案。
|
|
35
|
-
|
|
36
|
-
## 是否 hard block
|
|
37
|
-
|
|
38
|
-
信心低于阈值时禁止直接执行(强制走头脑风暴流程),但不阻断整个任务。
|
|
39
|
-
|
|
40
|
-
## 证据要求
|
|
41
|
-
|
|
42
|
-
- cep_assessment 头脑风暴门禁测试通过
|
|
43
|
-
|
|
44
|
-
## 人工确认/降级边界
|
|
45
|
-
|
|
46
|
-
- 此能力可被开发者决策覆盖
|
|
47
|
-
- 历史记录:LLM Token 预算网关(LLMGateway,含预算/熔断/heartbeat/capability CAP-006)于 2026-06 移除——原因:影子记账不准、文案误导产出收缩(如 api_specification 被压缩);真预算管控交客户端 AI 侧
|
package/templates/shared//345/210/207/347/211/207/350/201/232/345/220/210/346/243/200/346/237/245.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: slice-aggregate-checks
|
|
3
|
-
kind: enforced
|
|
4
|
-
title: 切片聚合检查
|
|
5
|
-
sync_policy: engine_only
|
|
6
|
-
status: active
|
|
7
|
-
checks:
|
|
8
|
-
- id: SLC-G01
|
|
9
|
-
executor: file_scope_check
|
|
10
|
-
rule: 实际变更文件列表与计划的涉及文件列表一致,无计划外变更
|
|
11
|
-
gate: slice-gate
|
|
12
|
-
target: self
|
|
13
|
-
severity: error
|
|
14
|
-
check_type: deterministic
|
|
15
|
-
evidence_required:
|
|
16
|
-
- git diff --name-only 输出
|
|
17
|
-
- 切片计划涉及文件列表
|
|
18
|
-
- 对比结果(须一致)
|
|
19
|
-
- id: SLC-G02
|
|
20
|
-
executor: test_count_check
|
|
21
|
-
rule: 新增测试场景 >=9 个,覆盖正常路径 x2、边界条件 x3、错误路径 x2、集成场景 x2
|
|
22
|
-
gate: slice-gate
|
|
23
|
-
target: self
|
|
24
|
-
severity: error
|
|
25
|
-
check_type: deterministic
|
|
26
|
-
evidence_required:
|
|
27
|
-
- 新增测试场景数(须 >=9)
|
|
28
|
-
- 覆盖维度统计(正常/边界/错误/集成)
|
|
29
|
-
- id: SLC-G03
|
|
30
|
-
executor: lazy_pattern_check
|
|
31
|
-
rule: 所有检查项无 hard_fail 级别问题,代码中无空函数体、空 catch、未实现占位
|
|
32
|
-
gate: slice-gate
|
|
33
|
-
target: self
|
|
34
|
-
severity: error
|
|
35
|
-
check_type: deterministic
|
|
36
|
-
evidence_required:
|
|
37
|
-
- lazy_pattern_detector 输出(hard_fail=0)
|
|
38
|
-
- hard_fail 列表(须为空)
|
|
39
|
-
- id: SLC-G05
|
|
40
|
-
executor: file_evidence
|
|
41
|
-
rule: Docker 服务部署成功且 HTTP 可访问(真发请求校验 2xx/3xx)
|
|
42
|
-
gate: operate-gate
|
|
43
|
-
target: self
|
|
44
|
-
severity: error
|
|
45
|
-
check_type: deterministic
|
|
46
|
-
evidence_required:
|
|
47
|
-
- docker ps 输出(容器 Running)
|
|
48
|
-
- HTTP 响应状态码(须 2xx/3xx)
|
|
49
|
-
- 响应 body 片段(非空)
|
|
50
|
-
- id: SLC-G06
|
|
51
|
-
executor: file_evidence
|
|
52
|
-
rule: 核心业务正常流程在浏览器中可端到端走通,实际请求与 API 规格一致,页面数据与数据库设计一致
|
|
53
|
-
gate: operate-gate
|
|
54
|
-
target: self
|
|
55
|
-
severity: error
|
|
56
|
-
check_type: deterministic
|
|
57
|
-
evidence_required:
|
|
58
|
-
- Playwright 端到端操作截图序列
|
|
59
|
-
- 浏览器 Network 请求与 API 规格对照
|
|
60
|
-
- 页面数据展示与数据库字段对照
|
|
61
|
-
gate: shared-gate
|
|
62
|
-
extra:
|
|
63
|
-
type: constraint
|
|
64
|
-
scope:
|
|
65
|
-
- '*'
|
|
66
|
-
stage: _global
|
|
67
|
-
owner_mechanism: mc-stage-gate-engine
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
# slice 阶段聚合检查
|
|
71
|
-
|
|
72
|
-
收容无单一资产归属的 stage 级 check(如编译/测试/部署证据等)。
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-mutation_audit
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 变异审计
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: mutation_audit
|
|
9
|
-
scope:
|
|
10
|
-
- '*'
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
|
|
24
|
-
- 变异白名单: 只变异条件分支(if/else/switch)、比较操作符(===/>/</>=/<=)、逻辑操作符(&&/||)、return 语句、布尔字面量、算术表达式
|
|
25
|
-
- 变异黑名单: console.log、注释、import/export、类型声明、debugger、纯字符串字面量
|
|
26
|
-
- 变异行必须在 lcov 覆盖范围内,未覆盖行的变异无意义,视为审计无效
|
|
27
|
-
- 变异操作符: 逻辑反转(=== → !==)、边界偏移(+1/-1)、布尔翻转(true → false)、返回值篡改
|
|
28
|
-
- 随机抽样: 使用源码哈希作为种子的确定性 PRNG,每源码最多抽样 8 行
|
|
29
|
-
- 精确断言率阈值 Precision_Threshold = 0.5,低于此判定测试"自己证明自己"
|
|
30
|
-
- 覆盖率联动: 传入 lcov 报告后,只变异 DA 行 hit_count > 0 的代码行
|
|
31
|
-
|
|
32
|
-
## 验收项
|
|
33
|
-
|
|
34
|
-
- [AC-01] 变异前已读取 lcov 覆盖率报告
|
|
35
|
-
- [AC-02] 所有变异行均在已覆盖行范围内
|
|
36
|
-
- [AC-03] 未覆盖行的变异被自动过滤
|
|
37
|
-
- [AC-04] 变异审计未通过时测试文件打回重写
|
|
38
|
-
- [AC-05] 随机种子基于源码内容哈希,可复现
|
|
39
|
-
|
|
40
|
-
## 何时使用
|
|
41
|
-
|
|
42
|
-
advisory: 变异测试是质量建议,非强制要求
|
|
43
|
-
|
|
44
|
-
## 是否 hard block
|
|
45
|
-
|
|
46
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
47
|
-
|
|
48
|
-
## 证据要求
|
|
49
|
-
|
|
50
|
-
- 变异算子测试通过
|
|
51
|
-
- 评分一致性测试通过
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
## 人工确认/降级边界
|
|
55
|
-
|
|
56
|
-
- 此能力可被开发者决策覆盖
|
|
57
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
58
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-hard-rule-后端实现工程契约规则
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: 后端实现工程契约
|
|
5
|
-
owner_mechanism: mc-backend-implementation-contract
|
|
6
|
-
sync_policy: copy_to_project
|
|
7
|
-
status: active
|
|
8
|
-
extra:
|
|
9
|
-
name: backend-implementation-contract
|
|
10
|
-
scope:
|
|
11
|
-
- backend
|
|
12
|
-
products:
|
|
13
|
-
- '*'
|
|
14
|
-
type: constraint
|
|
15
|
-
lifecycle_status: active
|
|
16
|
-
version: 1.1.0
|
|
17
|
-
last_reviewed: '2026-06-01'
|
|
18
|
-
verification_layer: L2
|
|
19
|
-
stage: _global
|
|
20
|
-
triggers:
|
|
21
|
-
- 后端实现
|
|
22
|
-
- API接口
|
|
23
|
-
- Controller
|
|
24
|
-
- 数据库迁移
|
|
25
|
-
- 写操作
|
|
26
|
-
- 幂等
|
|
27
|
-
- 服务端开发
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 编码前必须确认
|
|
31
|
-
|
|
32
|
-
- Controller 只接收 DTO、执行校验、调用应用服务并返回统一响应对象。
|
|
33
|
-
- 写操作的事务、一致性、幂等键、并发冲突处理已定义。
|
|
34
|
-
- 权限、租户隔离、敏感字段与审计日志已定义。
|
|
35
|
-
- OpenAPI、请求/响应字段表、数据库 migration 和错误码有权威对齐依据。
|
|
36
|
-
- 验证计划包含成功、失败、重试、越权、重复提交和边界数据。
|
|
37
|
-
|
|
38
|
-
## 阻断规则
|
|
39
|
-
|
|
40
|
-
直接暴露实体、写接口无校验、事务内外部调用、高风险写入无幂等或敏感接口无安全审计证据,均不得交付。
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-hard-rule-命令执行规则
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: 命令执行
|
|
5
|
-
sync_policy: copy_to_project
|
|
6
|
-
status: active
|
|
7
|
-
triggers:
|
|
8
|
-
- 命令执行规则
|
|
9
|
-
extra:
|
|
10
|
-
name: command-execution
|
|
11
|
-
scope:
|
|
12
|
-
- '*'
|
|
13
|
-
products:
|
|
14
|
-
- '*'
|
|
15
|
-
lifecycle_status: active
|
|
16
|
-
version: 1.1.0
|
|
17
|
-
last_reviewed: '2026-06-01'
|
|
18
|
-
type: constraint
|
|
19
|
-
verification_layer: L2
|
|
20
|
-
stage: _global
|
|
21
|
-
owner_mechanism: mc-command-execution
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# 命令执行规则
|
|
25
|
-
|
|
26
|
-
## 核心原则
|
|
27
|
-
|
|
28
|
-
命令执行必须按副作用分级: destructive 命令需人工确认,read-only 命令可自动执行。
|
|
29
|
-
|
|
30
|
-
## 命令分级
|
|
31
|
-
|
|
32
|
-
1. **destructive**: 不可逆操作 (drop table, force push),需人工确认
|
|
33
|
-
2. **mutating**: 可逆修改 (build, test),可自动执行但需记录
|
|
34
|
-
3. **read_only**: 只读操作 (ls, cat),可自由执行
|
|
35
|
-
|
|
36
|
-
## 规则
|
|
37
|
-
|
|
38
|
-
1. 每个命令必须通过 classifyCommand 分级
|
|
39
|
-
2. destructive 命令不可自动执行
|
|
40
|
-
3. 所有命令执行结果必须记录证据
|
|
41
|
-
4. 命令执行链必须可追踪
|
|
42
|
-
|
|
43
|
-
## 验收标准
|
|
44
|
-
|
|
45
|
-
- [ ] classifyCommand 覆盖所有已知命令模式
|
|
46
|
-
- [ ] destructive 命令被正确分级和阻断
|
|
47
|
-
- [ ] CommandExecutionResult 包含完整证据
|
|
48
|
-
- [ ] 命令执行链记录在 task_context 中
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-hard-rule-命令路由规则
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: 命令路由
|
|
5
|
-
owner_mechanism: mc-command-router
|
|
6
|
-
sync_policy: copy_to_project
|
|
7
|
-
status: active
|
|
8
|
-
extra:
|
|
9
|
-
name: command-routing
|
|
10
|
-
scope:
|
|
11
|
-
- '*'
|
|
12
|
-
products:
|
|
13
|
-
- '*'
|
|
14
|
-
type: constraint
|
|
15
|
-
lifecycle_status: active
|
|
16
|
-
version: 2.0.0
|
|
17
|
-
last_reviewed: '2026-06-12'
|
|
18
|
-
verification_layer: L2
|
|
19
|
-
stage: _global
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
# 命令路由规则
|
|
23
|
-
|
|
24
|
-
## 核心原则
|
|
25
|
-
|
|
26
|
-
命令路由是 SoloForge 的入口裁决机制:用户意图文本经 `routeIntent` 映射到 design / build / verify / operate 四个能力域之一,并返回该域要求的首批产物。`routeIntent` 由 sf_task(start 动作)调用。
|
|
27
|
-
|
|
28
|
-
## 规则
|
|
29
|
-
|
|
30
|
-
1. **关键词匹配驱动**:`routeIntent` 遍历静态 `ROUTE_TABLE` 匹配意图关键词,不依赖 NLP 分类
|
|
31
|
-
2. **4 能力域裁决**:每次路由必须返回有效的 `domain`(design / build / verify / operate 之一)
|
|
32
|
-
3. **默认降级**:无关键词匹配时默认路由到 design 域(先想清楚再做),不阻断主链路
|
|
33
|
-
4. **首批产物**:路由结果 `required_artifacts` 由对应域契约的 `required` 产物推导
|
|
34
|
-
5. **纯计算**:`routeIntent` 是纯函数,无副作用,不读写任务状态
|
|
35
|
-
|
|
36
|
-
## 域触发关键词(ROUTE_TABLE)
|
|
37
|
-
|
|
38
|
-
| 能力域 | 触发关键词 |
|
|
39
|
-
|--------|-----------|
|
|
40
|
-
| design(设计) | 做新系统 / 加新功能 / 设计方案 / 架构 / 需求 / 设计 / 规划 / 分析 |
|
|
41
|
-
| build(构建) | 写代码 / 实现 / 编码 / 改bug / 修bug / 修复 / 开发 / 重构 |
|
|
42
|
-
| verify(验证) | 审查 / 验证 / 测试 / 检查 / 确认 / review / 验收 |
|
|
43
|
-
| operate(运维) | 部署 / 上线 / 发布 / 运维 / 监控 / 扩容 / 回滚 / 线上 |
|
|
44
|
-
|
|
45
|
-
> 关键词权威来源:`src/core/intent_router.ts` 的 `ROUTE_TABLE`,由 `check:schema-enum` 门禁保证与 `DomainName` 枚举一致。
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-regression_matrix
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 回归矩阵
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: regression_matrix
|
|
9
|
-
scope:
|
|
10
|
-
- '*'
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
|
|
24
|
-
- fixture 项目模版: Spring Boot、React、Go 的标准结构
|
|
25
|
-
- 回归矩阵对 fixture 验证 classify/expand/verify 兼容性
|
|
26
|
-
- 复杂度预算: 每个能力模块有代码行数预算,超出产生 advisory
|
|
27
|
-
- fixture 使用真实 detectFingerprint 进行项目检测
|
|
28
|
-
|
|
29
|
-
## 验收项
|
|
30
|
-
|
|
31
|
-
- [AC-01] fixture 项目定义完整
|
|
32
|
-
- [AC-02] 回归矩阵覆盖所有 fixture
|
|
33
|
-
- [AC-03] 复杂度预算超出时产生 advisory
|
|
34
|
-
- [AC-04] 真实 detectFingerprint 通过 fixture 检测
|
|
35
|
-
|
|
36
|
-
## 何时使用
|
|
37
|
-
|
|
38
|
-
advisory: 回归矩阵是质量保证工具,复杂度超预算不阻断
|
|
39
|
-
|
|
40
|
-
## 是否 hard block
|
|
41
|
-
|
|
42
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
43
|
-
|
|
44
|
-
## 证据要求
|
|
45
|
-
|
|
46
|
-
- 回归矩阵测试通过
|
|
47
|
-
- 复杂度预算报告正确
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
## 人工确认/降级边界
|
|
51
|
-
|
|
52
|
-
- 此能力可被开发者决策覆盖
|
|
53
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
54
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-domain_knowledge-multi-tenancy
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 多租户
|
|
5
|
-
sync_policy: copy_to_project
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
updated_at: '2026-06-15'
|
|
9
|
-
name: multi-tenancy
|
|
10
|
-
scope:
|
|
11
|
-
- backend
|
|
12
|
-
products:
|
|
13
|
-
- saas
|
|
14
|
-
lifecycle_status: active
|
|
15
|
-
version: 1.1.0
|
|
16
|
-
last_reviewed: '2026-06-01'
|
|
17
|
-
type: knowledge
|
|
18
|
-
verification_layer: L2
|
|
19
|
-
stage: _global
|
|
20
|
-
owner_mechanism: mc-domain-knowledge
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## 业务规则
|
|
24
|
-
1. 每个租户的数据完全隔离,租户 A 不能看到租户 B 的任何数据
|
|
25
|
-
2. 所有查询必须自动附加租户过滤条件,不依赖开发人员手动添加
|
|
26
|
-
3. 租户切换需重新认证,不支持跨租户操作
|
|
27
|
-
4. 租户级配置(功能开关、字段自定义)独立管理
|
|
28
|
-
5. 租户间数据必须物理隔离(独立 schema/库)或逻辑隔离(tenant_id 字段 + 全局过滤)
|
|
29
|
-
6. 租户配置(功能开关、参数)必须支持按租户覆盖全局默认值
|
|
30
|
-
7. 新增租户必须自动初始化基础数据(角色、权限、默认菜单)
|
|
31
|
-
|
|
32
|
-
## 约束条件
|
|
33
|
-
- 数据库层面使用 tenant_id 字段实现行级隔离(共享数据库方案)
|
|
34
|
-
- MyBatis 拦截器自动注入 tenant_id 条件,禁止绕过拦截器直接写 SQL
|
|
35
|
-
- 新建表必须包含 tenant_id 字段并建立索引
|
|
36
|
-
- 超级管理员可跨租户查看数据,但需审计日志记录
|
|
37
|
-
- 租户 ID 必须在所有业务表中存在,且建立索引
|
|
38
|
-
- 跨租户数据查询必须显式声明并经过审批
|
|
39
|
-
- 租户数据删除必须级联清理所有关联数据
|
|
40
|
-
|
|
41
|
-
## 例外情况
|
|
42
|
-
- 系统级配置表(如地区、行业分类)不需要 tenant_id
|
|
43
|
-
- 数据统计聚合(如系统总用户数)需脱敏处理后统计
|
|
44
|
-
- 系统管理后台(超管)允许跨租户操作
|
|
45
|
-
|
|
46
|
-
## 关联模式
|
|
47
|
-
参见 auth-permission 模式(权限模型与租户关联)、logging 模式(日志需记录 tenantId)
|
|
48
|
-
- auth-permission
|
|
49
|
-
- data-privacy
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-domain_knowledge-audit-logging
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 审计日志
|
|
5
|
-
sync_policy: copy_to_project
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: audit-logging
|
|
9
|
-
scope:
|
|
10
|
-
- backend
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-domain-knowledge
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 业务规则
|
|
23
|
-
1. 所有关键业务操作(创建、修改、删除、导出、权限变更)必须记录审计日志
|
|
24
|
-
2. 审计日志不可修改和删除(append-only),至少保留 3 年
|
|
25
|
-
3. 每条审计日志必须包含:操作人、操作时间、操作类型、操作对象、变更前后数据
|
|
26
|
-
4. 敏感操作(删除、权限变更、导出)需额外通知管理员
|
|
27
|
-
5. 审计日志查询必须支持按时间范围、操作人、操作类型、目标对象筛选
|
|
28
|
-
6. 审计日志必须记录操作来源(Web/API/定时任务/系统),便于问题追溯
|
|
29
|
-
7. 批量操作必须合并为一条审计记录,包含操作数量和关键参数
|
|
30
|
-
|
|
31
|
-
## 约束条件
|
|
32
|
-
- 审计日志存储在独立表中(audit_log),不与业务数据混存
|
|
33
|
-
- 通过 AOP 切面自动记录,减少开发人员手动埋点
|
|
34
|
-
- 变更前后数据使用 JSON 格式存储(before/after 字段)
|
|
35
|
-
- 审计日志表不支持 UPDATE 和 DELETE(数据库层权限控制)
|
|
36
|
-
- 审计日志保留期限必须符合合规要求(如 ≥ 180 天)
|
|
37
|
-
|
|
38
|
-
## 例外情况
|
|
39
|
-
- 查询操作(GET)一般不记录审计日志(除导出操作)
|
|
40
|
-
- 系统内部自动任务的操作记录标注为"系统"操作人
|
|
41
|
-
- 批量操作合并为一条审计记录(含数量信息)
|
|
42
|
-
|
|
43
|
-
## 关联模式
|
|
44
|
-
参见 logging 模式(日志记录规范)、error-handling 模式(异常处理与审计)
|
|
45
|
-
- logging
|
|
46
|
-
- data-privacy
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-domain_knowledge-import-export-rules
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 导入导出
|
|
5
|
-
sync_policy: copy_to_project
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: import-export-rules
|
|
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
|
-
verification_layer: L2
|
|
19
|
-
stage: _global
|
|
20
|
-
owner_mechanism: mc-domain-knowledge
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## 业务规则
|
|
24
|
-
- 导入必须提供标准模版下载功能,模版字段与校验规则一一对应
|
|
25
|
-
- 导入数据必须全量校验后再入库,禁止边校验边入库(部分成功部分失败难以处理)
|
|
26
|
-
- 校验失败必须返回完整错误报告(行号 + 字段名 + 错误原因),禁止只返回"导入失败"
|
|
27
|
-
- 超过 1000 条的导入必须走异步处理,返回任务 ID 和进度查询接口
|
|
28
|
-
- 导入更新模式必须明确:新增/覆盖/跳过已存在记录
|
|
29
|
-
- 导出字段必须与导入模版字段对齐,导入的数据可通过导出还原
|
|
30
|
-
- 导入数据必须支持预览和校验,校验失败返回具体行号和错误原因
|
|
31
|
-
- 导入模版必须与当前系统版本一致,字段变更时同步更新模版
|
|
32
|
-
- 导出数据必须遵循数据权限规则,用户只能导出权限范围内的数据
|
|
33
|
-
|
|
34
|
-
## 约束条件
|
|
35
|
-
- 导入文件大小限制(建议 10MB),超过限制前端拦截不提交
|
|
36
|
-
- 导入文件类型限制(仅允许 .xlsx/.xls/.csv),禁止 .exe/.sh 等可执行文件
|
|
37
|
-
- 导入操作必须有审计日志(操作人、时间、记录数、成功/失败数)
|
|
38
|
-
- 大数据量导出使用流式写入(SXSSFWorkbook),禁止全量加载到内存
|
|
39
|
-
- 导入文件大小必须限制(如 ≤ 20MB),超过限制拒绝处理
|
|
40
|
-
- 导入操作必须有操作日志,记录导入人、时间、记录数、成功/失败数
|
|
41
|
-
|
|
42
|
-
## 例外情况
|
|
43
|
-
- 小数据量(< 100 条)可同步导入,直接返回结果
|
|
44
|
-
- 参考数据(字典、配置)导入可简化校验
|
|
45
|
-
- 系统管理员导出数据可以绕过数据权限,但必须有审批流程
|
|
46
|
-
|
|
47
|
-
## 关联模式
|
|
48
|
-
- [[async-export]] 异步导出模式
|
|
49
|
-
- [[file-upload]] 文件上传安全
|
|
50
|
-
- async-export
|
|
51
|
-
- input-validation
|
package/templates/shared//345/267/245/344/275/234/345/214/272/344/272/222/346/226/245/351/224/201.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-io_lock
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 工作区互斥锁
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: io_lock
|
|
9
|
-
scope:
|
|
10
|
-
- '*'
|
|
11
|
-
products:
|
|
12
|
-
- '*'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
version: 1.1.0
|
|
15
|
-
last_reviewed: '2026-06-01'
|
|
16
|
-
type: knowledge
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
|
|
24
|
-
- P0 已移除持久锁 acquire/release,仅保留 isLocked() 查询
|
|
25
|
-
- 锁机制为 advisory check,不强制阻断操作
|
|
26
|
-
- 写入前冲突检测是建议性的,开发者可选择忽略
|
|
27
|
-
|
|
28
|
-
## 验收项
|
|
29
|
-
|
|
30
|
-
- [AC-01] isLocked() 查询返回正确状态
|
|
31
|
-
- [AC-02] 写入前冲突检测正常工作
|
|
32
|
-
- [AC-03] 不强制阻断操作
|
|
33
|
-
|
|
34
|
-
## 何时使用
|
|
35
|
-
|
|
36
|
-
advisory: 锁机制为 advisory check,不强制阻断
|
|
37
|
-
|
|
38
|
-
## 是否 hard block
|
|
39
|
-
|
|
40
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
41
|
-
|
|
42
|
-
## 证据要求
|
|
43
|
-
|
|
44
|
-
- isLocked() 查询测试通过
|
|
45
|
-
- 写入前冲突检测测试通过
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
## 人工确认/降级边界
|
|
49
|
-
|
|
50
|
-
- 此能力可被开发者决策覆盖
|
|
51
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
52
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|