soloforge 1.1.36 → 1.1.37

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.
Files changed (84) hide show
  1. package/dist/engine/audit/evolver.d.ts.map +1 -1
  2. package/dist/engine/audit/evolver.js +29 -2
  3. package/dist/engine/audit/evolver.js.map +1 -1
  4. package/dist/engine/contracts/architecture_decision_workshop.d.ts +6 -1
  5. package/dist/engine/contracts/architecture_decision_workshop.d.ts.map +1 -1
  6. package/dist/engine/contracts/architecture_decision_workshop.js +5 -1
  7. package/dist/engine/contracts/architecture_decision_workshop.js.map +1 -1
  8. package/dist/engine/knowledge/knowledge_injection_boundary.d.ts.map +1 -1
  9. package/dist/engine/knowledge/knowledge_injection_boundary.js +7 -3
  10. package/dist/engine/knowledge/knowledge_injection_boundary.js.map +1 -1
  11. package/dist/engine/pipeline/classifier.js +6 -4
  12. package/dist/engine/pipeline/classifier.js.map +1 -1
  13. package/dist/engine/pipeline/intent_expander/knowledge.d.ts.map +1 -1
  14. package/dist/engine/pipeline/intent_expander/knowledge.js +17 -8
  15. package/dist/engine/pipeline/intent_expander/knowledge.js.map +1 -1
  16. package/dist/engine/pipeline/intent_expander/templates.d.ts +1 -0
  17. package/dist/engine/pipeline/intent_expander/templates.d.ts.map +1 -1
  18. package/dist/engine/pipeline/intent_expander/templates.js +73 -0
  19. package/dist/engine/pipeline/intent_expander/templates.js.map +1 -1
  20. package/dist/engine/pipeline/intent_router.d.ts +22 -1
  21. package/dist/engine/pipeline/intent_router.d.ts.map +1 -1
  22. package/dist/engine/pipeline/intent_router.js +130 -0
  23. package/dist/engine/pipeline/intent_router.js.map +1 -1
  24. package/dist/engine/pipeline/intent_signal_extractor.d.ts +2 -2
  25. package/dist/engine/pipeline/intent_signal_extractor.d.ts.map +1 -1
  26. package/dist/engine/pipeline/intent_signal_extractor.js +77 -3
  27. package/dist/engine/pipeline/intent_signal_extractor.js.map +1 -1
  28. package/dist/engine/pipeline/task_context/manager.d.ts +39 -0
  29. package/dist/engine/pipeline/task_context/manager.d.ts.map +1 -1
  30. package/dist/engine/pipeline/task_context/manager.js +293 -109
  31. package/dist/engine/pipeline/task_context/manager.js.map +1 -1
  32. package/dist/engine/pipeline/task_context/manager_setters.d.ts +23 -1
  33. package/dist/engine/pipeline/task_context/manager_setters.d.ts.map +1 -1
  34. package/dist/engine/pipeline/task_context/manager_setters.js +237 -119
  35. package/dist/engine/pipeline/task_context/manager_setters.js.map +1 -1
  36. package/dist/engine/pipeline/task_stage_detector.d.ts.map +1 -1
  37. package/dist/engine/pipeline/task_stage_detector.js +13 -0
  38. package/dist/engine/pipeline/task_stage_detector.js.map +1 -1
  39. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.d.ts.map +1 -1
  40. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js +84 -2
  41. package/dist/engine/release/release_issue_scenario_registry/scenarios_template_contract.js.map +1 -1
  42. package/dist/engine/templates/explicit_asset_registry/procedures_part2.d.ts.map +1 -1
  43. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js +17 -0
  44. package/dist/engine/templates/explicit_asset_registry/procedures_part2.js.map +1 -1
  45. package/dist/engine/workflow/legacy_type_migration.d.ts.map +1 -1
  46. package/dist/engine/workflow/legacy_type_migration.js +5 -0
  47. package/dist/engine/workflow/legacy_type_migration.js.map +1 -1
  48. package/dist/engine/workflow/workflow_contract_registry.d.ts.map +1 -1
  49. package/dist/engine/workflow/workflow_contract_registry.js +24 -0
  50. package/dist/engine/workflow/workflow_contract_registry.js.map +1 -1
  51. package/dist/knowledge/index_manager.d.ts +6 -0
  52. package/dist/knowledge/index_manager.d.ts.map +1 -1
  53. package/dist/knowledge/index_manager.js +168 -55
  54. package/dist/knowledge/index_manager.js.map +1 -1
  55. package/dist/knowledge/writer.d.ts +10 -0
  56. package/dist/knowledge/writer.d.ts.map +1 -1
  57. package/dist/knowledge/writer.js +40 -0
  58. package/dist/knowledge/writer.js.map +1 -1
  59. package/dist/server/tools/gate_checks.d.ts +9 -0
  60. package/dist/server/tools/gate_checks.d.ts.map +1 -1
  61. package/dist/server/tools/gate_checks.js +55 -1
  62. package/dist/server/tools/gate_checks.js.map +1 -1
  63. package/dist/server/tools/middleware.d.ts.map +1 -1
  64. package/dist/server/tools/middleware.js +444 -381
  65. package/dist/server/tools/middleware.js.map +1 -1
  66. package/dist/server/tools/schemas.d.ts +38 -5
  67. package/dist/server/tools/schemas.d.ts.map +1 -1
  68. package/dist/server/tools/schemas.js +23 -7
  69. package/dist/server/tools/schemas.js.map +1 -1
  70. package/dist/server/tools/tool_groups/expand_handler.d.ts.map +1 -1
  71. package/dist/server/tools/tool_groups/expand_handler.js +40 -50
  72. package/dist/server/tools/tool_groups/expand_handler.js.map +1 -1
  73. package/dist/server/tools/tool_groups/status_plan_analyze_review.d.ts.map +1 -1
  74. package/dist/server/tools/tool_groups/status_plan_analyze_review.js +26 -0
  75. package/dist/server/tools/tool_groups/status_plan_analyze_review.js.map +1 -1
  76. package/dist/server/tools/tool_groups/verify_learn.d.ts.map +1 -1
  77. package/dist/server/tools/tool_groups/verify_learn.js +155 -7
  78. package/dist/server/tools/tool_groups/verify_learn.js.map +1 -1
  79. package/dist/types/pipeline.d.ts +2 -2
  80. package/dist/types/pipeline.d.ts.map +1 -1
  81. package/dist/types/task.d.ts +26 -0
  82. package/dist/types/task.d.ts.map +1 -1
  83. package/package.json +3 -3
  84. package/templates/procedures//350/256/276/350/256/241/345/256/241/350/256/241/346/265/201/347/250/213.md +186 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soloforge",
3
- "version": "1.1.36",
3
+ "version": "1.1.37",
4
4
  "description": "AI-driven development workflow system - one person does the work of a five-person team",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -72,8 +72,8 @@
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/node": "^22.0.0",
75
- "@vitest/coverage-v8": "^3.2.4",
75
+ "@vitest/coverage-v8": "^4.1.8",
76
76
  "typescript": "^5.7.0",
77
- "vitest": "^3.1.0"
77
+ "vitest": "^4.1.8"
78
78
  }
79
79
  }
@@ -0,0 +1,186 @@
1
+ ---
2
+ name: audit-design-procedure
3
+ type: procedure
4
+ when: '设计审计, 详细设计审计, 架构审计, 设计审核, 审核设计, audit design, design audit, 接口审计'
5
+ scope:
6
+ - backend
7
+ - frontend
8
+ - infrastructure
9
+ products:
10
+ - '*'
11
+ id: ka-procedure-设计审计流程
12
+ asset_kind: procedure
13
+ lifecycle_status: active
14
+ authority: supporting
15
+ owner_mechanism_id: mc-intent-expander
16
+ routes:
17
+ - analysis
18
+ - review
19
+ primary_triggers:
20
+ - 设计审计
21
+ - 详细设计审计
22
+ secondary_triggers:
23
+ - 设计审核
24
+ - 审核设计
25
+ - 架构审计
26
+ negative_triggers: []
27
+ priority: P2
28
+ specificity: 5
29
+ consumes:
30
+ - mc-intent-router
31
+ - mc-knowledge-injection-boundary
32
+ - mc-intent-expander
33
+ emits:
34
+ - audit_report
35
+ pipeline_scope:
36
+ - new-system
37
+ - existing-system
38
+ applicable_tech_stack:
39
+ - '*'
40
+ ---
41
+
42
+ # 设计审计流程
43
+
44
+ > **wf-audit-design** 工作流的执行流程契约。
45
+ > 适用场景: 用户对已有设计文档(架构/详细/API/数据库设计)做 6 维度审计,**不修改源文档**。
46
+ > 关联工具: `sf_review` (input_artifacts 模式) / `sf_expand` (audit_design_prompt)。
47
+
48
+ ---
49
+
50
+ ## 1. 触发条件
51
+
52
+ ### 1.1 用户意图识别
53
+ 满足以下任一条件进入审计工作流:
54
+ - 意图包含关键词: `审计` / `审核设计` / `设计审计` / `设计审核` / `架构审计` / `详细设计审计` / `audit design`
55
+ - 调用 `sf_review` 时显式传入 `input_artifacts` 参数
56
+
57
+ ### 1.2 前置条件
58
+ - 用户必须指定至少一个 `input_artifacts` 条目(kind + path)
59
+ - 引用的设计文档必须存在于磁盘
60
+ - 路由层推断 `mutation_allowed = false`(审计严格只读)
61
+
62
+ ---
63
+
64
+ ## 2. 6 维度审计清单
65
+
66
+ 每维度必须给出至少 1 条 finding,或显式标记 `no_issue_observed`。**未覆盖即失败**。
67
+
68
+ ### 维度 1: 跨文档一致性
69
+ - 架构文档 / 详细设计 / API 设计 / 数据库设计 命名、边界、调用链是否一致
70
+ - 同一概念是否在不同文档中使用不同名称
71
+ - 接口契约(参数 / 返回 / 异常)在 API 文档与详细设计中是否完全一致
72
+
73
+ ### 维度 2: OOD/SOLID 合规
74
+ - 单一职责: 模块 / 类 / 函数边界是否清晰
75
+ - 开闭原则: 扩展点是否通过抽象隔离
76
+ - 依赖倒置: 高层模块是否依赖抽象而非具体实现
77
+ - 命名 / 分层是否反映职责
78
+
79
+ ### 维度 3: 防孤岛设计
80
+ - 新模块与现有系统的集成点是否明确
81
+ - 是否定义了与上游(消费者)和下游(依赖)的契约
82
+ - 跨团队 / 跨服务协作边界是否清晰
83
+
84
+ ### 维度 4: 契约破坏性
85
+ - 新设计是否破坏已有 API / 事件 / 数据契约
86
+ - 版本兼容性: 是否有 deprecation 路径
87
+ - 客户端 / 调用方升级成本是否评估
88
+
89
+ ### 维度 5: SQL/数据迁移回滚性
90
+ - DDL 是否可回滚(DROP / ALTER 必须有 rollback 脚本)
91
+ - 数据迁移是否可在中断后恢复
92
+ - 是否定义了数据回滚检查点
93
+ - 是否区分可逆 / 不可逆变更(DELETE 无回滚需特别标注)
94
+
95
+ ### 维度 6: 索引/性能覆盖
96
+ - 主链路查询是否有索引支撑
97
+ - 是否评估了 N+1、全表扫描、热点行更新风险
98
+ - 分页 / 排序字段是否有联合索引
99
+
100
+ ---
101
+
102
+ ## 3. 严重度分级
103
+
104
+ | 级别 | 含义 | 是否阻塞实施 |
105
+ |------|------|--------------|
106
+ | `hard_fail` | 设计错误 / 破坏性变更 / 数据丢失风险 | 是 |
107
+ | `warning` | 建议修改,存在风险但不致命 | 否(建议修复) |
108
+ | `advisory` | 供参考的改进建议 | 否(仅供参考) |
109
+
110
+ ---
111
+
112
+ ## 4. 输出契约 (audit_report)
113
+
114
+ ```typescript
115
+ interface AuditReport {
116
+ dimensions: Array<{
117
+ name: string; // "跨文档一致性" | "OOD/SOLID" | ...
118
+ findings: Array<{
119
+ severity: "hard_fail" | "warning" | "advisory";
120
+ location: string; // 文档路径 + 章节/行号
121
+ issue_zh: string; // 中文问题描述
122
+ recommendation_zh: string; // 中文修复建议
123
+ }> | Array<{ no_issue_observed: true; note_zh: string }>;
124
+ }>;
125
+ overall_status: "blocked" | "advisory";
126
+ blocking_findings_count: number; // severity=hard_fail 的总数
127
+ input_artifacts: Array<{ kind: string; path: string }>;
128
+ audited_at: string; // ISO 8601
129
+ }
130
+ ```
131
+
132
+ ### 4.1 整体状态判定
133
+ - `blocking_findings_count > 0` → `overall_status = "blocked"`
134
+ - `blocking_findings_count = 0` → `overall_status = "advisory"`
135
+
136
+ ---
137
+
138
+ ## 5. 流程步骤
139
+
140
+ ```
141
+ [用户] sf_classify (intent: "开始详细设计审计", input_artifacts: [...])
142
+
143
+ [路由] 识别 audit action → workflow_intent = "audit_design"
144
+
145
+ [路由] EXTENSION_WORKFLOW_MAP.audit_design → route=analysis, mutation=false
146
+
147
+ [扩展] 加载 audit_design_prompt 模板 + 关联知识(review_rule / pattern)
148
+
149
+ [执行] 6 维度审计,每维度遍历 input_artifacts 中相关章节
150
+
151
+ [输出] audit_report + blocking_findings_count
152
+
153
+ [结束] overall_status="blocked" 时建议用户先修复 hard_fail,再进入实施
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 6. 关键约束
159
+
160
+ 1. **不修改源文档**: 审计产物独立输出,源设计文档保持只读
161
+ 2. **finding 必须可追溯**: 每条 finding 必须有 location 字段引用具体文档路径 + 章节 / 行号
162
+ 3. **不臆断**: 文档中未声明的约束不得作为 finding 依据
163
+ 4. **不漏维度**: 6 维度全部覆盖,无 finding 时必须显式标记 `no_issue_observed`
164
+ 5. **中文输出**: issue_zh / recommendation_zh / note_zh 字段必须为中文
165
+
166
+ ---
167
+
168
+ ## 7. 关联资产
169
+
170
+ - **Prompt 模板**: `audit_design_prompt` (`src/engine/pipeline/intent_expander/templates.ts`)
171
+ - **工作流契约**: `wf-audit-design` (`src/engine/workflow/workflow_contract_registry.ts`)
172
+ - **ARTIFACT_ALIASES**: `design_doc` / `detailed_design` / `api_spec` / `database_design`
173
+ - **Pipeline hint**: `code-review`(复用代码审查流程的规则与模式资产)
174
+
175
+ ---
176
+
177
+ ## 8. 与代码审查流程的区别
178
+
179
+ | 维度 | 代码审查 (code_review) | 设计审计 (audit_design) |
180
+ |------|------------------------|-------------------------|
181
+ | 对象 | 源代码 / diff | 设计文档(Markdown) |
182
+ | 输入 | changed_files + file_contents | input_artifacts (kind + path) |
183
+ | 触发 | "审查代码" / sf_review 无 input_artifacts | "审计设计" / sf_review 带 input_artifacts |
184
+ | 维度 | 编码规范 / BUG / 安全 / 性能 | 跨文档一致性 / OOD / 防孤岛 / 契约 / SQL / 索引 |
185
+ | 输出 | review_report | audit_report |
186
+ | 修改建议 | 直接改代码 | 修改设计文档后重新审计 |