feat: 添加系统配置、审计中心、通知中心、文件管理模块

This commit is contained in:
张翔
2026-03-11 12:11:59 +08:00
commit 52c66444a5
264 changed files with 10109 additions and 0 deletions
+707
View File
@@ -0,0 +1,707 @@
# E2E测试用例设计文档
## 项目概述
本项目是一个基于Spring Boot 3.5.9 + WebFlux的响应式管理系统API,采用PostgreSQL数据库,支持用户、角色、字典等核心业务功能。
## 测试目标
1. 验证关键用户场景的端到端流程
2. 确保API接口的正确性和稳定性
3. 验证认证授权机制
4. 测试数据一致性和完整性
5. 验证错误处理和边界条件
## 测试环境
- **测试框架**: Python + Playwright
- **API基础URL**: http://localhost:8080
- **测试数据库**: PostgreSQL (Test环境)
- **测试数据**: 自动化准备和清理
## 测试用例设计
### 1. 认证授权测试
#### 1.1 用户登录流程
**用例ID**: TC-AUTH-001
**优先级**: P0
**前置条件**: 系统已启动,数据库中存在测试用户
**测试步骤**:
1. 发送POST请求到 `/api/auth/login`
2. 提供正确的用户名和密码
3. 验证返回的access_token和refresh_token
4. 验证token格式正确性
**预期结果**:
- HTTP状态码: 200
- 返回包含accessToken和refreshToken
- token格式符合JWT标准
**测试数据**:
```json
{
"username": "admin",
"password": "admin123"
}
```
#### 1.2 Token刷新流程
**用例ID**: TC-AUTH-002
**优先级**: P0
**前置条件**: 已获得有效的refresh_token
**测试步骤**:
1. 发送POST请求到 `/api/auth/refresh`
2. 提供有效的refresh_token
3. 验证返回新的access_token
**预期结果**:
- HTTP状态码: 200
- 返回新的accessToken
- refreshToken保持不变或更新
#### 1.3 用户登出流程
**用例ID**: TC-AUTH-003
**优先级**: P1
**前置条件**: 已登录,持有有效token
**测试步骤**:
1. 发送POST请求到 `/api/auth/logout`
2. 在Header中携带Authorization: Bearer {token}
3. 验证登出成功
**预期结果**:
- HTTP状态码: 200
- 返回成功消息
- token被加入黑名单
#### 1.4 无效登录测试
**用例ID**: TC-AUTH-004
**优先级**: P1
**测试步骤**:
1. 使用错误的用户名或密码登录
2. 验证错误响应
**预期结果**:
- HTTP状态码: 401
- 返回认证失败消息
### 2. 用户管理测试
#### 2.1 创建用户
**用例ID**: TC-USER-001
**优先级**: P0
**前置条件**: 已登录,具有ADMIN权限
**测试步骤**:
1. 发送POST请求到 `/api/users`
2. 提供用户信息
3. 验证用户创建成功
**预期结果**:
- HTTP状态码: 201
- 返回创建的用户信息
- 用户ID已生成
- 密码已加密
**测试数据**:
```json
{
"username": "testuser",
"password": "password123",
"email": "test@example.com",
"roleId": 2,
"status": 1
}
```
#### 2.2 查询单个用户
**用例ID**: TC-USER-002
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/users/{id}`
2. 验证返回正确的用户信息
**预期结果**:
- HTTP状态码: 200
- 返回完整的用户信息
#### 2.3 查询所有用户
**用例ID**: TC-USER-003
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/users`
2. 验证返回用户列表
**预期结果**:
- HTTP状态码: 200
- 返回用户数组
- 包含分页信息(如已实现)
#### 2.4 更新用户
**用例ID**: TC-USER-004
**优先级**: P0
**测试步骤**:
1. 发送PUT请求到 `/api/users/{id}`
2. 提供更新的用户信息
3. 验证更新成功
**预期结果**:
- HTTP状态码: 200
- 返回更新后的用户信息
#### 2.5 删除用户
**用例ID**: TC-USER-005
**优先级**: P0
**测试步骤**:
1. 发送DELETE请求到 `/api/users/{id}`
2. 验证删除成功
**预期结果**:
- HTTP状态码: 204
- 用户已被物理删除
#### 2.6 逻辑删除用户
**用例ID**: TC-USER-006
**优先级**: P1
**测试步骤**:
1. 发送DELETE请求到 `/api/users/{id}/logical`
2. 验证逻辑删除成功
3. 查询已删除用户(带includeDeleted=true)
**预期结果**:
- HTTP状态码: 200
- 用户被标记为已删除
- 可以通过includeDeleted参数查询到
#### 2.7 恢复已删除用户
**用例ID**: TC-USER-007
**优先级**: P1
**前置条件**: 用户已被逻辑删除
**测试步骤**:
1. 发送POST请求到 `/api/users/{id}/restore`
2. 验证恢复成功
**预期结果**:
- HTTP状态码: 200
- 用户状态恢复正常
#### 2.8 用户名唯一性检查
**用例ID**: TC-USER-008
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/users/check/username?username=existing`
2. 验证返回true
3. 使用不存在的用户名验证返回false
**预期结果**:
- HTTP状态码: 200
- 返回正确的布尔值
#### 2.9 邮箱唯一性检查
**用例ID**: TC-USER-009
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/users/check/email?email=existing@example.com`
2. 验证返回true
3. 使用不存在的邮箱验证返回false
**预期结果**:
- HTTP状态码: 200
- 返回正确的布尔值
### 3. 角色管理测试
#### 3.1 创建角色
**用例ID**: TC-ROLE-001
**优先级**: P0
**前置条件**: 已登录,具有ADMIN权限
**测试步骤**:
1. 发送POST请求到 `/api/roles`
2. 提供角色信息
3. 验证角色创建成功
**预期结果**:
- HTTP状态码: 201
- 返回创建的角色信息
**测试数据**:
```json
{
"name": "TEST_ROLE",
"description": "测试角色",
"permissions": "READ,WRITE"
}
```
#### 3.2 查询角色
**用例ID**: TC-ROLE-002
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/roles/{id}`
2. 验证返回正确的角色信息
**预期结果**:
- HTTP状态码: 200
- 返回完整的角色信息
#### 3.3 按名称查询角色
**用例ID**: TC-ROLE-003
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/roles/name/{name}`
2. 验证返回正确的角色信息
**预期结果**:
- HTTP状态码: 200
- 返回指定名称的角色
#### 3.4 查询所有角色
**用例ID**: TC-ROLE-004
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/roles`
2. 验证返回角色列表
**预期结果**:
- HTTP状态码: 200
- 返回角色数组
#### 3.5 更新角色
**用例ID**: TC-ROLE-005
**优先级**: P0
**测试步骤**:
1. 发送PUT请求到 `/api/roles/{id}`
2. 提供更新的角色信息
3. 验证更新成功
**预期结果**:
- HTTP状态码: 200
- 返回更新后的角色信息
#### 3.6 删除角色
**用例ID**: TC-ROLE-006
**优先级**: P0
**测试步骤**:
1. 发送DELETE请求到 `/api/roles/{id}`
2. 验证删除成功
**预期结果**:
- HTTP状态码: 204
#### 3.7 逻辑删除角色
**用例ID**: TC-ROLE-007
**优先级**: P1
**测试步骤**:
1. 发送DELETE请求到 `/api/roles/{id}/logical`
2. 验证逻辑删除成功
**预期结果**:
- HTTP状态码: 200
- 角色被标记为已删除
#### 3.8 恢复已删除角色
**用例ID**: TC-ROLE-008
**优先级**: P1
**测试步骤**:
1. 发送POST请求到 `/api/roles/{id}/restore`
2. 验证恢复成功
**预期结果**:
- HTTP状态码: 200
- 角色状态恢复正常
#### 3.9 角色名唯一性检查
**用例ID**: TC-ROLE-009
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/roles/check/name?name=existing`
2. 验证返回true
3. 使用不存在的角色名验证返回false
**预期结果**:
- HTTP状态码: 200
- 返回正确的布尔值
### 4. 字典管理测试
#### 4.1 创建字典
**用例ID**: TC-DICT-001
**优先级**: P0
**前置条件**: 已登录,具有ADMIN权限
**测试步骤**:
1. 发送POST请求到 `/api/dictionaries`
2. 提供字典信息
3. 验证字典创建成功
**预期结果**:
- HTTP状态码: 201
- 返回创建的字典信息
**测试数据**:
```json
{
"type": "USER_STATUS",
"code": "ACTIVE",
"name": "激活",
"value": "1",
"remark": "用户激活状态",
"sort": 1
}
```
#### 4.2 查询字典
**用例ID**: TC-DICT-002
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/dictionaries/{id}`
2. 验证返回正确的字典信息
**预期结果**:
- HTTP状态码: 200
- 返回完整的字典信息
#### 4.3 按类型查询字典
**用例ID**: TC-DICT-003
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/dictionaries/type/{type}`
2. 验证返回指定类型的字典列表
**预期结果**:
- HTTP状态码: 200
- 返回指定类型的字典数组
- 按sort字段排序
#### 4.4 查询所有字典
**用例ID**: TC-DICT-004
**优先级**: P0
**测试步骤**:
1. 发送GET请求到 `/api/dictionaries`
2. 验证返回字典列表
**预期结果**:
- HTTP状态码: 200
- 返回字典数组
#### 4.5 更新字典
**用例ID**: TC-DICT-005
**优先级**: P0
**测试步骤**:
1. 发送PUT请求到 `/api/dictionaries/{id}`
2. 提供更新的字典信息
3. 验证更新成功
**预期结果**:
- HTTP状态码: 200
- 返回更新后的字典信息
#### 4.6 删除字典
**用例ID**: TC-DICT-006
**优先级**: P0
**测试步骤**:
1. 发送DELETE请求到 `/api/dictionaries/{id}`
2. 验证删除成功
**预期结果**:
- HTTP状态码: 204
#### 4.7 字典类型和编码唯一性检查
**用例ID**: TC-DICT-007
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/dictionaries/check/exists?type=TYPE&code=CODE`
2. 验证返回true或false
**预期结果**:
- HTTP状态码: 200
- 返回正确的布尔值
### 5. OAuth2客户端管理测试
#### 5.1 创建OAuth2客户端
**用例ID**: TC-OAUTH2-001
**优先级**: P1
**前置条件**: 已登录,具有ADMIN权限
**测试步骤**:
1. 发送POST请求到 `/api/oauth2/clients`
2. 提供客户端信息
3. 验证客户端创建成功
**预期结果**:
- HTTP状态码: 201
- 返回创建的客户端信息
- clientSecret已加密
**测试数据**:
```json
{
"clientId": "test-client",
"clientSecret": "secret123",
"clientName": "Test Client",
"webServerRedirectUri": "http://localhost:8080/callback",
"scope": "read,write",
"authorizedGrantTypes": "authorization_code,refresh_token",
"accessTokenValiditySeconds": 7200,
"refreshTokenValiditySeconds": 2592000,
"autoApprove": false,
"enabled": true
}
```
#### 5.2 查询OAuth2客户端
**用例ID**: TC-OAUTH2-002
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/oauth2/clients/{id}`
2. 验证返回正确的客户端信息
**预期结果**:
- HTTP状态码: 200
- 返回完整的客户端信息
#### 5.3 按clientId查询OAuth2凭证
**用例ID**: TC-OAUTH2-003
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/oauth2/clients/client-id/{clientId}`
2. 验证返回正确的客户端信息
**预期结果**:
- HTTP状态码: 200
- 返回指定clientId的客户端
#### 5.4 查询所有OAuth2客户端
**用例ID**: TC-OAUTH2-004
**优先级**: P1
**测试步骤**:
1. 发送GET请求到 `/api/oauth2/clients`
2. 验证返回客户端列表
**预期结果**:
- HTTP状态码: 200
- 返回客户端数组
#### 5.5 更新OAuth2客户端
**用例ID**: TC-OAUTH2-005
**优先级**: P1
**测试步骤**:
1. 发送PUT请求到 `/api/oauth2/clients/{id}`
2. 提供更新的客户端信息
3. 验证更新成功
**预期结果**:
- HTTP状态码: 200
- 返回更新后的客户端信息
#### 5.6 删除OAuth2客户端
**用例ID**: TC-OAUTH2-006
**优先级**: P1
**测试步骤**:
1. 发送DELETE请求到 `/api/oauth2/clients/{id}`
2. 验证删除成功
**预期结果**:
- HTTP状态码: 204
### 6. 权限验证测试
#### 6.1 无token访问受保护资源
**用例ID**: TC-PERM-001
**优先级**: P0
**测试步骤**:
1. 不携带token访问需要认证的API
2. 验证返回401
**预期结果**:
- HTTP状态码: 401
- 返回认证失败消息
#### 6.2 使用过期token访问
**用例ID**: TC-PERM-002
**优先级**: P1
**测试步骤**:
1. 使用已过期的token访问API
2. 验证返回401
**预期结果**:
- HTTP状态码: 401
- 返回token无效消息
#### 6.3 使用已登出的token访问
**用例ID**: TC-PERM-003
**优先级**: P1
**前置条件**: token已被登出
**测试步骤**:
1. 使用已加入黑名单的token访问API
2. 验证返回401
**预期结果**:
- HTTP状态码: 401
- 返回token无效消息
#### 6.4 无权限访问资源
**用例ID**: TC-PERM-004
**优先级**: P1
**前置条件**: 用户没有访问资源的权限
**测试步骤**:
1. 使用普通用户token访问需要ADMIN权限的资源
2. 验证返回403
**预期结果**:
- HTTP状态码: 403
- 返回权限不足消息
### 7. 边界条件和异常测试
#### 7.1 创建重复用户名
**用例ID**: TC-EDGE-001
**优先级**: P1
**测试步骤**:
1. 创建用户A
2. 使用相同的用户名创建用户B
3. 验证返回错误
**预期结果**:
- HTTP状态码: 400或409
- 返回用户名已存在错误
#### 7.2 创建重复邮箱
**用例ID**: TC-EDGE-002
**优先级**: P1
**测试步骤**:
1. 创建用户A
2. 使用相同的邮箱创建用户B
3. 验证返回错误
**预期结果**:
- HTTP状态码: 400或409
- 返回邮箱已存在错误
#### 7.3 查询不存在的资源
**用例ID**: TC-EDGE-003
**优先级**: P1
**测试步骤**:
1. 查询不存在的用户ID
2. 验证返回404
**预期结果**:
- HTTP状态码: 404
- 返回资源未找到消息
#### 7.4 无效的请求参数
**用例ID**: TC-EDGE-004
**优先级**: P1
**测试步骤**:
1. 发送缺少必填字段的请求
2. 验证返回400
**预期结果**:
- HTTP状态码: 400
- 返回参数验证错误
#### 7.5 超长字段输入
**用例ID**: TC-EDGE-005
**优先级**: P2
**测试步骤**:
1. 发送超长用户名或邮箱
2. 验证返回400
**预期结果**:
- HTTP状态码: 400
- 返回字段长度超限错误
### 8. 性能测试
#### 8.1 并发登录测试
**用例ID**: TC-PERF-001
**优先级**: P2
**测试步骤**:
1. 模拟100个并发登录请求
2. 验证所有请求都能正常响应
3. 记录响应时间
**预期结果**:
- 所有请求成功
- 平均响应时间 < 500ms
- 无错误发生
#### 8.2 批量查询性能测试
**用例ID**: TC-PERF-002
**优先级**: P2
**测试步骤**:
1. 创建1000个测试用户
2. 查询所有用户
3. 记录响应时间
**预期结果**:
- HTTP状态码: 200
- 响应时间 < 1000ms
- 返回完整数据
### 9. 数据一致性测试
#### 9.1 缓存一致性测试
**用例ID**: TC-CONSIST-001
**优先级**: P1
**测试步骤**:
1. 查询用户A(首次查询,从数据库)
2. 更新用户A
3. 再次查询用户A(应从缓存获取)
4. 验证返回更新后的数据
**预期结果**:
- 第二次查询返回更新后的数据
- 缓存被正确失效
#### 9.2 审计日志测试
**用例ID**: TC-CONSIST-002
**优先级**: P1
**测试步骤**:
1. 创建用户
2. 更新用户
3. 删除用户
4. 查询审计日志
5. 验证所有操作都被记录
**预期结果**:
- 所有操作都被记录
- 审计日志包含完整的变更信息
## 测试执行计划
### 测试优先级
- P0: 核心功能,必须全部通过
- P1: 重要功能,应该全部通过
- P2: 辅助功能,尽量通过
### 测试顺序
1. 认证授权测试
2. 用户管理测试
3. 角色管理测试
4. 字典管理测试
5. OAuth2客户端管理测试
6. 权限验证测试
7. 边界条件和异常测试
8. 性能测试
9. 数据一致性测试
### 测试数据准备
- 自动化创建测试用户、角色、字典数据
- 测试完成后自动清理
- 使用事务回滚确保测试隔离
## 测试报告
测试报告应包含以下内容:
1. 测试执行摘要
2. 通过/失败用例统计
3. 失败用例详情
4. 性能指标
5. 缺陷列表
6. 测试覆盖率
## 缺陷分类
- 严重: 系统崩溃、数据丢失
- 高: 核心功能不可用
- 中: 功能部分不可用
- 低: 界面、文案问题
+339
View File
@@ -0,0 +1,339 @@
---
alwaysApply: false
description: 6A工作流
---
# 6A 工作流执行规范
## 概述
6A 工作流是一种系统化的软件开发方法论,通过六个阶段确保项目高质量交付:
Align(对齐) → Architect(架构) → Atomize(原子化) → Approve(审批) → Automate(自动化) → Assess(评估)
---
## 阶段 1: Align 对齐阶段
### 🎯 目标
```
模糊需求 → 精确规范
```
### 📋 执行步骤
1.**项目上下文分析**
- 分析现有项目结构、技术栈、架构模式、依赖关系
- 分析现有代码模式、文档和约定
- 理解业务域和数据模型
2.**需求理解确认**
- 创建 `.trae/docs/任务名/ALIGNMENT_[任务名].md`
- 包含项目和任务特性规范
- 包含原始需求、边界确认、需求理解、疑问澄清
3.**智能决策策略**
- 自动识别歧义和不确定性
- 生成结构化问题清单(按优先级排序)
- 优先基于现有项目内容和行业知识进行决策
- 有人员倾向或不确定的问题主动中断并询问
- 基于回答更新理解和规范
4.**中断并询问关键决策点**
- 主动中断询问,迭代执行智能决策策略
5.**最终共识**
- 生成 `.trae/docs/任务名/CONSENSUS_[任务名].md` 包含:
- 明确的需求描述和验收标准
- 技术实现方案、技术约束和集成方案
- 任务边界限制和验收标准
- 确认所有不确定性已解决
### ✅ 质量门控
- [ ] 需求边界清晰无歧义
- [ ] 技术方案与现有架构对齐
- [ ] 验收标准具体可测试
- [ ] 所有关键假设已确认
- [ ] 项目特性规范已对齐
---
## 阶段 2: Architect 架构阶段
### 🎯 目标
```
共识文档 → 系统架构 → 模块设计 → 接口规范
```
### 📋 执行步骤
1.**系统分层设计**
- 基于 CONSENSUS、ALIGNMENT 文档设计架构
- 生成 `.trae/docs/任务名/DESIGN_[任务名].md` 包含:
- 整体架构图(mermaid 绘制)
- 分层设计和核心组件
- 模块依赖关系图
- 接口契约定义
- 数据流向图
- 异常处理策略
2.**设计原则**
- 严格按照任务范围,避免过度设计
- 确保与现有系统架构一致
- 复用现有组件和模式
### ✅ 质量门控
- [ ] 架构图清晰准确
- [ ] 接口定义完整
- [ ] 与现有系统无冲突
- [ ] 设计可行性验证
---
## 阶段 3: Atomize 原子化阶段
### 🎯 目标
```
架构设计 → 拆分任务 → 明确接口 → 依赖关系
```
### 📋 执行步骤
1.**子任务拆分**
- 基于 DESIGN 文档生成 `.trae/docs/任务名/TASK_[任务名].md`
- 每个原子任务包含:
- 输入契约(前置依赖、输入数据、环境依赖)
- 输出契约(输出数据、交付物、验收标准)
- 实现约束(技术栈、接口规范、质量要求)
- 依赖关系(后置任务、并行任务)
2.**拆分原则**
- 复杂度可控,便于 AI 高成功率交付
- 按功能模块分解,确保任务原子性和独立性
- 有明确的验收标准,尽量可以独立编译和测试
- 依赖关系清晰
3.**生成任务依赖图**
- 使用 mermaid 绘制任务依赖关系图
### ✅ 质量门控
- [ ] 任务覆盖完整需求
- [ ] 依赖关系无循环
- [ ] 每个任务都可独立验证
- [ ] 复杂度评估合理
---
## 阶段 4: Approve 审批阶段
### 🎯 目标
```
原子任务 → 人工审查 → 迭代修改 → 按文档执行
```
### 📋 执行步骤
1.**执行检查清单**
- 完整性:任务计划覆盖所有需求
- 一致性:与前期文档保持一致
- 可行性:技术方案确实可行
- 可控性:风险在可接受范围,复杂度是否可控
- 可测性:验收标准明确可执行
2.**最终确认清单**
- 明确的实现需求(无歧义)
- 明确的子任务定义
- 明确的边界和限制
- 明确的验收标准
- 代码、测试、文档质量标准
---
## 阶段 5: Automate 自动化执行
### 🎯 目标
```
按节点执行 → 编写测试 → 实现代码 → 文档同步
```
### 📋 执行步骤
1.**逐步实施子任务**
- 创建 `.trae/docs/任务名/ACCEPTANCE_[任务名].md` 记录完成情况
2.**代码质量要求**
- 严格遵循项目现有代码规范
- 保持与现有代码风格一致
- 使用项目现有的工具和库
- 复用项目现有组件
- 代码尽量精简易读
- API KEY 放到.env 文件中并且不要提交 git
3.**异常处理**
- 遇到不确定问题立刻中断执行
- 在 TASK 文档中记录问题详细信息和位置
- 寻求人工澄清后继续
4.**逐步实施流程**
按任务依赖顺序执行,对每个子任务执行:
- 执行前检查(验证输入契约、环境准备、依赖满足)
- 实现核心逻辑(按设计文档编写代码)
- 编写单元测试(边界条件、异常情况)
- 运行验证测试
- 更新相关文档
- 每完成一个任务立即验证
---
## 阶段 6: Assess 评估阶段
### 🎯 目标
```
执行结果 → 质量评估 → 文档更新 → 交付确认
```
### 📋 执行步骤
1.**验证执行结果**
- 更新 `.trae/docs/任务名/ACCEPTANCE_[任务名].md`
- 整体验收检查:
- 所有需求已实现
- 验收标准全部满足
- 项目编译通过
- 所有测试通过
- 功能完整性验证
- 实现与设计文档一致
2.**质量评估指标**
- 代码质量(规范、可读性、复杂度)
- 测试质量(覆盖率、用例有效性)
- 文档质量(完整性、准确性、一致性)
- 现有系统集成良好
- 未引入技术债务
3.**最终交付物**
- 生成 `.trae/docs/任务名/FINAL_[任务名].md`(项目总结报告)
- 生成 `.trae/docs/任务名/TODO_[任务名].md`(待办事宜和缺少的配置等)
4.**TODO 询问**
- 询问用户 TODO 的解决方式
- 精简明确待办事宜和缺少的配置
- 提供有用的操作指引
---
## 技术执行规范
### 🔐 安全规范
- API 密钥等敏感信息使用.env 文件管理
### 📝 文档同步
- 代码变更同时更新相关文档
### 🧪 测试策略
- 测试优先:先写测试,后写实现
- 边界覆盖:覆盖正常流程、边界条件、异常情况
### 💡 交互体验优化
#### 进度反馈
- 显示当前执行阶段
- 提供详细的执行步骤
- 标示完成情况
- 突出需要关注的问题
#### 异常处理机制
##### 中断条件
- 遇到无法自主决策的问题
- 觉得需要询问用户的问题
- 技术实现出现阻塞
- 文档不一致需要确认修正
##### 恢复策略
- 保存当前执行状态
- 记录问题详细信息
- 询问并等待人工干预
- 从中断点任务继续执行
---
## 附录:文档模板索引
| 阶段 | 文档名称 | 用途 |
| --------- | ----------------------- | -------------- |
| Align | ALIGNMENT\_[任务名].md | 需求理解与确认 |
| Align | CONSENSUS\_[任务名].md | 最终共识与规范 |
| Architect | DESIGN\_[任务名].md | 系统架构设计 |
| Atomize | TASK\_[任务名].md | 原子任务定义 |
| Automate | ACCEPTANCE\_[任务名].md | 执行过程记录 |
| Assess | FINAL\_[任务名].md | 项目总结报告 |
| Assess | TODO\_[任务名].md | 待办事宜清单 |