@pm_zhousl/xinyun-ai-init 1.7.0 → 1.7.2
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 +1 -1
- package/init/xinyun-ai-init/README.md +75 -3
- package/init/xinyun-ai-init/rules/directory-self-completion.md +16 -0
- package/init/xinyun-ai-init/rules/init-rules.md +25 -0
- package/init/xinyun-ai-init/rules/session-workbench.md +33 -0
- package/init/xinyun-ai-init/rules/upgrade-rules.md +20 -0
- package/init/xinyun-ai-init/templates/AGENTS.template.md +26 -1
- package/init/xinyun-ai-init/templates/archive-transaction.template.json +15 -0
- package/init/xinyun-ai-init/templates/core-rules.template.md +47 -1
- package/init/xinyun-ai-init/templates/current-task.template.md +37 -0
- package/init/xinyun-ai-init/templates/init-result.template.json +23 -1
- package/init/xinyun-ai-init/templates/managed-baseline.template.json +2 -2
- package/init/xinyun-ai-init/templates/manifest.template.json +52 -3
- package/init/xinyun-ai-init/templates/project-check.template.md +32 -0
- package/init/xinyun-ai-init/templates/project-guide.template.md +27 -0
- package/init/xinyun-ai-init/templates/project-index.template.json +48 -0
- package/init/xinyun-ai-init/templates/role-execution.template.md +35 -0
- package/init/xinyun-ai-init/templates/role-subtask.template.md +28 -0
- package/init/xinyun-ai-init/templates/task-history.template.md +1 -1
- package/init/xinyun-ai-init/templates/task-index.template.json +37 -0
- package/init/xinyun-ai-init/templates/task-main.template.md +32 -0
- package/init/xinyun-ai-init/version.json +1 -1
- package/package.json +2 -2
- package/scripts/verify-init-package.js +266 -22
- package/scripts/verify-rules-package.js +105 -9
- package/test-scenarios/README.md +10 -4
- package/test-scenarios/review-template.md +23 -4
- package/test-scenarios/scenarios.md +108 -5
- package/test-scenarios/v1.7.1-scenarios.md +130 -0
- package/test-scenarios/v1.7.2-scenarios.md +51 -0
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
| 51. v1.6-D 输入可信边界测试 | 待填写 | 待填写 | 待填写 |
|
|
74
74
|
| 52. v1.6-D 敏感信息脱敏测试 | 待填写 | 待填写 | 待填写 |
|
|
75
75
|
| 53. v1.6 tarball 自包含与 CLI 边界测试 | 待填写 | 待填写 | 待填写 |
|
|
76
|
-
| 54. Skill
|
|
76
|
+
| 54. Skill 触发测试(历史观察项,不阻断发布) | 待填写 | 待填写 | 待填写 |
|
|
77
77
|
|
|
78
78
|
## 详细问题
|
|
79
79
|
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
- 可以后续优化:
|
|
92
92
|
- 不建议纳入本版本:
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
说明:历史 Skill 触发测试是观察项。当前版本发布阻断以 1-87 必测场景为准。
|
|
95
95
|
## v1.7 审查增量行
|
|
96
96
|
|
|
97
97
|
| 场景 | 结果 | 证据 | 是否阻断 |
|
|
@@ -111,6 +111,25 @@
|
|
|
111
111
|
| 67. HTML 任务级 schema | 待填写 | 待填写 | 待填写 |
|
|
112
112
|
| 68. 试点越界暂停 | 待填写 | 待填写 | 待填写 |
|
|
113
113
|
| 69. verify:rules JSON schema 和重复执行 | 待填写 | 待填写 | 待填写 |
|
|
114
|
-
|
|
|
114
|
+
| 71. v1.7.1 主任务命名 | 待填写 | 待填写 | 待填写 |
|
|
115
|
+
| 72. v1.7.1 主任务字段一致性 | 待填写 | 待填写 | 待填写 |
|
|
116
|
+
| 73. v1.7.1 五个角色子任务 | 待填写 | 待填写 | 待填写 |
|
|
117
|
+
| 74. v1.7.1 角色任务字段和空绑定 | 待填写 | 待填写 | 待填写 |
|
|
118
|
+
| 75. v1.7.1 角色登记与执行资格分离 | 待填写 | 待填写 | 待填写 |
|
|
119
|
+
| 76. v1.7.1 初始化任务归档 | 待填写 | 待填写 | 待填写 |
|
|
120
|
+
| 77. v1.7.1 归档原子性和任务索引 | 待填写 | 待填写 | 待填写 |
|
|
121
|
+
| 78. v1.7.1 归档事务异常裁决 | 待填写 | 待填写 | 待填写 |
|
|
122
|
+
| 79. v1.7.1 子任务状态与主任务聚合 | 待填写 | 待填写 | 待填写 |
|
|
123
|
+
| 80. v1.7.1 当前任务清理 | 待填写 | 待填写 | 待填写 |
|
|
124
|
+
| 81. v1.7.1 初始化失败不归档 | 待填写 | 待填写 | 待填写 |
|
|
125
|
+
| 82. v1.7.1 归档幂等 | 待填写 | 待填写 | 待填写 |
|
|
126
|
+
| 83. v1.7.1 CodeGraph 首次初始化与授权边界 | 待填写 | 待填写 | 待填写 |
|
|
127
|
+
| 84. v1.7.1 CodeGraph 健康复用 | 待填写 | 待填写 | 待填写 |
|
|
128
|
+
| 85. v1.7.1 CodeGraph 失败矩阵 | 待填写 | 待填写 | 待填写 |
|
|
129
|
+
| 86. v1.7.1 CodeGraph 状态登记与去重 | 待填写 | 待填写 | 待填写 |
|
|
130
|
+
| 87. v1.7.1 普通咨询和版本回归 | 待填写 | 待填写 | 待填写 |
|
|
131
|
+
| 88. Skill 触发测试(观察项,不阻断发布) | 待填写 | 待填写 | 待填写 |
|
|
115
132
|
|
|
116
|
-
说明:Skill 触发测试是观察项。除非它影响 1-
|
|
133
|
+
说明:Skill 触发测试是观察项。除非它影响 1-87 的必测场景,否则不作为当前版本不可发布的理由。
|
|
134
|
+
|
|
135
|
+
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## 测试分级说明
|
|
4
4
|
|
|
5
|
-
- 必测场景:1-
|
|
6
|
-
- 观察场景:
|
|
5
|
+
- 必测场景:1-87,用于判断当前版本是否可以发布。
|
|
6
|
+
- 观察场景:88,用于收集后续优化建议,不作为当前版本发布阻断项。
|
|
7
7
|
|
|
8
|
-
当前必测场景为 1-
|
|
8
|
+
当前必测场景为 1-87;当前观察场景为 88。
|
|
9
9
|
|
|
10
10
|
## 1. 初始化可用性测试
|
|
11
11
|
|
|
@@ -850,7 +850,7 @@
|
|
|
850
850
|
- 全新临时项目执行 tarball CLI 后是否只创建 `xinyun-ai-init/`。
|
|
851
851
|
- CLI 是否不创建 `xinyun-ai/` 或 `AGENTS.md`。
|
|
852
852
|
- 业务基线文件哈希是否不变。
|
|
853
|
-
- 生成的 `xinyun-ai-init/version.json` 是否为 `1.7.
|
|
853
|
+
- 生成的 `xinyun-ai-init/version.json` 是否为 `1.7.1`。
|
|
854
854
|
|
|
855
855
|
## 55. verify:rules 正常通过
|
|
856
856
|
|
|
@@ -990,7 +990,109 @@
|
|
|
990
990
|
- 相同源目录和 tarball 重复执行结果稳定。
|
|
991
991
|
- 不产生业务文件变化。
|
|
992
992
|
|
|
993
|
-
##
|
|
993
|
+
## 71. v1.7.1 主任务命名
|
|
994
|
+
|
|
995
|
+
目标:验证初始化主任务有真实项目名称。
|
|
996
|
+
|
|
997
|
+
验收:主任务标题为 `项目初始化:<项目显示名>`,不是泛化标题。
|
|
998
|
+
|
|
999
|
+
## 72. v1.7.1 主任务字段一致性
|
|
1000
|
+
|
|
1001
|
+
目标:验证 current-task、主任务、init-result、任务索引的 taskId、title、status 一致。
|
|
1002
|
+
|
|
1003
|
+
验收:四类控制文件不出现 taskId、title 或状态冲突。
|
|
1004
|
+
|
|
1005
|
+
## 73. v1.7.1 五个角色子任务
|
|
1006
|
+
|
|
1007
|
+
目标:验证生成 project-owner、project-product、chief-engineer、programmer、test-reviewer 五个子任务。
|
|
1008
|
+
|
|
1009
|
+
验收:子任务正确关联 parentTaskId,并保存到 `xinyun-ai/tasks/<taskId>/subtasks/<roleTaskId>.md`。
|
|
1010
|
+
|
|
1011
|
+
## 74. v1.7.1 角色任务字段和空绑定
|
|
1012
|
+
|
|
1013
|
+
目标:验证无成员、无外部会话时不虚构人员。
|
|
1014
|
+
|
|
1015
|
+
验收:memberId、sessionId 为 null;职责确认、理解记录、executionEligible 和 blockedReason 字段可解析。
|
|
1016
|
+
|
|
1017
|
+
## 75. v1.7.1 角色登记与执行资格分离
|
|
1018
|
+
|
|
1019
|
+
目标:验证 initialization-record 与 role-execution 分离。
|
|
1020
|
+
|
|
1021
|
+
验收:initialization-record 可完成登记但 executionEligible=false;role-execution 未满足成员、确认、理解或 CodeGraph 条件时不得 completed。
|
|
1022
|
+
|
|
1023
|
+
## 76. v1.7.1 初始化任务归档
|
|
1024
|
+
|
|
1025
|
+
目标:验证初始化控制面完成后归档。
|
|
1026
|
+
|
|
1027
|
+
验收:任务从当前可执行列表移除,归档到 `xinyun-ai/tasks/archive/<taskId>/`,历史摘要完整。
|
|
1028
|
+
|
|
1029
|
+
## 77. v1.7.1 归档原子性和任务索引
|
|
1030
|
+
|
|
1031
|
+
目标:验证 archiveTransactionId、事务 phase 和 task-index 一致性。
|
|
1032
|
+
|
|
1033
|
+
验收:phase 按 prepared / validated / moved / indexed / committed 记录;中断后可恢复。
|
|
1034
|
+
|
|
1035
|
+
## 78. v1.7.1 归档事务异常裁决
|
|
1036
|
+
|
|
1037
|
+
目标:验证临时目录、归档目录、索引缺失、hash 不一致和重复事务。
|
|
1038
|
+
|
|
1039
|
+
验收:可恢复则继续;不可一致时 blocked,不静默删除历史。
|
|
1040
|
+
|
|
1041
|
+
## 79. v1.7.1 子任务状态与主任务聚合
|
|
1042
|
+
|
|
1043
|
+
目标:验证主任务只按初始化控制面聚合。
|
|
1044
|
+
|
|
1045
|
+
验收:角色未绑定、确认 pending、理解 pending 不阻断 initialization-record 归档;role-execution 独立保留。
|
|
1046
|
+
|
|
1047
|
+
## 80. v1.7.1 当前任务清理
|
|
1048
|
+
|
|
1049
|
+
目标:验证保留其他可执行任务和无任务 idle。
|
|
1050
|
+
|
|
1051
|
+
验收:有其他任务时 current-task 切换;无任务时 status=idle、taskId=null、title=暂无待执行任务。
|
|
1052
|
+
|
|
1053
|
+
## 81. v1.7.1 初始化失败不归档
|
|
1054
|
+
|
|
1055
|
+
目标:验证控制面失败、权限不足、锁阻塞或 CodeGraph 必备失败。
|
|
1056
|
+
|
|
1057
|
+
验收:主任务为 partial/blocked,不进入完成归档。
|
|
1058
|
+
|
|
1059
|
+
## 82. v1.7.1 归档幂等
|
|
1060
|
+
|
|
1061
|
+
目标:验证归档后重复初始化不生成重复主任务。
|
|
1062
|
+
|
|
1063
|
+
验收:通过幂等索引定位历史 taskId。
|
|
1064
|
+
|
|
1065
|
+
## 83. v1.7.1 CodeGraph 首次初始化与授权边界
|
|
1066
|
+
|
|
1067
|
+
目标:验证缺少 `.codegraph/` 且命令可用时自动执行 `codegraph init -i`。
|
|
1068
|
+
|
|
1069
|
+
验收:不询问是否继续;只写入 `.codegraph/` 工具控制目录,不修改业务目录。
|
|
1070
|
+
|
|
1071
|
+
## 84. v1.7.1 CodeGraph 健康复用
|
|
1072
|
+
|
|
1073
|
+
目标:验证已有健康 `.codegraph/` 时不重复初始化。
|
|
1074
|
+
|
|
1075
|
+
验收:复用索引,后续会话读取登记状态。
|
|
1076
|
+
|
|
1077
|
+
## 85. v1.7.1 CodeGraph 失败矩阵
|
|
1078
|
+
|
|
1079
|
+
目标:验证命令不可用、目录不可写、MCP 未连接、初始化失败和索引损坏。
|
|
1080
|
+
|
|
1081
|
+
验收:分别输出 unavailable、permission-denied、unknown、failed、failed;必需任务 blocked,明确授权降级才 partial。
|
|
1082
|
+
|
|
1083
|
+
## 86. v1.7.1 CodeGraph 状态登记与去重
|
|
1084
|
+
|
|
1085
|
+
目标:验证 manifest 为状态源,四类控制文件引用同一 codeGraphRecordId。
|
|
1086
|
+
|
|
1087
|
+
验收:required、status、command、version、indexPath、时间、evidence 和 failureReason 一致;相同失败状态只提示一次。
|
|
1088
|
+
|
|
1089
|
+
## 87. v1.7.1 普通咨询和版本回归
|
|
1090
|
+
|
|
1091
|
+
目标:验证普通咨询不创建完整角色任务树,不触发 CodeGraph 初始化;v1.5-v1.7 行为不回归。
|
|
1092
|
+
|
|
1093
|
+
验收:不修改业务代码、数据库、API、配置、依赖或 Git。
|
|
1094
|
+
|
|
1095
|
+
## 88. Skill 触发测试(观察项)
|
|
994
1096
|
|
|
995
1097
|
目标:观察 AI 是否具备按任务触发 Skill 的倾向。
|
|
996
1098
|
|
|
@@ -1007,3 +1109,4 @@
|
|
|
1007
1109
|
- 是否触发需求理解或产品 / UI 设计前置理解。
|
|
1008
1110
|
- 是否没有默认全量启用所有 Skill。
|
|
1009
1111
|
- 是否先输出理解结果和改动计划。
|
|
1112
|
+
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# v1.7.1 专属测试场景
|
|
2
|
+
|
|
3
|
+
## 1. 主任务命名
|
|
4
|
+
|
|
5
|
+
- 输入:项目目录名为 `20250923XZH企业管理系统-服务端`。
|
|
6
|
+
- 期望:主任务标题为 `项目初始化:20250923XZH企业管理系统-服务端`,不是泛化标题。
|
|
7
|
+
|
|
8
|
+
## 2. 主任务字段一致性
|
|
9
|
+
|
|
10
|
+
- 输入:完成一次初始化。
|
|
11
|
+
- 期望:current-task、主任务、init-result、任务索引的 taskId、title、status 一致。
|
|
12
|
+
|
|
13
|
+
## 3. 五个角色子任务
|
|
14
|
+
|
|
15
|
+
- 输入:初始化流程。
|
|
16
|
+
- 期望:生成 project-owner、project-product、chief-engineer、programmer、test-reviewer 五个子任务,并正确关联 parentTaskId。
|
|
17
|
+
|
|
18
|
+
## 4. 角色任务字段和空绑定
|
|
19
|
+
|
|
20
|
+
- 输入:没有真实成员和外部会话。
|
|
21
|
+
- 期望:memberId、sessionId 为 null;职责确认、理解记录、executionEligible 和 blockedReason 字段可解析,不虚构人员。
|
|
22
|
+
|
|
23
|
+
## 5. 角色任务未完成状态
|
|
24
|
+
|
|
25
|
+
- 输入:职责确认或理解记录仍为 pending。
|
|
26
|
+
- 期望:`role-execution` 子任务不能标记为 completed 或 executionEligible=true;`initialization-record` 只允许完成登记,不得改变角色执行资格。
|
|
27
|
+
|
|
28
|
+
## 5A. 角色登记与执行资格分离
|
|
29
|
+
|
|
30
|
+
- 输入:五个角色未绑定成员、职责确认 pending、理解记录 pending。
|
|
31
|
+
- 期望:`taskKind=initialization-record` 的任务卡可以完成登记,但 assignmentStatus/understandingStatus/confirmationStatus 和 executionEligible 独立为未就绪,不得伪造角色可执行。
|
|
32
|
+
|
|
33
|
+
## 6. 初始化任务归档
|
|
34
|
+
|
|
35
|
+
- 输入:主任务和五个角色子任务全部完成,锁已释放,无阻塞。
|
|
36
|
+
- 期望:从当前任务列表移除,归档到 `xinyun-ai/tasks/archive/<taskId>/`,历史摘要完整。
|
|
37
|
+
|
|
38
|
+
## 6A. 归档原子性和任务索引
|
|
39
|
+
|
|
40
|
+
- 输入:归档过程中模拟中断、重复归档和索引更新失败。
|
|
41
|
+
- 期望:生成唯一 `archiveTransactionId`,事务 phase 按 `prepared -> validated -> moved -> indexed -> committed` 记录;下次按阶段恢复,不出现 task-index 与实际文件不一致。
|
|
42
|
+
|
|
43
|
+
## 6B. 归档事务异常裁决
|
|
44
|
+
|
|
45
|
+
- 输入:临时目录存在、归档目录已存在但索引未更新、索引已指向但归档缺失、归档内容 hash 不一致、事务重复执行。
|
|
46
|
+
- 期望:临时目录从最近阶段继续;归档目录先校验后补索引;归档缺失、hash 不一致或权限不足进入 `blocked`;已提交事务幂等复用,不重复移动、不静默删除历史。
|
|
47
|
+
|
|
48
|
+
## 6C. 子任务状态与主任务聚合
|
|
49
|
+
|
|
50
|
+
- 输入:五个 `initialization-record` 已完成但成员未绑定、职责确认 pending、理解记录 pending;另有一个未完成 `role-execution` 任务。
|
|
51
|
+
- 期望:登记子任务 `status=completed` 且 `executionEligible=false`;初始化主任务可按控制面完成归档;`role-execution` 保持独立未完成状态,不被归档清理。
|
|
52
|
+
- 输入:控制面写入失败、锁阻塞或 CodeGraph 必备能力失败。
|
|
53
|
+
- 期望:主任务为 `partial` 或 `blocked`,不得归档;子任务状态遵循 v1.5/v1.6 枚举,不出现未定义状态。
|
|
54
|
+
|
|
55
|
+
## 7. 保留其他可执行任务
|
|
56
|
+
|
|
57
|
+
- 输入:初始化任务完成,同时存在一个 pending 业务任务。
|
|
58
|
+
- 期望:初始化任务归档,current-task 切换到业务任务,业务任务不被覆盖或删除。
|
|
59
|
+
|
|
60
|
+
## 8. 无其他任务
|
|
61
|
+
|
|
62
|
+
- 输入:初始化任务完成,没有其他任务。
|
|
63
|
+
- 期望:current-task 显示“暂无待执行任务”,不重新指向已归档任务。
|
|
64
|
+
- 同时期望:`status=idle`、`taskId=null`,且 idle 不进入业务任务状态枚举。
|
|
65
|
+
|
|
66
|
+
## 9. 初始化失败不归档
|
|
67
|
+
|
|
68
|
+
- 输入:控制面步骤失败、权限不足、锁阻塞或 CodeGraph 必备能力失败。
|
|
69
|
+
- 期望:主任务为 partial/blocked,未完成控制面步骤仍可见,不进入完成归档。
|
|
70
|
+
- 输入:仅角色职责确认 pending、理解记录 pending 或 role-execution 未完成,但五个 initialization-record 和控制面均已完成。
|
|
71
|
+
- 期望:初始化登记任务允许归档;角色执行任务继续保留,不得因角色未绑定而伪造 executionEligible=true。
|
|
72
|
+
|
|
73
|
+
## 10. 归档幂等
|
|
74
|
+
|
|
75
|
+
- 输入:归档后重复执行相同初始化请求。
|
|
76
|
+
- 期望:通过幂等索引定位历史 taskId,不生成重复主任务。
|
|
77
|
+
|
|
78
|
+
## 11. CodeGraph首次初始化
|
|
79
|
+
|
|
80
|
+
- 输入:没有 `.codegraph/`,`codegraph` 命令和服务可用。
|
|
81
|
+
- 期望:自动执行 `codegraph init -i`,不询问是否继续,并记录状态和命令结果。
|
|
82
|
+
|
|
83
|
+
## 11A. CodeGraph初始化授权边界
|
|
84
|
+
|
|
85
|
+
- 输入:用户已执行初始化入口,`.codegraph/` 不存在,命令可用。
|
|
86
|
+
- 期望:`.codegraph/` 作为工具控制目录属于初始化授权范围;只写入 CodeGraph目录,不修改业务目录。
|
|
87
|
+
|
|
88
|
+
## 12. CodeGraph健康复用
|
|
89
|
+
|
|
90
|
+
- 输入:已有健康 `.codegraph/`。
|
|
91
|
+
- 期望:复用索引,不重复执行初始化,后续会话读取登记状态。
|
|
92
|
+
|
|
93
|
+
## 13. CodeGraph命令不可用
|
|
94
|
+
|
|
95
|
+
- 输入:系统没有 `codegraph` 命令。
|
|
96
|
+
- 期望:状态固定为 `unavailable`,结构理解任务 `blocked`;只有用户明确授权限定范围降级时才允许 `partial`,列出未验证范围,不自动安装、不伪造完成。
|
|
97
|
+
|
|
98
|
+
## 14. CodeGraph权限、服务或初始化失败
|
|
99
|
+
|
|
100
|
+
- 输入:`.codegraph/` 不可写。
|
|
101
|
+
- 期望:状态固定为 `permission-denied`,current-task 和 init-result 状态一致。
|
|
102
|
+
- 输入:MCP 未连接或健康状态无法确认。
|
|
103
|
+
- 期望:状态固定为 `unknown`,相关必需任务 blocked,不伪造健康。
|
|
104
|
+
- 输入:初始化命令失败或索引损坏。
|
|
105
|
+
- 期望:状态固定为 `failed`,current-task 和 init-result 状态一致,不反复询问相同问题。
|
|
106
|
+
|
|
107
|
+
## 15. CodeGraph状态登记
|
|
108
|
+
|
|
109
|
+
- 输入:初始化成功、复用、失败三种场景。
|
|
110
|
+
- 期望:manifest、project-index、current-task、init-result 记录 required、status、command、version、indexPath、时间、evidence 和 failureReason。
|
|
111
|
+
|
|
112
|
+
## 15A. CodeGraph记录与失败矩阵
|
|
113
|
+
|
|
114
|
+
- 输入:命令不可用、目录不可写、命令执行失败、MCP未连接、索引损坏和健康索引。
|
|
115
|
+
- 期望:分别得到 unavailable、permission-denied、failed、unknown、failed、healthy;四类控制文件引用同一 codeGraphRecordId,必需任务 blocked,只有明确授权降级时 partial。
|
|
116
|
+
|
|
117
|
+
## 15B. CodeGraph失败提示去重
|
|
118
|
+
|
|
119
|
+
- 输入:相同项目、相同 codeGraphRecordId 和相同失败状态重复初始化。
|
|
120
|
+
- 期望:只提示一次;命令、权限、服务或索引状态变化后才允许再次提示或重试。
|
|
121
|
+
|
|
122
|
+
## 16. 普通咨询边界
|
|
123
|
+
|
|
124
|
+
- 输入:普通代码问题咨询,不进入初始化或结构影响审视流程。
|
|
125
|
+
- 期望:不创建完整角色任务树,不触发 CodeGraph 初始化。
|
|
126
|
+
|
|
127
|
+
## 17. 版本回归
|
|
128
|
+
|
|
129
|
+
- 输入:v1.5-v1.7 已有初始化、任务锁、幂等、规则校验和业务基线场景。
|
|
130
|
+
- 期望:既有行为不回归,不修改业务代码、数据库、API、配置、依赖或 Git。
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# v1.7.2 专属测试场景
|
|
2
|
+
|
|
3
|
+
## 1. 已发布 v1.7.1 项目补建角色任务
|
|
4
|
+
|
|
5
|
+
- 输入:项目已升级到 v1.7.1,归档中存在命名初始化主任务和 5 个角色登记子任务,但 `activeTaskIds=[]`、`executableTaskIds=[]`、`current-task=idle`。
|
|
6
|
+
- 期望:补建或恢复 5 个 `role-execution` 后续任务,任务可在 `task-index.json` 中查看,不修改业务代码。
|
|
7
|
+
|
|
8
|
+
## 2. 初始化主任务与角色后续任务分离
|
|
9
|
+
|
|
10
|
+
- 输入:首次初始化或升级完成。
|
|
11
|
+
- 期望:`taskKind=initialization-main` 的初始化主任务和 `taskKind=initialization-record` 的登记子任务可以归档;5 个 `taskKind=role-execution` 角色后续任务独立保留,不因主任务归档被删除。
|
|
12
|
+
|
|
13
|
+
## 3. 未绑定角色可见但不可执行
|
|
14
|
+
|
|
15
|
+
- 输入:5 个角色任务的 `memberId`、`sessionId` 为 null,职责和理解状态为 pending。
|
|
16
|
+
- 期望:角色任务属于 `activeTaskIds`,不属于 `executableTaskIds`;`executionEligible=false`,并显示待分配或待确认原因。
|
|
17
|
+
|
|
18
|
+
## 4. 活动任务与可执行任务为空集区分
|
|
19
|
+
|
|
20
|
+
- 输入:`activeTaskIds` 有 5 个待分配角色任务,`executableTaskIds=[]`。
|
|
21
|
+
- 期望:`current-task` 不得使用 `status=idle`、`taskId=null`;应按固定优先级指向 `project-owner`,使用 `status=pending` 并输出 nextAction。
|
|
22
|
+
|
|
23
|
+
## 5. 真正空闲状态
|
|
24
|
+
|
|
25
|
+
- 输入:`activeTaskIds=[]` 且没有任何 pending、blocked、paused 或 executing 任务。
|
|
26
|
+
- 期望:`current-task.status=idle`、`taskId=null`、标题为“暂无待执行任务”。
|
|
27
|
+
|
|
28
|
+
## 6. 升级幂等补建
|
|
29
|
+
|
|
30
|
+
- 输入:对同一个 v1.7.1 项目重复执行 v1.7.2 升级。
|
|
31
|
+
- 期望:第一次补建 5 个角色后续任务;再次执行复用原任务,不生成重复角色任务或重复主任务。
|
|
32
|
+
|
|
33
|
+
## 6A. 角色优先级和并列排序
|
|
34
|
+
|
|
35
|
+
- 输入:5 个角色后续任务均待分配,或存在相同 priority 的多个任务。
|
|
36
|
+
- 期望:默认优先级为 project-owner 10、project-product 20、chief-engineer 30、programmer 40、test-reviewer 50;并列按 createdAt、roleId、taskId 稳定排序,不依赖文件系统顺序。
|
|
37
|
+
|
|
38
|
+
## 6B. 补建失败和索引恢复
|
|
39
|
+
|
|
40
|
+
- 输入:单个角色文件写入失败、任务索引更新失败、补建过程被中断。
|
|
41
|
+
- 期望:成功角色任务保留;失败角色为 blocked/write-failed;结果为 partial 或 blocked;不得清空 activeTaskIds 或伪造 idle;下次通过逐角色 idempotencyKey 恢复索引和缺失任务。
|
|
42
|
+
|
|
43
|
+
## 7. 已存在角色任务保护
|
|
44
|
+
|
|
45
|
+
- 输入:部分角色后续任务已经存在,且其中包含用户修改过的控制文件。
|
|
46
|
+
- 期望:复用已有任务,补建缺失任务;不覆盖用户修改,不删除业务任务,冲突进入待确认或 blocked。
|
|
47
|
+
|
|
48
|
+
## 8. 发布边界回归
|
|
49
|
+
|
|
50
|
+
- 输入:执行 v1.7.2 升级和任务补建。
|
|
51
|
+
- 期望:CodeGraph 健康状态复用;不自动创建外部会话,不执行 SQL/Git 写操作,不修改业务代码、数据库、API、配置、依赖;输出明确区分已归档、已创建、已复用、可执行和待分配任务。
|