@miniidealab/openlogos 0.9.4 → 0.9.6

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 (50) hide show
  1. package/README.md +1 -0
  2. package/claude-plugin-template/.claude-plugin/plugin.json +13 -0
  3. package/claude-plugin-template/agents/change-reviewer.md +46 -0
  4. package/claude-plugin-template/bin/openlogos-phase +428 -0
  5. package/claude-plugin-template/commands/archive.md +22 -0
  6. package/claude-plugin-template/commands/change.md +19 -0
  7. package/claude-plugin-template/commands/index.md +13 -0
  8. package/claude-plugin-template/commands/init.md +30 -0
  9. package/claude-plugin-template/commands/launch.md +16 -0
  10. package/claude-plugin-template/commands/merge.md +20 -0
  11. package/claude-plugin-template/commands/next.md +18 -0
  12. package/claude-plugin-template/commands/status.md +10 -0
  13. package/claude-plugin-template/commands/sync.md +12 -0
  14. package/claude-plugin-template/commands/verify.md +17 -0
  15. package/claude-plugin-template/hooks/hooks.json +14 -0
  16. package/claude-plugin-template/skills/api-designer/SKILL.md +230 -0
  17. package/claude-plugin-template/skills/architecture-designer/SKILL.md +186 -0
  18. package/claude-plugin-template/skills/change-writer/SKILL.md +160 -0
  19. package/claude-plugin-template/skills/code-implementor/SKILL.md +116 -0
  20. package/claude-plugin-template/skills/code-reviewer/SKILL.md +214 -0
  21. package/claude-plugin-template/skills/db-designer/SKILL.md +259 -0
  22. package/claude-plugin-template/skills/merge-executor/SKILL.md +118 -0
  23. package/claude-plugin-template/skills/prd-writer/SKILL.md +203 -0
  24. package/claude-plugin-template/skills/product-designer/SKILL.md +235 -0
  25. package/claude-plugin-template/skills/project-init/SKILL.md +168 -0
  26. package/claude-plugin-template/skills/scenario-architect/SKILL.md +229 -0
  27. package/claude-plugin-template/skills/test-orchestrator/SKILL.md +147 -0
  28. package/claude-plugin-template/skills/test-writer/SKILL.md +252 -0
  29. package/dist/commands/init.d.ts +7 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +145 -10
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/module.d.ts.map +1 -1
  34. package/dist/commands/module.js +14 -9
  35. package/dist/commands/module.js.map +1 -1
  36. package/dist/commands/sync.d.ts.map +1 -1
  37. package/dist/commands/sync.js +15 -1
  38. package/dist/commands/sync.js.map +1 -1
  39. package/dist/commands/verify.d.ts +3 -1
  40. package/dist/commands/verify.d.ts.map +1 -1
  41. package/dist/commands/verify.js +60 -28
  42. package/dist/commands/verify.js.map +1 -1
  43. package/dist/i18n.d.ts.map +1 -1
  44. package/dist/i18n.js +10 -4
  45. package/dist/i18n.js.map +1 -1
  46. package/dist/index.js +0 -0
  47. package/package.json +5 -4
  48. package/skills/test-writer/SKILL.md +21 -1
  49. package/spec/cli-json-output.md +2 -1
  50. package/spec/test-results.md +16 -0
@@ -114,13 +114,24 @@
114
114
 
115
115
  | 字段 | 说明 |
116
116
  |------|------|
117
- | ID | `ST-{场景编号}-{序号}`,如 `ST-S01-01` |
117
+ | ID | `ST-{场景编号}-{序号}`,如 `ST-S01-01`;无法自动化的用例加 `[manual]` 后缀,如 `ST-S01-05 [manual]` |
118
118
  | 描述 | 测试什么场景流程 |
119
119
  | 覆盖 Steps | 覆盖时序图的哪些 Step(如 `Step 1→6`)或哪个 EX(如 `EX-2.1`) |
120
120
  | 前置条件 | 测试前需要的状态和数据 |
121
121
  | 操作序列 | 按 Step 顺序的操作列表 |
122
122
  | 预期结果 | 最终状态(返回值 + 数据库状态 + 副作用) |
123
123
 
124
+ #### 3c: `[manual]` 标记规则
125
+
126
+ 以下类型的 ST 用例**必须**在 ID 后追加 `[manual]` 标记,`openlogos verify` 会将其从覆盖率计算中排除,不计入 `defined_count`,不出现在 `uncovered_cases`:
127
+
128
+ - 需要真实 TTY / PTY 渲染(如 CLI 交互式提示、颜色输出、光标控制、进度条)
129
+ - 需要跨窗口或多进程协作(如打开新终端窗口、进程间通信)
130
+ - 需要人工视觉验证(截图对比、UI 渲染效果、字体/颜色感知)
131
+ - 依赖外部硬件或不可模拟的环境(摄像头、蓝牙、特定操作系统 GUI)
132
+
133
+ **判断标准**:如果该用例在 CI 无头环境中无法稳定运行并自动断言结果,就应加 `[manual]`。
134
+
124
135
  ### Step 4: 覆盖度校验
125
136
 
126
137
  反向校验测试用例是否覆盖了所有关键约束:
@@ -198,6 +209,15 @@
198
209
  |----|------|--------|---------|---------|---------|
199
210
  | ST-S01-02 | ... | EX-2.1 | ... | ... | ... |
200
211
 
212
+ ### 2.3 人工验证用例([manual])
213
+
214
+ > 以下用例需要真实 TTY/PTY 渲染或人工视觉验证,无法在 CI 中自动断言,标记为 [manual]。
215
+ > `openlogos verify` 不会将其计入覆盖率,也不会报告为未覆盖。
216
+
217
+ | ID | 描述 | 覆盖 Steps | 验证方式 |
218
+ |----|------|-----------|---------|
219
+ | ST-S01-05 [manual] | 交互式提示颜色和光标渲染正确 | Step 2 | 人工在真实终端观察 |
220
+
201
221
  ## 三、覆盖度校验
202
222
 
203
223
  - [x] Phase 1 正常验收条件:全部覆盖
@@ -222,9 +222,10 @@ openlogos verify --format json # JSON 格式
222
222
  ```jsonc
223
223
  {
224
224
  "summary": {
225
- "defined_count": 10, // 定义的测试用例总数
225
+ "defined_count": 10, // 定义的测试用例总数(不含 [manual] 用例)
226
226
  "ut_count": 6, // 单元测试用例数
227
227
  "st_count": 4, // 场景测试用例数
228
+ "manual_count": 2, // 标记为 [manual] 的用例数(已从 defined_count 中排除)
228
229
  "executed_count": 10, // 已执行的测试用例数
229
230
  "passed_count": 8, // 通过数
230
231
  "failed_count": 1, // 失败数
@@ -67,6 +67,22 @@ logos/resources/verify/test-results.jsonl
67
67
  - `error` 在 `status=fail` 时必须提供,其他状态可省略
68
68
  - 同一个 `id` 如果出现多次(如重试),`openlogos verify` 取**最后一次**的结果
69
69
 
70
+ ### `[manual]` 标记用例
71
+
72
+ 在 `test-cases.md` 中,无法自动化执行的用例(如需要真实 TTY/PTY 渲染、跨窗口操作、人工视觉验证的 ST 用例)应在 ID 后追加 `[manual]` 标记:
73
+
74
+ ```markdown
75
+ | ST-S01-05 [manual] | 需要真实 PTY 渲染的交互测试 | ... |
76
+ ```
77
+
78
+ `[manual]` 用例的行为规则:
79
+
80
+ - **不写入 JSONL**:`[manual]` 用例不由自动化测试执行,不产出 JSONL 记录
81
+ - **不计入 `defined_count`**:`openlogos verify` 扫描 test-cases.md 时跳过这类用例,不计入覆盖率分母
82
+ - **不出现在 `uncovered_cases`**:不会因为缺少运行结果而报告为未覆盖
83
+ - **单独计入 `manual_count`**:在 summary 中以独立字段展示,方便感知人工用例数量
84
+ - **AC trace 中标记为 `MANUAL_PENDING`**:若某个验收条件(AC)关联的用例全部为 `[manual]`,该 AC 标记为 `🔵 MANUAL`(人工待验),不触发 Gate 3.5 失败
85
+
70
86
  ## 运行约定
71
87
 
72
88
  ### 清空策略