soloforge 1.1.46 → 1.1.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -7
- package/dist/cli/adapter_writers.d.ts +5 -0
- package/dist/cli/adapter_writers.d.ts.map +1 -1
- package/dist/cli/adapter_writers.js +25 -0
- package/dist/cli/adapter_writers.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/scope_check.d.ts +4 -0
- package/dist/cli/scope_check.d.ts.map +1 -0
- package/dist/cli/scope_check.js +41 -0
- package/dist/cli/scope_check.js.map +1 -0
- package/dist/context/adapters/claude_code/hooks.d.ts +5 -7
- package/dist/context/adapters/claude_code/hooks.d.ts.map +1 -1
- package/dist/context/adapters/claude_code/hooks.js +11 -9
- package/dist/context/adapters/claude_code/hooks.js.map +1 -1
- package/dist/context/adapters/shared/integration_guide.js +18 -6
- package/dist/context/adapters/shared/integration_guide.js.map +1 -1
- package/dist/context/adapters/shared/workflow_template.js +1 -1
- package/dist/context/config/intent_schema.d.ts +793 -6
- package/dist/context/config/intent_schema.d.ts.map +1 -1
- package/dist/context/config/intent_schema.js +9 -0
- package/dist/context/config/intent_schema.js.map +1 -1
- package/dist/context/config/resolver.d.ts +9 -0
- package/dist/context/config/resolver.d.ts.map +1 -1
- package/dist/context/config/resolver.js +5 -0
- package/dist/context/config/resolver.js.map +1 -1
- package/dist/core/adversarial_review_store.d.ts +133 -0
- package/dist/core/adversarial_review_store.d.ts.map +1 -0
- package/dist/core/adversarial_review_store.js +161 -0
- package/dist/core/adversarial_review_store.js.map +1 -0
- package/dist/core/domain_transition.d.ts.map +1 -1
- package/dist/core/domain_transition.js +3 -0
- package/dist/core/domain_transition.js.map +1 -1
- package/dist/core/gate_record_store.d.ts +13 -7
- package/dist/core/gate_record_store.d.ts.map +1 -1
- package/dist/core/gate_record_store.js +39 -17
- package/dist/core/gate_record_store.js.map +1 -1
- package/dist/core/git_utils.d.ts +1 -1
- package/dist/core/git_utils.js +1 -1
- package/dist/core/observer.d.ts.map +1 -1
- package/dist/core/observer.js +33 -6
- package/dist/core/observer.js.map +1 -1
- package/dist/core/task_context/constants.js +1 -1
- package/dist/core/task_context/constants.js.map +1 -1
- package/dist/core/task_context/manager.d.ts +4 -0
- package/dist/core/task_context/manager.d.ts.map +1 -1
- package/dist/core/task_context/manager.js +48 -30
- package/dist/core/task_context/manager.js.map +1 -1
- package/dist/core/task_context/manager_setters.d.ts +2 -0
- package/dist/core/task_context/manager_setters.d.ts.map +1 -1
- package/dist/core/task_context/manager_setters.js +10 -0
- package/dist/core/task_context/manager_setters.js.map +1 -1
- package/dist/core/types.d.ts +19 -0
- package/dist/core/types.d.ts.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 +22 -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 +4 -2
- package/dist/domain/build/engine.d.ts.map +1 -1
- package/dist/domain/build/engine.js +38 -5
- package/dist/domain/build/engine.js.map +1 -1
- package/dist/domain/contracts/design_lifecycle_contract.d.ts.map +1 -1
- package/dist/domain/contracts/design_lifecycle_contract.js +11 -4
- package/dist/domain/contracts/design_lifecycle_contract.js.map +1 -1
- package/dist/domain/design/contract.d.ts.map +1 -1
- package/dist/domain/design/contract.js +13 -31
- package/dist/domain/design/contract.js.map +1 -1
- package/dist/domain/design/engine.d.ts +4 -2
- package/dist/domain/design/engine.d.ts.map +1 -1
- package/dist/domain/design/engine.js +39 -4
- package/dist/domain/design/engine.js.map +1 -1
- package/dist/domain/engine_helpers.d.ts +55 -2
- package/dist/domain/engine_helpers.d.ts.map +1 -1
- package/dist/domain/engine_helpers.js +173 -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 +4 -2
- package/dist/domain/operate/engine.d.ts.map +1 -1
- package/dist/domain/operate/engine.js +23 -3
- package/dist/domain/operate/engine.js.map +1 -1
- package/dist/domain/types.d.ts +6 -0
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/types.js.map +1 -1
- package/dist/domain/verify/engine.d.ts +4 -2
- package/dist/domain/verify/engine.d.ts.map +1 -1
- package/dist/domain/verify/engine.js +22 -2
- package/dist/domain/verify/engine.js.map +1 -1
- package/dist/gate/contracts/tool_actions.d.ts +2 -2
- package/dist/gate/contracts/tool_actions.d.ts.map +1 -1
- package/dist/gate/contracts/tool_actions.js +2 -2
- package/dist/gate/contracts/tool_actions.js.map +1 -1
- package/dist/gate/contracts/tool_invocation_contract_registry.js +1 -1
- package/dist/gate/contracts/tool_invocation_contract_registry.js.map +1 -1
- package/dist/gate/executors/executors_artifact.d.ts +19 -0
- package/dist/gate/executors/executors_artifact.d.ts.map +1 -1
- package/dist/gate/executors/executors_artifact.js +108 -8
- package/dist/gate/executors/executors_artifact.js.map +1 -1
- package/dist/gate/executors/executors_build.d.ts.map +1 -1
- package/dist/gate/executors/executors_build.js +17 -15
- package/dist/gate/executors/executors_build.js.map +1 -1
- package/dist/gate/executors/executors_external_command.d.ts.map +1 -1
- package/dist/gate/executors/executors_external_command.js +32 -0
- package/dist/gate/executors/executors_external_command.js.map +1 -1
- package/dist/gate/executors/executors_field_mapping.d.ts +7 -0
- package/dist/gate/executors/executors_field_mapping.d.ts.map +1 -0
- package/dist/gate/executors/executors_field_mapping.js +179 -0
- package/dist/gate/executors/executors_field_mapping.js.map +1 -0
- package/dist/gate/executors/executors_prerequisite.d.ts.map +1 -1
- package/dist/gate/executors/executors_prerequisite.js +27 -7
- package/dist/gate/executors/executors_prerequisite.js.map +1 -1
- package/dist/gate/executors/executors_regex_scan.d.ts.map +1 -1
- package/dist/gate/executors/executors_regex_scan.js +36 -15
- package/dist/gate/executors/executors_regex_scan.js.map +1 -1
- package/dist/gate/executors/executors_scope.js +4 -4
- package/dist/gate/executors/executors_scope.js.map +1 -1
- package/dist/gate/executors/executors_trace.d.ts +5 -0
- package/dist/gate/executors/executors_trace.d.ts.map +1 -1
- package/dist/gate/executors/executors_trace.js +186 -3
- package/dist/gate/executors/executors_trace.js.map +1 -1
- package/dist/gate/executors/index.d.ts.map +1 -1
- package/dist/gate/executors/index.js +2 -0
- package/dist/gate/executors/index.js.map +1 -1
- package/dist/gate/gate_engine.d.ts +9 -0
- package/dist/gate/gate_engine.d.ts.map +1 -1
- package/dist/gate/gate_engine.js +15 -0
- package/dist/gate/gate_engine.js.map +1 -1
- package/dist/gate/gate_registry_bridge.d.ts +9 -8
- package/dist/gate/gate_registry_bridge.d.ts.map +1 -1
- package/dist/gate/gate_registry_bridge.js +57 -16
- package/dist/gate/gate_registry_bridge.js.map +1 -1
- package/dist/gate/middleware_gates.js +1 -1
- package/dist/gate/middleware_gates.js.map +1 -1
- package/dist/gate/scope_resolver.d.ts +7 -0
- package/dist/gate/scope_resolver.d.ts.map +1 -1
- package/dist/gate/scope_resolver.js +1 -1
- package/dist/gate/scope_resolver.js.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/server/tools/sf_doctor.d.ts +2 -0
- package/dist/server/tools/sf_doctor.d.ts.map +1 -1
- package/dist/server/tools/sf_doctor.js +35 -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_task.d.ts +83 -0
- package/dist/server/tools/sf_task.d.ts.map +1 -1
- package/dist/server/tools/sf_task.js +121 -4
- package/dist/server/tools/sf_task.js.map +1 -1
- package/dist/server/tools/sf_work.d.ts +203 -0
- package/dist/server/tools/sf_work.d.ts.map +1 -1
- package/dist/server/tools/sf_work.js +549 -46
- package/dist/server/tools/sf_work.js.map +1 -1
- package/dist/shared/traceability_id_utils.js +3 -3
- package/dist/shared/traceability_id_utils.js.map +1 -1
- package/dist/verify/contracts/decision_workshop.d.ts.map +1 -1
- package/dist/verify/contracts/decision_workshop.js +4 -3
- package/dist/verify/contracts/decision_workshop.js.map +1 -1
- package/package.json +2 -1
- package/templates/build/enforced.md +299 -39
- 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/263/250/351/207/212/347/272/252/345/276/213.md +48 -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 +31 -24
- package/templates/build//347/274/226/347/240/201/347/272/252/345/276/213.md +101 -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 +38 -28
- package/templates/design/enforced.md +234 -74
- package/templates/design//345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201/345/257/274/350/210/252.md +5 -2
- 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 +51 -55
- package/templates/design//345/274/200/345/217/221/345/210/207/347/211/207/350/256/241/345/210/222.md +75 -0
- package/templates/design//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/346/226/207/346/241/243.md +35 -47
- package/templates/design//346/236/266/346/236/204/350/256/276/350/256/241.md +63 -81
- package/templates/design//350/256/276/350/256/241/345/206/263/347/255/226/347/272/252/345/276/213.md +58 -0
- package/templates/design//350/256/276/350/256/241/350/264/250/351/207/217/350/246/201/347/202/271.md +58 -0
- package/templates/design//351/234/200/346/261/202/345/210/206/346/236/220.md +49 -53
- package/templates/operate/UI/350/247/206/350/247/211/351/252/214/346/224/266/347/272/252/345/276/213.md +74 -0
- package/templates/operate/enforced.md +52 -5
- 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 +22 -1
- package/templates/operate//351/203/250/347/275/262/351/205/215/347/275/256.md +93 -0
- package/templates/shared/enforced.md +83 -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/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246.md +1 -1
- 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//347/240/224/350/256/250/350/256/260/345/275/225.md +54 -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 +87 -263
- package/templates/verify//344/272/244/344/273/230/345/256/214/345/244/207/346/200/247/345/256/241/346/237/245.md +46 -87
- package/templates/verify//344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +17 -0
- package/templates/verify//345/256/241/346/237/245/346/270/205/345/215/225.md +79 -0
- package/templates/verify//346/236/266/346/236/204/350/257/255/344/271/211/347/272/242/347/272/277.md +60 -0
- package/templates/verify//351/252/214/350/257/201/346/226/271/346/263/225.md +72 -0
- package/dist/core/scope_checker.d.ts +0 -29
- package/dist/core/scope_checker.d.ts.map +0 -1
- package/dist/core/scope_checker.js +0 -53
- package/dist/core/scope_checker.js.map +0 -1
- 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
|
@@ -23,55 +23,37 @@ export const designContract = {
|
|
|
23
23
|
gate: "design-gate",
|
|
24
24
|
template: "需求分析.md",
|
|
25
25
|
},
|
|
26
|
-
{
|
|
27
|
-
kind: "current_system_analysis",
|
|
28
|
-
path_pattern: "docs/existing-system/现有系统分析.md",
|
|
29
|
-
required: false,
|
|
30
|
-
gate: "design-gate",
|
|
31
|
-
template: "迁移评估.md",
|
|
32
|
-
tech_stack_filter: ["brownfield"],
|
|
33
|
-
},
|
|
34
26
|
{
|
|
35
27
|
kind: "design_doc",
|
|
36
28
|
path_pattern: "docs/architecture/01-架构设计文档.md",
|
|
37
29
|
required: true,
|
|
38
30
|
gate: "design-gate",
|
|
39
31
|
template: "架构设计.md",
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
kind: "detailed_design",
|
|
43
|
-
path_pattern: "docs/design/03-详细设计文档.md",
|
|
44
|
-
required: false,
|
|
45
|
-
gate: "design-gate",
|
|
46
|
-
template: "详细设计.md",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
kind: "task_plan",
|
|
50
|
-
path_pattern: "docs/architecture/02-开发切片计划.md",
|
|
51
|
-
required: false,
|
|
52
|
-
gate: "design-gate",
|
|
53
|
-
template: "切片计划.md",
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
kind: "architecture_decision",
|
|
57
|
-
path_pattern: "docs/architecture/00-架构决策记录.md",
|
|
58
|
-
required: true,
|
|
59
|
-
gate: "design-gate",
|
|
60
|
-
template: "架构决策记录.md",
|
|
32
|
+
references: ["docs/architecture/00-架构决策记录.md"],
|
|
61
33
|
},
|
|
62
34
|
{
|
|
63
35
|
kind: "database_design",
|
|
64
36
|
path_pattern: "docs/design/01-数据库设计文档.md",
|
|
65
|
-
required:
|
|
37
|
+
required: false,
|
|
66
38
|
gate: "design-gate",
|
|
67
39
|
template: "数据库设计文档.md",
|
|
40
|
+
companion_files: ["docs/design/schema.sql"],
|
|
68
41
|
},
|
|
69
42
|
{
|
|
70
43
|
kind: "api_specification",
|
|
71
44
|
path_pattern: "docs/design/02-API接口规格文档.md",
|
|
72
|
-
required:
|
|
45
|
+
required: false,
|
|
73
46
|
gate: "design-gate",
|
|
74
47
|
template: "API接口规格文档.md",
|
|
48
|
+
companion_files: ["docs/api/openapi.yaml"],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
kind: "slice_plan",
|
|
52
|
+
path_pattern: "docs/architecture/02-开发切片计划.md",
|
|
53
|
+
required: true,
|
|
54
|
+
gate: "design-gate",
|
|
55
|
+
template: "开发切片计划.md",
|
|
56
|
+
depends_on: ["database_design", "api_specification"],
|
|
75
57
|
},
|
|
76
58
|
],
|
|
77
59
|
requires_upstream: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/design/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,sBAAsB;YAC5B,YAAY,EAAE,sBAAsB;YACpC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/design/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,sBAAsB;YAC5B,YAAY,EAAE,sBAAsB;YACpC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,gCAAgC;YAC9C,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,CAAC,gCAAgC,CAAC;SAC/C;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,2BAA2B;YACzC,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,YAAY;YACtB,eAAe,EAAE,CAAC,wBAAwB,CAAC;SAC5C;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,YAAY,EAAE,6BAA6B;YAC3C,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,cAAc;YACxB,eAAe,EAAE,CAAC,uBAAuB,CAAC;SAC3C;QACD;YACE,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,gCAAgC;YAC9C,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SACrD;KACF;IACD,iBAAiB,EAAE,EAAE;IACrB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CACvE,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 数据流:TaskContext → observe: DerivedState / act: ActResult
|
|
12
12
|
* 持久化:无(act 只组装 prompt)
|
|
13
13
|
*/
|
|
14
|
-
import type { DerivedState } from "../../core/types.js";
|
|
14
|
+
import type { DerivedState, DomainContract } from "../../core/types.js";
|
|
15
15
|
import type { TaskContext } from "../../types/index.js";
|
|
16
16
|
import type { IDomainEngine, ActResult } from "../types.js";
|
|
17
17
|
import type { Observer } from "../../core/observer.js";
|
|
@@ -19,10 +19,12 @@ import type { Observer } from "../../core/observer.js";
|
|
|
19
19
|
export declare class DesignEngine implements IDomainEngine {
|
|
20
20
|
private readonly observer;
|
|
21
21
|
private readonly projectRoot;
|
|
22
|
-
|
|
22
|
+
/** contract 动态合并用户 artifact produces(.soloforge/knowledge/ + ~/.soloforge/patterns/) */
|
|
23
|
+
get contract(): DomainContract;
|
|
23
24
|
constructor(observer: Observer, projectRoot: string);
|
|
24
25
|
observe(task: TaskContext): Promise<DerivedState>;
|
|
25
26
|
act(task: TaskContext, target: string, upstream: Record<string, string>, feedback?: string): Promise<ActResult>;
|
|
27
|
+
deliberate(task: TaskContext, target: string, upstream: Record<string, string>): Promise<ActResult>;
|
|
26
28
|
/** 允许写入路径 */
|
|
27
29
|
private buildAllowedPaths;
|
|
28
30
|
/** 只读路径 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAYvD,YAAY;AACZ,qBAAa,YAAa,YAAW,aAAa;IAO9C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,wFAAwF;IACxF,IAAI,QAAQ,IAAI,cAAc,CAE7B;gBAGkB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM;IAGhC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjD,GAAG,CACP,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,CAAC;IAsCf,UAAU,CACd,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC;IAmCrB,aAAa;IACb,OAAO,CAAC,iBAAiB;IAWzB,WAAW;IACX,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -12,12 +12,15 @@
|
|
|
12
12
|
* 持久化:无(act 只组装 prompt)
|
|
13
13
|
*/
|
|
14
14
|
import { designContract } from "./contract.js";
|
|
15
|
-
import { loadArtifactTemplate, formatUpstream, buildArtifactPrompt, } from "../engine_helpers.js";
|
|
15
|
+
import { loadArtifactTemplate, formatUpstream, buildArtifactPrompt, buildDeliberationPrompt, deliberationRecordPath, deliberationRecordDir, getExtendedContract, } from "../engine_helpers.js";
|
|
16
16
|
/** 设计域引擎 */
|
|
17
17
|
export class DesignEngine {
|
|
18
18
|
observer;
|
|
19
19
|
projectRoot;
|
|
20
|
-
contract
|
|
20
|
+
/** contract 动态合并用户 artifact produces(.soloforge/knowledge/ + ~/.soloforge/patterns/) */
|
|
21
|
+
get contract() {
|
|
22
|
+
return getExtendedContract(designContract, this.projectRoot);
|
|
23
|
+
}
|
|
21
24
|
constructor(observer, projectRoot) {
|
|
22
25
|
this.observer = observer;
|
|
23
26
|
this.projectRoot = projectRoot;
|
|
@@ -52,12 +55,44 @@ export class DesignEngine {
|
|
|
52
55
|
},
|
|
53
56
|
};
|
|
54
57
|
}
|
|
58
|
+
async deliberate(task, target, upstream) {
|
|
59
|
+
const artifact = this.contract.produces.find((a) => a.kind === target);
|
|
60
|
+
if (!artifact) {
|
|
61
|
+
throw new Error(`设计域无 "${target}" 产物。可用:${this.contract.produces.map((a) => a.kind).join(", ")}`);
|
|
62
|
+
}
|
|
63
|
+
const templateContent = loadArtifactTemplate(this.projectRoot, this.contract.name, "研讨记录.md");
|
|
64
|
+
const recordPath = deliberationRecordPath(this.contract.name, artifact);
|
|
65
|
+
const prompt = buildDeliberationPrompt(task.intent, artifact, { templateContent, upstreamSection: formatUpstream(upstream) }, recordPath);
|
|
66
|
+
// ① db/api 按需产出研讨:design_doc 须在对话框与用户确认 database_design/api_specification 是否需要,
|
|
67
|
+
// 结论写进 §8「产物适用性声明」。声明「适用」→ 强制产出;「不适用」→ 放行(前端/无后端按需不产)。
|
|
68
|
+
const dbApiDeliberation = target === "design_doc"
|
|
69
|
+
? `\n## db/api 产物适用性研讨(必研讨,design_doc §8「产物适用性声明」须据此填写)\n本项目是否需要 database_design / api_specification?逐点与用户对话框研讨:\n1. **是否有后端持久化/数据库**?— 有 → database_design「适用」;纯前端/无持久化 → 「不适用」\n2. **是否有对外 API / 前后端接口**?— 有 → api_specification「适用」;纯内部模块/无接口 → 「不适用」\n3. 收敛结论写进 design_doc §8:\`数据库设计文档:适用/不适用 — 依据:...\`、\`API接口规格文档:适用/不适用 — 依据:...\`\n> 声明「适用」须产出对应产物(XVAL-DBAPI-APPLICABILITY / BLD-DBAPI 强制);「不适用」放行。`
|
|
70
|
+
: "";
|
|
71
|
+
// ② 系统形态研讨:requirement_analysis 须在对话框与用户确认是否前后端、几个端、各端技术栈,
|
|
72
|
+
// 结论写进 §9「系统形态与交付边界」(端清单 FE-*)。涉及前端时强制留痕研讨记录(REQ-DELIB)。
|
|
73
|
+
const systemFormDeliberation = target === "requirement_analysis"
|
|
74
|
+
? `\n## 系统形态研讨(必研讨,需求分析 §9「系统形态与交付边界」须据此填写)\n本项目是什么形态?逐点与用户对话框研讨(不可 AI 代决):\n1. **系统形态**:纯后端 API / 前后端分离 / 多端 / 纯前端?\n2. **有几个端**(若有前端)?逐端命名(单段 FE-* ID:FE-client-01/FE-admin-01,禁多段横杠)+ 各端技术栈(如 Vue3+TS+Vite / uni-app)+ 职责\n3. **前后端契约方式**:RESTful / GraphQL / BFF?\n4. 收敛结论写进需求 §9:系统形态 + 端清单表格(FE-* ID/端名/技术栈/职责/本期交付)+ 交付边界\n> 涉及前端时须留痕研讨记录(REQ-DELIB 强制,docs/研讨记录/设计/需求分析-研讨记录.md);纯后端 API 端清单留空。下游架构 §6.3 据端清单模块化前端(FE-*)。`
|
|
75
|
+
: "";
|
|
76
|
+
return {
|
|
77
|
+
prompt: prompt + dbApiDeliberation + systemFormDeliberation,
|
|
78
|
+
template: "研讨记录.md",
|
|
79
|
+
scope: {
|
|
80
|
+
allowed_paths: [deliberationRecordDir(this.contract.name)],
|
|
81
|
+
read_only_paths: ["src/", "config/"],
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
55
85
|
// ── 私有方法(域差异:scope 计算) ──
|
|
56
86
|
/** 允许写入路径 */
|
|
57
87
|
buildAllowedPaths(artifact) {
|
|
58
|
-
// 设计域产物都在 docs/
|
|
88
|
+
// 设计域产物都在 docs/ 下;附件(companion_files)目录也纳入 scope(bundle 完整产出,通用,不硬编码)
|
|
59
89
|
const dir = artifact.path_pattern.includes("/") ? artifact.path_pattern.split("/").slice(0, -1).join("/") : "docs";
|
|
60
|
-
|
|
90
|
+
const paths = new Set([dir || "docs"]);
|
|
91
|
+
for (const cf of artifact.companion_files ?? []) {
|
|
92
|
+
const cfDir = cf.includes("/") ? cf.split("/").slice(0, -1).join("/") : cf;
|
|
93
|
+
paths.add(cfDir || "docs");
|
|
94
|
+
}
|
|
95
|
+
return [...paths];
|
|
61
96
|
}
|
|
62
97
|
/** 只读路径 */
|
|
63
98
|
buildReadOnlyPaths() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,YAAY;AACZ,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/domain/design/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,13 @@
|
|
|
12
12
|
* 数据流:模板路径 + 上游产物 → 加载/解析 → prompt 段
|
|
13
13
|
* 持久化:只读本地文件(templates/)
|
|
14
14
|
*/
|
|
15
|
+
import type { ArtifactDeclaration, DomainContract } from "../core/types.js";
|
|
15
16
|
/**
|
|
16
17
|
* 加载工程指导(guidance)。两级注入:
|
|
17
18
|
* 一级:该域+shared下所有 guidance 的标题摘要
|
|
18
19
|
* 二级:triggers 匹配 intent 的文件全文注入
|
|
19
20
|
*/
|
|
20
|
-
export declare function loadGuidance(projectRoot: string, domain: string, intent: string): {
|
|
21
|
+
export declare function loadGuidance(projectRoot: string, domain: string, intent: string, artifactKind?: string, builtinRoot?: string): {
|
|
21
22
|
summary: string;
|
|
22
23
|
fullText: string;
|
|
23
24
|
checklist: {
|
|
@@ -29,7 +30,7 @@ export declare function loadGuidance(projectRoot: string, domain: string, intent
|
|
|
29
30
|
* 加载 artifact 模板内容。查找:templates/{domain}/ → templates/shared/。
|
|
30
31
|
* templateName 为空时返回 ""。
|
|
31
32
|
*/
|
|
32
|
-
export declare function loadArtifactTemplate(projectRoot: string, domainName: string, templateName: string): string;
|
|
33
|
+
export declare function loadArtifactTemplate(projectRoot: string, domainName: string, templateName: string, builtinRoot?: string): string;
|
|
33
34
|
/**
|
|
34
35
|
* 格式化上游产物为 prompt 段。无上游时返回空字符串。
|
|
35
36
|
*/
|
|
@@ -47,4 +48,56 @@ export declare function buildArtifactPrompt(taskIntent: string, artifact: {
|
|
|
47
48
|
upstreamSection: string;
|
|
48
49
|
guidanceSection: string;
|
|
49
50
|
}, requirements: string, feedback?: string): string;
|
|
51
|
+
/** 研讨记录所在目录(相对项目根):docs/研讨记录/{域中文}/ */
|
|
52
|
+
export declare function deliberationRecordDir(domain: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* 计算研讨记录文件路径(全中文语义):docs/研讨记录/{域中文}/{产物中文}-研讨记录.md
|
|
55
|
+
* 产物中文名从 path_pattern 文件名派生(去 .md + 去编号前缀如 "01-"),与产物本身中文命名一致。
|
|
56
|
+
*/
|
|
57
|
+
export declare function deliberationRecordPath(domain: string, artifact: {
|
|
58
|
+
path_pattern: string;
|
|
59
|
+
}): string;
|
|
60
|
+
/**
|
|
61
|
+
* 组装产出前研讨 prompt(对话框交互式)。
|
|
62
|
+
* 核心纪律:这是**对话**——AI 必须在对话框与用户交互式头脑风暴,不单方面写记录。
|
|
63
|
+
* 收敛后才把研讨结论总结留痕(供 cross-artifact 对抗审查复核"研讨充分性")。
|
|
64
|
+
*/
|
|
65
|
+
export declare function buildDeliberationPrompt(taskIntent: string, artifact: {
|
|
66
|
+
kind: string;
|
|
67
|
+
path_pattern: string;
|
|
68
|
+
gate: string;
|
|
69
|
+
}, sections: {
|
|
70
|
+
templateContent: string;
|
|
71
|
+
upstreamSection: string;
|
|
72
|
+
}, deliberationPath: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* 扫描用户 artifact 模板(.soloforge/knowledge/ 项目级 + ~/.soloforge/patterns/ 全局级)。
|
|
75
|
+
* 用户 artifact md frontmatter 用 artifact_contract 块声明 domain/artifact_kind/path_pattern/gate/required:
|
|
76
|
+
* kind: artifact
|
|
77
|
+
* artifact_contract:
|
|
78
|
+
* domain: design # 归属域
|
|
79
|
+
* artifact_kind: my_doc # contract produces 的 kind(AI 选 target 用)
|
|
80
|
+
* path_pattern: docs/my.md
|
|
81
|
+
* gate: design-gate
|
|
82
|
+
* required: false
|
|
83
|
+
* template 文件名即本 md 文件名(loadArtifactTemplate 在 .soloforge/knowledge/ 查找)。
|
|
84
|
+
*/
|
|
85
|
+
export declare function getUserArtifacts(projectRoot: string, domain: string): ArtifactDeclaration[];
|
|
86
|
+
/** 合并内置 contract + 用户 artifact produces(4 engine contract getter 用)。无用户 artifact 时返回原 contract。 */
|
|
87
|
+
export declare function getExtendedContract(base: DomainContract, projectRoot: string): DomainContract;
|
|
88
|
+
/**
|
|
89
|
+
* 派生 build 域 scope:合并声明的工程目录(config.projects)+ 探测的源码根 + config/。
|
|
90
|
+
* 多工程结构(根/{端}/src/)下放行所有工程的 src/;单工程(根 src/)向后兼容。
|
|
91
|
+
*/
|
|
92
|
+
export declare function resolveBuildScope(projectRoot: string, config: {
|
|
93
|
+
projects?: Array<{
|
|
94
|
+
dir: string;
|
|
95
|
+
}>;
|
|
96
|
+
} | undefined): string[];
|
|
97
|
+
/**
|
|
98
|
+
* 多端 code 产物的 git hash(verify/doctor 防漂移用)。
|
|
99
|
+
* code 产物分布在 根/{端}/src/:无 src/ → 空(doctor orphan 标志);有 src/ → 项目 HEAD hash(项目级,反映所有代码变更)。
|
|
100
|
+
* 用 HEAD 而非 git hash-object(src/):后者对目录返回空(git hash-object 只支持文件),原 verify 记空 hash 是隐藏 bug。
|
|
101
|
+
*/
|
|
102
|
+
export declare function aggregateMultiSrcHash(projectRoot: string): Promise<string>;
|
|
50
103
|
//# sourceMappingURL=engine_helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_helpers.d.ts","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"engine_helpers.d.ts","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAS5E;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,MAAqB,GAAG;IAC5I,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/E,CAuDA;AA6CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,MAAqB,GACjC,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIvE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,QAAQ,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,EACvF,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CA2BR;AAKD,uCAAuC;AACvC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIjG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC9D,QAAQ,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,EAC9D,gBAAgB,EAAE,MAAM,GACvB,MAAM,CA4CR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA4B3F;AAED,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAI7F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,SAAS,GACxD,MAAM,EAAE,CAIV;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF"}
|
|
@@ -13,17 +13,29 @@
|
|
|
13
13
|
* 持久化:只读本地文件(templates/)
|
|
14
14
|
*/
|
|
15
15
|
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
16
|
-
import { resolve, join } from "node:path";
|
|
16
|
+
import { resolve, join, dirname } from "node:path";
|
|
17
|
+
import { homedir } from "node:os";
|
|
18
|
+
import { fileURLToPath } from "node:url";
|
|
17
19
|
import matter from "gray-matter";
|
|
20
|
+
import { discoverSourceRoots } from "../gate/scope_resolver.js";
|
|
21
|
+
import { getHeadHash } from "../core/git_utils.js";
|
|
22
|
+
/** SoloForge 包根(dist/domain/ → 包根)。定位内置 templates,与 gate_registry_bridge 一致。
|
|
23
|
+
* 修定位 bug:原 loadGuidance/loadArtifactTemplate 用 resolve(projectRoot,"templates"),
|
|
24
|
+
* 生产环境 projectRoot=客户项目根,找不到内置 templates(潜伏不一致,gate_registry_bridge 注释自述)。 */
|
|
25
|
+
const BUILTIN_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..");
|
|
18
26
|
/**
|
|
19
27
|
* 加载工程指导(guidance)。两级注入:
|
|
20
28
|
* 一级:该域+shared下所有 guidance 的标题摘要
|
|
21
29
|
* 二级:triggers 匹配 intent 的文件全文注入
|
|
22
30
|
*/
|
|
23
|
-
export function loadGuidance(projectRoot, domain, intent) {
|
|
31
|
+
export function loadGuidance(projectRoot, domain, intent, artifactKind, builtinRoot = BUILTIN_ROOT) {
|
|
32
|
+
// 内置根(import.meta 定位包根;原 resolve(projectRoot,"templates") 在生产找客户项目/templates 失败)
|
|
33
|
+
// + 用户目录:项目 .soloforge/knowledge/ + 全局 ~/.soloforge/patterns/,用户 guidance 自动注入(软下限)
|
|
24
34
|
const dirs = [
|
|
25
|
-
resolve(
|
|
26
|
-
resolve(
|
|
35
|
+
resolve(builtinRoot, "templates", domain),
|
|
36
|
+
resolve(builtinRoot, "templates", "shared"),
|
|
37
|
+
resolve(projectRoot, ".soloforge", "knowledge"),
|
|
38
|
+
resolve(homedir(), ".soloforge", "patterns"),
|
|
27
39
|
];
|
|
28
40
|
const allGuidance = [];
|
|
29
41
|
for (const dir of dirs) {
|
|
@@ -37,11 +49,13 @@ export function loadGuidance(projectRoot, domain, intent) {
|
|
|
37
49
|
if (data.kind !== "guidance" || data.status === "retired")
|
|
38
50
|
continue;
|
|
39
51
|
const triggers = Array.isArray(data.triggers) ? data.triggers : [];
|
|
52
|
+
const targetArtifact = Array.isArray(data.target_artifact) ? data.target_artifact.map(String) : [];
|
|
40
53
|
allGuidance.push({
|
|
41
54
|
id: String(data.id || f.replace(".md", "")),
|
|
42
55
|
title: String(data.title || data.id || f.replace(".md", "")),
|
|
43
56
|
content: body.trim(),
|
|
44
57
|
triggers,
|
|
58
|
+
targetArtifact,
|
|
45
59
|
});
|
|
46
60
|
}
|
|
47
61
|
}
|
|
@@ -54,7 +68,16 @@ export function loadGuidance(projectRoot, domain, intent) {
|
|
|
54
68
|
// 导致 25 个 shared guidance 每次灌入约 15K 字噪音,淹没真正匹配的关键规则。
|
|
55
69
|
// 空 triggers 的 guidance 仍出现在上面的一级摘要(标题列表),AI 可主动引用。
|
|
56
70
|
const intentLower = intent.toLowerCase();
|
|
57
|
-
const matched = allGuidance.filter((g) =>
|
|
71
|
+
const matched = allGuidance.filter((g) => {
|
|
72
|
+
if (artifactKind && g.targetArtifact.length > 0) {
|
|
73
|
+
// per-产物模式:产物专属 guidance(标了 target_artifact)按产物匹配直接注入,不依赖 intent triggers。
|
|
74
|
+
// intent 是用户业务描述("做用户管理系统"),不含产物名("详细设计审查"),
|
|
75
|
+
// 所以产物专属经验必须按 target_artifact 确定性注入,而非靠 triggers 匹配 intent。
|
|
76
|
+
return g.targetArtifact.includes(artifactKind);
|
|
77
|
+
}
|
|
78
|
+
// 通用 guidance(无 target_artifact)+ 域级模式(不传 artifactKind):按 triggers 匹配 intent 注入
|
|
79
|
+
return g.triggers.length > 0 && g.triggers.some((t) => intentLower.includes(t.toLowerCase()));
|
|
80
|
+
});
|
|
58
81
|
const fullText = applyInjectionBudget(matched, intentLower);
|
|
59
82
|
const checklist = allGuidance.map((g) => ({ id: g.id, title: g.title }));
|
|
60
83
|
return { summary, fullText, checklist };
|
|
@@ -102,12 +125,14 @@ function applyInjectionBudget(matched, intentLower) {
|
|
|
102
125
|
* 加载 artifact 模板内容。查找:templates/{domain}/ → templates/shared/。
|
|
103
126
|
* templateName 为空时返回 ""。
|
|
104
127
|
*/
|
|
105
|
-
export function loadArtifactTemplate(projectRoot, domainName, templateName) {
|
|
128
|
+
export function loadArtifactTemplate(projectRoot, domainName, templateName, builtinRoot = BUILTIN_ROOT) {
|
|
106
129
|
if (!templateName)
|
|
107
130
|
return "";
|
|
131
|
+
// 内置根(import.meta)+ 用户目录(用户 artifact 模板预留)
|
|
108
132
|
const candidates = [
|
|
109
|
-
resolve(
|
|
110
|
-
resolve(
|
|
133
|
+
resolve(builtinRoot, "templates", domainName, templateName),
|
|
134
|
+
resolve(builtinRoot, "templates", "shared", templateName),
|
|
135
|
+
resolve(projectRoot, ".soloforge", "knowledge", templateName),
|
|
111
136
|
];
|
|
112
137
|
for (const p of candidates) {
|
|
113
138
|
if (existsSync(p))
|
|
@@ -154,4 +179,144 @@ export function buildArtifactPrompt(taskIntent, artifact, sections, requirements
|
|
|
154
179
|
parts.push(requirements);
|
|
155
180
|
return parts.join("\n");
|
|
156
181
|
}
|
|
182
|
+
/** 域名 → 中文标签(研讨记录路径用,遵循项目产物中文命名语义) */
|
|
183
|
+
const DOMAIN_ZH = { design: "设计", build: "构建", verify: "验证", operate: "运行" };
|
|
184
|
+
/** 研讨记录所在目录(相对项目根):docs/研讨记录/{域中文}/ */
|
|
185
|
+
export function deliberationRecordDir(domain) {
|
|
186
|
+
return `docs/研讨记录/${DOMAIN_ZH[domain] || domain}/`;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* 计算研讨记录文件路径(全中文语义):docs/研讨记录/{域中文}/{产物中文}-研讨记录.md
|
|
190
|
+
* 产物中文名从 path_pattern 文件名派生(去 .md + 去编号前缀如 "01-"),与产物本身中文命名一致。
|
|
191
|
+
*/
|
|
192
|
+
export function deliberationRecordPath(domain, artifact) {
|
|
193
|
+
const base = artifact.path_pattern.split("/").pop() || "产物";
|
|
194
|
+
const product = base.replace(/\.md$/, "").replace(/^\d+-/, "");
|
|
195
|
+
return `${deliberationRecordDir(domain)}${product}-研讨记录.md`;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* 组装产出前研讨 prompt(对话框交互式)。
|
|
199
|
+
* 核心纪律:这是**对话**——AI 必须在对话框与用户交互式头脑风暴,不单方面写记录。
|
|
200
|
+
* 收敛后才把研讨结论总结留痕(供 cross-artifact 对抗审查复核"研讨充分性")。
|
|
201
|
+
*/
|
|
202
|
+
export function buildDeliberationPrompt(taskIntent, artifact, sections, deliberationPath) {
|
|
203
|
+
const parts = [];
|
|
204
|
+
parts.push(`# 任务:产出「${artifact.kind}」前的条件研讨(对话框交互式)`);
|
|
205
|
+
parts.push(`\n用户意图:${taskIntent}`);
|
|
206
|
+
parts.push(`研讨记录留痕路径(对话收敛后总结写入):${deliberationPath}`);
|
|
207
|
+
if (sections.upstreamSection) {
|
|
208
|
+
parts.push(`\n## 上游产物参考`);
|
|
209
|
+
parts.push(sections.upstreamSection);
|
|
210
|
+
}
|
|
211
|
+
parts.push(`\n## 核心纪律:这是对话,不是单方面产出`);
|
|
212
|
+
parts.push(`你是**研讨引导者**,必须在对话框与用户**交互式头脑风暴**——不要自己下结论、不要先写文件。每个有疑问的点都要与用户来回讨论后再收敛。`);
|
|
213
|
+
parts.push(`
|
|
214
|
+
## 研讨流程(与用户在对话框交互)
|
|
215
|
+
|
|
216
|
+
### 第 1 步:识别不确定点(对话框告诉用户)
|
|
217
|
+
列出本次产出的关键不确定点(技术选型 / 边界假设 / 信息缺口 / 接口契约 / 异常处理 / 性能与安全取舍),在对话框告诉用户,问:哪些需要深入研讨?哪些你已明确?
|
|
218
|
+
|
|
219
|
+
### 第 2 步:逐点交互研讨(有疑问的点,对话框来回)
|
|
220
|
+
对每个有疑问的点:
|
|
221
|
+
1. **发散**:在对话框列多个可能方案,问用户倾向与理由(不替用户决定)
|
|
222
|
+
2. **第一性原理收敛**:回到根本约束(用户根本需求 / 物理与成本 / 已有架构 / 可证伪事实),与用户一起推导,淘汰经不起追问的
|
|
223
|
+
3. **对话收敛**:与用户讨论达成共识,再进下一点
|
|
224
|
+
|
|
225
|
+
### 第 3 步:无疑问的点(一行向用户确认,快速跳过)
|
|
226
|
+
\`[点] 我倾向按 X 处理,依据 Y,你认可吗?\` —— 用户认可即跳过。
|
|
227
|
+
|
|
228
|
+
### 第 4 步:收敛确认(对话框汇总与用户确认)
|
|
229
|
+
所有点讨论完,在对话框汇总研讨结论,与用户确认。
|
|
230
|
+
|
|
231
|
+
### 第 5 步:留痕 + 产出
|
|
232
|
+
确认后:
|
|
233
|
+
1. 把研讨结论总结写入 \`${deliberationPath}\`(按下方模板结构,是对话的总结留痕,供 cross-artifact 对抗审查复核"研讨充分性")
|
|
234
|
+
2. 调 sf_work action="act" target="${artifact.kind}" 承接研讨结论产出实际产物
|
|
235
|
+
`);
|
|
236
|
+
if (sections.templateContent) {
|
|
237
|
+
parts.push(`\n## 研讨记录留痕模板(对话收敛后按此结构总结写入)`);
|
|
238
|
+
parts.push(sections.templateContent);
|
|
239
|
+
}
|
|
240
|
+
parts.push(`\n## 要求`);
|
|
241
|
+
parts.push(`- 这是**对话**:每个有疑问的点必须与用户来回讨论后再收敛,禁止 AI 自问自答直接写记录
|
|
242
|
+
- 防偷懒:复杂决策不得直接跳过,必须在对话框与用户研讨
|
|
243
|
+
- 留痕是对话的**总结**,不替代对话;对话未收敛不得先写文件
|
|
244
|
+
- 所有内容使用中文`);
|
|
245
|
+
return parts.join("\n");
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* 扫描用户 artifact 模板(.soloforge/knowledge/ 项目级 + ~/.soloforge/patterns/ 全局级)。
|
|
249
|
+
* 用户 artifact md frontmatter 用 artifact_contract 块声明 domain/artifact_kind/path_pattern/gate/required:
|
|
250
|
+
* kind: artifact
|
|
251
|
+
* artifact_contract:
|
|
252
|
+
* domain: design # 归属域
|
|
253
|
+
* artifact_kind: my_doc # contract produces 的 kind(AI 选 target 用)
|
|
254
|
+
* path_pattern: docs/my.md
|
|
255
|
+
* gate: design-gate
|
|
256
|
+
* required: false
|
|
257
|
+
* template 文件名即本 md 文件名(loadArtifactTemplate 在 .soloforge/knowledge/ 查找)。
|
|
258
|
+
*/
|
|
259
|
+
export function getUserArtifacts(projectRoot, domain) {
|
|
260
|
+
const dirs = [resolve(projectRoot, ".soloforge", "knowledge"), resolve(homedir(), ".soloforge", "patterns")];
|
|
261
|
+
const result = [];
|
|
262
|
+
const seen = new Set();
|
|
263
|
+
for (const dir of dirs) {
|
|
264
|
+
if (!existsSync(dir))
|
|
265
|
+
continue;
|
|
266
|
+
for (const f of readdirSync(dir)) {
|
|
267
|
+
if (!f.endsWith(".md"))
|
|
268
|
+
continue;
|
|
269
|
+
let parsed;
|
|
270
|
+
try {
|
|
271
|
+
parsed = matter(readFileSync(join(dir, f), "utf-8"));
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
const d = parsed.data;
|
|
277
|
+
if (d.kind !== "artifact" || d.status === "retired")
|
|
278
|
+
continue;
|
|
279
|
+
const c = d.artifact_contract;
|
|
280
|
+
if (!c || c.domain !== domain || !c.artifact_kind)
|
|
281
|
+
continue;
|
|
282
|
+
if (seen.has(c.artifact_kind))
|
|
283
|
+
continue; // 同 kind 去重
|
|
284
|
+
seen.add(c.artifact_kind);
|
|
285
|
+
result.push({
|
|
286
|
+
kind: c.artifact_kind,
|
|
287
|
+
path_pattern: c.path_pattern ?? `docs/${c.artifact_kind}.md`,
|
|
288
|
+
required: c.required ?? false,
|
|
289
|
+
gate: c.gate ?? `${domain}-gate`,
|
|
290
|
+
template: f, // 用户模板文件名(loadArtifactTemplate 在用户目录查找)
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return result;
|
|
295
|
+
}
|
|
296
|
+
/** 合并内置 contract + 用户 artifact produces(4 engine contract getter 用)。无用户 artifact 时返回原 contract。 */
|
|
297
|
+
export function getExtendedContract(base, projectRoot) {
|
|
298
|
+
const userArtifacts = getUserArtifacts(projectRoot, base.name);
|
|
299
|
+
if (userArtifacts.length === 0)
|
|
300
|
+
return base;
|
|
301
|
+
return { ...base, produces: [...base.produces, ...userArtifacts] };
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* 派生 build 域 scope:合并声明的工程目录(config.projects)+ 探测的源码根 + config/。
|
|
305
|
+
* 多工程结构(根/{端}/src/)下放行所有工程的 src/;单工程(根 src/)向后兼容。
|
|
306
|
+
*/
|
|
307
|
+
export function resolveBuildScope(projectRoot, config) {
|
|
308
|
+
const declared = (config?.projects ?? []).map((p) => `${p.dir.replace(/\/+$/, "")}/src/`);
|
|
309
|
+
const discovered = discoverSourceRoots(projectRoot).map((r) => r.path);
|
|
310
|
+
return Array.from(new Set([...declared, ...discovered, "src/", "config/"]));
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* 多端 code 产物的 git hash(verify/doctor 防漂移用)。
|
|
314
|
+
* code 产物分布在 根/{端}/src/:无 src/ → 空(doctor orphan 标志);有 src/ → 项目 HEAD hash(项目级,反映所有代码变更)。
|
|
315
|
+
* 用 HEAD 而非 git hash-object(src/):后者对目录返回空(git hash-object 只支持文件),原 verify 记空 hash 是隐藏 bug。
|
|
316
|
+
*/
|
|
317
|
+
export async function aggregateMultiSrcHash(projectRoot) {
|
|
318
|
+
if (discoverSourceRoots(projectRoot).length === 0)
|
|
319
|
+
return "";
|
|
320
|
+
return getHeadHash(projectRoot);
|
|
321
|
+
}
|
|
157
322
|
//# sourceMappingURL=engine_helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine_helpers.js","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"engine_helpers.js","sourceRoot":"","sources":["../../src/domain/engine_helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;+EAE+E;AAC/E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAElF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,MAAc,EAAE,MAAc,EAAE,YAAqB,EAAE,cAAsB,YAAY;IAGzI,iFAAiF;IACjF,oFAAoF;IACpF,MAAM,IAAI,GAAG;QACX,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;QACzC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC3C,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;QAC/C,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC;KAC7C,CAAC;IACF,MAAM,WAAW,GAAmG,EAAE,CAAC;IAEvH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACjC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YACpE,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,cAAc,GAAa,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7G,WAAW,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;gBACpB,QAAQ;gBACR,cAAc;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,UAAU;IACV,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,EAAE,CAAC;IAEP,+CAA+C;IAC/C,qEAAqE;IACrE,qDAAqD;IACrD,oDAAoD;IACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,IAAI,YAAY,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,2EAA2E;YAC3E,6CAA6C;YAC7C,4DAA4D;YAC5D,OAAO,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,gFAAgF;QAChF,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEzE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED,kDAAkD;AAClD,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,OAAwG,EACxG,WAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,4BAA4B;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,GAAG,CAAC;QACJ,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM;KACnF,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;YAC5C,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,yBAAyB,CAAC,GAAG,oBAAoB,IAAI,CAAC,MAAM,MAAM,CAAC;YACvG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC,CAAC;YAC3C,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC;QACjC,CAAC;aAAM,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;YAChE,gBAAgB;YAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1E,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,UAAkB,EAClB,YAAoB,EACpB,cAAsB,YAAY;IAElC,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,2CAA2C;IAC3C,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC;QAC3D,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC;QACzD,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC;KAC9D,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgC;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,QAA8D,EAC9D,QAAuF,EACvF,YAAoB,EACpB,QAAiB;IAEjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpC,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,sCAAsC;AACtC,MAAM,SAAS,GAA2B,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAErG,uCAAuC;AACvC,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,aAAa,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,QAAkC;IACvF,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,OAAO,UAAU,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,QAA8D,EAC9D,QAA8D,EAC9D,gBAAwB;IAExB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,EAAE,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;iBAoBI,gBAAgB;oCACG,QAAQ,CAAC,IAAI;CAChD,CAAC,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC;;;WAGF,CAAC,CAAC;IACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,MAAc;IAClE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7G,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACjC,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YACjF,MAAM,CAAC,GAAG,MAAM,CAAC,IAA+B,CAAC;YACjD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAS;YAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,iBAEC,CAAC;YACd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,aAAa;gBAAE,SAAS;YAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;gBAAE,SAAS,CAAC,YAAY;YACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,CAAC,CAAC,aAAa;gBACrB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,aAAa,KAAK;gBAC5D,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;gBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM,OAAO;gBAChC,QAAQ,EAAE,CAAC,EAAE,wCAAwC;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,mBAAmB,CAAC,IAAoB,EAAE,WAAmB;IAC3E,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,MAAyD;IAEzD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/operate/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/domain/operate/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,YAAY;AACZ,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,eAAe;YACrB,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,wBAAwB;YACtC,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,SAAS;SACpB;KACF;IACD,iBAAiB,EAAE;QACjB;YACE,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,eAAe;YAC9B,SAAS,EAAE,QAAQ;SACpB;QACD;YACE,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,MAAM;YACrB,SAAS,EAAE,QAAQ;SACpB;KACF;IACD,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CACjE,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 数据流:TaskContext → observe: DerivedState / act: ActResult
|
|
12
12
|
* 持久化:无(act 只组装 prompt)
|
|
13
13
|
*/
|
|
14
|
-
import type { DerivedState } from "../../core/types.js";
|
|
14
|
+
import type { DerivedState, DomainContract } from "../../core/types.js";
|
|
15
15
|
import type { TaskContext } from "../../types/index.js";
|
|
16
16
|
import type { IDomainEngine, ActResult } from "../types.js";
|
|
17
17
|
import type { Observer } from "../../core/observer.js";
|
|
@@ -19,9 +19,11 @@ import type { Observer } from "../../core/observer.js";
|
|
|
19
19
|
export declare class OperateEngine implements IDomainEngine {
|
|
20
20
|
private readonly observer;
|
|
21
21
|
private readonly projectRoot;
|
|
22
|
-
|
|
22
|
+
/** contract 动态合并用户 artifact produces */
|
|
23
|
+
get contract(): DomainContract;
|
|
23
24
|
constructor(observer: Observer, projectRoot: string);
|
|
24
25
|
observe(task: TaskContext): Promise<DerivedState>;
|
|
25
26
|
act(task: TaskContext, target: string, upstream: Record<string, string>, feedback?: string): Promise<ActResult>;
|
|
27
|
+
deliberate(task: TaskContext, target: string, upstream: Record<string, string>): Promise<ActResult>;
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/domain/operate/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/domain/operate/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAYvD,YAAY;AACZ,qBAAa,aAAc,YAAW,aAAa;IAO/C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP9B,wCAAwC;IACxC,IAAI,QAAQ,IAAI,cAAc,CAE7B;gBAGkB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM;IAGhC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjD,GAAG,CACP,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,CAAC;IA+Bf,UAAU,CACd,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,SAAS,CAAC;CAsBtB"}
|