soloforge 1.3.2 → 1.3.4
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 +14 -0
- package/dist/adapters/claude_code/server.js +1 -1
- package/dist/adapters/claude_code/server.js.map +1 -1
- package/dist/adapters/claude_code/tools.d.ts.map +1 -1
- package/dist/adapters/claude_code/tools.js +385 -15
- package/dist/adapters/claude_code/tools.js.map +1 -1
- package/dist/adapters/shared/workflow_template.d.ts.map +1 -1
- package/dist/adapters/shared/workflow_template.js +3 -2
- package/dist/adapters/shared/workflow_template.js.map +1 -1
- package/dist/bin/soloforge.d.ts.map +1 -1
- package/dist/bin/soloforge.js +296 -1
- package/dist/bin/soloforge.js.map +1 -1
- package/dist/engine/asset_manifest.d.ts.map +1 -1
- package/dist/engine/asset_manifest.js +24 -0
- 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/code_maintainability_observability_contract.d.ts +74 -0
- package/dist/engine/code_maintainability_observability_contract.d.ts.map +1 -0
- package/dist/engine/code_maintainability_observability_contract.js +473 -0
- package/dist/engine/code_maintainability_observability_contract.js.map +1 -0
- package/dist/engine/config_write_boundary.d.ts +29 -0
- package/dist/engine/config_write_boundary.d.ts.map +1 -0
- package/dist/engine/config_write_boundary.js +69 -0
- package/dist/engine/config_write_boundary.js.map +1 -0
- package/dist/engine/consumable_asset_registry.d.ts.map +1 -1
- package/dist/engine/consumable_asset_registry.js +182 -1
- package/dist/engine/consumable_asset_registry.js.map +1 -1
- package/dist/engine/diagnostic_registry.d.ts +12 -0
- package/dist/engine/diagnostic_registry.d.ts.map +1 -1
- package/dist/engine/diagnostic_registry.js +62 -0
- package/dist/engine/diagnostic_registry.js.map +1 -1
- package/dist/engine/dual_layer_mechanism_registry.d.ts.map +1 -1
- package/dist/engine/dual_layer_mechanism_registry.js +318 -1
- package/dist/engine/dual_layer_mechanism_registry.js.map +1 -1
- package/dist/engine/explicit_asset_registry.d.ts.map +1 -1
- package/dist/engine/explicit_asset_registry.js +338 -0
- package/dist/engine/explicit_asset_registry.js.map +1 -1
- package/dist/engine/implementation_roadmap_registry.d.ts.map +1 -1
- package/dist/engine/implementation_roadmap_registry.js +112 -2
- package/dist/engine/implementation_roadmap_registry.js.map +1 -1
- package/dist/engine/knowledge_governance_gate.d.ts +38 -0
- package/dist/engine/knowledge_governance_gate.d.ts.map +1 -0
- package/dist/engine/knowledge_governance_gate.js +123 -0
- package/dist/engine/knowledge_governance_gate.js.map +1 -0
- package/dist/engine/log_governance.d.ts +25 -0
- package/dist/engine/log_governance.d.ts.map +1 -0
- package/dist/engine/log_governance.js +76 -0
- package/dist/engine/log_governance.js.map +1 -0
- package/dist/engine/mechanism_contract_registry.d.ts +1 -0
- package/dist/engine/mechanism_contract_registry.d.ts.map +1 -1
- package/dist/engine/mechanism_contract_registry.js +172 -0
- package/dist/engine/mechanism_contract_registry.js.map +1 -1
- package/dist/engine/mechanism_health_check.d.ts +23 -0
- package/dist/engine/mechanism_health_check.d.ts.map +1 -0
- package/dist/engine/mechanism_health_check.js +140 -0
- package/dist/engine/mechanism_health_check.js.map +1 -0
- 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/observability.js +1 -1
- package/dist/engine/observability.js.map +1 -1
- 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.map +1 -1
- package/dist/engine/release_issue_scenario_registry.js +230 -1
- package/dist/engine/release_issue_scenario_registry.js.map +1 -1
- package/dist/engine/release_readiness_gate.d.ts +3 -0
- package/dist/engine/release_readiness_gate.d.ts.map +1 -1
- package/dist/engine/release_readiness_gate.js +407 -9
- package/dist/engine/release_readiness_gate.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/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/team_awareness.js +6 -6
- package/dist/engine/team_awareness.js.map +1 -1
- package/dist/engine/tool_invocation_contract_registry.d.ts.map +1 -1
- package/dist/engine/tool_invocation_contract_registry.js +10 -0
- 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/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- 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//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/346/250/241/346/235/277.md +78 -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//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 +81 -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//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/350/247/204/345/210/231.md +121 -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/225/217/346/204/237/344/277/241/346/201/257/346/227/245/345/277/227/350/247/204/345/210/231.md +69 -0
- package/templates/knowledge/rules//346/227/245/345/277/227/346/262/273/347/220/206/350/247/204/345/210/231.md +49 -0
- package/templates/knowledge/rules//346/234/272/345/210/266/350/207/252/346/262/273/347/220/206/350/247/204/345/210/231.md +48 -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 +43 -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 +44 -0
- package/templates/knowledge/rules//347/237/245/350/257/206/346/262/273/347/220/206/350/247/204/345/210/231.md +50 -0
- 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 +47 -0
- package/templates/knowledge/rules//351/205/215/347/275/256/350/220/275/347/233/230/350/276/271/347/225/214/350/247/204/345/210/231.md +47 -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 +46 -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,69 @@
|
|
|
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-code-maintainability-observability-contract
|
|
12
|
+
routes:
|
|
13
|
+
- code_change
|
|
14
|
+
- artifact_generation
|
|
15
|
+
primary_triggers:
|
|
16
|
+
- 日志
|
|
17
|
+
- 输出
|
|
18
|
+
- console
|
|
19
|
+
- print
|
|
20
|
+
- log
|
|
21
|
+
secondary_triggers:
|
|
22
|
+
- 敏感信息
|
|
23
|
+
- 脱敏
|
|
24
|
+
- 隐私
|
|
25
|
+
negative_triggers:
|
|
26
|
+
- 文案
|
|
27
|
+
- 样式
|
|
28
|
+
priority: P0
|
|
29
|
+
specificity: 5
|
|
30
|
+
consumes:
|
|
31
|
+
- mc-code-maintainability-observability-contract
|
|
32
|
+
hard_blocks:
|
|
33
|
+
- sensitive_log_leak
|
|
34
|
+
- plaintext_credential_in_output
|
|
35
|
+
fallback: manual_required
|
|
36
|
+
required_evidence:
|
|
37
|
+
- sensitive_log_scan_result
|
|
38
|
+
- review_findings
|
|
39
|
+
version: 1.0.0
|
|
40
|
+
last_reviewed: '2026-05-26'
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 敏感信息绝对禁止进入日志
|
|
44
|
+
|
|
45
|
+
以下字段必须脱敏或禁止输出到任何日志通道:
|
|
46
|
+
|
|
47
|
+
### P0 阻断(发现即 hard_fail)
|
|
48
|
+
- password / passwd / pwd:禁止明文输出
|
|
49
|
+
- token / api_key / access_key / secret_key / private_key:禁止明文输出
|
|
50
|
+
- cookie / session_id / set_cookie:禁止输出完整值
|
|
51
|
+
- 身份证号:禁止输出 15/18 位全量
|
|
52
|
+
- 手机号:禁止输出 11 位全量
|
|
53
|
+
- 银行卡号:禁止输出全量
|
|
54
|
+
- 健康隐私信息(病历、诊断、处方)
|
|
55
|
+
|
|
56
|
+
### 脱敏要求
|
|
57
|
+
- 手机号:仅显示前 3 后 4(如 138****5678)
|
|
58
|
+
- 身份证:仅显示前 3 后 4(如 310***********1234)
|
|
59
|
+
- 银行卡:仅显示后 4 位(如 ****5678)
|
|
60
|
+
- token/密钥:仅显示前 4 位或哈希值
|
|
61
|
+
|
|
62
|
+
### 检查范围
|
|
63
|
+
- 用户项目代码中的日志输出语句
|
|
64
|
+
- 不检查测试文件中的 fixture 或 mock
|
|
65
|
+
- 不检查 SoloForge 自身日志(已有独立治理)
|
|
66
|
+
|
|
67
|
+
### 误判防范
|
|
68
|
+
- 变量名含 password 但实际是布尔标志(如 requires_password)不误判
|
|
69
|
+
- 仅检查实际输出到日志的值,不检查声明和赋值
|
|
@@ -0,0 +1,49 @@
|
|
|
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-log-governance
|
|
12
|
+
routes:
|
|
13
|
+
- verification
|
|
14
|
+
- operation
|
|
15
|
+
primary_triggers:
|
|
16
|
+
- 日志治理
|
|
17
|
+
- 输出噪音
|
|
18
|
+
- json 输出
|
|
19
|
+
secondary_triggers:
|
|
20
|
+
- user feedback
|
|
21
|
+
- logger
|
|
22
|
+
negative_triggers:
|
|
23
|
+
- 用户项目业务日志
|
|
24
|
+
priority: P1
|
|
25
|
+
specificity: 4
|
|
26
|
+
consumes:
|
|
27
|
+
- log_governance
|
|
28
|
+
hard_blocks:
|
|
29
|
+
- raw_output_noise
|
|
30
|
+
- json_stdout_pollution
|
|
31
|
+
- direct_console_output
|
|
32
|
+
fallback: manual_required
|
|
33
|
+
required_evidence:
|
|
34
|
+
- log_governance_report
|
|
35
|
+
version: 1.0.0
|
|
36
|
+
last_reviewed: '2026-05-26'
|
|
37
|
+
status: active
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# 日志治理规则
|
|
41
|
+
|
|
42
|
+
SoloForge 自身输出必须通过统一日志模块,用户可见输出不得混入内部治理噪音。
|
|
43
|
+
|
|
44
|
+
## 硬规则
|
|
45
|
+
|
|
46
|
+
- CLI 和 MCP 用户可见输出必须中文语义优先。
|
|
47
|
+
- `--json` 模式 stdout 必须是纯 JSON。
|
|
48
|
+
- 引擎内部 trace 默认不得输出。
|
|
49
|
+
- 直接 `console` 输出只能存在于日志封装层。
|
|
@@ -0,0 +1,48 @@
|
|
|
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-mechanism-health
|
|
12
|
+
routes:
|
|
13
|
+
- verification
|
|
14
|
+
- operation
|
|
15
|
+
primary_triggers:
|
|
16
|
+
- 机制健康
|
|
17
|
+
- 主链路消费
|
|
18
|
+
- 死代码
|
|
19
|
+
secondary_triggers:
|
|
20
|
+
- lazy import
|
|
21
|
+
- mechanism id
|
|
22
|
+
negative_triggers:
|
|
23
|
+
- 普通业务编码
|
|
24
|
+
priority: P1
|
|
25
|
+
specificity: 4
|
|
26
|
+
consumes:
|
|
27
|
+
- mechanism_health_check
|
|
28
|
+
hard_blocks:
|
|
29
|
+
- lazy_dead_import
|
|
30
|
+
- unconsumed_mechanism
|
|
31
|
+
fallback: manual_required
|
|
32
|
+
required_evidence:
|
|
33
|
+
- mechanism_health_report
|
|
34
|
+
version: 1.0.0
|
|
35
|
+
last_reviewed: '2026-05-26'
|
|
36
|
+
status: active
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
# 机制自治理规则
|
|
40
|
+
|
|
41
|
+
所有新增机制必须有真实生产消费路径,不能只停留在注册表、测试或文档。
|
|
42
|
+
|
|
43
|
+
## 硬规则
|
|
44
|
+
|
|
45
|
+
- 引擎模块导出的核心函数必须被 CLI、MCP handler 或 release gate 消费。
|
|
46
|
+
- `lazy*` 声明必须在 handler 或治理入口中实际调用。
|
|
47
|
+
- `mechanism_id` 必须在双层注册、机制合同和资产清单中保持一致。
|
|
48
|
+
- 行为测试必须包含 must-fail 和 must-pass,不得只验证文件存在。
|
|
@@ -1,3 +1,46 @@
|
|
|
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
|
+
|
|
1
44
|
# 标准资产覆盖规则
|
|
2
45
|
|
|
3
46
|
## 覆盖范围
|
|
@@ -1,3 +1,47 @@
|
|
|
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-template-asset-visibility
|
|
12
|
+
routes:
|
|
13
|
+
- operation
|
|
14
|
+
- code_change
|
|
15
|
+
- artifact_generation
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 模板资产可见性
|
|
18
|
+
- 内部资产
|
|
19
|
+
- 知识同步
|
|
20
|
+
secondary_triggers:
|
|
21
|
+
- sync-templates
|
|
22
|
+
- init
|
|
23
|
+
- visibility
|
|
24
|
+
negative_triggers: []
|
|
25
|
+
priority: P0
|
|
26
|
+
specificity: 5
|
|
27
|
+
consumes:
|
|
28
|
+
- template_asset_contract_registry
|
|
29
|
+
- template_init_sync
|
|
30
|
+
- knowledge_index_manager
|
|
31
|
+
hard_blocks:
|
|
32
|
+
- internal_asset_leak
|
|
33
|
+
- cross_stack_injection
|
|
34
|
+
- unregistered_asset_sync
|
|
35
|
+
fallback: manual_required
|
|
36
|
+
required_evidence:
|
|
37
|
+
- visibility_contract
|
|
38
|
+
- sync_manifest
|
|
39
|
+
- runtime_consumption_trace
|
|
40
|
+
version: 1.0.0
|
|
41
|
+
last_reviewed: '2026-05-26'
|
|
42
|
+
status: active
|
|
43
|
+
---
|
|
44
|
+
|
|
1
45
|
# 模板资产可见性规则
|
|
2
46
|
|
|
3
47
|
## 适用范围
|
|
@@ -0,0 +1,50 @@
|
|
|
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-knowledge-governance
|
|
12
|
+
routes:
|
|
13
|
+
- verification
|
|
14
|
+
- operation
|
|
15
|
+
- knowledge_update
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 知识治理
|
|
18
|
+
- 知识演进
|
|
19
|
+
- 文档治理
|
|
20
|
+
secondary_triggers:
|
|
21
|
+
- 中文语义
|
|
22
|
+
- language policy
|
|
23
|
+
negative_triggers:
|
|
24
|
+
- 普通代码修改
|
|
25
|
+
priority: P0
|
|
26
|
+
specificity: 5
|
|
27
|
+
consumes:
|
|
28
|
+
- knowledge_governance_gate
|
|
29
|
+
hard_blocks:
|
|
30
|
+
- promotion_without_evidence
|
|
31
|
+
- unauthorized_design_doc_fact
|
|
32
|
+
- language_policy_missing
|
|
33
|
+
fallback: manual_required
|
|
34
|
+
required_evidence:
|
|
35
|
+
- knowledge_governance_report
|
|
36
|
+
version: 1.0.0
|
|
37
|
+
last_reviewed: '2026-05-26'
|
|
38
|
+
status: active
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# 知识治理规则
|
|
42
|
+
|
|
43
|
+
知识资产从草稿、演进、同步到注入必须有统一治理入口。
|
|
44
|
+
|
|
45
|
+
## 硬规则
|
|
46
|
+
|
|
47
|
+
- 知识晋级必须有证据,不能由 AI 推理直接变成核心事实。
|
|
48
|
+
- 中文优先项目的用户可见语义不得被英文默认模板污染。
|
|
49
|
+
- 设计文档只能承载已验证事实,不能承载施工日志或未验证假设。
|
|
50
|
+
- 多语言策略必须显式声明,不能用日志或 stderr 替代用户反馈。
|
|
@@ -1,3 +1,50 @@
|
|
|
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-decision-workshop
|
|
12
|
+
routes:
|
|
13
|
+
- analysis
|
|
14
|
+
- artifact_generation
|
|
15
|
+
- code_change
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 决策研讨
|
|
18
|
+
- 技术选型
|
|
19
|
+
- 数据迁移
|
|
20
|
+
- 安全策略
|
|
21
|
+
secondary_triggers:
|
|
22
|
+
- 架构设计
|
|
23
|
+
- 部署
|
|
24
|
+
- 重构
|
|
25
|
+
- 第三方集成
|
|
26
|
+
negative_triggers:
|
|
27
|
+
- 简单说明
|
|
28
|
+
- 低风险改字
|
|
29
|
+
priority: P0
|
|
30
|
+
specificity: 5
|
|
31
|
+
consumes:
|
|
32
|
+
- decision_workshop
|
|
33
|
+
- architecture_decision_workshop
|
|
34
|
+
hard_blocks:
|
|
35
|
+
- unconfirmed_decision_domain
|
|
36
|
+
- missing_candidate_options
|
|
37
|
+
- missing_user_confirmation
|
|
38
|
+
fallback: manual_required
|
|
39
|
+
required_evidence:
|
|
40
|
+
- decision_workshop
|
|
41
|
+
- user_confirmation_ref
|
|
42
|
+
- decision_domain_status
|
|
43
|
+
version: 1.0.0
|
|
44
|
+
last_reviewed: '2026-05-26'
|
|
45
|
+
status: active
|
|
46
|
+
---
|
|
47
|
+
|
|
1
48
|
# 通用决策研讨规则
|
|
2
49
|
|
|
3
50
|
## 触发条件
|
|
@@ -0,0 +1,47 @@
|
|
|
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-config-write-boundary
|
|
12
|
+
routes:
|
|
13
|
+
- operation
|
|
14
|
+
primary_triggers:
|
|
15
|
+
- init
|
|
16
|
+
- sync-templates
|
|
17
|
+
- 配置落盘
|
|
18
|
+
secondary_triggers:
|
|
19
|
+
- config.yaml
|
|
20
|
+
- .soloforge
|
|
21
|
+
negative_triggers:
|
|
22
|
+
- 只读验证
|
|
23
|
+
priority: P1
|
|
24
|
+
specificity: 4
|
|
25
|
+
consumes:
|
|
26
|
+
- config_write_boundary
|
|
27
|
+
hard_blocks:
|
|
28
|
+
- runtime_inference_persisted
|
|
29
|
+
- existing_project_write_without_confirm
|
|
30
|
+
fallback: manual_required
|
|
31
|
+
required_evidence:
|
|
32
|
+
- config_write_decision
|
|
33
|
+
version: 1.0.0
|
|
34
|
+
last_reviewed: '2026-05-26'
|
|
35
|
+
status: active
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# 配置落盘边界规则
|
|
39
|
+
|
|
40
|
+
运行时推断、已有项目探测和空项目蓝图必须区分处理。
|
|
41
|
+
|
|
42
|
+
## 硬规则
|
|
43
|
+
|
|
44
|
+
- 运行时推断结果不得自动写入项目配置。
|
|
45
|
+
- 已有项目写入 `.soloforge/`、`.mcp.json`、`CLAUDE.md` 或 adapter 配置时必须有用户确认。
|
|
46
|
+
- 空项目初始化可以创建 SoloForge 管理文件。
|
|
47
|
+
- 同步模板不得覆盖用户已修改资产。
|
|
@@ -1,3 +1,49 @@
|
|
|
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-contract
|
|
12
|
+
routes:
|
|
13
|
+
- artifact_generation
|
|
14
|
+
- code_change
|
|
15
|
+
- verification
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- 验收模板
|
|
18
|
+
- 标准输出
|
|
19
|
+
- 设计产物
|
|
20
|
+
secondary_triggers:
|
|
21
|
+
- API接口规格
|
|
22
|
+
- 数据库设计
|
|
23
|
+
- 架构设计
|
|
24
|
+
negative_triggers:
|
|
25
|
+
- 普通解释
|
|
26
|
+
- 简单 bugfix
|
|
27
|
+
priority: P0
|
|
28
|
+
specificity: 5
|
|
29
|
+
consumes:
|
|
30
|
+
- standard_asset_contract
|
|
31
|
+
- design_artifact_pack
|
|
32
|
+
- repair_reverify_directive
|
|
33
|
+
hard_blocks:
|
|
34
|
+
- template_contract_violation
|
|
35
|
+
- draft_artifact_consumed
|
|
36
|
+
- missing_authoritative_asset
|
|
37
|
+
fallback: manual_required
|
|
38
|
+
required_evidence:
|
|
39
|
+
- template_contract_result
|
|
40
|
+
- authoritative_asset
|
|
41
|
+
- repair_reverify_result
|
|
42
|
+
version: 1.0.0
|
|
43
|
+
last_reviewed: '2026-05-26'
|
|
44
|
+
status: active
|
|
45
|
+
---
|
|
46
|
+
|
|
1
47
|
# 验收模板输出契约规则
|
|
2
48
|
|
|
3
49
|
## 触发条件
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solid-design-pattern
|
|
3
|
+
when: 'SOLID, 面向对象设计, 职责划分, 依赖倒置, 接口隔离'
|
|
4
|
+
scope:
|
|
5
|
+
- backend
|
|
6
|
+
- frontend
|
|
7
|
+
products:
|
|
8
|
+
- '*'
|
|
9
|
+
id: ka-pattern-solid-design
|
|
10
|
+
asset_kind: pattern
|
|
11
|
+
lifecycle_status: active
|
|
12
|
+
authority: supporting
|
|
13
|
+
owner_mechanism_id: mc-ood-solid-contract
|
|
14
|
+
routes:
|
|
15
|
+
- code_change
|
|
16
|
+
primary_triggers:
|
|
17
|
+
- SOLID
|
|
18
|
+
- 面向对象设计
|
|
19
|
+
priority: P1
|
|
20
|
+
specificity: 5
|
|
21
|
+
version: 1.0.0
|
|
22
|
+
last_reviewed: '2026-05-26'
|
|
23
|
+
consumes:
|
|
24
|
+
- mc-ood-solid-contract
|
|
25
|
+
emits: []
|
|
26
|
+
secondary_triggers: []
|
|
27
|
+
negative_triggers: []
|
|
28
|
+
type: pattern
|
|
29
|
+
status: active
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 规则
|
|
33
|
+
|
|
34
|
+
- 一个类只承担一个清晰可验证的业务原因。
|
|
35
|
+
- 新增行为优先扩展端口或策略,避免修改大量既有条件分支。
|
|
36
|
+
- 子类型必须保持父契约的有效输入、输出和错误语义。
|
|
37
|
+
- 接口按消费者需要拆分,禁止空实现和不支持异常。
|
|
38
|
+
- 业务核心依赖抽象,基础设施实现由装配层注入。
|
|
39
|
+
- 简单修改不建立无用抽象层,避免为原则之名过度设计。
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: backend-implementation-engineering
|
|
3
|
+
when: 'Controller, DTO, API实现, 事务, 幂等, 权限, 后端编码'
|
|
4
|
+
scope:
|
|
5
|
+
- backend
|
|
6
|
+
products:
|
|
7
|
+
- '*'
|
|
8
|
+
id: ka-pattern-backend-implementation-engineering
|
|
9
|
+
asset_kind: pattern
|
|
10
|
+
lifecycle_status: active
|
|
11
|
+
authority: supporting
|
|
12
|
+
owner_mechanism_id: mc-backend-implementation-contract
|
|
13
|
+
routes:
|
|
14
|
+
- code_change
|
|
15
|
+
primary_triggers:
|
|
16
|
+
- 后端实现
|
|
17
|
+
- API实现
|
|
18
|
+
priority: P1
|
|
19
|
+
specificity: 5
|
|
20
|
+
version: 1.0.0
|
|
21
|
+
last_reviewed: '2026-05-26'
|
|
22
|
+
consumes:
|
|
23
|
+
- mc-backend-implementation-contract
|
|
24
|
+
emits: []
|
|
25
|
+
secondary_triggers: []
|
|
26
|
+
negative_triggers: []
|
|
27
|
+
type: pattern
|
|
28
|
+
status: active
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 工程规则
|
|
32
|
+
|
|
33
|
+
- Controller 入参与出参按接口语义使用 DTO/VO,不暴露数据库实体。
|
|
34
|
+
- 参数必须验证必填、长度、枚举、金额、日期区间和关联对象存在性。
|
|
35
|
+
- 列表接口限制 page size 并对白名单排序;响应使用统一分页对象。
|
|
36
|
+
- 写操作在 Service 定义清晰事务边界;外部调用不放在长事务内。
|
|
37
|
+
- 支付、回调、创建与状态流转具备幂等键、并发控制和重复提交测试。
|
|
38
|
+
- 敏感操作必须校验权限和租户,并产出可追踪审计记录。
|
|
39
|
+
- OpenAPI、字段表、错误码和 migration 必须与实现同步复验。
|