sillyspec 3.20.2 → 3.20.4

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 (133) hide show
  1. package/.claude/skills/sillyspec-archive/SKILL.md +21 -21
  2. package/.claude/skills/sillyspec-auto/SKILL.md +83 -83
  3. package/.claude/skills/sillyspec-brainstorm/SKILL.md +44 -44
  4. package/.claude/skills/sillyspec-commit/SKILL.md +106 -106
  5. package/.claude/skills/sillyspec-continue/SKILL.md +45 -45
  6. package/.claude/skills/sillyspec-doctor/SKILL.md +31 -31
  7. package/.claude/skills/sillyspec-execute/SKILL.md +30 -30
  8. package/.claude/skills/sillyspec-explore/SKILL.md +109 -109
  9. package/.claude/skills/sillyspec-knowledge/SKILL.md +269 -269
  10. package/.claude/skills/sillyspec-plan/SKILL.md +21 -21
  11. package/.claude/skills/sillyspec-propose/SKILL.md +21 -21
  12. package/.claude/skills/sillyspec-quick/SKILL.md +21 -21
  13. package/.claude/skills/sillyspec-resume/SKILL.md +68 -68
  14. package/.claude/skills/sillyspec-scan/SKILL.md +21 -21
  15. package/.claude/skills/sillyspec-state/SKILL.md +54 -54
  16. package/.claude/skills/sillyspec-status/SKILL.md +21 -21
  17. package/.claude/skills/sillyspec-verify/SKILL.md +21 -21
  18. package/.claude/skills/sillyspec-workspace/SKILL.md +157 -157
  19. package/.husky/pre-push +13 -13
  20. package/CLAUDE.md +18 -18
  21. package/README.md +198 -188
  22. package/SKILL.md +90 -91
  23. package/bin/sillyspec.js +2 -2
  24. package/docs/brainstorm-plan-contract.md +64 -64
  25. package/docs/plan-execute-contract.md +123 -123
  26. package/docs/platform-scan-protocol.md +298 -298
  27. package/docs/revision-mode.md +115 -115
  28. package/docs/sillyspec/file-lifecycle/known-implementation-gaps.md +99 -99
  29. package/docs/sillyspec/file-lifecycle/platform-workflows-sync.md +218 -218
  30. package/docs/sillyspec/file-lifecycle/stage-artifacts.md +167 -167
  31. package/docs/sillyspec/file-lifecycle/storage-and-state.md +148 -148
  32. package/docs/sillyspec/file-lifecycle/worktree-and-guard.md +211 -193
  33. package/docs/sillyspec/file-lifecycle.md +125 -125
  34. package/docs/workflow-contract-regression.md +106 -106
  35. package/docs/worktree-isolation.md +252 -252
  36. package/package.json +40 -40
  37. package/packages/dashboard/dist/assets/index-Bq_Z2hne.js +7446 -7446
  38. package/packages/dashboard/dist/assets/index-O2W5RV4z.css +1 -1
  39. package/packages/dashboard/dist/index.html +16 -16
  40. package/packages/dashboard/index.html +15 -15
  41. package/packages/dashboard/package-lock.json +2384 -2384
  42. package/packages/dashboard/package.json +25 -25
  43. package/packages/dashboard/server/executor.js +86 -86
  44. package/packages/dashboard/server/index.js +588 -588
  45. package/packages/dashboard/server/parser.js +526 -526
  46. package/packages/dashboard/server/watcher.js +344 -344
  47. package/packages/dashboard/src/App.vue +558 -558
  48. package/packages/dashboard/src/components/ActionBar.vue +93 -93
  49. package/packages/dashboard/src/components/CommandPalette.vue +96 -96
  50. package/packages/dashboard/src/components/DetailPanel.vue +137 -137
  51. package/packages/dashboard/src/components/LogStream.vue +65 -65
  52. package/packages/dashboard/src/components/PipelineStage.vue +95 -95
  53. package/packages/dashboard/src/components/PipelineView.vue +156 -156
  54. package/packages/dashboard/src/components/ProjectList.vue +210 -210
  55. package/packages/dashboard/src/components/StageBadge.vue +67 -67
  56. package/packages/dashboard/src/components/StepCard.vue +94 -94
  57. package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -48
  58. package/packages/dashboard/src/components/detail/GitDetail.vue +61 -61
  59. package/packages/dashboard/src/components/detail/TechDetail.vue +43 -43
  60. package/packages/dashboard/src/composables/useDashboard.js +170 -170
  61. package/packages/dashboard/src/composables/useKeyboard.js +119 -119
  62. package/packages/dashboard/src/composables/useWebSocket.js +129 -129
  63. package/packages/dashboard/src/main.js +8 -8
  64. package/packages/dashboard/src/style.css +132 -132
  65. package/packages/dashboard/vite.config.js +18 -18
  66. package/src/brainstorm-postcheck.js +158 -158
  67. package/src/change-list.js +52 -52
  68. package/src/change-risk-profile.js +352 -352
  69. package/src/classify-change.js +73 -73
  70. package/src/constants.js +70 -70
  71. package/src/contract-matrix.js +278 -278
  72. package/src/db.js +201 -201
  73. package/src/endpoint-extractor.js +315 -315
  74. package/src/hooks/claude-pre-tool-use.cjs +125 -125
  75. package/src/hooks/worktree-guard.js +653 -653
  76. package/src/index.js +922 -900
  77. package/src/init.js +431 -431
  78. package/src/knowledge-match.js +130 -130
  79. package/src/migrate.js +117 -117
  80. package/src/modules.js +482 -482
  81. package/src/progress.js +1734 -1734
  82. package/src/run.js +3465 -3358
  83. package/src/scan-postcheck.js +387 -383
  84. package/src/setup.js +398 -398
  85. package/src/stage-contract.js +700 -700
  86. package/src/stages/archive.js +160 -160
  87. package/src/stages/brainstorm-auto.js +229 -229
  88. package/src/stages/brainstorm.js +645 -645
  89. package/src/stages/doctor.js +365 -365
  90. package/src/stages/execute.js +625 -625
  91. package/src/stages/explore.js +34 -34
  92. package/src/stages/index.js +29 -29
  93. package/src/stages/knowledge.js +498 -498
  94. package/src/stages/plan-postcheck.js +511 -513
  95. package/src/stages/plan.js +582 -582
  96. package/src/stages/propose.js +174 -174
  97. package/src/stages/quick.js +82 -82
  98. package/src/stages/scan.js +558 -558
  99. package/src/stages/status.js +65 -65
  100. package/src/stages/verify.js +322 -322
  101. package/src/sync.js +497 -497
  102. package/src/task-review.js +346 -346
  103. package/src/workflow.js +785 -785
  104. package/src/worktree-apply.js +549 -549
  105. package/src/worktree-deps.js +185 -0
  106. package/src/worktree.js +982 -932
  107. package/templates/workflows/archive-impact.yaml +79 -79
  108. package/templates/workflows/scan-docs.yaml +132 -132
  109. package/test/brainstorm-plan-contract.test.mjs +273 -273
  110. package/test/check-syntax.mjs +26 -26
  111. package/test/contract-artifacts.test.mjs +323 -323
  112. package/test/decision-supersede.test.mjs +277 -277
  113. package/test/knowledge-match.test.mjs +231 -231
  114. package/test/plan-execute-contract.test.mjs +330 -330
  115. package/test/plan-optimization.test.mjs +572 -572
  116. package/test/platform-artifacts.test.mjs +166 -166
  117. package/test/platform-failure-samples.test.mjs +199 -199
  118. package/test/platform-recovery-chain.test.mjs +167 -167
  119. package/test/platform-recovery.test.mjs +136 -136
  120. package/test/platform-scan-p0.test.mjs +168 -168
  121. package/test/revision-v1.test.mjs +1145 -1145
  122. package/test/run-scan-project-parse.test.mjs +200 -200
  123. package/test/run-tests.mjs +48 -48
  124. package/test/scan-knowledge.test.mjs +175 -175
  125. package/test/scan-paths.test.mjs +68 -68
  126. package/test/scan-postcheck.test.mjs +197 -197
  127. package/test/spec-dir.test.mjs +206 -206
  128. package/test/stage-contract.test.mjs +299 -299
  129. package/test/stage-definitions.test.mjs +39 -39
  130. package/test/wait-gates.test.mjs +496 -496
  131. package/test/worktree-deps-provision.test.mjs +148 -0
  132. package/test/worktree-guard.test.mjs +71 -71
  133. package/test/worktree-native-overlay.test.mjs +188 -188
@@ -1,64 +1,64 @@
1
- ---
2
- author: qinyi
3
- created_at: 2026-06-19 00:45:00
4
- ---
5
-
6
- # Brainstorm → Plan Contract
7
-
8
- ## 核心契约
9
-
10
- `design.md` 是 plan 阶段的**主要设计输入**。plan 不应该在空的或缺少关键决策的 design.md 上生成任务。
11
-
12
- ## design.md 结构要求
13
-
14
- ### 必须包含(error — 阻断 plan)
15
-
16
- | # | 章节 | 匹配关键词 |
17
- |---|------|-----------|
18
- | 1 | 目标/背景/问题描述 | 目标、goal、objective、背景、background、问题、problem、purpose、目的 |
19
- | 2 | 范围/总体方案/设计 | 范围、scope、总体方案、方案、approach、solution、设计、design |
20
- | 3 | 决策/方案选择 | 决策、decision、选择、choice、方案选择、D-xxx@vN(decisions.md 引用) |
21
-
22
- ### 建议包含(warning — 不阻断 plan)
23
-
24
- | # | 章节 | 匹配关键词 |
25
- |---|------|-----------|
26
- | 4 | 非目标/Non-goals | 非目标、non-goals、不做、out of scope |
27
- | 5 | 约束/风险/Trade-off | 约束、constraint、风险、risk、trade-off |
28
- | 6 | 文件变更清单 | 文件变更、变更清单、changed files |
29
-
30
- ## 校验规则
31
-
32
- plan 启动时(第一个步骤执行前)调用 `validateDesignForPlan(designContent)`:
33
-
34
- | 结果 | 行为 |
35
- |------|------|
36
- | 全部通过 | 正常进入 plan |
37
- | 有 warning | 继续执行,展示警告 |
38
- | 有 error | fail-fast,提示修复 design.md |
39
-
40
- ## 第一版设计原则
41
-
42
- - **轻量 markdown 契约**:检查标题和关键词,不强 schema
43
- - **关键词宽泛**:中英文都支持
44
- - **decisions.md 引用也算决策**:`D-xxx@vN` 或 `decisions.md` 引用即满足决策检查
45
- - **不做 brainstorm postcheck 阻断**:brainstorm 完成时不校验此契约(brainstorm 可以产出不完整的 design.md),只在 plan 启动时校验
46
-
47
- ## 错误处理
48
-
49
- | 场景 | 行为 |
50
- |------|------|
51
- | design.md 不存在 | 不校验(向后兼容,plan 可以独立运行) |
52
- | design.md 空 | fail-fast |
53
- | 缺目标/背景 | fail-fast |
54
- | 缺范围/方案 | fail-fast |
55
- | 缺决策 | fail-fast |
56
- | 缺非目标/约束/文件清单 | warning,继续执行 |
57
-
58
- ## 完整契约链
59
-
60
- ```
61
- brainstorm → design.md → [Plan Contract 校验] → plan → plan.md → [Execute Contract 校验] → execute
62
- ```
63
-
64
- 每个阶段启动前都校验上游产物,形成双重保险。
1
+ ---
2
+ author: qinyi
3
+ created_at: 2026-06-19 00:45:00
4
+ ---
5
+
6
+ # Brainstorm → Plan Contract
7
+
8
+ ## 核心契约
9
+
10
+ `design.md` 是 plan 阶段的**主要设计输入**。plan 不应该在空的或缺少关键决策的 design.md 上生成任务。
11
+
12
+ ## design.md 结构要求
13
+
14
+ ### 必须包含(error — 阻断 plan)
15
+
16
+ | # | 章节 | 匹配关键词 |
17
+ |---|------|-----------|
18
+ | 1 | 目标/背景/问题描述 | 目标、goal、objective、背景、background、问题、problem、purpose、目的 |
19
+ | 2 | 范围/总体方案/设计 | 范围、scope、总体方案、方案、approach、solution、设计、design |
20
+ | 3 | 决策/方案选择 | 决策、decision、选择、choice、方案选择、D-xxx@vN(decisions.md 引用) |
21
+
22
+ ### 建议包含(warning — 不阻断 plan)
23
+
24
+ | # | 章节 | 匹配关键词 |
25
+ |---|------|-----------|
26
+ | 4 | 非目标/Non-goals | 非目标、non-goals、不做、out of scope |
27
+ | 5 | 约束/风险/Trade-off | 约束、constraint、风险、risk、trade-off |
28
+ | 6 | 文件变更清单 | 文件变更、变更清单、changed files |
29
+
30
+ ## 校验规则
31
+
32
+ plan 启动时(第一个步骤执行前)调用 `validateDesignForPlan(designContent)`:
33
+
34
+ | 结果 | 行为 |
35
+ |------|------|
36
+ | 全部通过 | 正常进入 plan |
37
+ | 有 warning | 继续执行,展示警告 |
38
+ | 有 error | fail-fast,提示修复 design.md |
39
+
40
+ ## 第一版设计原则
41
+
42
+ - **轻量 markdown 契约**:检查标题和关键词,不强 schema
43
+ - **关键词宽泛**:中英文都支持
44
+ - **decisions.md 引用也算决策**:`D-xxx@vN` 或 `decisions.md` 引用即满足决策检查
45
+ - **不做 brainstorm postcheck 阻断**:brainstorm 完成时不校验此契约(brainstorm 可以产出不完整的 design.md),只在 plan 启动时校验
46
+
47
+ ## 错误处理
48
+
49
+ | 场景 | 行为 |
50
+ |------|------|
51
+ | design.md 不存在 | 不校验(向后兼容,plan 可以独立运行) |
52
+ | design.md 空 | fail-fast |
53
+ | 缺目标/背景 | fail-fast |
54
+ | 缺范围/方案 | fail-fast |
55
+ | 缺决策 | fail-fast |
56
+ | 缺非目标/约束/文件清单 | warning,继续执行 |
57
+
58
+ ## 完整契约链
59
+
60
+ ```
61
+ brainstorm → design.md → [Plan Contract 校验] → plan → plan.md → [Execute Contract 校验] → execute
62
+ ```
63
+
64
+ 每个阶段启动前都校验上游产物,形成双重保险。
@@ -1,123 +1,123 @@
1
- ---
2
- author: qinyi
3
- created_at: 2026-06-19 00:25:00
4
- ---
5
-
6
- # Plan → Execute Contract
7
-
8
- ## 核心契约
9
-
10
- `plan.md` 是 execute 阶段的**唯一任务蓝图输入**。execute 不从其他来源(brainstorm、tasks.md、agent 记忆)获取任务列表。
11
-
12
- ## plan.md 格式要求
13
-
14
- ### Checkbox Task(必须)
15
-
16
- execute 通过 checkbox 解析任务,格式:
17
-
18
- ```markdown
19
- - [ ] task-01: 实现用户认证模块
20
- - [ ] task-02: 添加权限校验中间件
21
- - [ ] task-03: 编写集成测试
22
- ```
23
-
24
- ### Task ID 规则
25
-
26
- - 格式:`task-XX`(XX 为数字,建议两位补零)
27
- - 必须唯一:同一 plan.md 内不能有两个相同 task id
28
- - 建议连续:从 task-01 开始递增
29
- - 不能为空:每个 checkbox task 必须有 id
30
-
31
- ### Task Name 规则
32
-
33
- - 必须非空
34
- - 清晰描述任务内容
35
-
36
- ### Wave 分组
37
-
38
- ```markdown
39
- ## Wave 1
40
- - [ ] task-01: 搭建项目骨架
41
- - [ ] task-02: 配置 CI/CD
42
-
43
- ## Wave 2
44
- - [ ] task-03: 实现业务逻辑
45
- ```
46
-
47
- - Wave 内任务无依赖(可并行)
48
- - Wave 间有依赖(按序执行)
49
- - Wave 只能引用已存在的 task
50
-
51
- ## 校验规则
52
-
53
- execute 进入前调用 `validatePlanForExecute(planContent)`:
54
-
55
- | # | 规则 | 级别 |
56
- |---|------|------|
57
- | 1 | plan.md 非空 | error |
58
- | 2 | 至少有一个 checkbox task | error |
59
- | 3 | task id 唯一 | error |
60
- | 4 | task id 连续(task-01 起) | error |
61
- | 5 | task name 非空 | error |
62
- | 6 | task 有 id(无 id 只 warning) | warning |
63
-
64
- 校验失败 → fail-fast,不进入 execute。
65
- 校验通过但有 warning → 继续执行,提示警告。
66
-
67
- ## 复杂度场景
68
-
69
- ### none(最小变更)
70
- ```markdown
71
- ## Wave 1
72
- - [ ] task-01: 修复 bug
73
- ```
74
- 至少 1 个 checkbox task。
75
-
76
- ### light(轻量变更)
77
- ```markdown
78
- ## Wave 1
79
- - [ ] task-01: 添加 API 端点
80
- - [ ] task-02: 添加前端调用
81
- ```
82
- 1 个 Wave,2-3 个 task。
83
-
84
- ### full(完整变更)
85
- ```markdown
86
- ## Wave 1: 基础设施
87
- - [ ] task-01: 数据库 schema
88
- - [ ] task-02: 模型定义
89
-
90
- ## Wave 2: 业务逻辑
91
- - [ ] task-03: API 实现
92
- - [ ] task-04: 业务规则
93
-
94
- ## Wave 3: 测试
95
- - [ ] task-05: 集成测试
96
- ```
97
- 多个 Wave,每个 Wave 1-N 个 task。
98
-
99
- ## execute reopen 契约
100
-
101
- 当 execute 被 `--reopen` 时:
102
- 1. **必须从最新 plan.md 重新解析 steps**(不复用旧 task/wave)
103
- 2. 如果 plan.md 已变更(wave 数量变了),execute steps 会反映最新状态
104
- 3. 旧 completed steps 不保留(全部回到 pending/stale)
105
-
106
- ## 错误处理
107
-
108
- | 场景 | 行为 |
109
- |------|------|
110
- | plan.md 不存在 | 生成默认 3 Wave(向后兼容) |
111
- | plan.md 存在但无 checkbox | fail-fast |
112
- | task id 重复 | fail-fast |
113
- | task id 不连续 | fail-fast |
114
- | plan.md 被修改后 execute reopen | 重新解析,使用最新 wave/task |
115
-
116
- ## 双重校验
117
-
118
- 契约在两个时点执行:
119
-
120
- 1. **plan 完成时**(plan postcheck):plan.md 不合法 → 阻断 completed,plan 阶段无法完成
121
- 2. **execute 启动时**(execute entry):plan.md 不合法 → fail-fast,不进入 execute
122
-
123
- 这确保 plan.md 在进入 execute 之前就是合法的,execute 启动时的校验是二次保险。
1
+ ---
2
+ author: qinyi
3
+ created_at: 2026-06-19 00:25:00
4
+ ---
5
+
6
+ # Plan → Execute Contract
7
+
8
+ ## 核心契约
9
+
10
+ `plan.md` 是 execute 阶段的**唯一任务蓝图输入**。execute 不从其他来源(brainstorm、tasks.md、agent 记忆)获取任务列表。
11
+
12
+ ## plan.md 格式要求
13
+
14
+ ### Checkbox Task(必须)
15
+
16
+ execute 通过 checkbox 解析任务,格式:
17
+
18
+ ```markdown
19
+ - [ ] task-01: 实现用户认证模块
20
+ - [ ] task-02: 添加权限校验中间件
21
+ - [ ] task-03: 编写集成测试
22
+ ```
23
+
24
+ ### Task ID 规则
25
+
26
+ - 格式:`task-XX`(XX 为数字,建议两位补零)
27
+ - 必须唯一:同一 plan.md 内不能有两个相同 task id
28
+ - 建议连续:从 task-01 开始递增
29
+ - 不能为空:每个 checkbox task 必须有 id
30
+
31
+ ### Task Name 规则
32
+
33
+ - 必须非空
34
+ - 清晰描述任务内容
35
+
36
+ ### Wave 分组
37
+
38
+ ```markdown
39
+ ## Wave 1
40
+ - [ ] task-01: 搭建项目骨架
41
+ - [ ] task-02: 配置 CI/CD
42
+
43
+ ## Wave 2
44
+ - [ ] task-03: 实现业务逻辑
45
+ ```
46
+
47
+ - Wave 内任务无依赖(可并行)
48
+ - Wave 间有依赖(按序执行)
49
+ - Wave 只能引用已存在的 task
50
+
51
+ ## 校验规则
52
+
53
+ execute 进入前调用 `validatePlanForExecute(planContent)`:
54
+
55
+ | # | 规则 | 级别 |
56
+ |---|------|------|
57
+ | 1 | plan.md 非空 | error |
58
+ | 2 | 至少有一个 checkbox task | error |
59
+ | 3 | task id 唯一 | error |
60
+ | 4 | task id 连续(task-01 起) | error |
61
+ | 5 | task name 非空 | error |
62
+ | 6 | task 有 id(无 id 只 warning) | warning |
63
+
64
+ 校验失败 → fail-fast,不进入 execute。
65
+ 校验通过但有 warning → 继续执行,提示警告。
66
+
67
+ ## 复杂度场景
68
+
69
+ ### none(最小变更)
70
+ ```markdown
71
+ ## Wave 1
72
+ - [ ] task-01: 修复 bug
73
+ ```
74
+ 至少 1 个 checkbox task。
75
+
76
+ ### light(轻量变更)
77
+ ```markdown
78
+ ## Wave 1
79
+ - [ ] task-01: 添加 API 端点
80
+ - [ ] task-02: 添加前端调用
81
+ ```
82
+ 1 个 Wave,2-3 个 task。
83
+
84
+ ### full(完整变更)
85
+ ```markdown
86
+ ## Wave 1: 基础设施
87
+ - [ ] task-01: 数据库 schema
88
+ - [ ] task-02: 模型定义
89
+
90
+ ## Wave 2: 业务逻辑
91
+ - [ ] task-03: API 实现
92
+ - [ ] task-04: 业务规则
93
+
94
+ ## Wave 3: 测试
95
+ - [ ] task-05: 集成测试
96
+ ```
97
+ 多个 Wave,每个 Wave 1-N 个 task。
98
+
99
+ ## execute reopen 契约
100
+
101
+ 当 execute 被 `--reopen` 时:
102
+ 1. **必须从最新 plan.md 重新解析 steps**(不复用旧 task/wave)
103
+ 2. 如果 plan.md 已变更(wave 数量变了),execute steps 会反映最新状态
104
+ 3. 旧 completed steps 不保留(全部回到 pending/stale)
105
+
106
+ ## 错误处理
107
+
108
+ | 场景 | 行为 |
109
+ |------|------|
110
+ | plan.md 不存在 | 生成默认 3 Wave(向后兼容) |
111
+ | plan.md 存在但无 checkbox | fail-fast |
112
+ | task id 重复 | fail-fast |
113
+ | task id 不连续 | fail-fast |
114
+ | plan.md 被修改后 execute reopen | 重新解析,使用最新 wave/task |
115
+
116
+ ## 双重校验
117
+
118
+ 契约在两个时点执行:
119
+
120
+ 1. **plan 完成时**(plan postcheck):plan.md 不合法 → 阻断 completed,plan 阶段无法完成
121
+ 2. **execute 启动时**(execute entry):plan.md 不合法 → fail-fast,不进入 execute
122
+
123
+ 这确保 plan.md 在进入 execute 之前就是合法的,execute 启动时的校验是二次保险。