@liangjie559567/ultrapower 7.6.0 → 7.7.1
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/bridge/mcp-server.cjs +1 -0
- package/dist/hooks/bridge-normalize.d.ts.map +1 -1
- package/dist/hooks/bridge-normalize.js +47 -25
- package/dist/hooks/bridge-normalize.js.map +1 -1
- package/dist/lib/atomic-write.d.ts.map +1 -1
- package/dist/lib/atomic-write.js +2 -0
- package/dist/lib/atomic-write.js.map +1 -1
- package/dist/lib/auditLog.d.ts +6 -7
- package/dist/lib/auditLog.d.ts.map +1 -1
- package/dist/lib/auditLog.js +10 -7
- package/dist/lib/auditLog.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +9 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/path-validator.d.ts.map +1 -1
- package/dist/lib/path-validator.js +12 -12
- package/dist/lib/path-validator.js.map +1 -1
- package/dist/security/concurrency-control.d.ts +7 -0
- package/dist/security/concurrency-control.d.ts.map +1 -1
- package/dist/security/concurrency-control.js +22 -0
- package/dist/security/concurrency-control.js.map +1 -1
- package/docs/CLAUDE.md +2 -2
- package/docs/CODE_BASED_FLOW.md +12 -12
- package/docs/COMPATIBILITY.md +1 -1
- package/docs/FEATURES.md +16 -16
- package/docs/INSTALL.md +4 -4
- package/docs/MIGRATION.md +2 -2
- package/docs/OMC-CLAUDE.md +1 -1
- package/docs/REFERENCE.md +16 -16
- package/docs/UPGRADE_VERIFICATION.md +1 -1
- package/docs/agent-templates/README.md +2 -2
- package/docs/api/media/INSTALL.md +2 -2
- package/docs/api/media/MIGRATION.md +2 -2
- package/docs/api/media/REFERENCE.md +14 -14
- package/docs/api/media/mcp-server-usage.md +4 -4
- package/docs/architecture/ultrapower-flow-analysis.md +1 -1
- package/docs/getting-started/quickstart.md +1 -1
- package/docs/glossary.md +1 -1
- package/docs/guides/mcp-server-usage.md +4 -4
- package/docs/guides/tool-name-migration.md +12 -12
- package/docs/mcp/configuration.md +5 -5
- package/docs/mcp/performance.md +5 -5
- package/docs/mcp-compatibility-matrix.md +1 -1
- package/docs/partials/agent-tiers.md +24 -24
- package/docs/partials/features.md +1 -1
- package/docs/partials/verification-tiers.md +2 -2
- package/docs/plans/2026-02-24-superpowers-ultrapower-integration-design.md +2 -2
- package/docs/plans/2026-03-02-docs-comprehensive-update.md +16 -16
- package/docs/plans/2026-03-05-mcp-adoption-atomic-tasks.md +9 -9
- package/docs/plans/2026-03-16-tech-debt-fixes.md +222 -0
- package/docs/prd/bugs-pain-points-audit-dag.md +297 -297
- package/docs/prd/bugs-pain-points-audit-draft.md +154 -154
- package/docs/prd/bugs-pain-points-audit-manifest.md +650 -650
- package/docs/prd/bugs-pain-points-audit-rough.md +654 -654
- package/docs/reports/tech-debt-verification-2026-03-16.md +87 -0
- package/docs/reviews/bugs-pain-points-audit/review_critic.md +213 -213
- package/docs/reviews/bugs-pain-points-audit/review_domain.md +247 -247
- package/docs/reviews/bugs-pain-points-audit/review_product.md +189 -189
- package/docs/reviews/bugs-pain-points-audit/review_tech.md +382 -382
- package/docs/reviews/bugs-pain-points-audit/review_ux.md +161 -161
- package/docs/reviews/bugs-pain-points-audit/summary.md +129 -129
- package/docs/reviews/bugs-pain-points-audit/tech-debt-v7.6.0-code-review.md +328 -0
- package/docs/shared/agent-tiers.md +24 -24
- package/docs/shared/features.md +1 -1
- package/docs/shared/verification-tiers.md +2 -2
- package/docs/standards/README.md +1 -1
- package/docs/standards/runtime-protection.md +7 -0
- package/docs/troubleshooting.md +1 -1
- package/package.json +1 -1
|
@@ -1,297 +1,297 @@
|
|
|
1
|
-
# DAG 依赖图: ultrapower v7.5.2 Bug 审计
|
|
2
|
-
|
|
3
|
-
> **状态**: ACTIVE
|
|
4
|
-
> **创建日期**: 2026-03-16
|
|
5
|
-
> **来源**: bugs-pain-points-audit-manifest.md
|
|
6
|
-
> **总任务数**: 42 个原子任务
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 全局依赖关系图
|
|
11
|
-
|
|
12
|
-
```mermaid
|
|
13
|
-
graph TD
|
|
14
|
-
%% ========== Phase 1: P0 任务 ==========
|
|
15
|
-
|
|
16
|
-
%% FR-01: 路径遍历防护
|
|
17
|
-
T001[T-001: 路径遍历扫描<br/>2h] --> T002[T-002: assertValidMode 实现<br/>3h]
|
|
18
|
-
T002 --> T003[T-003: 全局替换<br/>4h]
|
|
19
|
-
T003 --> T004[T-004: ESLint 规则<br/>3h]
|
|
20
|
-
|
|
21
|
-
%% FR-02: 敏感数据保护
|
|
22
|
-
T005[T-005: 敏感数据清单<br/>2h] --> T006[T-006: 敏感数据扫描<br/>2h]
|
|
23
|
-
T006 --> T007[T-007: 加密工具实现<br/>4h]
|
|
24
|
-
T007 --> T008[T-008: 状态文件加密<br/>3h]
|
|
25
|
-
T008 --> T009[T-009: CI 密钥检测<br/>2h]
|
|
26
|
-
|
|
27
|
-
%% FR-03: 状态一致性
|
|
28
|
-
T010[T-010: 直接写入扫描<br/>2h] --> T011[T-011: 原子写入替换<br/>4h]
|
|
29
|
-
T011 --> T012[T-012: 并发压力测试<br/>3h]
|
|
30
|
-
T011 --> T013[T-013: 跨会话污染测试<br/>3h]
|
|
31
|
-
|
|
32
|
-
%% FR-04: SubagentStop 推断
|
|
33
|
-
T014[T-014: success 字段扫描<br/>1h] --> T015[T-015: 推断逻辑替换<br/>2h]
|
|
34
|
-
|
|
35
|
-
%% FR-05: 并发度上限
|
|
36
|
-
T016[T-016: 并发度检查<br/>3h] --> T017[T-017: 并发度测试<br/>2h]
|
|
37
|
-
|
|
38
|
-
%% FR-06: Windows 命令注入
|
|
39
|
-
T018[T-018: 命令执行扫描<br/>2h] --> T019[T-019: 安全命令替换<br/>3h]
|
|
40
|
-
T019 --> T020[T-020: Windows CI<br/>2h]
|
|
41
|
-
|
|
42
|
-
%% ========== Phase 2: P1 任务 ==========
|
|
43
|
-
|
|
44
|
-
%% FR-07: 死锁检测
|
|
45
|
-
T021[T-021: 死锁检测 POC<br/>4h] --> T022[T-022: 死锁检测实现<br/>4h]
|
|
46
|
-
|
|
47
|
-
%% FR-08: 测试覆盖
|
|
48
|
-
T023[T-023: 并发场景测试<br/>6h] --> T026[T-026: 覆盖率报告<br/>2h]
|
|
49
|
-
T024[T-024: 状态污染测试<br/>4h] --> T026
|
|
50
|
-
T025[T-025: 安全关键路径测试<br/>6h] --> T026
|
|
51
|
-
|
|
52
|
-
%% FR-09: 文档同步
|
|
53
|
-
T027[T-027: 文档差异修复<br/>3h] --> T028[T-028: 反模式示例<br/>6h]
|
|
54
|
-
T028 --> T029[T-029: 术语表和调试指南<br/>4h]
|
|
55
|
-
T029 --> T030[T-030: 文档同步 CI<br/>3h]
|
|
56
|
-
|
|
57
|
-
%% FR-10: 超时阈值
|
|
58
|
-
T031[T-031: 超时常量提取<br/>2h] --> T032[T-032: 两阶段超时测试<br/>3h]
|
|
59
|
-
|
|
60
|
-
%% FR-11: 级联失败
|
|
61
|
-
T033[T-033: 级联失败策略<br/>3h] --> T034[T-034: 级联失败测试<br/>4h]
|
|
62
|
-
|
|
63
|
-
%% FR-12: 结构化日志
|
|
64
|
-
T035[T-035: StructuredLogger<br/>4h] --> T036[T-036: 关键路径日志<br/>4h]
|
|
65
|
-
|
|
66
|
-
%% ========== Phase 3: P2 任务 ==========
|
|
67
|
-
|
|
68
|
-
%% FR-13: 技术债务
|
|
69
|
-
T037[T-037: 技术债务分级<br/>3h] --> T038[T-038: P0/P1 债务清理<br/>8h]
|
|
70
|
-
T038 --> T039[T-039: 清理报告<br/>2h]
|
|
71
|
-
|
|
72
|
-
%% FR-14: 开发体验
|
|
73
|
-
T040[T-040: omc repair 命令<br/>6h] --> T041[T-041: 错误信息改进<br/>4h]
|
|
74
|
-
T041 --> T042[T-042: 开发体验文档<br/>3h]
|
|
75
|
-
|
|
76
|
-
%% ========== 跨阶段依赖 ==========
|
|
77
|
-
|
|
78
|
-
%% Phase 1 → Phase 2
|
|
79
|
-
T011 -.->|状态管理基础| T023
|
|
80
|
-
T011 -.->|状态管理基础| T024
|
|
81
|
-
T003 -.->|安全修复完成| T025
|
|
82
|
-
T008 -.->|加密集成完成| T025
|
|
83
|
-
|
|
84
|
-
%% Phase 2 → Phase 3
|
|
85
|
-
T026 -.->|测试基线建立| T037
|
|
86
|
-
T030 -.->|文档规范建立| T042
|
|
87
|
-
|
|
88
|
-
%% ========== 样式定义 ==========
|
|
89
|
-
|
|
90
|
-
classDef critical fill:#ff6b6b,stroke:#c92a2a,stroke-width:3px,color:#fff
|
|
91
|
-
classDef p0 fill:#ffa94d,stroke:#fd7e14,stroke-width:2px
|
|
92
|
-
classDef p1 fill:#4dabf7,stroke:#1971c2,stroke-width:2px
|
|
93
|
-
classDef p2 fill:#51cf66,stroke:#2f9e44,stroke-width:2px
|
|
94
|
-
|
|
95
|
-
%% 关键路径标注
|
|
96
|
-
class T001,T002,T003,T010,T011 critical
|
|
97
|
-
|
|
98
|
-
%% P0 任务
|
|
99
|
-
class T004,T005,T006,T007,T008,T009,T012,T013,T014,T015,T016,T017,T018,T019,T020 p0
|
|
100
|
-
|
|
101
|
-
%% P1 任务
|
|
102
|
-
class T021,T022,T023,T024,T025,T026,T027,T028,T029,T030,T031,T032,T033,T034,T035,T036 p1
|
|
103
|
-
|
|
104
|
-
%% P2 任务
|
|
105
|
-
class T037,T038,T039,T040,T041,T042 p2
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## 关键路径详解
|
|
111
|
-
|
|
112
|
-
### 🔴 Critical Path 1: 路径遍历防护 (12h)
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
T-001 (2h) → T-002 (3h) → T-003 (4h) → T-004 (3h)
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
**为什么是关键路径**:
|
|
119
|
-
- 阻塞所有安全测试 (T-025)
|
|
120
|
-
- 阻塞 ESLint CI 集成
|
|
121
|
-
- 影响 v7.5.3 发布时间
|
|
122
|
-
|
|
123
|
-
**优化建议**:
|
|
124
|
-
- T-001 和 T-002 可部分并行(边扫描边实现)
|
|
125
|
-
- T-003 可分批修复(按风险等级)
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
### 🔴 Critical Path 2: 状态一致性保护 (9h)
|
|
130
|
-
|
|
131
|
-
```
|
|
132
|
-
T-010 (2h) → T-011 (4h) → T-012/T-013 (3h 并行)
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**为什么是关键路径**:
|
|
136
|
-
- 阻塞所有并发测试 (T-023, T-024)
|
|
137
|
-
- 影响状态管理模块稳定性
|
|
138
|
-
- 高风险修复(需充分测试)
|
|
139
|
-
|
|
140
|
-
**优化建议**:
|
|
141
|
-
- T-012 和 T-013 完全并行执行
|
|
142
|
-
- T-011 完成后立即启动测试
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 并行执行策略
|
|
147
|
-
|
|
148
|
-
### Phase 1 并行组 (Week 1)
|
|
149
|
-
|
|
150
|
-
**Day 1** - 启动 5 个独立扫描任务:
|
|
151
|
-
```mermaid
|
|
152
|
-
graph LR
|
|
153
|
-
T001[T-001: 路径遍历扫描]
|
|
154
|
-
T005[T-005: 敏感数据清单]
|
|
155
|
-
T010[T-010: 直接写入扫描]
|
|
156
|
-
T014[T-014: success 字段扫描]
|
|
157
|
-
T018[T-018: 命令执行扫描]
|
|
158
|
-
|
|
159
|
-
style T001 fill:#ffa94d
|
|
160
|
-
style T005 fill:#ffa94d
|
|
161
|
-
style T010 fill:#ffa94d
|
|
162
|
-
style T014 fill:#ffa94d
|
|
163
|
-
style T018 fill:#ffa94d
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
**Day 2-3** - 3 条并行实现链:
|
|
167
|
-
```mermaid
|
|
168
|
-
graph TD
|
|
169
|
-
subgraph Chain_A[链 A: 路径遍历]
|
|
170
|
-
T002A[T-002] --> T003A[T-003]
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
subgraph Chain_B[链 B: 敏感数据]
|
|
174
|
-
T006B[T-006] --> T007B[T-007]
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
subgraph Chain_C[链 C: 状态一致性]
|
|
178
|
-
T011C[T-011]
|
|
179
|
-
end
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
### Phase 2 并行组 (Week 1-2)
|
|
185
|
-
|
|
186
|
-
**完全独立的 6 条并行链**:
|
|
187
|
-
```mermaid
|
|
188
|
-
graph TD
|
|
189
|
-
subgraph G[组 G: 死锁检测]
|
|
190
|
-
T021 --> T022
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
subgraph H[组 H: 测试覆盖]
|
|
194
|
-
T023 --> T026
|
|
195
|
-
T024 --> T026
|
|
196
|
-
T025 --> T026
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
subgraph I[组 I: 文档同步]
|
|
200
|
-
T027 --> T028 --> T029 --> T030
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
subgraph J[组 J: 超时阈值]
|
|
204
|
-
T031 --> T032
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
subgraph K[组 K: 级联失败]
|
|
208
|
-
T033 --> T034
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
subgraph L[组 L: 结构化日志]
|
|
212
|
-
T035 --> T036
|
|
213
|
-
end
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## 任务优先级矩阵
|
|
219
|
-
|
|
220
|
-
| 任务 ID | 优先级 | 工时 | 依赖数 | 被依赖数 | 关键路径 |
|
|
221
|
-
|---------|--------|------|--------|----------|----------|
|
|
222
|
-
| T-001 | P0 | 2h | 0 | 1 | ✅ |
|
|
223
|
-
| T-002 | P0 | 3h | 1 | 1 | ✅ |
|
|
224
|
-
| T-003 | P0 | 4h | 1 | 2 | ✅ |
|
|
225
|
-
| T-010 | P0 | 2h | 0 | 1 | ✅ |
|
|
226
|
-
| T-011 | P0 | 4h | 1 | 4 | ✅ |
|
|
227
|
-
| T-004 | P0 | 3h | 1 | 0 | ❌ |
|
|
228
|
-
| T-005 | P0 | 2h | 0 | 1 | ❌ |
|
|
229
|
-
| T-023 | P1 | 6h | 2 | 1 | ❌ |
|
|
230
|
-
| T-028 | P1 | 6h | 1 | 1 | ❌ |
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
## 风险依赖分析
|
|
235
|
-
|
|
236
|
-
### 高风险依赖
|
|
237
|
-
|
|
238
|
-
**T-011 (原子写入替换)** 被 4 个任务依赖:
|
|
239
|
-
- T-012 (并发压力测试)
|
|
240
|
-
- T-013 (跨会话污染测试)
|
|
241
|
-
- T-023 (并发场景测试)
|
|
242
|
-
- T-024 (状态污染测试)
|
|
243
|
-
|
|
244
|
-
**缓解措施**:
|
|
245
|
-
- 优先完成 T-011
|
|
246
|
-
- 增加 T-011 的测试覆盖
|
|
247
|
-
- 准备回滚方案
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
### 跨阶段依赖
|
|
252
|
-
|
|
253
|
-
**Phase 1 → Phase 2**:
|
|
254
|
-
```
|
|
255
|
-
T-003 (路径遍历修复) ──┐
|
|
256
|
-
├──> T-025 (安全关键路径测试)
|
|
257
|
-
T-008 (敏感数据加密) ──┘
|
|
258
|
-
|
|
259
|
-
T-011 (原子写入) ──┬──> T-023 (并发场景测试)
|
|
260
|
-
└──> T-024 (状态污染测试)
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
**Phase 2 → Phase 3**:
|
|
264
|
-
```
|
|
265
|
-
T-026 (覆盖率报告) ───> T-037 (技术债务分级)
|
|
266
|
-
T-030 (文档同步 CI) ───> T-042 (开发体验文档)
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## 执行时间线
|
|
272
|
-
|
|
273
|
-
### Phase 1 时间线 (10 天)
|
|
274
|
-
|
|
275
|
-
```
|
|
276
|
-
Day 1 |████████| T-001, T-005, T-010, T-014, T-018 (并行扫描)
|
|
277
|
-
Day 2 |████████| T-002, T-006, T-016 (工具实现)
|
|
278
|
-
Day 3 |████████| T-003, T-007, T-011, T-015, T-019 (核心修复)
|
|
279
|
-
Day 4 |████████| T-004, T-008, T-012, T-017 (集成测试)
|
|
280
|
-
Day 5 |████████| T-009, T-013, T-020 (CI 集成)
|
|
281
|
-
Day 6-8|████████| 回归测试 + Bug 修复
|
|
282
|
-
Day 9 |████████| 发布准备
|
|
283
|
-
Day 10 |████████| v7.5.3 发布
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
### Phase 2 时间线 (20 天)
|
|
287
|
-
|
|
288
|
-
```
|
|
289
|
-
Week 1-2 |████████████████| T-023, T-024, T-025, T-026 (测试覆盖)
|
|
290
|
-
Week 3 |████████| T-027→T-030 (文档), T-031→T-032 (超时)
|
|
291
|
-
Week 4 |████████| T-021→T-022, T-033→T-034, T-035→T-036
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
**生成时间**: 2026-03-16
|
|
297
|
-
**下一步**: 结合 Manifest 清单开始执行
|
|
1
|
+
# DAG 依赖图: ultrapower v7.5.2 Bug 审计
|
|
2
|
+
|
|
3
|
+
> **状态**: ACTIVE
|
|
4
|
+
> **创建日期**: 2026-03-16
|
|
5
|
+
> **来源**: bugs-pain-points-audit-manifest.md
|
|
6
|
+
> **总任务数**: 42 个原子任务
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 全局依赖关系图
|
|
11
|
+
|
|
12
|
+
```mermaid
|
|
13
|
+
graph TD
|
|
14
|
+
%% ========== Phase 1: P0 任务 ==========
|
|
15
|
+
|
|
16
|
+
%% FR-01: 路径遍历防护
|
|
17
|
+
T001[T-001: 路径遍历扫描<br/>2h] --> T002[T-002: assertValidMode 实现<br/>3h]
|
|
18
|
+
T002 --> T003[T-003: 全局替换<br/>4h]
|
|
19
|
+
T003 --> T004[T-004: ESLint 规则<br/>3h]
|
|
20
|
+
|
|
21
|
+
%% FR-02: 敏感数据保护
|
|
22
|
+
T005[T-005: 敏感数据清单<br/>2h] --> T006[T-006: 敏感数据扫描<br/>2h]
|
|
23
|
+
T006 --> T007[T-007: 加密工具实现<br/>4h]
|
|
24
|
+
T007 --> T008[T-008: 状态文件加密<br/>3h]
|
|
25
|
+
T008 --> T009[T-009: CI 密钥检测<br/>2h]
|
|
26
|
+
|
|
27
|
+
%% FR-03: 状态一致性
|
|
28
|
+
T010[T-010: 直接写入扫描<br/>2h] --> T011[T-011: 原子写入替换<br/>4h]
|
|
29
|
+
T011 --> T012[T-012: 并发压力测试<br/>3h]
|
|
30
|
+
T011 --> T013[T-013: 跨会话污染测试<br/>3h]
|
|
31
|
+
|
|
32
|
+
%% FR-04: SubagentStop 推断
|
|
33
|
+
T014[T-014: success 字段扫描<br/>1h] --> T015[T-015: 推断逻辑替换<br/>2h]
|
|
34
|
+
|
|
35
|
+
%% FR-05: 并发度上限
|
|
36
|
+
T016[T-016: 并发度检查<br/>3h] --> T017[T-017: 并发度测试<br/>2h]
|
|
37
|
+
|
|
38
|
+
%% FR-06: Windows 命令注入
|
|
39
|
+
T018[T-018: 命令执行扫描<br/>2h] --> T019[T-019: 安全命令替换<br/>3h]
|
|
40
|
+
T019 --> T020[T-020: Windows CI<br/>2h]
|
|
41
|
+
|
|
42
|
+
%% ========== Phase 2: P1 任务 ==========
|
|
43
|
+
|
|
44
|
+
%% FR-07: 死锁检测
|
|
45
|
+
T021[T-021: 死锁检测 POC<br/>4h] --> T022[T-022: 死锁检测实现<br/>4h]
|
|
46
|
+
|
|
47
|
+
%% FR-08: 测试覆盖
|
|
48
|
+
T023[T-023: 并发场景测试<br/>6h] --> T026[T-026: 覆盖率报告<br/>2h]
|
|
49
|
+
T024[T-024: 状态污染测试<br/>4h] --> T026
|
|
50
|
+
T025[T-025: 安全关键路径测试<br/>6h] --> T026
|
|
51
|
+
|
|
52
|
+
%% FR-09: 文档同步
|
|
53
|
+
T027[T-027: 文档差异修复<br/>3h] --> T028[T-028: 反模式示例<br/>6h]
|
|
54
|
+
T028 --> T029[T-029: 术语表和调试指南<br/>4h]
|
|
55
|
+
T029 --> T030[T-030: 文档同步 CI<br/>3h]
|
|
56
|
+
|
|
57
|
+
%% FR-10: 超时阈值
|
|
58
|
+
T031[T-031: 超时常量提取<br/>2h] --> T032[T-032: 两阶段超时测试<br/>3h]
|
|
59
|
+
|
|
60
|
+
%% FR-11: 级联失败
|
|
61
|
+
T033[T-033: 级联失败策略<br/>3h] --> T034[T-034: 级联失败测试<br/>4h]
|
|
62
|
+
|
|
63
|
+
%% FR-12: 结构化日志
|
|
64
|
+
T035[T-035: StructuredLogger<br/>4h] --> T036[T-036: 关键路径日志<br/>4h]
|
|
65
|
+
|
|
66
|
+
%% ========== Phase 3: P2 任务 ==========
|
|
67
|
+
|
|
68
|
+
%% FR-13: 技术债务
|
|
69
|
+
T037[T-037: 技术债务分级<br/>3h] --> T038[T-038: P0/P1 债务清理<br/>8h]
|
|
70
|
+
T038 --> T039[T-039: 清理报告<br/>2h]
|
|
71
|
+
|
|
72
|
+
%% FR-14: 开发体验
|
|
73
|
+
T040[T-040: omc repair 命令<br/>6h] --> T041[T-041: 错误信息改进<br/>4h]
|
|
74
|
+
T041 --> T042[T-042: 开发体验文档<br/>3h]
|
|
75
|
+
|
|
76
|
+
%% ========== 跨阶段依赖 ==========
|
|
77
|
+
|
|
78
|
+
%% Phase 1 → Phase 2
|
|
79
|
+
T011 -.->|状态管理基础| T023
|
|
80
|
+
T011 -.->|状态管理基础| T024
|
|
81
|
+
T003 -.->|安全修复完成| T025
|
|
82
|
+
T008 -.->|加密集成完成| T025
|
|
83
|
+
|
|
84
|
+
%% Phase 2 → Phase 3
|
|
85
|
+
T026 -.->|测试基线建立| T037
|
|
86
|
+
T030 -.->|文档规范建立| T042
|
|
87
|
+
|
|
88
|
+
%% ========== 样式定义 ==========
|
|
89
|
+
|
|
90
|
+
classDef critical fill:#ff6b6b,stroke:#c92a2a,stroke-width:3px,color:#fff
|
|
91
|
+
classDef p0 fill:#ffa94d,stroke:#fd7e14,stroke-width:2px
|
|
92
|
+
classDef p1 fill:#4dabf7,stroke:#1971c2,stroke-width:2px
|
|
93
|
+
classDef p2 fill:#51cf66,stroke:#2f9e44,stroke-width:2px
|
|
94
|
+
|
|
95
|
+
%% 关键路径标注
|
|
96
|
+
class T001,T002,T003,T010,T011 critical
|
|
97
|
+
|
|
98
|
+
%% P0 任务
|
|
99
|
+
class T004,T005,T006,T007,T008,T009,T012,T013,T014,T015,T016,T017,T018,T019,T020 p0
|
|
100
|
+
|
|
101
|
+
%% P1 任务
|
|
102
|
+
class T021,T022,T023,T024,T025,T026,T027,T028,T029,T030,T031,T032,T033,T034,T035,T036 p1
|
|
103
|
+
|
|
104
|
+
%% P2 任务
|
|
105
|
+
class T037,T038,T039,T040,T041,T042 p2
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 关键路径详解
|
|
111
|
+
|
|
112
|
+
### 🔴 Critical Path 1: 路径遍历防护 (12h)
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
T-001 (2h) → T-002 (3h) → T-003 (4h) → T-004 (3h)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**为什么是关键路径**:
|
|
119
|
+
- 阻塞所有安全测试 (T-025)
|
|
120
|
+
- 阻塞 ESLint CI 集成
|
|
121
|
+
- 影响 v7.5.3 发布时间
|
|
122
|
+
|
|
123
|
+
**优化建议**:
|
|
124
|
+
- T-001 和 T-002 可部分并行(边扫描边实现)
|
|
125
|
+
- T-003 可分批修复(按风险等级)
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### 🔴 Critical Path 2: 状态一致性保护 (9h)
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
T-010 (2h) → T-011 (4h) → T-012/T-013 (3h 并行)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**为什么是关键路径**:
|
|
136
|
+
- 阻塞所有并发测试 (T-023, T-024)
|
|
137
|
+
- 影响状态管理模块稳定性
|
|
138
|
+
- 高风险修复(需充分测试)
|
|
139
|
+
|
|
140
|
+
**优化建议**:
|
|
141
|
+
- T-012 和 T-013 完全并行执行
|
|
142
|
+
- T-011 完成后立即启动测试
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 并行执行策略
|
|
147
|
+
|
|
148
|
+
### Phase 1 并行组 (Week 1)
|
|
149
|
+
|
|
150
|
+
**Day 1** - 启动 5 个独立扫描任务:
|
|
151
|
+
```mermaid
|
|
152
|
+
graph LR
|
|
153
|
+
T001[T-001: 路径遍历扫描]
|
|
154
|
+
T005[T-005: 敏感数据清单]
|
|
155
|
+
T010[T-010: 直接写入扫描]
|
|
156
|
+
T014[T-014: success 字段扫描]
|
|
157
|
+
T018[T-018: 命令执行扫描]
|
|
158
|
+
|
|
159
|
+
style T001 fill:#ffa94d
|
|
160
|
+
style T005 fill:#ffa94d
|
|
161
|
+
style T010 fill:#ffa94d
|
|
162
|
+
style T014 fill:#ffa94d
|
|
163
|
+
style T018 fill:#ffa94d
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Day 2-3** - 3 条并行实现链:
|
|
167
|
+
```mermaid
|
|
168
|
+
graph TD
|
|
169
|
+
subgraph Chain_A[链 A: 路径遍历]
|
|
170
|
+
T002A[T-002] --> T003A[T-003]
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
subgraph Chain_B[链 B: 敏感数据]
|
|
174
|
+
T006B[T-006] --> T007B[T-007]
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
subgraph Chain_C[链 C: 状态一致性]
|
|
178
|
+
T011C[T-011]
|
|
179
|
+
end
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
### Phase 2 并行组 (Week 1-2)
|
|
185
|
+
|
|
186
|
+
**完全独立的 6 条并行链**:
|
|
187
|
+
```mermaid
|
|
188
|
+
graph TD
|
|
189
|
+
subgraph G[组 G: 死锁检测]
|
|
190
|
+
T021 --> T022
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
subgraph H[组 H: 测试覆盖]
|
|
194
|
+
T023 --> T026
|
|
195
|
+
T024 --> T026
|
|
196
|
+
T025 --> T026
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
subgraph I[组 I: 文档同步]
|
|
200
|
+
T027 --> T028 --> T029 --> T030
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
subgraph J[组 J: 超时阈值]
|
|
204
|
+
T031 --> T032
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
subgraph K[组 K: 级联失败]
|
|
208
|
+
T033 --> T034
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
subgraph L[组 L: 结构化日志]
|
|
212
|
+
T035 --> T036
|
|
213
|
+
end
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 任务优先级矩阵
|
|
219
|
+
|
|
220
|
+
| 任务 ID | 优先级 | 工时 | 依赖数 | 被依赖数 | 关键路径 |
|
|
221
|
+
|---------|--------|------|--------|----------|----------|
|
|
222
|
+
| T-001 | P0 | 2h | 0 | 1 | ✅ |
|
|
223
|
+
| T-002 | P0 | 3h | 1 | 1 | ✅ |
|
|
224
|
+
| T-003 | P0 | 4h | 1 | 2 | ✅ |
|
|
225
|
+
| T-010 | P0 | 2h | 0 | 1 | ✅ |
|
|
226
|
+
| T-011 | P0 | 4h | 1 | 4 | ✅ |
|
|
227
|
+
| T-004 | P0 | 3h | 1 | 0 | ❌ |
|
|
228
|
+
| T-005 | P0 | 2h | 0 | 1 | ❌ |
|
|
229
|
+
| T-023 | P1 | 6h | 2 | 1 | ❌ |
|
|
230
|
+
| T-028 | P1 | 6h | 1 | 1 | ❌ |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 风险依赖分析
|
|
235
|
+
|
|
236
|
+
### 高风险依赖
|
|
237
|
+
|
|
238
|
+
**T-011 (原子写入替换)** 被 4 个任务依赖:
|
|
239
|
+
- T-012 (并发压力测试)
|
|
240
|
+
- T-013 (跨会话污染测试)
|
|
241
|
+
- T-023 (并发场景测试)
|
|
242
|
+
- T-024 (状态污染测试)
|
|
243
|
+
|
|
244
|
+
**缓解措施**:
|
|
245
|
+
- 优先完成 T-011
|
|
246
|
+
- 增加 T-011 的测试覆盖
|
|
247
|
+
- 准备回滚方案
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
### 跨阶段依赖
|
|
252
|
+
|
|
253
|
+
**Phase 1 → Phase 2**:
|
|
254
|
+
```
|
|
255
|
+
T-003 (路径遍历修复) ──┐
|
|
256
|
+
├──> T-025 (安全关键路径测试)
|
|
257
|
+
T-008 (敏感数据加密) ──┘
|
|
258
|
+
|
|
259
|
+
T-011 (原子写入) ──┬──> T-023 (并发场景测试)
|
|
260
|
+
└──> T-024 (状态污染测试)
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Phase 2 → Phase 3**:
|
|
264
|
+
```
|
|
265
|
+
T-026 (覆盖率报告) ───> T-037 (技术债务分级)
|
|
266
|
+
T-030 (文档同步 CI) ───> T-042 (开发体验文档)
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## 执行时间线
|
|
272
|
+
|
|
273
|
+
### Phase 1 时间线 (10 天)
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
Day 1 |████████| T-001, T-005, T-010, T-014, T-018 (并行扫描)
|
|
277
|
+
Day 2 |████████| T-002, T-006, T-016 (工具实现)
|
|
278
|
+
Day 3 |████████| T-003, T-007, T-011, T-015, T-019 (核心修复)
|
|
279
|
+
Day 4 |████████| T-004, T-008, T-012, T-017 (集成测试)
|
|
280
|
+
Day 5 |████████| T-009, T-013, T-020 (CI 集成)
|
|
281
|
+
Day 6-8|████████| 回归测试 + Bug 修复
|
|
282
|
+
Day 9 |████████| 发布准备
|
|
283
|
+
Day 10 |████████| v7.5.3 发布
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Phase 2 时间线 (20 天)
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
Week 1-2 |████████████████| T-023, T-024, T-025, T-026 (测试覆盖)
|
|
290
|
+
Week 3 |████████| T-027→T-030 (文档), T-031→T-032 (超时)
|
|
291
|
+
Week 4 |████████| T-021→T-022, T-033→T-034, T-035→T-036
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
**生成时间**: 2026-03-16
|
|
297
|
+
**下一步**: 结合 Manifest 清单开始执行
|