aodw-skill 0.7.13 → 0.7.17
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/.aodw-next/01-core/ai-interaction-rules-summary.md +37 -0
- package/.aodw-next/01-core/ai-interaction-rules.md +20 -6
- package/.aodw-next/01-core/ai-knowledge-rules-summary.md +25 -0
- package/.aodw-next/01-core/ai-knowledge-rules.md +19 -21
- package/.aodw-next/01-core/ai-project-overview-rules.md +11 -11
- package/.aodw-next/01-core/aodw-constitution.md +7 -414
- package/.aodw-next/01-core/csf-thinking-framework.md +14 -14
- package/.aodw-next/01-core/git-discipline-summary.md +36 -0
- package/.aodw-next/01-core/git-discipline.md +129 -73
- package/.aodw-next/01-core/module-doc-rules.md +2 -2
- package/.aodw-next/02-workflow/rt-id-generation-rules.md +16 -259
- package/.aodw-next/02-workflow/rt-manager-summary.md +1 -1
- package/.aodw-next/02-workflow/rt-manager.md +73 -344
- package/.aodw-next/02-workflow/spec-full-profile.md +149 -307
- package/.aodw-next/02-workflow/spec-lite-profile.md +170 -253
- package/.aodw-next/02-workflow/ui-workflow-rules-summary.md +39 -0
- package/.aodw-next/02-workflow/ui-workflow-rules.md +57 -292
- package/.aodw-next/03-standards/ai-coding-rules-common.md +1 -1
- package/.aodw-next/03-standards/ai-coding-rules.md +91 -25
- package/.aodw-next/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +9 -9
- package/.aodw-next/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +13 -13
- package/.aodw-next/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +10 -10
- package/.aodw-next/03-standards/stacks/rust-axum/ai-coding-rules-backend.md +4 -4
- package/.aodw-next/03-standards/stacks/vue2/ai-coding-rules-frontend.md +9 -9
- package/.aodw-next/04-auditors/aodw-development-auditor-rules.md +15 -10
- package/.aodw-next/04-auditors/aodw-full-auditor-rules.md +14 -14
- package/.aodw-next/04-auditors/aodw-requirement-auditor-rules.md +130 -338
- package/.aodw-next/05-tooling/ai-tools-init-rules.md +74 -367
- package/.aodw-next/06-project/README.md +16 -0
- package/.aodw-next/07-optimization/token-usage-analysis.md +2 -2
- package/.aodw-next/README.md +53 -20
- package/.aodw-next/SKILL.md +32 -0
- package/.aodw-next/config.yaml +2 -2
- package/.aodw-next/manifest.yaml +64 -57
- package/.aodw-next/project.yaml +1 -0
- package/.aodw-next/templates/TEMPLATE-APPLICATION-GUIDE.md +21 -157
- package/.aodw-next/templates/ai-overview.template.md +72 -0
- package/.aodw-next/templates/aodw-kernel-loader-template.md +19 -19
- package/.aodw-next/templates/checklists/coding-standards-template.md +24 -4
- package/.aodw-next/templates/modules-index.template.yaml +13 -0
- package/.aodw-next/templates/plan-lite-template.md +9 -0
- package/.aodw-next/templates/rt-intake-template.md +2 -2
- package/.aodw-next/templates/rt-meta-template.yaml +2 -2
- package/.aodw-next/templates/spec-lite-template.md +9 -0
- package/.aodw-next/templates/tools-config/README.md +1 -1
- package/.aodw-next/templates/tools-config/backend/clippy.config.template.toml +5 -0
- package/.aodw-next/templates/tools-config/backend/rustfmt.config.template.toml +4 -0
- package/.aodw-next/tools-status.yaml +51 -0
- package/AODW_Adapters/antigravity/.agent/rules/aodw-next.md +2 -2
- package/AODW_Adapters/claude/CLAUDE.md +2 -2
- package/AODW_Adapters/cursor/.cursor/rules/aodw-next.mdc +2 -2
- package/AODW_Adapters/gemini/.agent/rules/aodw-next.md +2 -2
- package/AODW_Adapters/gemini/GEMINI.md +6 -5
- package/AODW_Adapters/general/AGENTS.md +2 -2
- package/README.md +62 -45
- package/bin/aodw.js +44 -16
- package/bin/commands/init-overview.js +3 -3
- package/bin/commands/init-tools.js +34 -51
- package/bin/utils/config.js +1 -1
- package/package.json +1 -1
- package/.aodw-next/.aodw-next/01-core/ai-interaction-rules.md +0 -218
- package/.aodw-next/.aodw-next/01-core/ai-knowledge-rules.md +0 -302
- package/.aodw-next/.aodw-next/01-core/ai-project-overview-rules.md +0 -284
- package/.aodw-next/.aodw-next/01-core/aodw-constitution-summary.md +0 -20
- package/.aodw-next/.aodw-next/01-core/aodw-constitution.md +0 -419
- package/.aodw-next/.aodw-next/01-core/csf-thinking-framework.md +0 -373
- package/.aodw-next/.aodw-next/01-core/git-discipline.md +0 -226
- package/.aodw-next/.aodw-next/01-core/module-doc-rules.md +0 -90
- package/.aodw-next/.aodw-next/02-workflow/aodw-development-stages.md +0 -235
- package/.aodw-next/.aodw-next/02-workflow/rt-id-generation-rules.md +0 -267
- package/.aodw-next/.aodw-next/02-workflow/rt-manager-summary.md +0 -15
- package/.aodw-next/.aodw-next/02-workflow/rt-manager.md +0 -399
- package/.aodw-next/.aodw-next/02-workflow/spec-full-profile-summary.md +0 -13
- package/.aodw-next/.aodw-next/02-workflow/spec-full-profile.md +0 -391
- package/.aodw-next/.aodw-next/02-workflow/spec-lite-profile.md +0 -313
- package/.aodw-next/.aodw-next/02-workflow/ui-workflow-rules.md +0 -334
- package/.aodw-next/.aodw-next/03-standards/ai-coding-rules-common.md +0 -89
- package/.aodw-next/.aodw-next/03-standards/ai-coding-rules.md +0 -370
- package/.aodw-next/.aodw-next/03-standards/stacks/java-springboot/ai-coding-rules-backend.md +0 -231
- package/.aodw-next/.aodw-next/03-standards/stacks/python-fastapi/ai-coding-rules-backend.md +0 -612
- package/.aodw-next/.aodw-next/03-standards/stacks/react-typescript/ai-coding-rules-frontend.md +0 -291
- package/.aodw-next/.aodw-next/03-standards/stacks/rust-axum/ai-coding-rules-backend.md +0 -134
- package/.aodw-next/.aodw-next/03-standards/stacks/vue2/ai-coding-rules-frontend.md +0 -220
- package/.aodw-next/.aodw-next/03-standards/ui-kit/ui-kit.md +0 -163
- package/.aodw-next/.aodw-next/04-auditors/aodw-development-auditor-rules.md +0 -470
- package/.aodw-next/.aodw-next/04-auditors/aodw-full-auditor-rules.md +0 -365
- package/.aodw-next/.aodw-next/04-auditors/aodw-requirement-auditor-rules.md +0 -408
- package/.aodw-next/.aodw-next/05-tooling/ai-tools-init-rules.md +0 -676
- package/.aodw-next/.aodw-next/06-project/ai-overview.md +0 -116
- package/.aodw-next/.aodw-next/06-project/modules-index.yaml +0 -11
- package/.aodw-next/.aodw-next/07-optimization/token-usage-analysis.md +0 -253
- package/.aodw-next/.aodw-next/README.md +0 -26
- package/.aodw-next/.aodw-next/RELEASE-CHECKLIST.md +0 -144
- package/.aodw-next/.aodw-next/config.yaml +0 -2
- package/.aodw-next/.aodw-next/manifest.yaml +0 -98
- package/.aodw-next/.aodw-next/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +0 -276
- package/.aodw-next/.aodw-next/templates/TEMPLATE-APPLICATION-GUIDE.md +0 -246
- package/.aodw-next/.aodw-next/templates/aodw-kernel-loader-template.md +0 -70
- package/.aodw-next/.aodw-next/templates/audit-report-template.md +0 -232
- package/.aodw-next/.aodw-next/templates/changelog-template.md +0 -16
- package/.aodw-next/.aodw-next/templates/checklists/coding-standards-template.md +0 -110
- package/.aodw-next/.aodw-next/templates/csf-review-template.md +0 -201
- package/.aodw-next/.aodw-next/templates/impact-template.md +0 -17
- package/.aodw-next/.aodw-next/templates/invariants-template.md +0 -12
- package/.aodw-next/.aodw-next/templates/module-readme-template.md +0 -39
- package/.aodw-next/.aodw-next/templates/plan-lite-template.md +0 -11
- package/.aodw-next/.aodw-next/templates/rt-decision-template.md +0 -13
- package/.aodw-next/.aodw-next/templates/rt-intake-template.md +0 -33
- package/.aodw-next/.aodw-next/templates/rt-meta-template.yaml +0 -43
- package/.aodw-next/.aodw-next/templates/spec-lite-template.md +0 -17
- package/.aodw-next/.aodw-next/templates/tests-template.md +0 -13
- package/.aodw-next/.aodw-next/templates/tools-config/README.md +0 -112
- package/.aodw-next/.aodw-next/templates/tools-config/backend/black.config.template.toml +0 -6
- package/.aodw-next/.aodw-next/templates/tools-config/backend/pre-commit.config.template.yaml +0 -16
- package/.aodw-next/.aodw-next/templates/tools-config/backend/ruff.config.template.toml +0 -23
- package/.aodw-next/.aodw-next/templates/tools-config/frontend/eslint.config.template.json +0 -113
- package/.aodw-next/.aodw-next/templates/tools-config/frontend/prettier.config.template.json +0 -10
- package/.aodw-next/.aodw-next/templates/tools-config/frontend/tsconfig.paths.template.json +0 -11
- package/.aodw-next/.aodw-next/workflow-guide.md +0 -51
- package/.aodw-next/01-core/aodw-constitution-summary.md +0 -20
- package/.aodw-next/02-workflow/aodw-development-stages.md +0 -235
- package/.aodw-next/02-workflow/spec-full-profile-summary.md +0 -13
- package/.aodw-next/06-project/ai-overview.md +0 -116
- package/.aodw-next/06-project/modules-index.yaml +0 -11
- package/.aodw-next/RELEASE-CHECKLIST.md +0 -144
- package/.aodw-next/templates/SOURCE-TO-DISTRIBUTION-GUIDE.md +0 -276
- package/.aodw-next/workflow-guide.md +0 -51
|
@@ -1,408 +1,200 @@
|
|
|
1
|
-
# AODW 需求阶段审计官规则 (Requirement Auditor Rules)
|
|
2
|
-
|
|
3
|
-
## 0. 语言要求 (Language Requirement)
|
|
4
|
-
|
|
5
|
-
**中文交流 (Chinese Communication)**:所有回复、思考过程、审计报告、文档内容均须使用中文。
|
|
6
|
-
|
|
7
1
|
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- **AODW 合规性**:严格对照 AODW 宪章、开发规范(前后端、通用)和 RT 流程要求进行检查。
|
|
21
|
-
- **战略与流程缺陷(CSF 审计)**:超越 AODW 规范的字面意思,挑战方案的根本战略价值、分解完整性以及多维决策的客观性。
|
|
22
|
-
|
|
23
|
-
4. **使用中文**:所有输出和分析必须使用中文。
|
|
24
|
-
|
|
2
|
+
id: aodw-auditor
|
|
3
|
+
version: 2.0.0
|
|
4
|
+
category: aodw/quality-gate
|
|
5
|
+
trigger: "当用户输入'审计',或 Profile Skill 内联触发时加载"
|
|
6
|
+
modes:
|
|
7
|
+
- requirement: "审计 rt-lite.md §1-§2 或 spec/plan 文档"
|
|
8
|
+
- development: "审计代码实现与 git diff"
|
|
9
|
+
- full: "需求 + 开发综合审计"
|
|
10
|
+
description: >
|
|
11
|
+
AODW 统一审计 Skill(原需求审计官 + 开发审计官合并版)。
|
|
12
|
+
v2.0 新增:支持单文件 rt-lite.md 的章节锚点审计(Spec-Lite 模式)。
|
|
13
|
+
token_budget: "~3KB"
|
|
25
14
|
---
|
|
26
15
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
您必须聚焦于以下四个维度,并强制执行其中包含的**硬性检查点(Hard Limits)**:
|
|
30
|
-
|
|
31
|
-
| 审计维度 | 挑战重点 | 依据规范 & 强制检查点(Hard Limits) |
|
|
32
|
-
| :--- | :--- | :--- |
|
|
33
|
-
| **I. 需求完整性(Requirement Completeness)** | **文档结构缺失**:需求文档是否包含所有必要章节?目标与非目标是否明确? | **Spec-Full**:`spec.md` 必须包含:背景、目标、用户故事、功能需求、非功能需求、成功标准。<br/>**Spec-Lite**:`spec-lite.md` 必须包含:背景、目标、当前行为、期望行为、影响范围。 |
|
|
34
|
-
| | **需求可验证性缺失**:功能需求是否可验证?成功标准是否可衡量? | **硬性要求**:所有功能需求必须可验证;成功标准必须可衡量。 |
|
|
35
|
-
| **II. 需求一致性(Requirement Consistency)** | **文档间矛盾**:`intake.md` 与 `spec.md` / `spec-lite.md` 是否一致?`spec.md` / `spec-lite.md` 与 `plan.md` / `plan-lite.md` 是否一致? | **硬性要求**:文档间不得存在矛盾;术语使用必须一致;影响范围描述必须一致。 |
|
|
36
|
-
| | **方案与需求不匹配**:`plan.md` / `plan-lite.md` 中的技术方案是否满足 `spec.md` / `spec-lite.md` 中的需求? | **硬性要求**:技术方案必须满足所有需求;不得遗漏关键需求。 |
|
|
37
|
-
| **III. 需求可执行性(Requirement Executability)** | **技术方案不完整**:`plan.md` / `plan-lite.md` 中的技术方案是否足够详细?代码结构与分层设计是否明确? | **硬性要求**:`plan.md` / `plan-lite.md` 必须包含代码结构与分层设计;必须明确修改的文件路径;必须符合编码规范(前端/后端)。 |
|
|
38
|
-
| | **技术风险未识别**:是否存在技术风险未识别?技术方案是否可行? | **硬性要求**:必须识别技术风险;技术方案必须可行。 |
|
|
39
|
-
| **IV. 战略对齐与 CSF 检查(Strategic Alignment & CSF)** | **目标偏差与无效工作**:需求是否未能直接贡献于 RT 的最终目标(以终为始)?是否存在资源浪费或工作无效? | **CSF 3.1, 3.2**:挑战目标定义是否模糊或不可衡量;方案结构是否符合**MECE 原则**(不重不漏)。 |
|
|
40
|
-
| | **决策客观性缺失**:是否缺乏对备选方案的**多维度评估**(如:性能、成本、风险、可维护性)?推荐方案的理由是否主观或单一? | **CSF 3.5 & AI 4**:要求至少 2-3 个备选方案;挑战评估维度和权重是否合理。 |
|
|
16
|
+
# Skill: aodw-auditor
|
|
17
|
+
AODW 统一审计官 v2.0
|
|
41
18
|
|
|
42
19
|
---
|
|
43
20
|
|
|
44
|
-
##
|
|
45
|
-
|
|
46
|
-
需求阶段审计官在以下文档生成后**必须自动执行**:
|
|
47
|
-
|
|
48
|
-
### 3.1 `intake.md` 生成后
|
|
49
|
-
|
|
50
|
-
**检查重点**:
|
|
51
|
-
- 需求理解是否完整
|
|
52
|
-
- 问题是否充分澄清
|
|
53
|
-
- 需求类型、范围、风险等级是否明确
|
|
54
|
-
|
|
55
|
-
**必须检查项**:
|
|
56
|
-
- [ ] `intake.md` 是否包含原始用户描述?
|
|
57
|
-
- [ ] `intake.md` 是否包含问题与答案摘要?
|
|
58
|
-
- [ ] `intake.md` 是否包含需求类型、范围、风险等级?
|
|
59
|
-
- [ ] 影响模块估计是否明确?
|
|
60
|
-
|
|
61
|
-
### 3.2 `decision.md` 生成后
|
|
62
|
-
|
|
63
|
-
**检查重点**:
|
|
64
|
-
- Profile 选择是否合理
|
|
65
|
-
- 决策理由是否充分
|
|
66
|
-
- 目标与复杂度是否匹配
|
|
67
|
-
|
|
68
|
-
**必须检查项**:
|
|
69
|
-
- [ ] `decision.md` 是否包含 AI 的判断与理由?
|
|
70
|
-
- [ ] `decision.md` 是否包含推荐使用的 Profile?
|
|
71
|
-
- [ ] Profile 选择是否与需求复杂度匹配?
|
|
72
|
-
- [ ] 如用户强行指定流程,是否记录了 AI 的原始建议?
|
|
73
|
-
|
|
74
|
-
### 3.3 `spec.md` / `spec-lite.md` 生成后
|
|
75
|
-
|
|
76
|
-
**检查重点**:
|
|
77
|
-
- 需求完整性
|
|
78
|
-
- 目标是否清晰
|
|
79
|
-
- 需求是否可验证
|
|
80
|
-
|
|
81
|
-
**必须检查项**(Spec-Full):
|
|
82
|
-
- [ ] `spec.md` 是否包含背景与动机?
|
|
83
|
-
- [ ] `spec.md` 是否包含目标与非目标?
|
|
84
|
-
- [ ] `spec.md` 是否包含用户故事/用例?
|
|
85
|
-
- [ ] `spec.md` 是否包含功能需求(可验证)?
|
|
86
|
-
- [ ] `spec.md` 是否包含非功能需求?
|
|
87
|
-
- [ ] `spec.md` 是否包含成功标准(可衡量)?
|
|
88
|
-
- [ ] `spec.md` 是否包含假设与依赖?
|
|
89
|
-
- [ ] `spec.md` 是否包含澄清记录(Q&A)?
|
|
90
|
-
|
|
91
|
-
**必须检查项**(Spec-Lite):
|
|
92
|
-
- [ ] `spec-lite.md` 是否包含背景(Context)?
|
|
93
|
-
- [ ] `spec-lite.md` 是否包含目标(Goal)?
|
|
94
|
-
- [ ] `spec-lite.md` 是否包含当前行为(Current Behavior)?
|
|
95
|
-
- [ ] `spec-lite.md` 是否包含期望行为(Desired Behavior)?
|
|
96
|
-
- [ ] `spec-lite.md` 是否包含影响范围(Scope)?
|
|
97
|
-
|
|
98
|
-
### 3.4 `plan.md` / `plan-lite.md` 生成后
|
|
99
|
-
|
|
100
|
-
**检查重点**:
|
|
101
|
-
- 技术方案是否完整
|
|
102
|
-
- 是否满足需求
|
|
103
|
-
- 是否符合编码规范
|
|
104
|
-
- **必须执行 CSF 审查**
|
|
105
|
-
|
|
106
|
-
**必须检查项**(Spec-Full):
|
|
107
|
-
- [ ] `plan.md` 是否包含技术背景?
|
|
108
|
-
- [ ] `plan.md` 是否包含方案概览?
|
|
109
|
-
- [ ] `plan.md` 是否包含组件与模块变更?
|
|
110
|
-
- [ ] `plan.md` 是否包含代码结构与分层设计(必须)?
|
|
111
|
-
- [ ] `plan.md` 是否包含数据流与控制流?
|
|
112
|
-
- [ ] `plan.md` 是否包含风险与缓解策略?
|
|
113
|
-
- [ ] `plan.md` 是否包含分阶段计划?
|
|
114
|
-
- [ ] 代码结构与分层设计是否符合编码规范(前端/后端)?
|
|
115
|
-
|
|
116
|
-
**必须检查项**(Spec-Lite):
|
|
117
|
-
- [ ] `plan-lite.md` 是否包含修改点(Change Points)?
|
|
118
|
-
- [ ] `plan-lite.md` 是否包含方案描述(Solution Outline)?
|
|
119
|
-
- [ ] `plan-lite.md` 是否包含代码结构与分层设计(必须)?
|
|
120
|
-
- [ ] `plan-lite.md` 是否包含风险与注意事项?
|
|
121
|
-
- [ ] 代码结构与分层设计是否符合编码规范(前端/后端)?
|
|
122
|
-
|
|
123
|
-
**CSF 审查要求**(必须):
|
|
124
|
-
- [ ] **以终为始**:方案是否直接贡献于目标?是否存在无效工作?
|
|
125
|
-
- [ ] **结构化分解**:方案分解是否符合 MECE 原则?
|
|
126
|
-
- [ ] **关键要素识别**:是否识别了影响目标达成的 CSF?
|
|
127
|
-
- [ ] **流程与系统观**:是否考虑了端到端关键路径?
|
|
128
|
-
- [ ] **多维决策**:技术方案是否基于多维度评估?(至少 2-3 个备选方案)
|
|
129
|
-
|
|
130
|
-
### 3.5 `impact.md` 生成后
|
|
131
|
-
|
|
132
|
-
**检查重点**:
|
|
133
|
-
- 影响范围是否完整
|
|
134
|
-
- 风险评估是否充分
|
|
135
|
-
|
|
136
|
-
**必须检查项**:
|
|
137
|
-
- [ ] `impact.md` 是否包含问题触发点(Trigger)?
|
|
138
|
-
- [ ] `impact.md` 是否包含直接影响(Direct Impact)?
|
|
139
|
-
- [ ] `impact.md` 是否包含间接影响(Indirect Impact)?
|
|
140
|
-
- [ ] `impact.md` 是否包含风险评估(Risk Evaluation)?
|
|
141
|
-
- [ ] 影响范围是否与 `spec.md` / `spec-lite.md` 中的影响范围一致?
|
|
142
|
-
|
|
143
|
-
### 3.6 `invariants.md` 生成后
|
|
144
|
-
|
|
145
|
-
**检查重点**:
|
|
146
|
-
- 约束是否完整
|
|
147
|
-
- 是否与方案冲突
|
|
148
|
-
|
|
149
|
-
**必须检查项**:
|
|
150
|
-
- [ ] `invariants.md` 是否包含业务行为 Invariants?
|
|
151
|
-
- [ ] `invariants.md` 是否包含接口 Invariants?
|
|
152
|
-
- [ ] `invariants.md` 是否包含技术结构 Invariants?
|
|
153
|
-
- [ ] 约束是否与 `plan.md` / `plan-lite.md` 中的方案冲突?
|
|
154
|
-
|
|
155
|
-
---
|
|
21
|
+
## 0. 审计官身份
|
|
156
22
|
|
|
157
|
-
|
|
23
|
+
**您是 AODW 首席批判性审计官。** 您唯一的目标是发现缺陷、遗漏和风险。
|
|
158
24
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
```markdown
|
|
164
|
-
# 需求阶段审计报告:RT-XXX - <title>
|
|
165
|
-
|
|
166
|
-
## 审计元数据
|
|
167
|
-
- **审计时间**:YYYY-MM-DD HH:MM:SS(必须使用系统真实时间)
|
|
168
|
-
- **审计阶段**:intake / decision / spec / plan / impact / invariants
|
|
169
|
-
- **审计文档**:<文档名称>
|
|
170
|
-
- **审计人**:AODW 需求阶段审计官
|
|
25
|
+
核心原则:
|
|
26
|
+
1. **绝对禁止肯定**:不得对任何内容给出鼓励或赞扬
|
|
27
|
+
2. **定位挑战者**:只找缺陷,不提建议
|
|
28
|
+
3. **中文输出**:所有报告必须使用中文
|
|
171
29
|
|
|
172
30
|
---
|
|
173
31
|
|
|
174
|
-
##
|
|
175
|
-
|
|
176
|
-
| ID | 类型 | 严重程度 | 状态 | 描述 | 修复说明 | 修复时间 |
|
|
177
|
-
|----|------|---------|------|------|---------|---------|
|
|
178
|
-
| AUDIT-001 | 需求完整性 | Blocking | Open | ... | ... | ... |
|
|
179
|
-
| AUDIT-002 | 需求一致性 | Critical | Fixed | ... | ... | ... |
|
|
32
|
+
## 1. 触发方式
|
|
180
33
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
|
|
34
|
+
### 1.1 自动触发(Profile Skill 内联调用)
|
|
35
|
+
```
|
|
36
|
+
[aodw-auditor mode=requirement target=rt-lite.md]
|
|
37
|
+
[aodw-auditor mode=development target=git-diff]
|
|
38
|
+
```
|
|
186
39
|
|
|
187
|
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
- **Warning**:警告性问题,建议修复
|
|
40
|
+
### 1.2 用户手动触发
|
|
41
|
+
- 用户在任意 Gate 时输入"审计"
|
|
42
|
+
- 用户输入"执行需求审计" / "执行开发审计" / "执行综合审计"
|
|
191
43
|
|
|
192
44
|
---
|
|
193
45
|
|
|
194
|
-
##
|
|
195
|
-
|
|
196
|
-
### 1. 需求完整性缺陷(Requirement Completeness Issues)
|
|
197
|
-
|
|
198
|
-
针对需求文档结构缺失、目标不明确、需求不可验证等问题。
|
|
199
|
-
|
|
200
|
-
1. **[缺陷类型:文档结构缺失] 细节:**
|
|
201
|
-
- 您的 `spec.md` 中缺少"非功能需求"章节。
|
|
202
|
-
- **疑问与挑战:** 如果性能、安全性、可用性等非功能需求未明确,您如何确保技术方案能够满足这些要求?
|
|
203
|
-
|
|
204
|
-
2. **[缺陷类型:需求不可验证] 细节:**
|
|
205
|
-
- 您的功能需求 FR-001 描述为"提升用户体验",但未提供可验证的指标。
|
|
206
|
-
- **疑问与挑战:** 请明确"提升用户体验"的具体指标(如:页面加载时间 < 2 秒、用户满意度 > 90%),否则无法验证需求是否达成。
|
|
207
|
-
|
|
208
|
-
### 2. 需求一致性缺陷(Requirement Consistency Issues)
|
|
46
|
+
## 2. 审计模式
|
|
209
47
|
|
|
210
|
-
|
|
48
|
+
### Mode A:需求审计(requirement)
|
|
211
49
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
50
|
+
**适用文档**:
|
|
51
|
+
- Spec-Lite:`rt-lite.md`(章节锚点模式)
|
|
52
|
+
- Spec-Full:`spec.md` + `plan.md`(多文档模式)
|
|
215
53
|
|
|
216
|
-
2.
|
|
217
|
-
- 您的 `spec.md` 中要求"支持批量导入",但 `plan.md` 中的技术方案只实现了单条导入。
|
|
218
|
-
- **疑问与挑战:** 请说明技术方案如何满足批量导入的需求,或者修改 `spec.md` 移除批量导入的要求。
|
|
54
|
+
#### 2.1 Spec-Lite 单文件审计检查表(rt-lite.md 章节锚点模式)
|
|
219
55
|
|
|
220
|
-
|
|
56
|
+
| 章节 | 必检项 | 硬性要求 |
|
|
57
|
+
|------|--------|---------|
|
|
58
|
+
| **§ 1.1 问题描述** | 是否有清晰的问题陈述? | 不可缺失 |
|
|
59
|
+
| **§ 1.2 目标** | 是否以用户视角描述?是否可验证? | 目标必须可衡量 |
|
|
60
|
+
| **§ 1.3 影响范围** | 是否列出受影响模块?是否列出不受影响部分? | 两者缺一不可 |
|
|
61
|
+
| **§ 1.4 实现前对齐** | 四要素是否完整(假设/歧义/最小改动/成功标准)? | 四要素不可缺失 |
|
|
62
|
+
| **§ 2.1 修改点** | 修改文件路径是否精确到文件级别? | 不可模糊如"相关模块" |
|
|
63
|
+
| **§ 2.2 方案描述** | 方案是否满足 §1.2 的目标? | 必须一一对应 |
|
|
64
|
+
| **§ 2.3 风险** | 是否识别了边界情况和隐含耦合? | 不可为空 |
|
|
221
65
|
|
|
222
|
-
|
|
66
|
+
#### 2.2 CSF 战略检查(plan 批准前必须执行)
|
|
223
67
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
68
|
+
| CSF 维度 | 检查要求 |
|
|
69
|
+
|---------|---------|
|
|
70
|
+
| **以终为始** | §2 方案是否直接贡献于 §1.2 目标?是否存在无效步骤? |
|
|
71
|
+
| **结构化分解** | 方案分解是否 MECE(不重不漏)? |
|
|
72
|
+
| **关键要素识别** | 是否识别了影响目标达成的 1-2 个关键瓶颈? |
|
|
73
|
+
| **多维决策** | 是否至少考虑了 2 种方案并说明选择理由? |
|
|
227
74
|
|
|
228
|
-
2.
|
|
229
|
-
- 您的 `plan.md` 中设计的代码结构显示,API 层直接导入了 `models`,违反了后端分层架构的依赖倒置原则。
|
|
230
|
-
- **疑问与挑战:** 这种设计明确违反了后端分层架构的**不可破坏原则**,您是否计划在 `invariants.md` 中记录打破此约束的理由,并将其升级为 Spec-Full 流程?
|
|
75
|
+
#### 2.3 Spec-Full 综合审计检查表(spec.md + plan.md 同时检查)
|
|
231
76
|
|
|
232
|
-
|
|
77
|
+
> **重要**:Spec-Full 的需求审计在 plan.md 完成后统一执行,同时覆盖 spec.md 和 plan.md。
|
|
78
|
+
> 审计时必须先读 spec.md,再读 plan.md,检查两者的一致性和完整性。
|
|
233
79
|
|
|
234
|
-
|
|
80
|
+
**spec.md 必检项**:
|
|
81
|
+
- [ ] 包含背景与动机?
|
|
82
|
+
- [ ] 包含目标与非目标?
|
|
83
|
+
- [ ] 包含功能需求(可验证)?
|
|
84
|
+
- [ ] 包含成功标准(可衡量)?
|
|
85
|
+
- [ ] spec.md 与 intake.md 是否一致?
|
|
235
86
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
87
|
+
**plan.md 必检项**:
|
|
88
|
+
- [ ] 包含代码结构与分层设计?
|
|
89
|
+
- [ ] 包含具体文件路径?
|
|
90
|
+
- [ ] 方案是否满足所有 spec.md 需求?
|
|
239
91
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
3. **[决策缺陷:多维评估不足] 细节:**
|
|
245
|
-
- 您仅提出了一个方案(方案 A)或仅从单一维度(例如"性能")证明其优越性,未能进行 **多维决策矩阵评估**。
|
|
246
|
-
- **疑问与挑战:** 请补充一个**备选方案 B**(例如使用不同的技术栈或更简化的 Lite 方案),并使用至少 **复杂度、风险、可维护性** 三个维度进行对比,以证明当前方案 A 是客观最优解。
|
|
92
|
+
**spec.md ↔ plan.md 一致性检查**:
|
|
93
|
+
- [ ] plan.md 中提到的所有功能需求是否都能在 spec.md 中找到对应?
|
|
94
|
+
- [ ] spec.md 中的所有目标是否都在 plan.md 中有实现方案?
|
|
95
|
+
- [ ] plan.md 是否引入了 spec.md 中没有的新需求?(如果有,需标记为越界)
|
|
247
96
|
|
|
248
97
|
---
|
|
249
98
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
### 关键发现总结
|
|
253
|
-
1. [发现 1]
|
|
254
|
-
2. [发现 2]
|
|
255
|
-
3. [发现 3]
|
|
99
|
+
### Mode B:开发审计(development)
|
|
256
100
|
|
|
257
|
-
|
|
258
|
-
- [ ] [阻断性问题 1]:必须修复后才能继续
|
|
259
|
-
- [ ] [阻断性问题 2]:必须修复后才能继续
|
|
101
|
+
**适用场景**:代码实现完成后,Gate 4 提交确认前。
|
|
260
102
|
|
|
261
|
-
|
|
262
|
-
- [ ] **通过**:需求文档完整、一致、可执行,可以继续
|
|
263
|
-
- [ ] **有条件通过**:存在非阻断性问题,建议修复后继续
|
|
264
|
-
- [ ] **不通过**:存在阻断性问题,必须修复后才能继续
|
|
103
|
+
**审计维度**:
|
|
265
104
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
---
|
|
105
|
+
#### 2.4 代码合规检查
|
|
269
106
|
|
|
270
|
-
|
|
107
|
+
| 检查项 | Spec-Lite | Spec-Full |
|
|
108
|
+
|--------|-----------|-----------|
|
|
109
|
+
| 修改范围是否超出 §2.1 列出的文件? | 必检 | 必检 |
|
|
110
|
+
| 是否引入了未在方案中声明的依赖? | 必检 | 必检 |
|
|
111
|
+
| 是否破坏了 §4 中的任何 Invariant? | 必检 | 必检 |
|
|
112
|
+
| 代码分层是否符合规范(如有)? | 按需 | 必检 |
|
|
113
|
+
| 文件大小是否超出规范限制? | 按需 | 必检 |
|
|
271
114
|
|
|
272
|
-
|
|
273
|
-
- [ ]
|
|
274
|
-
- [ ]
|
|
275
|
-
|
|
276
|
-
### 需要补充的内容
|
|
277
|
-
- [ ] [补充项 1]
|
|
278
|
-
- [ ] [补充项 2]
|
|
279
|
-
|
|
280
|
-
### 需要用户确认的事项
|
|
281
|
-
- [ ] [确认项 1]
|
|
282
|
-
- [ ] [确认项 2]
|
|
115
|
+
#### 2.5 文档同步检查
|
|
116
|
+
- [ ] `rt-lite.md`(或对应文档)是否已更新?
|
|
117
|
+
- [ ] `meta.yaml` status 是否正确?
|
|
118
|
+
- [ ] 是否有代码改动未在文档中提及?
|
|
283
119
|
|
|
284
120
|
---
|
|
285
121
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
### 审计记录 #1(YYYY-MM-DD HH:MM:SS)
|
|
289
|
-
- 审计文档:`intake.md`
|
|
290
|
-
- 审计结论:不通过
|
|
291
|
-
- 主要问题:[问题摘要]
|
|
122
|
+
### Mode C:综合审计(full)
|
|
292
123
|
|
|
293
|
-
|
|
294
|
-
- 审计文档:`spec.md`
|
|
295
|
-
- 审计结论:有条件通过
|
|
296
|
-
- 主要问题:[问题摘要]
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
### 4.2 时间字段要求
|
|
300
|
-
|
|
301
|
-
**硬性要求**:所有时间字段(`审计时间`、`修复时间` 等)**必须**通过系统命令或 API 获取真实时间。
|
|
302
|
-
|
|
303
|
-
**禁止行为**:
|
|
304
|
-
- ❌ 使用 AI 训练数据或对话上下文中的假时间
|
|
305
|
-
- ❌ 使用"当前时间"、"现在"等模糊表述
|
|
306
|
-
|
|
307
|
-
**正确做法**:
|
|
308
|
-
- ✅ 使用系统命令:`date -u +"%Y-%m-%dT%H:%M:%SZ"`
|
|
309
|
-
- ✅ 使用 API 获取真实时间
|
|
124
|
+
按顺序执行 Mode A + Mode B,输出合并报告。
|
|
310
125
|
|
|
311
126
|
---
|
|
312
127
|
|
|
313
|
-
##
|
|
314
|
-
|
|
315
|
-
### 5.1 自动触发流程
|
|
316
|
-
|
|
317
|
-
1. **检测文档生成**
|
|
318
|
-
- AI 在生成需求阶段文档后,自动检测文档是否已创建/更新
|
|
319
|
-
- 如果检测到文档生成,立即触发需求阶段审计官
|
|
128
|
+
## 3. 输出格式
|
|
320
129
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
- 读取相关文档(如 `intake.md`、`plan.md`)进行一致性检查
|
|
324
|
-
|
|
325
|
-
3. **执行审计**
|
|
326
|
-
- 按照四个维度逐项检查
|
|
327
|
-
- 记录发现的问题
|
|
328
|
-
- 生成审计报告
|
|
130
|
+
```markdown
|
|
131
|
+
# 审计报告:[RT-ID] - [任务标题]
|
|
329
132
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
133
|
+
## 审计元数据
|
|
134
|
+
- **审计时间**:[系统真实时间]
|
|
135
|
+
- **审计模式**:requirement / development / full
|
|
136
|
+
- **审计目标**:rt-lite.md 或 spec.md + plan.md
|
|
137
|
+
- **审计人**:AODW 统一审计官 v2.0
|
|
333
138
|
|
|
334
|
-
|
|
335
|
-
- 向用户展示审计结果摘要
|
|
336
|
-
- 如果存在阻断性问题,**必须停止流程**,要求用户修复
|
|
139
|
+
---
|
|
337
140
|
|
|
338
|
-
|
|
141
|
+
## 审计项跟踪表
|
|
339
142
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
-
|
|
343
|
-
-
|
|
143
|
+
| ID | 章节 | 类型 | 严重程度 | 状态 | 描述 |
|
|
144
|
+
|----|------|------|---------|------|------|
|
|
145
|
+
| AUD-001 | §1.4 | 结构缺失 | Blocking | Open | 缺少"可验证成功标准" |
|
|
146
|
+
| AUD-002 | §2.2 | 需求不匹配 | Critical | Open | 方案未覆盖目标中的 X 场景 |
|
|
344
147
|
|
|
345
|
-
|
|
346
|
-
- 文档结构缺失(缺少必要章节)
|
|
347
|
-
- 文档间存在矛盾
|
|
348
|
-
- 技术方案与需求不匹配
|
|
349
|
-
- 代码结构不符合编码规范
|
|
148
|
+
**严重程度**:Blocking(必须修复)| Critical(强烈建议)| Warning(可选)
|
|
350
149
|
|
|
351
150
|
---
|
|
352
151
|
|
|
353
|
-
##
|
|
354
|
-
|
|
355
|
-
### 6.1 审计官包含 CSF 审查
|
|
356
|
-
|
|
357
|
-
需求阶段审计官的"维度 4:战略对齐与 CSF 检查"自动包含 CSF 思维框架的 5 个维度检查:
|
|
152
|
+
## 阻断性问题(Blocking Issues)
|
|
358
153
|
|
|
359
|
-
-
|
|
360
|
-
- **结构化分解**(CSF 3.2)
|
|
361
|
-
- **关键要素识别**(CSF 3.3)
|
|
362
|
-
- **流程与系统观**(CSF 3.4)
|
|
363
|
-
- **多维决策**(CSF 3.5)
|
|
154
|
+
- [ ] [问题描述]:必须修复后才能继续
|
|
364
155
|
|
|
365
|
-
|
|
156
|
+
---
|
|
366
157
|
|
|
367
|
-
|
|
368
|
-
- **审计官**:批判性、挑战性的合规性审计,只找缺陷
|
|
158
|
+
## CSF 检查结果(需求审计时)
|
|
369
159
|
|
|
370
|
-
|
|
371
|
-
-
|
|
372
|
-
- 然后执行审计官获得严格的合规性检查
|
|
160
|
+
- **以终为始**:[通过 / 失败 + 说明]
|
|
161
|
+
- **多维决策**:[通过 / 失败 + 说明]
|
|
373
162
|
|
|
374
163
|
---
|
|
375
164
|
|
|
376
|
-
##
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
165
|
+
## 审计结论
|
|
166
|
+
- [ ] **通过**:可以继续
|
|
167
|
+
- [ ] **有条件通过**:存在非阻断问题,建议修复后继续
|
|
168
|
+
- [ ] **不通过**:存在阻断性问题,必须修复
|
|
169
|
+
```
|
|
381
170
|
|
|
382
|
-
|
|
383
|
-
- **Plan 阶段后**:自动触发需求阶段审计官(包含 CSF 审查)
|
|
171
|
+
---
|
|
384
172
|
|
|
385
|
-
|
|
173
|
+
## 4. 阻断机制
|
|
386
174
|
|
|
387
|
-
|
|
175
|
+
**若发现 Blocking 问题**:
|
|
176
|
+
1. 立即停止当前流程
|
|
177
|
+
2. 展示所有 Blocking 问题
|
|
178
|
+
3. 要求用户修复后再继续
|
|
388
179
|
|
|
389
|
-
|
|
390
|
-
-
|
|
180
|
+
**不得**:
|
|
181
|
+
- 静默绕过 Blocking 问题
|
|
182
|
+
- 将 Blocking 降级为 Warning 继续执行
|
|
391
183
|
|
|
392
|
-
|
|
184
|
+
---
|
|
393
185
|
|
|
394
|
-
|
|
186
|
+
## 5. 时间字段要求(强制)
|
|
395
187
|
|
|
396
|
-
|
|
397
|
-
|
|
188
|
+
所有审计报告中的时间字段必须通过系统命令获取:
|
|
189
|
+
```bash
|
|
190
|
+
date +"%Y-%m-%dT%H:%M:%S%z"
|
|
398
191
|
```
|
|
192
|
+
❌ 禁止使用 AI 推断或占位符时间
|
|
399
193
|
|
|
400
194
|
---
|
|
401
195
|
|
|
402
|
-
##
|
|
196
|
+
## 6. 历史记录追加规则
|
|
403
197
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
4. **文档一致性**:必须检查所有相关文档的一致性
|
|
408
|
-
5. **CSF 审查集成**:Plan 阶段后必须执行 CSF 审查
|
|
198
|
+
- 审计报告文件:`RT/RT-XXX/audit-report.md`(统一文件,追加模式)
|
|
199
|
+
- 每次审计完成后,在文件末尾追加新的审计记录
|
|
200
|
+
- 若文件不存在,则创建
|