dev-playbooks-cn 1.2.4 → 1.2.5
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/package.json +1 -1
- package/skills/devbooks-code-review/SKILL.md +9 -0
- package/skills/devbooks-coder/SKILL.md +1 -0
- package/skills/devbooks-delivery-workflow/scripts/change-check.sh +19 -0
- package/skills/devbooks-delivery-workflow/scripts/change-scaffold.sh +7 -1
- package/skills/devbooks-test-owner/SKILL.md +11 -0
package/package.json
CHANGED
|
@@ -148,6 +148,15 @@ override dispose() {
|
|
|
148
148
|
| 无 spec deltas | 归档完成 | 无需其他 skill |
|
|
149
149
|
| 发现重大问题 | 交回 `devbooks-coder` | 归档前修复问题 |
|
|
150
150
|
|
|
151
|
+
### Reviewer 专属权限:设置 verification.md Status
|
|
152
|
+
|
|
153
|
+
**只有 Reviewer 可以将 `verification.md` 的 Status 设为 `Done`**。
|
|
154
|
+
|
|
155
|
+
Review 通过后,Reviewer 必须执行:
|
|
156
|
+
1. 打开 `<change-root>/<change-id>/verification.md`
|
|
157
|
+
2. 将 `- Status: Ready` 改为 `- Status: Done`
|
|
158
|
+
3. 这是归档的前置条件(`change-check.sh --mode archive` 会检查)
|
|
159
|
+
|
|
151
160
|
### 输出模板
|
|
152
161
|
|
|
153
162
|
完成 code-review 后,输出:
|
|
@@ -141,6 +141,7 @@ devbooks change-evidence <change-id> --label green-final -- npm test
|
|
|
141
141
|
### 角色边界约束
|
|
142
142
|
- **禁止修改 `tests/**`**(需要改测试必须交还 Test Owner)
|
|
143
143
|
- **禁止修改 `verification.md`**(由 Test Owner 维护)
|
|
144
|
+
- **禁止修改 `verification.md` 的 Status 字段**(只有 Reviewer 可以设为 Done)
|
|
144
145
|
- **禁止修改 `.devbooks/`、`build/`、工程配置文件**(除非 proposal.md 明确声明)
|
|
145
146
|
|
|
146
147
|
### 代码质量约束
|
|
@@ -410,6 +410,25 @@ check_verification() {
|
|
|
410
410
|
return 0
|
|
411
411
|
fi
|
|
412
412
|
|
|
413
|
+
# ==========================================================================
|
|
414
|
+
# AC-010: Verification Status Check
|
|
415
|
+
# Status field controls change package lifecycle: Draft → Ready → Done → Archived
|
|
416
|
+
# Only Reviewer can set Status to "Done" (Coder/Test Owner prohibited)
|
|
417
|
+
# ==========================================================================
|
|
418
|
+
if [[ "$mode" == "archive" || "$mode" == "strict" ]]; then
|
|
419
|
+
local status_line
|
|
420
|
+
status_line=$(rg -n "^- Status[::] *(Draft|Ready|Done|Archived)\b" "$verification_file" -m 1 || true)
|
|
421
|
+
if [[ -z "$status_line" ]]; then
|
|
422
|
+
err "verification missing Status line (e.g., '- Status: Done'): ${verification_file}"
|
|
423
|
+
else
|
|
424
|
+
local status_value
|
|
425
|
+
status_value="$(echo "$status_line" | sed -E 's/^[0-9]+:- Status[::] *//')"
|
|
426
|
+
if [[ "$status_value" != "Done" && "$status_value" != "Archived" ]]; then
|
|
427
|
+
err "verification Status must be 'Done' or 'Archived' for ${mode} (current: '${status_value}'). Only Reviewer can set Status to Done: ${verification_file}"
|
|
428
|
+
fi
|
|
429
|
+
fi
|
|
430
|
+
fi
|
|
431
|
+
|
|
413
432
|
for h in "A\) (Test Plan Directive Table|测试计划指令表)" "B\) (Traceability Matrix|追溯矩阵)" "C\) (Execution Anchors|执行锚点)" "D\) (MANUAL-\* Checklist|MANUAL-\* 清单)"; do
|
|
414
433
|
if ! rg -n "${h}" "$verification_file" >/dev/null; then
|
|
415
434
|
err "verification missing section '${h}': ${verification_file}"
|
|
@@ -263,7 +263,13 @@ cat <<'EOF' | render_template | write_file "${change_dir}/verification.md"
|
|
|
263
263
|
## Metadata
|
|
264
264
|
|
|
265
265
|
- Change ID: `__CHANGE_ID__`
|
|
266
|
-
- Status: Draft
|
|
266
|
+
- Status: Draft
|
|
267
|
+
> Status lifecycle: Draft → Ready → Done → Archived
|
|
268
|
+
> - Draft: Initial state
|
|
269
|
+
> - Ready: Test plan ready (set by Test Owner)
|
|
270
|
+
> - Done: All tests passed + Review approved (set by **Reviewer only**)
|
|
271
|
+
> - Archived: Archived (set by Spec Gardener)
|
|
272
|
+
> **Constraint: Coder is prohibited from modifying Status field**
|
|
267
273
|
- References:
|
|
268
274
|
- Proposal: `__CHANGE_ROOT__/__CHANGE_ID__/proposal.md`
|
|
269
275
|
- Design: `__CHANGE_ROOT__/__CHANGE_ID__/design.md`
|
|
@@ -40,6 +40,17 @@ allowed-tools:
|
|
|
40
40
|
|
|
41
41
|
Test Owner 必须产出结构化的 `verification.md`,同时作为测试计划和追溯文档。
|
|
42
42
|
|
|
43
|
+
### Status 字段权限
|
|
44
|
+
|
|
45
|
+
| 状态 | 含义 | 谁可以设置 |
|
|
46
|
+
|------|------|-----------|
|
|
47
|
+
| `Draft` | 初始状态 | 自动生成 |
|
|
48
|
+
| `Ready` | 测试计划就绪 | **Test Owner** |
|
|
49
|
+
| `Done` | Review 通过 | Reviewer(禁止 Test Owner/Coder) |
|
|
50
|
+
| `Archived` | 已归档 | Spec Gardener |
|
|
51
|
+
|
|
52
|
+
**约束**:Test Owner 完成测试计划后,应将 Status 设为 `Ready`。
|
|
53
|
+
|
|
43
54
|
```markdown
|
|
44
55
|
# 验证计划:<change-id>
|
|
45
56
|
|