soloforge 1.3.1 → 1.3.3
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 +11 -3
- package/dist/adapters/claude_code/claude_md.d.ts.map +1 -1
- package/dist/adapters/claude_code/claude_md.js +4 -0
- package/dist/adapters/claude_code/claude_md.js.map +1 -1
- package/dist/adapters/claude_code/tools.d.ts +10 -10
- package/dist/adapters/claude_code/tools.d.ts.map +1 -1
- package/dist/adapters/claude_code/tools.js +603 -18
- package/dist/adapters/claude_code/tools.js.map +1 -1
- package/dist/adapters/shared/workflow_template.d.ts +26 -0
- package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
- package/dist/adapters/shared/workflow_template.js +140 -46
- package/dist/adapters/shared/workflow_template.js.map +1 -1
- package/dist/bin/soloforge.d.ts.map +1 -1
- package/dist/bin/soloforge.js +316 -54
- package/dist/bin/soloforge.js.map +1 -1
- package/dist/engine/asset_manifest.d.ts +7 -1
- package/dist/engine/asset_manifest.d.ts.map +1 -1
- package/dist/engine/asset_manifest.js +41 -18
- package/dist/engine/asset_manifest.js.map +1 -1
- package/dist/engine/backend_implementation_contract.d.ts +51 -0
- package/dist/engine/backend_implementation_contract.d.ts.map +1 -0
- package/dist/engine/backend_implementation_contract.js +142 -0
- package/dist/engine/backend_implementation_contract.js.map +1 -0
- package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
- package/dist/engine/consumable_asset_registry.js +159 -0
- package/dist/engine/consumable_asset_registry.js.map +1 -1
- package/dist/engine/consumption_trace_store.d.ts +8 -8
- package/dist/engine/consumption_trace_store.d.ts.map +1 -1
- package/dist/engine/consumption_trace_store.js +11 -7
- package/dist/engine/consumption_trace_store.js.map +1 -1
- package/dist/engine/decision_workshop.d.ts +160 -0
- package/dist/engine/decision_workshop.d.ts.map +1 -0
- package/dist/engine/decision_workshop.js +279 -0
- package/dist/engine/decision_workshop.js.map +1 -0
- package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
- package/dist/engine/dual_layer_mechanism_registry.js +300 -2
- package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
- package/dist/engine/explicit_asset_registry.d.ts +30 -0
- package/dist/engine/explicit_asset_registry.d.ts.map +1 -0
- package/dist/engine/explicit_asset_registry.js +3712 -0
- package/dist/engine/explicit_asset_registry.js.map +1 -0
- package/dist/engine/implementation_roadmap_registry.d.ts +2 -2
- package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
- package/dist/engine/implementation_roadmap_registry.js +110 -16
- package/dist/engine/implementation_roadmap_registry.js.map +1 -1
- package/dist/engine/intent_expander.d.ts.map +1 -1
- package/dist/engine/intent_expander.js +46 -2
- package/dist/engine/intent_expander.js.map +1 -1
- package/dist/engine/intent_router.d.ts +1 -1
- package/dist/engine/intent_router.d.ts.map +1 -1
- package/dist/engine/intent_router.js +2 -1
- package/dist/engine/intent_router.js.map +1 -1
- package/dist/engine/knowledge_injection_boundary.d.ts +3 -0
- package/dist/engine/knowledge_injection_boundary.d.ts.map +1 -1
- package/dist/engine/knowledge_injection_boundary.js +48 -5
- package/dist/engine/knowledge_injection_boundary.js.map +1 -1
- package/dist/engine/mechanism_contract_registry.d.ts +1 -1
- package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
- package/dist/engine/mechanism_contract_registry.js +142 -2
- package/dist/engine/mechanism_contract_registry.js.map +1 -1
- package/dist/engine/next_action_planner.d.ts +19 -0
- package/dist/engine/next_action_planner.d.ts.map +1 -0
- package/dist/engine/next_action_planner.js +453 -0
- package/dist/engine/next_action_planner.js.map +1 -0
- package/dist/engine/observed_consumption.d.ts +54 -0
- package/dist/engine/observed_consumption.d.ts.map +1 -0
- package/dist/engine/observed_consumption.js +377 -0
- package/dist/engine/observed_consumption.js.map +1 -0
- package/dist/engine/ood_solid_contract.d.ts +51 -0
- package/dist/engine/ood_solid_contract.d.ts.map +1 -0
- package/dist/engine/ood_solid_contract.js +115 -0
- package/dist/engine/ood_solid_contract.js.map +1 -0
- package/dist/engine/project_stage_detector.d.ts +17 -0
- package/dist/engine/project_stage_detector.d.ts.map +1 -0
- package/dist/engine/project_stage_detector.js +185 -0
- package/dist/engine/project_stage_detector.js.map +1 -0
- package/dist/engine/release_issue_scenario_registry.d.ts +64 -0
- package/dist/engine/release_issue_scenario_registry.d.ts.map +1 -0
- package/dist/engine/release_issue_scenario_registry.js +1362 -0
- package/dist/engine/release_issue_scenario_registry.js.map +1 -0
- package/dist/engine/release_readiness_gate.d.ts +1 -1
- package/dist/engine/release_readiness_gate.d.ts.map +1 -1
- package/dist/engine/release_readiness_gate.js +721 -47
- package/dist/engine/release_readiness_gate.js.map +1 -1
- package/dist/engine/release_tool_harness.d.ts +71 -0
- package/dist/engine/release_tool_harness.d.ts.map +1 -0
- package/dist/engine/release_tool_harness.js +161 -0
- package/dist/engine/release_tool_harness.js.map +1 -0
- package/dist/engine/scaffolder.d.ts.map +1 -1
- package/dist/engine/scaffolder.js +144 -7
- package/dist/engine/scaffolder.js.map +1 -1
- package/dist/engine/stale_current_task_detector.d.ts +30 -0
- package/dist/engine/stale_current_task_detector.d.ts.map +1 -0
- package/dist/engine/stale_current_task_detector.js +168 -0
- package/dist/engine/stale_current_task_detector.js.map +1 -0
- package/dist/engine/standard_asset_contract.d.ts +75 -0
- package/dist/engine/standard_asset_contract.d.ts.map +1 -0
- package/dist/engine/standard_asset_contract.js +388 -0
- package/dist/engine/standard_asset_contract.js.map +1 -0
- package/dist/engine/standard_asset_coverage.d.ts +45 -0
- package/dist/engine/standard_asset_coverage.d.ts.map +1 -0
- package/dist/engine/standard_asset_coverage.js +220 -0
- package/dist/engine/standard_asset_coverage.js.map +1 -0
- package/dist/engine/task_stage_detector.d.ts +19 -0
- package/dist/engine/task_stage_detector.d.ts.map +1 -0
- package/dist/engine/task_stage_detector.js +201 -0
- package/dist/engine/task_stage_detector.js.map +1 -0
- package/dist/engine/template_asset_contract_registry.d.ts +162 -0
- package/dist/engine/template_asset_contract_registry.d.ts.map +1 -0
- package/dist/engine/template_asset_contract_registry.js +598 -0
- package/dist/engine/template_asset_contract_registry.js.map +1 -0
- package/dist/engine/template_asset_visibility.d.ts +109 -0
- package/dist/engine/template_asset_visibility.d.ts.map +1 -0
- package/dist/engine/template_asset_visibility.js +321 -0
- package/dist/engine/template_asset_visibility.js.map +1 -0
- package/dist/engine/template_init_sync.d.ts +68 -0
- package/dist/engine/template_init_sync.d.ts.map +1 -0
- package/dist/engine/template_init_sync.js +218 -0
- package/dist/engine/template_init_sync.js.map +1 -0
- package/dist/engine/template_manifest_io.d.ts +10 -0
- package/dist/engine/template_manifest_io.d.ts.map +1 -1
- package/dist/engine/template_manifest_io.js +63 -30
- package/dist/engine/template_manifest_io.js.map +1 -1
- package/dist/engine/template_mechanism_auditor.d.ts +3 -1
- package/dist/engine/template_mechanism_auditor.d.ts.map +1 -1
- package/dist/engine/template_mechanism_auditor.js +27 -24
- package/dist/engine/template_mechanism_auditor.js.map +1 -1
- package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -1
- package/dist/engine/tool_invocation_contract_registry.js +21 -1
- package/dist/engine/tool_invocation_contract_registry.js.map +1 -1
- package/dist/engine/workflow_navigation_contract.d.ts +115 -0
- package/dist/engine/workflow_navigation_contract.d.ts.map +1 -0
- package/dist/engine/workflow_navigation_contract.js +39 -0
- package/dist/engine/workflow_navigation_contract.js.map +1 -0
- package/dist/knowledge/index_manager.d.ts +20 -0
- package/dist/knowledge/index_manager.d.ts.map +1 -1
- package/dist/knowledge/index_manager.js +234 -3
- package/dist/knowledge/index_manager.js.map +1 -1
- package/dist/types.d.ts +44 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/templates/knowledge/acceptance_templates/OOD/350/256/276/350/256/241/346/221/230/350/246/201/346/250/241/347/211/210.md +60 -0
- package/templates/knowledge/acceptance_templates//345/220/216/347/253/257/345/256/236/347/216/260/351/252/214/346/224/266/346/270/205/345/215/225.md +46 -0
- package/templates/knowledge/procedures/OOD/350/256/276/350/256/241/345/267/245/344/275/234/346/265/201.md +50 -0
- package/templates/knowledge/procedures//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 +100 -0
- package/templates/knowledge/procedures//345/220/216/347/253/257/346/216/245/345/217/243/345/256/236/347/216/260/345/267/245/344/275/234/346/265/201.md +50 -0
- package/templates/knowledge/review_rules/SOLID/344/273/243/347/240/201/345/256/241/346/237/245/350/247/204/345/210/231.md +40 -0
- package/templates/knowledge/review_rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/256/241/346/237/245/350/247/204/345/210/231.md +38 -0
- package/templates/knowledge/rules/OOD/344/270/216SOLID/350/256/276/350/256/241/350/247/204/345/210/231.md +62 -0
- package/templates/knowledge/rules//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/345/245/221/347/272/246/350/247/204/345/210/231.md +55 -0
- package/templates/knowledge/rules//345/267/245/344/275/234/346/265/201/345/257/274/350/210/252/345/245/221/347/272/246/350/247/204/345/210/231.md +113 -0
- package/templates/knowledge/rules//346/240/207/345/207/206/350/265/204/344/272/247/350/246/206/347/233/226/350/247/204/345/210/231.md +72 -0
- package/templates/knowledge/rules//346/250/241/346/235/277/350/265/204/344/272/247/345/217/257/350/247/201/346/200/247/350/247/204/345/210/231.md +71 -0
- package/templates/knowledge/rules//347/224/250/346/210/267/345/217/215/351/246/210/345/245/221/347/272/246/350/247/204/345/210/231.md +62 -1
- package/templates/knowledge/rules//351/200/232/347/224/250/345/206/263/347/255/226/347/240/224/350/256/250/350/247/204/345/210/231.md +77 -0
- package/templates/knowledge/rules//351/252/214/346/224/266/346/250/241/346/235/277/350/276/223/345/207/272/345/245/221/347/272/246/350/247/204/345/210/231.md +96 -0
- package/templates/patterns/SOLID/350/256/276/350/256/241/350/247/204/350/214/203.md +39 -0
- package/templates/patterns//345/220/216/347/253/257/345/256/236/347/216/260/345/267/245/347/250/213/350/247/204/350/214/203.md +39 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: OOD设计摘要模版
|
|
3
|
+
when: '面向对象设计, SOLID, 复杂业务实现'
|
|
4
|
+
scope:
|
|
5
|
+
- backend
|
|
6
|
+
- frontend
|
|
7
|
+
products:
|
|
8
|
+
- '*'
|
|
9
|
+
id: ka-artifact_template-OOD设计摘要模版
|
|
10
|
+
asset_kind: artifact_template
|
|
11
|
+
lifecycle_status: active
|
|
12
|
+
authority: supporting
|
|
13
|
+
owner_mechanism_id: mc-ood-solid-contract
|
|
14
|
+
routes:
|
|
15
|
+
- artifact_generation
|
|
16
|
+
- code_change
|
|
17
|
+
primary_triggers:
|
|
18
|
+
- OOD设计摘要
|
|
19
|
+
secondary_triggers:
|
|
20
|
+
- SOLID
|
|
21
|
+
negative_triggers: []
|
|
22
|
+
priority: P1
|
|
23
|
+
specificity: 5
|
|
24
|
+
consumes:
|
|
25
|
+
- mc-ood-solid-contract
|
|
26
|
+
emits:
|
|
27
|
+
- acceptance_report
|
|
28
|
+
required_evidence:
|
|
29
|
+
- ood_design_summary
|
|
30
|
+
- code_review_findings
|
|
31
|
+
version: 1.0.0
|
|
32
|
+
last_reviewed: '2026-05-26'
|
|
33
|
+
type: acceptance_template
|
|
34
|
+
status: active
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
# OOD/SOLID 设计摘要
|
|
38
|
+
|
|
39
|
+
## 适用性
|
|
40
|
+
|
|
41
|
+
- 任务:
|
|
42
|
+
- 适用/不适用理由:
|
|
43
|
+
|
|
44
|
+
## 对象与职责
|
|
45
|
+
|
|
46
|
+
| 对象/模块 | 单一职责 | 协作者 | 禁止承担的职责 |
|
|
47
|
+
|---|---|---|---|
|
|
48
|
+
| | | | |
|
|
49
|
+
|
|
50
|
+
## 接口与依赖方向
|
|
51
|
+
|
|
52
|
+
| 接口/端口 | 提供者 | 消费者 | 依赖方向 | 替换/测试策略 |
|
|
53
|
+
|---|---|---|---|---|
|
|
54
|
+
| | | | | |
|
|
55
|
+
|
|
56
|
+
## 变化点与 SOLID 复验
|
|
57
|
+
|
|
58
|
+
| 变化点 | SRP | OCP | LSP | ISP | DIP | 复验证据 |
|
|
59
|
+
|---|---|---|---|---|---|---|
|
|
60
|
+
| | | | | | | |
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 后端实现验收清单
|
|
3
|
+
when: '后端实现验收, API编码, Controller, Service'
|
|
4
|
+
scope:
|
|
5
|
+
- backend
|
|
6
|
+
products:
|
|
7
|
+
- '*'
|
|
8
|
+
id: ka-artifact_template-后端实现验收清单
|
|
9
|
+
asset_kind: artifact_template
|
|
10
|
+
lifecycle_status: active
|
|
11
|
+
authority: supporting
|
|
12
|
+
owner_mechanism_id: mc-backend-implementation-contract
|
|
13
|
+
routes:
|
|
14
|
+
- code_change
|
|
15
|
+
- verification_only
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 后端实现验收清单
|
|
18
|
+
secondary_triggers:
|
|
19
|
+
- API实现
|
|
20
|
+
negative_triggers: []
|
|
21
|
+
priority: P1
|
|
22
|
+
specificity: 5
|
|
23
|
+
consumes:
|
|
24
|
+
- mc-backend-implementation-contract
|
|
25
|
+
emits:
|
|
26
|
+
- acceptance_report
|
|
27
|
+
required_evidence:
|
|
28
|
+
- backend_work_package
|
|
29
|
+
- verification_result
|
|
30
|
+
version: 1.0.0
|
|
31
|
+
last_reviewed: '2026-05-26'
|
|
32
|
+
type: acceptance_template
|
|
33
|
+
status: active
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
# 后端实现验收清单
|
|
37
|
+
|
|
38
|
+
| 检查项 | 结论 | 权威证据 | 失败修复 |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| 请求 DTO 与字段校验 | | | |
|
|
41
|
+
| 响应 DTO、分页与错误码 | | | |
|
|
42
|
+
| 事务和状态流转 | | | |
|
|
43
|
+
| 幂等与并发冲突 | | | |
|
|
44
|
+
| 权限、租户和审计 | | | |
|
|
45
|
+
| OpenAPI 与 migration 对齐 | | | |
|
|
46
|
+
| 自动化测试和负向案例 | | | |
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: OOD设计工作流
|
|
3
|
+
type: procedure
|
|
4
|
+
when: '面向对象设计, SOLID, 领域服务, 业务规则实现, 重构'
|
|
5
|
+
scope:
|
|
6
|
+
- backend
|
|
7
|
+
- frontend
|
|
8
|
+
products:
|
|
9
|
+
- '*'
|
|
10
|
+
id: ka-procedure-OOD设计工作流
|
|
11
|
+
asset_kind: procedure
|
|
12
|
+
lifecycle_status: active
|
|
13
|
+
authority: supporting
|
|
14
|
+
owner_mechanism_id: mc-ood-solid-contract
|
|
15
|
+
routes:
|
|
16
|
+
- code_change
|
|
17
|
+
- artifact_generation
|
|
18
|
+
primary_triggers:
|
|
19
|
+
- OOD设计工作流
|
|
20
|
+
secondary_triggers:
|
|
21
|
+
- SOLID
|
|
22
|
+
negative_triggers:
|
|
23
|
+
- 文案修改
|
|
24
|
+
priority: P1
|
|
25
|
+
specificity: 5
|
|
26
|
+
consumes:
|
|
27
|
+
- mc-ood-solid-contract
|
|
28
|
+
emits:
|
|
29
|
+
- ood_design_summary
|
|
30
|
+
- code_review_findings
|
|
31
|
+
required_evidence:
|
|
32
|
+
- execution_evidence
|
|
33
|
+
version: 1.0.0
|
|
34
|
+
last_reviewed: '2026-05-26'
|
|
35
|
+
status: active
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 步骤
|
|
39
|
+
|
|
40
|
+
1. 判断任务是否确实存在对象边界或变化点,简单改动记录不适用理由。
|
|
41
|
+
2. 列出对象职责、接口、依赖方向和主要协作流程。
|
|
42
|
+
3. 对五项 SOLID 原则逐项说明适用风险与取舍。
|
|
43
|
+
4. 编码后执行审查和验证,以实际源码 finding 为准。
|
|
44
|
+
5. 存在硬失败则修复并重验,不能仅在报告中解释。
|
|
45
|
+
|
|
46
|
+
## 输出摘要
|
|
47
|
+
|
|
48
|
+
| 对象/模块 | 单一职责 | 依赖接口 | 变化点 | SOLID 风险 | 验证证据 |
|
|
49
|
+
|---|---|---|---|---|---|
|
|
50
|
+
| | | | | | |
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 全生命周期工作流导航
|
|
3
|
+
type: procedure
|
|
4
|
+
when: '下一步, 继续, 现在能写代码吗, 工作流导航, navigation, 阶段判断, 工作包生成'
|
|
5
|
+
scope:
|
|
6
|
+
- backend
|
|
7
|
+
- frontend
|
|
8
|
+
products:
|
|
9
|
+
- '*'
|
|
10
|
+
id: ka-procedure-全生命周期工作流导航
|
|
11
|
+
asset_kind: procedure
|
|
12
|
+
lifecycle_status: active
|
|
13
|
+
authority: supporting
|
|
14
|
+
owner_mechanism_id: mc-workflow-navigation-contract
|
|
15
|
+
routes:
|
|
16
|
+
- operation
|
|
17
|
+
- multi_stage_plan
|
|
18
|
+
- artifact_generation
|
|
19
|
+
primary_triggers:
|
|
20
|
+
- 全生命周期工作流导航
|
|
21
|
+
secondary_triggers:
|
|
22
|
+
- 下一步
|
|
23
|
+
- 继续
|
|
24
|
+
- 现在能写代码吗
|
|
25
|
+
- 阶段导航
|
|
26
|
+
negative_triggers: []
|
|
27
|
+
priority: P0
|
|
28
|
+
specificity: 5
|
|
29
|
+
consumes:
|
|
30
|
+
- mc-workflow-navigation-contract
|
|
31
|
+
- current_task_context
|
|
32
|
+
- project_configuration
|
|
33
|
+
- design_artifact_audit
|
|
34
|
+
- repair_reverify_directive
|
|
35
|
+
emits:
|
|
36
|
+
- next_action_plan
|
|
37
|
+
- executable_work_package
|
|
38
|
+
- prohibited_actions
|
|
39
|
+
required_evidence:
|
|
40
|
+
- project_stage
|
|
41
|
+
- task_stage
|
|
42
|
+
version: 1.0.0
|
|
43
|
+
last_reviewed: '2026-05-26'
|
|
44
|
+
status: active
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
# 全生命周期工作流导航
|
|
48
|
+
|
|
49
|
+
本流程定义了从项目初始化到发布后的完整工作流导航决策树。
|
|
50
|
+
|
|
51
|
+
## 项目生命周期阶段
|
|
52
|
+
|
|
53
|
+
| 阶段 | 判断条件 | 下一步 |
|
|
54
|
+
|------|----------|--------|
|
|
55
|
+
| 未初始化 | .soloforge/ 不存在或无 config.yaml | 运行 soloforge init |
|
|
56
|
+
| 配置待确认 | config.yaml 存在但字段未确认 | 运行 soloforge config confirm |
|
|
57
|
+
| 知识就绪 | 配置已确认、知识库已索引 | 提交开发意图开始新任务 |
|
|
58
|
+
| 设计进行中 | 设计产物存在但未通过审计 | 完成设计并通过审计 |
|
|
59
|
+
| 实现就绪 | 设计产物已通过审计 | 制定开发切片计划 |
|
|
60
|
+
| 开发进行中 | 有任务在编码/验证阶段 | 继续编码和验证 |
|
|
61
|
+
| 交付就绪 | 任务已通过验证 | 进行交付验收 |
|
|
62
|
+
| 已发布 | 已交付上线 | 进入观察期 |
|
|
63
|
+
| 发布后观察 | 发布后验证阶段 | 监控、反馈、回滚预案 |
|
|
64
|
+
|
|
65
|
+
## 任务生命周期阶段
|
|
66
|
+
|
|
67
|
+
任务从分类到交付的完整流程:
|
|
68
|
+
|
|
69
|
+
1. 输入材料收集 → 2. 需求明确化 → 3. 决策研讨 → 4. 架构设计 → 5. 详细设计 → 6. 数据库设计 → 7. API 设计 → 8. 切片规划 → 9. 编码实现 → 10. 本地验证 → 11. 测试 → 12. 代码审查 → 13. 修复复验 → 14. 交付验收 → 15. 发布准备 → 16. 发布后观察
|
|
70
|
+
|
|
71
|
+
## 导航决策流程
|
|
72
|
+
|
|
73
|
+
1. 调用 `sf_navigation` 或 `soloforge next` 获取当前状态
|
|
74
|
+
2. 检查是否有陈旧任务需要处理
|
|
75
|
+
3. 读取返回的 work_package,按描述执行下一步
|
|
76
|
+
4. 遵守 disallowed_actions 中的禁止动作
|
|
77
|
+
5. 执行完成后运行 acceptance_commands 验证
|
|
78
|
+
6. 如需用户确认,暂停并等待确认后再继续
|
|
79
|
+
|
|
80
|
+
## 陈旧任务处理
|
|
81
|
+
|
|
82
|
+
当 current-task.json 指向旧任务时:
|
|
83
|
+
- 选择"恢复":继续旧任务从上次中断处开始
|
|
84
|
+
- 选择"归档":将旧任务标记为归档,清理指针
|
|
85
|
+
- 选择"新建":归档旧任务后开始新任务
|
|
86
|
+
- 不得绕过 SoloForge 直接操作
|
|
87
|
+
|
|
88
|
+
## 常见导航场景
|
|
89
|
+
|
|
90
|
+
**场景: 用户说"继续"**
|
|
91
|
+
→ 调用 sf_navigation 获取 work_package,按描述执行
|
|
92
|
+
|
|
93
|
+
**场景: 用户说"现在能写代码吗"**
|
|
94
|
+
→ sf_navigation 检查项目阶段和设计审计状态,返回允许或阻断原因
|
|
95
|
+
|
|
96
|
+
**场景: 用户说"审查后做什么"**
|
|
97
|
+
→ sf_navigation 检查 code_review 结果,推荐下一步验证或交付
|
|
98
|
+
|
|
99
|
+
**场景: 用户说"发布后做什么"**
|
|
100
|
+
→ sf_navigation 返回发布后观察工作包:验证、监控、反馈收集
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 后端接口实现工作流
|
|
3
|
+
type: procedure
|
|
4
|
+
when: '后端接口, Controller, DTO, API实现, 数据写入'
|
|
5
|
+
scope:
|
|
6
|
+
- backend
|
|
7
|
+
products:
|
|
8
|
+
- '*'
|
|
9
|
+
id: ka-procedure-后端接口实现工作流
|
|
10
|
+
asset_kind: procedure
|
|
11
|
+
lifecycle_status: active
|
|
12
|
+
authority: supporting
|
|
13
|
+
owner_mechanism_id: mc-backend-implementation-contract
|
|
14
|
+
routes:
|
|
15
|
+
- code_change
|
|
16
|
+
- artifact_generation
|
|
17
|
+
primary_triggers:
|
|
18
|
+
- 后端接口实现工作流
|
|
19
|
+
secondary_triggers:
|
|
20
|
+
- REST API
|
|
21
|
+
negative_triggers: []
|
|
22
|
+
priority: P1
|
|
23
|
+
specificity: 5
|
|
24
|
+
consumes:
|
|
25
|
+
- mc-backend-implementation-contract
|
|
26
|
+
emits:
|
|
27
|
+
- backend_work_package
|
|
28
|
+
- verification_result
|
|
29
|
+
required_evidence:
|
|
30
|
+
- execution_evidence
|
|
31
|
+
version: 1.0.0
|
|
32
|
+
last_reviewed: '2026-05-26'
|
|
33
|
+
status: active
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 步骤
|
|
37
|
+
|
|
38
|
+
1. 确认 OpenAPI、数据库 migration、权限与状态流转基线。
|
|
39
|
+
2. 定义请求 DTO、响应 DTO、字段校验、错误码和分页排序边界。
|
|
40
|
+
3. 定义应用服务事务边界、幂等策略、并发控制和审计事件。
|
|
41
|
+
4. 编码并执行单元、集成、权限、重复提交与契约一致性验证。
|
|
42
|
+
5. 审查 finding 清零并提供验收证据后交付。
|
|
43
|
+
|
|
44
|
+
## 工作包
|
|
45
|
+
|
|
46
|
+
| 类别 | 需明确内容 | 证据 |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| 接口边界 | DTO、统一响应、错误码、分页 | OpenAPI/测试 |
|
|
49
|
+
| 一致性 | 事务、幂等、并发、状态流转 | migration/集成测试 |
|
|
50
|
+
| 安全 | 权限、租户、审计、隐私 | 越权测试/审计日志 |
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: SOLID代码审查规则
|
|
3
|
+
type: review_rule
|
|
4
|
+
when: '代码审查, SOLID, 面向对象设计, controller, service'
|
|
5
|
+
scope:
|
|
6
|
+
- backend
|
|
7
|
+
- frontend
|
|
8
|
+
products:
|
|
9
|
+
- '*'
|
|
10
|
+
id: ka-review-rule-SOLID代码审查规则
|
|
11
|
+
asset_kind: review_rule
|
|
12
|
+
lifecycle_status: active
|
|
13
|
+
authority: canonical
|
|
14
|
+
owner_mechanism_id: mc-ood-solid-contract
|
|
15
|
+
routes:
|
|
16
|
+
- code_change
|
|
17
|
+
primary_triggers:
|
|
18
|
+
- SOLID代码审查规则
|
|
19
|
+
secondary_triggers:
|
|
20
|
+
- 重构
|
|
21
|
+
negative_triggers: []
|
|
22
|
+
priority: P1
|
|
23
|
+
specificity: 5
|
|
24
|
+
required_evidence:
|
|
25
|
+
- code_review_findings
|
|
26
|
+
version: 1.0.0
|
|
27
|
+
last_reviewed: '2026-05-26'
|
|
28
|
+
status: active
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 阻断项
|
|
32
|
+
|
|
33
|
+
| 原则 | 阻断表现 | 修复方向 |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| SRP | Controller 承担事务、持久化或业务计算 | 下沉至应用服务并只保留协议映射 |
|
|
36
|
+
| LSP | 子类型对父契约操作抛出 unsupported | 修正抽象层级或拆分契约 |
|
|
37
|
+
| ISP | 宽接口迫使实现提供空方法/异常 | 拆分客户端特定接口 |
|
|
38
|
+
| DIP | 业务服务直接构造外部 SDK 或仓储实现 | 引入端口并通过依赖注入装配 |
|
|
39
|
+
|
|
40
|
+
OCP 的多分支扩展风险可先作为 warning,但必须记录变化维度和后续扩展方案。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 后端实现工程审查规则
|
|
3
|
+
type: review_rule
|
|
4
|
+
when: '后端审查, Controller, DTO, 事务, 幂等, 权限'
|
|
5
|
+
scope:
|
|
6
|
+
- backend
|
|
7
|
+
products:
|
|
8
|
+
- '*'
|
|
9
|
+
id: ka-review-rule-后端实现工程审查规则
|
|
10
|
+
asset_kind: review_rule
|
|
11
|
+
lifecycle_status: active
|
|
12
|
+
authority: canonical
|
|
13
|
+
owner_mechanism_id: mc-backend-implementation-contract
|
|
14
|
+
routes:
|
|
15
|
+
- code_change
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 后端实现工程审查规则
|
|
18
|
+
secondary_triggers:
|
|
19
|
+
- 接口审查
|
|
20
|
+
negative_triggers: []
|
|
21
|
+
priority: P1
|
|
22
|
+
specificity: 5
|
|
23
|
+
required_evidence:
|
|
24
|
+
- code_review_findings
|
|
25
|
+
version: 1.0.0
|
|
26
|
+
last_reviewed: '2026-05-26'
|
|
27
|
+
status: active
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 硬失败检查
|
|
31
|
+
|
|
32
|
+
| 分类 | 失败表现 | 修复要求 |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| Controller 边界 | 入参/出参使用数据库实体 | 改为 DTO/VO 并显式映射 |
|
|
35
|
+
| 参数校验 | POST/PUT/PATCH 未校验 | 补校验注解或验证器与失败测试 |
|
|
36
|
+
| 事务 | 事务中调用 HTTP/MQ/外部 SDK | 拆分边界或采用 outbox/补偿 |
|
|
37
|
+
| 幂等 | 支付、回调或写入无幂等证据 | 补请求键/唯一约束/重复提交测试 |
|
|
38
|
+
| 安全审计 | 敏感接口无权限、租户或审计 | 补安全校验和审计证据 |
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: OOD与SOLID设计规则
|
|
3
|
+
scope:
|
|
4
|
+
- backend
|
|
5
|
+
- frontend
|
|
6
|
+
products:
|
|
7
|
+
- '*'
|
|
8
|
+
id: ka-hard-rule-OOD与SOLID设计规则
|
|
9
|
+
asset_kind: hard_rule
|
|
10
|
+
lifecycle_status: active
|
|
11
|
+
authority: canonical
|
|
12
|
+
owner_mechanism_id: mc-ood-solid-contract
|
|
13
|
+
asset_role: required
|
|
14
|
+
consumed_by:
|
|
15
|
+
- mc-ood-solid-contract
|
|
16
|
+
routes:
|
|
17
|
+
- code_change
|
|
18
|
+
- artifact_generation
|
|
19
|
+
- multi_stage_plan
|
|
20
|
+
primary_triggers:
|
|
21
|
+
- 面向对象设计
|
|
22
|
+
- SOLID
|
|
23
|
+
secondary_triggers:
|
|
24
|
+
- 领域服务
|
|
25
|
+
- 重构
|
|
26
|
+
- 策略
|
|
27
|
+
negative_triggers:
|
|
28
|
+
- 文案
|
|
29
|
+
- 样式
|
|
30
|
+
priority: P1
|
|
31
|
+
specificity: 5
|
|
32
|
+
consumes:
|
|
33
|
+
- mc-coding-readiness
|
|
34
|
+
hard_blocks:
|
|
35
|
+
- ood_summary_missing
|
|
36
|
+
- solid_hard_fail_unresolved
|
|
37
|
+
fallback: manual_required
|
|
38
|
+
required_evidence:
|
|
39
|
+
- ood_design_summary
|
|
40
|
+
- code_review_findings
|
|
41
|
+
version: 1.0.0
|
|
42
|
+
last_reviewed: '2026-05-26'
|
|
43
|
+
status: active
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 编码前门禁
|
|
47
|
+
|
|
48
|
+
复杂业务逻辑、领域模型、服务边界、策略或重构任务在编码前必须给出:
|
|
49
|
+
|
|
50
|
+
- 对象及单一职责。
|
|
51
|
+
- 对外接口与依赖方向。
|
|
52
|
+
- 可变化点与扩展方式。
|
|
53
|
+
- SRP、OCP、LSP、ISP、DIP 风险及验证方式。
|
|
54
|
+
|
|
55
|
+
## 代码审查门禁
|
|
56
|
+
|
|
57
|
+
- Controller 不承担业务计算或持久化职责。
|
|
58
|
+
- 应用/领域服务依赖抽象端口,不直接构造基础设施依赖。
|
|
59
|
+
- 子类型不能拒绝父契约操作,接口不能迫使实现提供无效操作。
|
|
60
|
+
- 同一类型或状态的多处分支应判断是否需要策略扩展点。
|
|
61
|
+
|
|
62
|
+
硬失败未清零时,不得交付。简单文案或样式修改不强行引入对象设计。
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 后端实现工程契约规则
|
|
3
|
+
scope:
|
|
4
|
+
- backend
|
|
5
|
+
products:
|
|
6
|
+
- '*'
|
|
7
|
+
id: ka-hard-rule-后端实现工程契约规则
|
|
8
|
+
asset_kind: hard_rule
|
|
9
|
+
lifecycle_status: active
|
|
10
|
+
authority: canonical
|
|
11
|
+
owner_mechanism_id: mc-backend-implementation-contract
|
|
12
|
+
asset_role: required
|
|
13
|
+
consumed_by:
|
|
14
|
+
- mc-backend-implementation-contract
|
|
15
|
+
routes:
|
|
16
|
+
- code_change
|
|
17
|
+
- artifact_generation
|
|
18
|
+
- multi_stage_plan
|
|
19
|
+
primary_triggers:
|
|
20
|
+
- 后端实现
|
|
21
|
+
- 接口实现
|
|
22
|
+
secondary_triggers:
|
|
23
|
+
- Controller
|
|
24
|
+
- DTO
|
|
25
|
+
- 事务
|
|
26
|
+
- 幂等
|
|
27
|
+
negative_triggers:
|
|
28
|
+
- 文案
|
|
29
|
+
priority: P1
|
|
30
|
+
specificity: 5
|
|
31
|
+
consumes:
|
|
32
|
+
- mc-coding-readiness
|
|
33
|
+
hard_blocks:
|
|
34
|
+
- backend_work_package_missing
|
|
35
|
+
- backend_hard_fail_unresolved
|
|
36
|
+
fallback: manual_required
|
|
37
|
+
required_evidence:
|
|
38
|
+
- backend_work_package
|
|
39
|
+
- verification_result
|
|
40
|
+
version: 1.0.0
|
|
41
|
+
last_reviewed: '2026-05-26'
|
|
42
|
+
status: active
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 编码前必须确认
|
|
46
|
+
|
|
47
|
+
- Controller 只接收 DTO、执行校验、调用应用服务并返回统一响应对象。
|
|
48
|
+
- 写操作的事务、一致性、幂等键、并发冲突处理已定义。
|
|
49
|
+
- 权限、租户隔离、敏感字段与审计日志已定义。
|
|
50
|
+
- OpenAPI、请求/响应字段表、数据库 migration 和错误码有权威对齐依据。
|
|
51
|
+
- 验证计划包含成功、失败、重试、越权、重复提交和边界数据。
|
|
52
|
+
|
|
53
|
+
## 阻断规则
|
|
54
|
+
|
|
55
|
+
直接暴露实体、写接口无校验、事务内外部调用、高风险写入无幂等或敏感接口无安全审计证据,均不得交付。
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 工作流导航契约规则
|
|
3
|
+
scope:
|
|
4
|
+
- '*'
|
|
5
|
+
products:
|
|
6
|
+
- '*'
|
|
7
|
+
id: ka-hard-rule-工作流导航契约规则
|
|
8
|
+
asset_kind: hard_rule
|
|
9
|
+
lifecycle_status: active
|
|
10
|
+
authority: canonical
|
|
11
|
+
owner_mechanism_id: mc-workflow-navigation-contract
|
|
12
|
+
asset_role: required
|
|
13
|
+
consumed_by:
|
|
14
|
+
- mc-workflow-navigation-contract
|
|
15
|
+
- consumable_asset_registry
|
|
16
|
+
- knowledge_injection
|
|
17
|
+
routes:
|
|
18
|
+
- operation
|
|
19
|
+
- multi_stage_plan
|
|
20
|
+
- artifact_generation
|
|
21
|
+
primary_triggers:
|
|
22
|
+
- 工作流导航契约规则
|
|
23
|
+
secondary_triggers:
|
|
24
|
+
- 下一步
|
|
25
|
+
- 继续
|
|
26
|
+
- 现在能写代码吗
|
|
27
|
+
- 导航
|
|
28
|
+
- navigation
|
|
29
|
+
negative_triggers: []
|
|
30
|
+
priority: P0
|
|
31
|
+
specificity: 5
|
|
32
|
+
consumes:
|
|
33
|
+
- mc-workflow-navigation-contract
|
|
34
|
+
hard_blocks:
|
|
35
|
+
- stale_task_bypass
|
|
36
|
+
- disallowed_action_execution
|
|
37
|
+
fallback: manual_required
|
|
38
|
+
required_evidence:
|
|
39
|
+
- project_stage
|
|
40
|
+
- task_stage
|
|
41
|
+
version: 1.0.0
|
|
42
|
+
last_reviewed: '2026-05-26'
|
|
43
|
+
status: active
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 核心原则
|
|
47
|
+
|
|
48
|
+
执行任何开发动作前,必须先查询工作流导航状态。不得绕过导航机制凭经验操作。
|
|
49
|
+
|
|
50
|
+
查询方式:`soloforge next`(CLI)或 `sf_navigation`(MCP 工具)。
|
|
51
|
+
|
|
52
|
+
## 禁止动作规则
|
|
53
|
+
|
|
54
|
+
以下 7 条规则在工作流导航中强制执行:
|
|
55
|
+
|
|
56
|
+
1. **设计审计失败 → 禁止写业务代码**
|
|
57
|
+
- 条件:design_artifact_pack.status 不是 implementation_ready
|
|
58
|
+
- 阻断:sf_execute
|
|
59
|
+
- 必须先通过设计审计复验
|
|
60
|
+
|
|
61
|
+
2. **配置未确认 → 优先建议确认配置**
|
|
62
|
+
- 条件:项目阶段为 configuration_pending
|
|
63
|
+
- 阻断:除 sf_init、config_confirm 外的所有动作
|
|
64
|
+
- 必须先运行 soloforge config confirm
|
|
65
|
+
|
|
66
|
+
3. **决策未确认 → 禁止定稿架构/详细设计/代码**
|
|
67
|
+
- 条件:架构决策研讨中存在未确认域
|
|
68
|
+
- 阻断:sf_execute、sf_expand
|
|
69
|
+
- 必须先完成决策研讨并获取用户确认
|
|
70
|
+
|
|
71
|
+
4. **无开发切片计划 → 禁止大范围编码**
|
|
72
|
+
- 条件:expansion 存在但 planning 不存在
|
|
73
|
+
- 阻断:sf_execute(大范围)
|
|
74
|
+
- 必须先生成切片规划工作包
|
|
75
|
+
|
|
76
|
+
5. **修复重验指令未清零 → 禁止交付**
|
|
77
|
+
- 条件:repair_reverify_directive.blocked = true
|
|
78
|
+
- 阻断:sf_deliver
|
|
79
|
+
- 必须先完成修复和复验
|
|
80
|
+
|
|
81
|
+
6. **测试失败 → 禁止交付**
|
|
82
|
+
- 条件:verification_result.status = failed
|
|
83
|
+
- 阻断:sf_deliver
|
|
84
|
+
- 必须先修复测试
|
|
85
|
+
|
|
86
|
+
7. **本地验收缺失 → 禁止交付结论**
|
|
87
|
+
- 条件:delivery_ready 但无 local_acceptance_evidence
|
|
88
|
+
- 阻断:sf_deliver
|
|
89
|
+
- 必须先完成本地验收
|
|
90
|
+
|
|
91
|
+
## 陈旧任务处理协议
|
|
92
|
+
|
|
93
|
+
当检测到陈旧任务时(如 current-task.json 指向旧任务):
|
|
94
|
+
|
|
95
|
+
- **不得绕过 SoloForge 状态直接操作**
|
|
96
|
+
- **不得说"无需 SoloForge 状态"然后自由发挥**
|
|
97
|
+
- 必须从三个选项中选择:恢复旧任务 / 归档旧任务 / 开始新任务
|
|
98
|
+
- 旧任务文件不得静默删除,只处理 current-task 指针
|
|
99
|
+
- 选择必须留有审计痕迹
|
|
100
|
+
|
|
101
|
+
## Override 协议
|
|
102
|
+
|
|
103
|
+
用户可以显式 override 导航建议,但必须包含:
|
|
104
|
+
- override_reason:覆盖原因
|
|
105
|
+
- user_confirmation_ref:用户确认引用
|
|
106
|
+
- risk_acknowledged:已确认风险
|
|
107
|
+
|
|
108
|
+
无痕 override 不允许。
|
|
109
|
+
|
|
110
|
+
## JSON 输出契约
|
|
111
|
+
|
|
112
|
+
`soloforge next --json` 输出纯 JSON 到 stdout,无日志污染。
|
|
113
|
+
字段包含:project_stage、task_stage、confidence、stage_evidence、blocking_reasons、recommended_commands、recommended_prompt、disallowed_next_actions、work_package。
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 标准资产覆盖规则
|
|
3
|
+
scope:
|
|
4
|
+
- '*'
|
|
5
|
+
products:
|
|
6
|
+
- '*'
|
|
7
|
+
id: ka-hard-rule-标准资产覆盖规则
|
|
8
|
+
asset_kind: hard_rule
|
|
9
|
+
lifecycle_status: active
|
|
10
|
+
authority: canonical
|
|
11
|
+
owner_mechanism_id: mc-standard-asset-coverage
|
|
12
|
+
routes:
|
|
13
|
+
- artifact_generation
|
|
14
|
+
- code_change
|
|
15
|
+
- operation
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 标准资产覆盖
|
|
18
|
+
- 模板覆盖
|
|
19
|
+
- 资产契约
|
|
20
|
+
secondary_triggers:
|
|
21
|
+
- templates
|
|
22
|
+
- asset coverage
|
|
23
|
+
negative_triggers: []
|
|
24
|
+
priority: P0
|
|
25
|
+
specificity: 5
|
|
26
|
+
consumes:
|
|
27
|
+
- template_asset_contract_registry
|
|
28
|
+
- explicit_asset_registry
|
|
29
|
+
- observed_consumption
|
|
30
|
+
hard_blocks:
|
|
31
|
+
- unregistered_template_asset
|
|
32
|
+
- missing_runtime_consumer
|
|
33
|
+
- missing_revalidation_entrypoint
|
|
34
|
+
fallback: manual_required
|
|
35
|
+
required_evidence:
|
|
36
|
+
- asset_contract
|
|
37
|
+
- consumption_evidence
|
|
38
|
+
- validation_entrypoint
|
|
39
|
+
version: 1.0.0
|
|
40
|
+
last_reviewed: '2026-05-26'
|
|
41
|
+
status: active
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
# 标准资产覆盖规则
|
|
45
|
+
|
|
46
|
+
## 覆盖范围
|
|
47
|
+
|
|
48
|
+
所有 `templates/**` 下的资产类型必须被审计覆盖:
|
|
49
|
+
|
|
50
|
+
- 验收模板 (acceptance_templates)
|
|
51
|
+
- 规则 (rules)
|
|
52
|
+
- 流程 (procedures)
|
|
53
|
+
- 检查清单 (checklists)
|
|
54
|
+
- 审查规则 (review_rules)
|
|
55
|
+
- 模式 (patterns)
|
|
56
|
+
- 脚手架 (scaffolds)
|
|
57
|
+
- Adapter 工作流 (adapter_workflow)
|
|
58
|
+
|
|
59
|
+
## 覆盖检查要求
|
|
60
|
+
|
|
61
|
+
每个资产必须具备:
|
|
62
|
+
|
|
63
|
+
1. **标准承载路径** — 资产存放在正确的类型目录中
|
|
64
|
+
2. **复验路径** — 可通过 sf_verify、template_mechanism_auditor 或 validate-release 复验
|
|
65
|
+
3. **主链路消费者** — 被实际工具(sf_expand、sf_verify、sf_deliver 等)消费
|
|
66
|
+
|
|
67
|
+
## 门禁规则
|
|
68
|
+
|
|
69
|
+
- P0 资产缺少标准承载路径时 hard_fail
|
|
70
|
+
- P0 资产未在 Consumable Asset Registry 注册时 hard_fail
|
|
71
|
+
- P0 资产缺少 owner_mechanism_id 时 hard_fail
|
|
72
|
+
- `mc-design-artifact-pack` 仅作为首批 P0 子机制保留
|