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,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-rule-domain-operate-deploy-config-review
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: 部署配置审查
|
|
5
|
-
triggers:
|
|
6
|
-
- 部署
|
|
7
|
-
- 配置
|
|
8
|
-
- deploy
|
|
9
|
-
sync_policy: copy_to_project
|
|
10
|
-
status: active
|
|
11
|
-
extra:
|
|
12
|
-
updated_at: '2026-06-15'
|
|
13
|
-
lifecycle_status: active
|
|
14
|
-
name: deploy-config-review
|
|
15
|
-
scope:
|
|
16
|
-
- '*'
|
|
17
|
-
products:
|
|
18
|
-
- deploy_config
|
|
19
|
-
type: constraint
|
|
20
|
-
version: 1.0.0
|
|
21
|
-
last_reviewed: '2026-06-11'
|
|
22
|
-
domain:
|
|
23
|
-
- operate
|
|
24
|
-
verification_layer: L2
|
|
25
|
-
stage: operate
|
|
26
|
-
owner_mechanism: mc-domain-operate
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 部署配置审查规则
|
|
30
|
-
|
|
31
|
-
### 必须满足
|
|
32
|
-
|
|
33
|
-
1. **部署配置文件必须存在**
|
|
34
|
-
- `deploy/` 目录下至少有一个配置文件
|
|
35
|
-
- 支持 Docker Compose、K8s manifests、Terraform 等格式
|
|
36
|
-
|
|
37
|
-
2. **环境变量必须声明完整**
|
|
38
|
-
- 所有依赖的服务地址、端口、密钥引用必须在配置中声明
|
|
39
|
-
- 禁止硬编码密钥,必须使用环境变量或密钥管理服务引用
|
|
40
|
-
|
|
41
|
-
3. **健康检查必须配置**
|
|
42
|
-
- 必须配置 liveness probe 和 readiness probe
|
|
43
|
-
- 健康检查端点不得依赖外部服务
|
|
44
|
-
|
|
45
|
-
4. **资源限制必须设置**
|
|
46
|
-
- CPU 和 memory 的 requests/limits 必须明确
|
|
47
|
-
- 不得使用 `latest` 标签部署生产环境
|
|
48
|
-
|
|
49
|
-
5. **回滚策略必须定义**
|
|
50
|
-
- 必须有明确的回滚方案(镜像版本、数据库迁移回滚)
|
|
51
|
-
- 回滚步骤必须可执行、可验证
|
|
52
|
-
|
|
53
|
-
### 验收项
|
|
54
|
-
|
|
55
|
-
- [AC-01] 部署配置文件存在且可解析
|
|
56
|
-
- [AC-02] 无硬编码密钥或敏感信息
|
|
57
|
-
- [AC-03] 健康检查已配置
|
|
58
|
-
- [AC-04] 资源限制已设置
|
|
59
|
-
- [AC-05] 回滚方案已记录
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-diff_ownership
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: Diff归属追踪
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: diff_ownership
|
|
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
|
-
- diff_ownership 追踪代码变更归属:owned / inherited / external
|
|
25
|
-
- CAS 校验确保 diff 与源文件一致
|
|
26
|
-
- scope 目录展开排除外部目录的 diff
|
|
27
|
-
- experimental: 只做状态模型和 CAS 校验,不替换现有写入流程
|
|
28
|
-
|
|
29
|
-
## 验收项
|
|
30
|
-
|
|
31
|
-
- [AC-01] Diff 归属分类正确
|
|
32
|
-
- [AC-02] CAS 校验通过
|
|
33
|
-
- [AC-03] scope 排除外部 diff
|
|
34
|
-
- [AC-04] 冲突检测正常
|
|
35
|
-
|
|
36
|
-
## 何时使用
|
|
37
|
-
|
|
38
|
-
experimental: 只做状态模型和 CAS 校验,不替换现有写入流程,不新增 hard block
|
|
39
|
-
|
|
40
|
-
## 是否 hard block
|
|
41
|
-
|
|
42
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
43
|
-
|
|
44
|
-
## 证据要求
|
|
45
|
-
|
|
46
|
-
- Diff 归属分类测试通过
|
|
47
|
-
- CAS 校验生命周期测试通过
|
|
48
|
-
- 冲突检测测试通过
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
## 人工确认/降级边界
|
|
52
|
-
|
|
53
|
-
- 此能力可被开发者决策覆盖
|
|
54
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
55
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-java_quality_guard
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: Java质量门禁
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: java_quality_guard
|
|
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
|
-
- hard gate: 空 catch、raw type(ArrayList 无泛型)、System.out、Thread.sleep
|
|
25
|
-
- advisory: 方法长度 >80 行、缺少 @Override
|
|
26
|
-
- 项目规则通过 loadProjectRules 加载,可覆盖内置规则
|
|
27
|
-
- 规则 ID 格式: JAVA-C###(hard gate)、JAVA-Q###(advisory)
|
|
28
|
-
|
|
29
|
-
## 验收项
|
|
30
|
-
|
|
31
|
-
- [AC-01] 空 catch 被检测
|
|
32
|
-
- [AC-02] raw type 被检测
|
|
33
|
-
- [AC-03] 项目规则覆盖内置规则
|
|
34
|
-
- [AC-04] advisory 规则不阻断
|
|
35
|
-
|
|
36
|
-
## 何时使用
|
|
37
|
-
|
|
38
|
-
advisory: Java 质量门禁中只有 hard gate 阻断,其余为建议
|
|
39
|
-
|
|
40
|
-
## 是否 hard block
|
|
41
|
-
|
|
42
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
43
|
-
|
|
44
|
-
## 证据要求
|
|
45
|
-
|
|
46
|
-
- hard gate 测试通过
|
|
47
|
-
- 项目规则覆盖测试通过
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
## 人工确认/降级边界
|
|
51
|
-
|
|
52
|
-
- 此能力可被开发者决策覆盖
|
|
53
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
54
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-hard-rule-OOD与SOLID设计规则
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: OOD与SOLID设计
|
|
5
|
-
owner_mechanism: mc-ood-solid-contract
|
|
6
|
-
sync_policy: copy_to_project
|
|
7
|
-
status: active
|
|
8
|
-
extra:
|
|
9
|
-
name: ood-solid-design
|
|
10
|
-
scope:
|
|
11
|
-
- backend
|
|
12
|
-
- frontend
|
|
13
|
-
products:
|
|
14
|
-
- '*'
|
|
15
|
-
type: constraint
|
|
16
|
-
lifecycle_status: active
|
|
17
|
-
version: 1.1.0
|
|
18
|
-
last_reviewed: '2026-06-01'
|
|
19
|
-
verification_layer: L2
|
|
20
|
-
stage: _global
|
|
21
|
-
triggers:
|
|
22
|
-
- 面向对象
|
|
23
|
-
- 类设计
|
|
24
|
-
- SOLID
|
|
25
|
-
- 领域模型
|
|
26
|
-
- 服务边界
|
|
27
|
-
- 职责划分
|
|
28
|
-
- 重构设计
|
|
29
|
-
- SRP
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## 编码前门禁
|
|
33
|
-
|
|
34
|
-
复杂业务逻辑、领域模型、服务边界、策略或重构任务在编码前必须给出:
|
|
35
|
-
|
|
36
|
-
- 对象及单一职责。
|
|
37
|
-
- 对外接口与依赖方向。
|
|
38
|
-
- 可变化点与扩展方式。
|
|
39
|
-
- SRP、OCP、LSP、ISP、DIP 风险及验证方式。
|
|
40
|
-
|
|
41
|
-
## 代码审查门禁
|
|
42
|
-
|
|
43
|
-
- Controller 不承担业务计算或持久化职责。
|
|
44
|
-
- 应用/领域服务依赖抽象端口,不直接构造基础设施依赖。
|
|
45
|
-
- 子类型不能拒绝父契约操作,接口不能迫使实现提供无效操作。
|
|
46
|
-
- 同一类型或状态的多处分支应判断是否需要策略扩展点。
|
|
47
|
-
|
|
48
|
-
硬失败未清零时,不得交付。简单文案或样式修改不强行引入对象设计。
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: cap-kdoc-artifact-schema-registry
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 产物Schema注册中心
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: product-schema-registry
|
|
9
|
-
type: knowledge
|
|
10
|
-
scope:
|
|
11
|
-
- '*'
|
|
12
|
-
products:
|
|
13
|
-
- '*'
|
|
14
|
-
lifecycle_status: active
|
|
15
|
-
version: 1.1.0
|
|
16
|
-
last_reviewed: '2026-06-01'
|
|
17
|
-
verification_layer: L2
|
|
18
|
-
stage: _global
|
|
19
|
-
owner_mechanism: mc-engine-runtime
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
# 产物 Schema 注册中心
|
|
23
|
-
|
|
24
|
-
## 概述
|
|
25
|
-
|
|
26
|
-
产物 Schema 注册中心集中管理所有 19 种 ArtifactKind 的结构定义。
|
|
27
|
-
每种产物类型定义了必填章节、必填表格、必填字段、必填附属产物和禁止空白。
|
|
28
|
-
|
|
29
|
-
## 何时使用
|
|
30
|
-
|
|
31
|
-
- 当 AI 需要生成或修改已知类型的产物文档时,从注册中心获取结构约束
|
|
32
|
-
- 当 check_write/check_bash 的 L4 校验需要校验产物结构完整性时
|
|
33
|
-
- 当知识注入边界的 Schema 独立通道需要格式化结构文本时
|
|
34
|
-
|
|
35
|
-
## 是否 hard block
|
|
36
|
-
|
|
37
|
-
enforced — 产物 Schema 是三分离架构的核心组件。
|
|
38
|
-
缺失 Schema 时 AI 输出无结构约束,产物质量不可控。
|
|
39
|
-
但 Schema 本身不 hard block 管线执行,而是以 warning/blocked 形式在 L4 层告警。
|
|
40
|
-
|
|
41
|
-
## 证据要求
|
|
42
|
-
|
|
43
|
-
- 19 种 ArtifactKind 全量注册测试通过
|
|
44
|
-
- P0 类型(prototype_spec, design_doc, api_spec, verification_report)章节覆盖完整
|
|
45
|
-
- Schema 文本能通过 formatSchemaForPrompt 正确格式化
|
|
46
|
-
|
|
47
|
-
## 人工确认/降级边界
|
|
48
|
-
|
|
49
|
-
- Schema 注册中心异常时降级为无结构约束模式(degraded)
|
|
50
|
-
- 新增产物类型需人工确认 Schema 定义后再注册
|
|
51
|
-
- 模版 frontmatter 中的 Schema 可覆盖注册中心硬编码值,但需 review
|
|
52
|
-
|
|
53
|
-
## 使用方式
|
|
54
|
-
|
|
55
|
-
- `getArtifactSchema(kind)` — 查询指定产物类型的 Schema
|
|
56
|
-
- `hasArtifactSchema(kind)` — 检查是否已注册
|
|
57
|
-
- `formatSchemaForPrompt(schema)` — 格式化为 prompt 注入文本
|
|
@@ -1,44 +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: product-contract
|
|
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-artifact-contract
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# 产物契约规则
|
|
25
|
-
|
|
26
|
-
## 核心约束
|
|
27
|
-
|
|
28
|
-
1. 产物必须通过 `artifact_contract_registry` 注册,包含 kind、format、path、overwrite_policy。
|
|
29
|
-
2. 产物生命周期:draft → verified → accepted。跳过阶段必须显式声明 `skip_verification`。
|
|
30
|
-
3. `overwrite_policy` 仅允许 `fail_if_exists` 或 `versioned`。禁止 `force_overwrite`。
|
|
31
|
-
4. 产物路径必须在 `declared_scope` 内。scope 外产物触发 hard_fail。
|
|
32
|
-
5. 所有产物变更必须通过 `sf_gate` 验证后才能推进状态。
|
|
33
|
-
|
|
34
|
-
## 适用场景
|
|
35
|
-
|
|
36
|
-
- 单产物生成 (`single_artifact`)
|
|
37
|
-
- 多阶段计划产物交付 (`multi_stage_plan`)
|
|
38
|
-
- 代码执行产物 (`code_execution`)
|
|
39
|
-
|
|
40
|
-
## 违规处理
|
|
41
|
-
|
|
42
|
-
- 未注册产物 → hard_fail,阻断交付
|
|
43
|
-
- scope 外产物 → hard_fail,阻断写入
|
|
44
|
-
- 跳过验证且无声明 → advisory,标记降级
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-hard-rule-代码注释与日志契约规则
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: 代码注释与日志契约
|
|
5
|
-
owner_mechanism: mc-code-maintainability-observability-contract
|
|
6
|
-
sync_policy: copy_to_project
|
|
7
|
-
status: active
|
|
8
|
-
extra:
|
|
9
|
-
name: code-comment-log-contract
|
|
10
|
-
scope:
|
|
11
|
-
- '*'
|
|
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
|
-
- 日志
|
|
23
|
-
- Javadoc
|
|
24
|
-
- logger
|
|
25
|
-
- 代码规范
|
|
26
|
-
- 代码审查
|
|
27
|
-
- 可读性
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 注释契约
|
|
31
|
-
|
|
32
|
-
### 中文 Javadoc 必须具备
|
|
33
|
-
- Java/Kotlin 后端类、接口、枚举、记录必须有中文文档注释,说明类型职责、业务边界和使用场景。
|
|
34
|
-
- 后端每个业务方法必须有中文文档注释,说明方法作用;有入参时说明参数语义;有返回值时说明返回对象或结果含义。
|
|
35
|
-
- Controller、Service、UseCase、DomainService、Repository、Mapper、DTO、VO、Request、Response、Entity 等均适用。
|
|
36
|
-
- 关键业务行必须有中文行注释,尤其是事务双写、状态流转、级联删除、账号联动、外部调用、审计写入、补偿和回滚边界。
|
|
37
|
-
- 允许保留英文代码标识符,但业务说明、风险说明、参数说明、返回说明必须中文表达。
|
|
38
|
-
|
|
39
|
-
### 必须有注释
|
|
40
|
-
- 业务规则不直观时
|
|
41
|
-
- 领域不变量(如"一个用户同一时间只能有一个有效业务办理")
|
|
42
|
-
- 金额、账单、折扣、支付、退款、核验逻辑
|
|
43
|
-
- 状态流转逻辑(如 pending → paid → refunded)
|
|
44
|
-
- 幂等、分布式锁、事务、并发控制
|
|
45
|
-
- 权限、安全、审计判断
|
|
46
|
-
- 外部系统兼容、历史包袱、第三方接口限制
|
|
47
|
-
- 复杂 SQL、复杂查询条件、非显而易见算法
|
|
48
|
-
- 前端复杂交互规则:权限控制、状态流转、表单联动、乐观更新/回滚、支付与敏感操作
|
|
49
|
-
|
|
50
|
-
### 必须禁止
|
|
51
|
-
- 每行废话注释
|
|
52
|
-
- 复述代码字面含义的注释
|
|
53
|
-
- 注释与代码行为不一致
|
|
54
|
-
- 注释承诺了代码没有做到的安全性、幂等性或事务性
|
|
55
|
-
- 用户项目业务注释全英文
|
|
56
|
-
- 只写 `{@inheritDoc}` 但没有说明本实现的业务边界、入参和出参
|
|
57
|
-
|
|
58
|
-
## 日志契约
|
|
59
|
-
|
|
60
|
-
### 日志中必须有
|
|
61
|
-
- 用户登录、登出、认证失败
|
|
62
|
-
- 权限拒绝、越权访问
|
|
63
|
-
- 创建、修改、删除关键业务对象
|
|
64
|
-
- 状态变更、金额变更、支付、退款、折扣、核验
|
|
65
|
-
- 合同、业务办理、账单、证照、人员角色变更
|
|
66
|
-
- 外部 API 调用失败、超时、重试
|
|
67
|
-
- 异步任务开始、成功、失败、重试、跳过
|
|
68
|
-
- 数据修复、批处理、迁移脚本
|
|
69
|
-
- 捕获异常后继续执行
|
|
70
|
-
- 降级、兜底、补偿逻辑
|
|
71
|
-
- 前端关键交互:表单提交、状态变更、权限动作、支付/敏感操作、上传导入、API 调用失败
|
|
72
|
-
|
|
73
|
-
### 日志必须具备的要素
|
|
74
|
-
- 中文事件名或中文动作说明
|
|
75
|
-
- 事件名或动作名
|
|
76
|
-
- 业务对象 ID
|
|
77
|
-
- 操作人或系统来源
|
|
78
|
-
- traceId / correlationId(如果项目已有)
|
|
79
|
-
- 失败原因
|
|
80
|
-
- 关键状态变化前后值
|
|
81
|
-
- 合理日志级别
|
|
82
|
-
|
|
83
|
-
### 日志中必须禁止
|
|
84
|
-
- 裸 console.log(生产代码)
|
|
85
|
-
- 生产代码遗留调试日志
|
|
86
|
-
- catch 后无日志直接吞异常
|
|
87
|
-
- 只打印 "error"、"failed" 这类不可定位日志
|
|
88
|
-
- 用户项目业务日志全英文
|
|
89
|
-
- 打印 password、token、secret、cookie、身份证全量、手机号全量、银行卡全量、健康隐私
|
|
90
|
-
- 高频循环里刷屏日志
|
|
91
|
-
- 日志拼接大对象导致性能或隐私问题
|
|
92
|
-
|
|
93
|
-
## 项目 logger 识别
|
|
94
|
-
- Java/Spring: Slf4j + LoggerFactory
|
|
95
|
-
- Node/Express/NestJS: pino, winston, NestJS Logger, 项目封装 logger
|
|
96
|
-
- Python/FastAPI、Go handler、.NET、Ruby 等后端: 使用项目现有 logger 或先建立 logger 包装
|
|
97
|
-
- NestJS: Logger
|
|
98
|
-
- React/Vue/Svelte 等前端: 项目封装 logger、埋点或错误上报,生产环境禁止裸 console
|
|
99
|
-
- 如果项目没有 logger,要求先建立项目 logger 包装
|
|
100
|
-
|
|
101
|
-
## 跨技术栈适用范围
|
|
102
|
-
- 后端不限定 Spring:Controller、Service、UseCase、Handler、Router、Resolver、ViewSet、Repository、Mapper 等写操作都适用。
|
|
103
|
-
- 前端不限定框架:React、Vue、Svelte、移动端页面和状态 store 的业务提交、状态变更、权限动作和 API 失败都适用。
|
|
104
|
-
- Entity、Request、Response、VO、DTO、Schema、Serializer、Model 等用户项目契约类的业务字段需要中文含义说明或 Schema 注解。
|
|
105
|
-
- Java Entity 使用 Getter/Setter 分层访问策略;DTO、VO、Request、Response 使用 Data 风格承载边界数据,不得混用导致领域模型语义被抹平。
|
|
106
|
-
|
|
107
|
-
## 严重度
|
|
108
|
-
- P0 阻断: 敏感信息泄漏、catch 吞异常、支付/金额/权限变更无日志
|
|
109
|
-
- P1 阻断: 状态流转无日志、复杂规则无注释、后端类/方法中文 Javadoc 缺失、关键行中文注释缺失、中文日志缺失、外部调用无日志、裸 console.log
|
|
110
|
-
- P2 警告: 日志级别不合理、上下文字段不足
|
|
111
|
-
- P3 建议: 普通可读性优化
|
|
112
|
-
|
|
113
|
-
## 低风险跳过
|
|
114
|
-
- 纯样式、文案、简单 getter/setter、简单类型定义、测试 fixture
|
|
115
|
-
- 低风险只读查询且已有统一 access log
|
|
116
|
-
- 简单配置修改、一次性本地实验代码
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-hard-rule-任务上下文生命周期规则
|
|
3
|
-
kind: guidance
|
|
4
|
-
title: 任务上下文生命周期
|
|
5
|
-
triggers: []
|
|
6
|
-
owner_mechanism: mc-task-context-lifecycle
|
|
7
|
-
sync_policy: engine_only
|
|
8
|
-
status: active
|
|
9
|
-
extra:
|
|
10
|
-
name: task-context-lifecycle
|
|
11
|
-
scope:
|
|
12
|
-
- '*'
|
|
13
|
-
products:
|
|
14
|
-
- '*'
|
|
15
|
-
type: constraint
|
|
16
|
-
lifecycle_status: active
|
|
17
|
-
version: 1.1.0
|
|
18
|
-
last_reviewed: '2026-06-01'
|
|
19
|
-
verification_layer: L2
|
|
20
|
-
stage: _global
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
# 任务上下文生命周期规则
|
|
24
|
-
|
|
25
|
-
## hard_rules
|
|
26
|
-
|
|
27
|
-
- TaskContext 只保存可恢复工程事实(facts、refs、status、evidence id),禁止存储推理过程、chain-of-thought、原始 stdout/stderr 和 Batch 临时字段。
|
|
28
|
-
- 状态转换必须经过 transition gate 验证:created → in_progress → verifying → delivering → completed | failed | degraded。
|
|
29
|
-
- `verify()` 后的 TaskContext 必须 freeze,后续修改必须走 `repair_reverify` 路径。
|
|
30
|
-
- `TaskContextSnapshot` 必须在每次状态转换时生成,用于审计和回滚。
|
|
31
|
-
- 敏感信息(secret、token、credential)禁止写入 TaskContext,必须使用 SecretReference 间接引用。
|
|
32
|
-
- `cleanup()` 不得删除被 evidence 引用的 TaskContext 条目。
|
|
33
|
-
|
|
34
|
-
## not_done_if_missing
|
|
35
|
-
|
|
36
|
-
- TaskContext 混入 chain-of-thought 或 secret → hard fail。
|
|
37
|
-
- 无效状态转换(如 created → completed)→ hard fail。
|
|
38
|
-
- cleanup 删除被引用的 evidence → hard fail。
|
|
39
|
-
- TaskContext 不可恢复(进程重启后丢失关键事实)→ degraded。
|
|
40
|
-
|
|
41
|
-
## verification_evidence
|
|
42
|
-
|
|
43
|
-
- `tests/engine/task_context.test.ts` 覆盖状态转换、字段过滤、snapshot 生成。
|
|
44
|
-
- `status_transition_gate` 运行时检查阻断无效转换。
|
|
45
|
-
- `diagnostic_codes`: invalid-transition, forbidden-field, evidence-deleted。
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-task_context_lifecycle
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 任务状态机
|
|
5
|
-
sync_policy: engine_only
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: task_context_lifecycle
|
|
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
|
-
- 任务状态机强制执行 VALID_TRANSITIONS,非法转移抛出错误
|
|
25
|
-
- 合法状态: classifying → planning → expanding → executing → verifying → learning → delivering → completed
|
|
26
|
-
- 可从 executing/verifying/learning 回到 classifying(重新分类)
|
|
27
|
-
- 可从任何非 terminal 状态进入 failed/cancelled
|
|
28
|
-
- 所有 handler 依赖此状态机约束,违反即 hard fail
|
|
29
|
-
|
|
30
|
-
## 验收项
|
|
31
|
-
|
|
32
|
-
- [AC-01] 合法状态转移成功执行
|
|
33
|
-
- [AC-02] 非法状态转移抛出错误
|
|
34
|
-
- [AC-03] handler 生命周期测试覆盖所有转移路径
|
|
35
|
-
- [AC-04] 并发场景下无竞态条件
|
|
36
|
-
|
|
37
|
-
## 何时使用
|
|
38
|
-
|
|
39
|
-
核心状态机,所有 handler 依赖此约束
|
|
40
|
-
|
|
41
|
-
## 是否 hard block
|
|
42
|
-
|
|
43
|
-
是。此能力为 enforced 状态,违规即 hard fail 阻断流程。
|
|
44
|
-
|
|
45
|
-
## 证据要求
|
|
46
|
-
|
|
47
|
-
- 全量状态转移测试通过
|
|
48
|
-
- handler 生命周期测试通过
|
|
49
|
-
- 无已知逃逸缺陷
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
## 人工确认/降级边界
|
|
53
|
-
|
|
54
|
-
- enforced 能力不可跳过,违反即阻断
|
|
55
|
-
- 降级需经 治理运行时 + 人工确认,提供 escape report 证据
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-job_manager
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 任务管理器
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: job_manager
|
|
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
|
-
- JobManager 管理 任务生命周期: 创建、更新 checkpoint、heartbeat、恢复、取消
|
|
25
|
-
- CognitiveAnchor 记录阶段、摘要、关键决策、待办事项
|
|
26
|
-
- resumeFromCheckpoint 从最近 checkpoint 恢复任务
|
|
27
|
-
- listActiveJobs 列出活跃任务,过滤过期任务
|
|
28
|
-
- checkpoint 用于中断恢复和进度追踪
|
|
29
|
-
|
|
30
|
-
## 验收项
|
|
31
|
-
|
|
32
|
-
- [AC-01] 任务创建返回有效 ID
|
|
33
|
-
- [AC-02] checkpoint 更新正确
|
|
34
|
-
- [AC-03] 过期任务被过滤
|
|
35
|
-
- [AC-04] 恢复从 checkpoint 继续
|
|
36
|
-
|
|
37
|
-
## 何时使用
|
|
38
|
-
|
|
39
|
-
advisory: 任务管理是辅助工具,不强制要求使用
|
|
40
|
-
|
|
41
|
-
## 是否 hard block
|
|
42
|
-
|
|
43
|
-
否。此能力为 advisory 状态,违规仅产生 advisory 警告,不阻断流程。
|
|
44
|
-
|
|
45
|
-
## 证据要求
|
|
46
|
-
|
|
47
|
-
- checkpoint 更新测试通过
|
|
48
|
-
- 恢复测试通过
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
## 人工确认/降级边界
|
|
52
|
-
|
|
53
|
-
- 此能力可被开发者决策覆盖
|
|
54
|
-
- 升级到 enforced 需满足 promotion_conditions 并通过 lifecycle_test_files 测试
|
|
55
|
-
- 降级/禁用需经 治理运行时 + 人工确认
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-graceful-shutdown
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 优雅停机
|
|
5
|
-
sync_policy: copy_to_project
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: graceful-shutdown
|
|
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-backend-pattern
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 决策规则
|
|
23
|
-
- 服务必须实现优雅停机:收到 SIGTERM 后停止接收新请求,等待正在处理请求完成(建议超时 30s)
|
|
24
|
-
- 必须提供健康检查端点:liveness(进程存活)和 readiness(服务就绪,依赖全部可用)
|
|
25
|
-
- 滚动更新期间必须先从注册中心摘除再停机,禁止直接 kill 导致请求丢失
|
|
26
|
-
- 启动时必须等待依赖组件就绪(DB 连接池、Redis、MQ)后再注册到服务发现
|
|
27
|
-
- 定时任务必须在停机时中断执行并记录中断点,重启后可恢复
|
|
28
|
-
- 连接池必须配置合理的超时和最大连接数,防止资源泄漏
|
|
29
|
-
- Spring Boot 应用必须配置 server.shutdown=graceful + spring.lifecycle.timeout-per-shutdown-phase
|
|
30
|
-
- 停机时必须等待正在处理的请求完成(graceful shutdown),设置等待超时(如 30s)
|
|
31
|
-
- 线程池必须在停机时执行 shutdownNow() + awaitTermination(),确保任务不丢失
|
|
32
|
-
- 定时任务必须在停机时停止调度,正在执行的任务必须完成或中断
|
|
33
|
-
- 停机前必须从注册中心(如 Nacos/Eureka)注销,停止接收新流量
|
|
34
|
-
- Spring Boot 必须配置 server.shutdown=graceful 和 spring.lifecycle.timeout-per-shutdown-phase
|
|
35
|
-
|
|
36
|
-
## 验收项
|
|
37
|
-
- [AC-01] 服务实现优雅停机(等待请求完成)
|
|
38
|
-
- [AC-02] 健康检查区分 liveness/readiness
|
|
39
|
-
- [AC-03] 滚动更新先摘除再停机
|
|
40
|
-
- [AC-04] 启动时等待依赖就绪
|
|
41
|
-
- [AC-05] 请求优雅完成
|
|
42
|
-
- [AC-06] 线程池正确关闭
|
|
43
|
-
- [AC-07] 从注册中心注销
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ka-pattern-scope_hook
|
|
3
|
-
kind: knowledge
|
|
4
|
-
title: 作用域与密钥拦截
|
|
5
|
-
sync_policy: internal
|
|
6
|
-
status: active
|
|
7
|
-
extra:
|
|
8
|
-
name: scope_hook
|
|
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
|
-
- checkScope() 校验文件路径是否在 allowed_paths 范围内
|
|
25
|
-
- symlink 解析后校验真实路径,防止路径穿越
|
|
26
|
-
- 路径匹配使用规范化比较,支持通配符
|
|
27
|
-
- 越权访问为 enforced 级别,违规即 hard fail
|
|
28
|
-
|
|
29
|
-
## 验收项
|
|
30
|
-
|
|
31
|
-
- [AC-01] 合法路径通过校验
|
|
32
|
-
- [AC-02] symlink 路径穿越被拦截
|
|
33
|
-
- [AC-03] 越权路径产生 hard fail
|
|
34
|
-
- [AC-04] 通配符匹配正确
|
|
35
|
-
|
|
36
|
-
## 何时使用
|
|
37
|
-
|
|
38
|
-
文件范围和安全是强制门禁
|
|
39
|
-
|
|
40
|
-
## 是否 hard block
|
|
41
|
-
|
|
42
|
-
是。此能力为 enforced 状态,违规即 hard fail 阻断流程。
|
|
43
|
-
|
|
44
|
-
## 证据要求
|
|
45
|
-
|
|
46
|
-
- 路径匹配 + symlink 测试通过
|
|
47
|
-
- 密钥扫描 golden set 通过
|
|
48
|
-
- 无已知越权逃逸
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
## 人工确认/降级边界
|
|
52
|
-
|
|
53
|
-
- enforced 能力不可跳过,违反即阻断
|
|
54
|
-
- 降级需经 治理运行时 + 人工确认,提供 escape report 证据
|