spec-wave 2.1.1

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 (175) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +327 -0
  3. package/README.zh-CN.md +327 -0
  4. package/RELEASING.md +52 -0
  5. package/assets/README.md +30 -0
  6. package/assets/ci/samples/README.md +76 -0
  7. package/assets/ci/samples/hgm-ingest.yml.example +42 -0
  8. package/assets/ci/samples/lint-wiki-delta.pin.yml.example +47 -0
  9. package/assets/ci/samples/lint-wiki-delta.yml.example +49 -0
  10. package/assets/ci/samples/pytest.yml.example +49 -0
  11. package/assets/ci/samples/quality.yml.example +56 -0
  12. package/assets/ci/samples/skills-validate.yml.example +38 -0
  13. package/assets/ci/samples/tech-graph.yml.example +55 -0
  14. package/assets/coding_wiki/templates/README.md +115 -0
  15. package/assets/coding_wiki/templates/_index.md +19 -0
  16. package/assets/coding_wiki/templates/context.md +18 -0
  17. package/assets/coding_wiki/templates/stable.md +26 -0
  18. package/assets/coding_wiki/templates/topics/wiki_layout.md +13 -0
  19. package/assets/coding_wiki/templates/topics/wikilinks_export.md +13 -0
  20. package/assets/coding_wiki/templates/volatile.md +25 -0
  21. package/assets/docs/POINTER_ONBOARDING.md +9 -0
  22. package/assets/docs/POINTER_RUNBOOK_wiki_delta.md +18 -0
  23. package/assets/docs/POINTER_SDD_HAT_FLOW.md +8 -0
  24. package/assets/docs/POINTER_USER_GUIDE.md +8 -0
  25. package/assets/graph/stubs/README.md +6 -0
  26. package/assets/graph/templates/00_main.graph.yaml +72 -0
  27. package/assets/graph/templates/00_main.md +85 -0
  28. package/assets/graph/templates/01_struct.md +38 -0
  29. package/assets/graph/templates/02_version.md +7 -0
  30. package/assets/graph/templates/10_flow_MAIN.graph.yaml +105 -0
  31. package/assets/graph/templates/10_flow_MAIN.md +103 -0
  32. package/assets/graph/templates/99_mermaid_protocol.md +156 -0
  33. package/assets/graph/templates/README.md +66 -0
  34. package/assets/harness/README.md +18 -0
  35. package/assets/harness/discipline-coverage.yaml +320 -0
  36. package/assets/harness/invokes/README.md +22 -0
  37. package/assets/harness/invokes/TEMPLATE_invoke.md +61 -0
  38. package/assets/harness/lifecycle.yaml +127 -0
  39. package/assets/harness/prompts/00-orchestrator.md +91 -0
  40. package/assets/harness/prompts/10-spec-requirements.md +63 -0
  41. package/assets/harness/prompts/10-task-requirements.md +70 -0
  42. package/assets/harness/prompts/20-spec-audit.md +50 -0
  43. package/assets/harness/prompts/20-task-audit.md +90 -0
  44. package/assets/harness/prompts/30-execute-code.md +64 -0
  45. package/assets/harness/prompts/40-self-check.md +65 -0
  46. package/assets/harness/prompts/FRAGMENT_00_delegate_only_v1_zh.md +19 -0
  47. package/assets/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md +34 -0
  48. package/assets/harness/prompts/FRAGMENT_30_invoke_block_v1_zh.md +28 -0
  49. package/assets/harness/prompts/FRAGMENT_hat_reanchor_v1_zh.md +19 -0
  50. package/assets/harness/prompts/README.md +67 -0
  51. package/assets/harness/prompts/TEMPLATE_30_gate_stop.md +36 -0
  52. package/assets/harness/templates/FRAGMENT_task_domain_infer_v1_zh.md +16 -0
  53. package/assets/harness/templates/ONTOLOGY_consumer_slice_v1.md +41 -0
  54. package/assets/harness/templates/QUICKREF_v1_zh.md +35 -0
  55. package/assets/harness/templates/README.md +50 -0
  56. package/assets/harness/templates/TASK_TEMPLATE.md +133 -0
  57. package/assets/harness/templates/TASK_done_README.md +76 -0
  58. package/assets/harness/templates/TASK_epic.md +103 -0
  59. package/assets/harness/templates/TASK_graph_bootstrap.md +115 -0
  60. package/assets/harness/templates/VIEW_done_by_domain.md +66 -0
  61. package/assets/harness/templates/VIEW_done_thin_pointer.md +16 -0
  62. package/assets/ide/adapters/AGENTS.md.fragment.example +33 -0
  63. package/assets/ide/adapters/CLAUDE.md.fragment.example +32 -0
  64. package/assets/ide/adapters/README.md +57 -0
  65. package/assets/ide/adapters/cursor-harness-starter.mdc.example +39 -0
  66. package/assets/ide/commands/claude/kit/apply-standards.md +10 -0
  67. package/assets/ide/commands/claude/kit/gate-status.md +10 -0
  68. package/assets/ide/commands/claude/kit/graph-check.md +8 -0
  69. package/assets/ide/commands/claude/kit/hat-00-delegate.md +9 -0
  70. package/assets/ide/commands/claude/kit/hat-10-spec.md +9 -0
  71. package/assets/ide/commands/claude/kit/hat-10-task.md +9 -0
  72. package/assets/ide/commands/claude/kit/hat-20-spec-audit.md +9 -0
  73. package/assets/ide/commands/claude/kit/hat-20-task-audit.md +9 -0
  74. package/assets/ide/commands/claude/kit/hat-reanchor.md +8 -0
  75. package/assets/ide/commands/claude/kit/init-guide.md +16 -0
  76. package/assets/ide/commands/claude/kit/sync-prompts-guide.md +9 -0
  77. package/assets/ide/commands/claude/kit/verify.md +16 -0
  78. package/assets/ide/commands/cursor/kit-apply-standards.md +12 -0
  79. package/assets/ide/commands/cursor/kit-gate-status.md +12 -0
  80. package/assets/ide/commands/cursor/kit-graph-check.md +10 -0
  81. package/assets/ide/commands/cursor/kit-hat-00-delegate.md +11 -0
  82. package/assets/ide/commands/cursor/kit-hat-10-spec.md +11 -0
  83. package/assets/ide/commands/cursor/kit-hat-10-task.md +11 -0
  84. package/assets/ide/commands/cursor/kit-hat-20-spec-audit.md +11 -0
  85. package/assets/ide/commands/cursor/kit-hat-20-task-audit.md +11 -0
  86. package/assets/ide/commands/cursor/kit-hat-reanchor.md +10 -0
  87. package/assets/ide/commands/cursor/kit-init-guide.md +18 -0
  88. package/assets/ide/commands/cursor/kit-sync-prompts-guide.md +11 -0
  89. package/assets/ide/commands/cursor/kit-verify.md +18 -0
  90. package/assets/ide/host-adapt/README.md +113 -0
  91. package/assets/ide/host-adapt/examples/mvp-hosts.yaml +78 -0
  92. package/assets/ide/host-adapt/host-adapt.schema.json +97 -0
  93. package/assets/ide/skills-orch/README.md +16 -0
  94. package/assets/ide/skills-orch/kit-apply-standards/SKILL.md +17 -0
  95. package/assets/ide/skills-orch/kit-gate-status/SKILL.md +17 -0
  96. package/assets/ide/skills-orch/kit-hat-reanchor/SKILL.md +15 -0
  97. package/assets/ide/skills-orch/kit-init-guide/SKILL.md +23 -0
  98. package/assets/ide/skills-orch/kit-verify/SKILL.md +23 -0
  99. package/assets/ontology.yaml +113 -0
  100. package/assets/skills/README.md +37 -0
  101. package/assets/skills/harness-00-delegate-only/SKILL.md +19 -0
  102. package/assets/skills/harness-10-spec/SKILL.md +63 -0
  103. package/assets/skills/harness-10-task/SKILL.md +70 -0
  104. package/assets/skills/harness-20-spec-audit/SKILL.md +50 -0
  105. package/assets/skills/harness-20-task-audit/SKILL.md +90 -0
  106. package/assets/skills/harness-20-task-audit/references/TEMPLATE_30_gate_stop.md +36 -0
  107. package/assets/skills/harness-hat-reanchor/SKILL.md +19 -0
  108. package/assets/standards/POINTER_workspace_truth_v1_zh.md +42 -0
  109. package/assets/standards/README.md +35 -0
  110. package/assets/standards/SOURCES_v1_zh.md +49 -0
  111. package/assets/standards/TEMPLATE_CODING_BASELINE_L1_v1_zh.md +88 -0
  112. package/assets/standards/TEMPLATE_CODING_BASELINE_L2_backend_v1_zh.md +75 -0
  113. package/assets/standards/TEMPLATE_CODING_BASELINE_L2_frontend_v1_zh.md +76 -0
  114. package/bin/dsh-coding-kit.js +7 -0
  115. package/bin/specgate.js +7 -0
  116. package/bin/validate_template_compliance.py +470 -0
  117. package/cordis.patch.yml +5 -0
  118. package/lib/cli-checks.d.ts +68 -0
  119. package/lib/cli-checks.js +812 -0
  120. package/lib/cli-checks.js.map +1 -0
  121. package/lib/cli-graph-hgm.d.ts +74 -0
  122. package/lib/cli-graph-hgm.js +416 -0
  123. package/lib/cli-graph-hgm.js.map +1 -0
  124. package/lib/cli-graph-yaml.d.ts +79 -0
  125. package/lib/cli-graph-yaml.js +602 -0
  126. package/lib/cli-graph-yaml.js.map +1 -0
  127. package/lib/cli-graph.d.ts +1 -0
  128. package/lib/cli-graph.js +199 -0
  129. package/lib/cli-graph.js.map +1 -0
  130. package/lib/cli-host.d.ts +24 -0
  131. package/lib/cli-host.js +1197 -0
  132. package/lib/cli-host.js.map +1 -0
  133. package/lib/cli-lifecycle.d.ts +2 -0
  134. package/lib/cli-lifecycle.js +401 -0
  135. package/lib/cli-lifecycle.js.map +1 -0
  136. package/lib/cli-refresh-ide-blocks.d.ts +66 -0
  137. package/lib/cli-refresh-ide-blocks.js +484 -0
  138. package/lib/cli-refresh-ide-blocks.js.map +1 -0
  139. package/lib/cli-shared.d.ts +74 -0
  140. package/lib/cli-shared.js +281 -0
  141. package/lib/cli-shared.js.map +1 -0
  142. package/lib/cli-skills.d.ts +52 -0
  143. package/lib/cli-skills.js +363 -0
  144. package/lib/cli-skills.js.map +1 -0
  145. package/lib/cli-status.d.ts +2 -0
  146. package/lib/cli-status.js +251 -0
  147. package/lib/cli-status.js.map +1 -0
  148. package/lib/cli-sync-prompts.d.ts +25 -0
  149. package/lib/cli-sync-prompts.js +158 -0
  150. package/lib/cli-sync-prompts.js.map +1 -0
  151. package/lib/cli-sync.d.ts +2 -0
  152. package/lib/cli-sync.js +124 -0
  153. package/lib/cli-sync.js.map +1 -0
  154. package/lib/cli-task-extra.d.ts +53 -0
  155. package/lib/cli-task-extra.js +408 -0
  156. package/lib/cli-task-extra.js.map +1 -0
  157. package/lib/cli-timeline.d.ts +28 -0
  158. package/lib/cli-timeline.js +68 -0
  159. package/lib/cli-timeline.js.map +1 -0
  160. package/lib/cli-wiki.d.ts +21 -0
  161. package/lib/cli-wiki.js +189 -0
  162. package/lib/cli-wiki.js.map +1 -0
  163. package/lib/cli.d.ts +22 -0
  164. package/lib/cli.js +1034 -0
  165. package/lib/cli.js.map +1 -0
  166. package/lib/host-contract.d.ts +23 -0
  167. package/lib/host-contract.js +143 -0
  168. package/lib/host-contract.js.map +1 -0
  169. package/lib/index.d.ts +18 -0
  170. package/lib/index.js +290 -0
  171. package/lib/index.js.map +1 -0
  172. package/lib/yaml.d.ts +4 -0
  173. package/lib/yaml.js +10 -0
  174. package/lib/yaml.js.map +1 -0
  175. package/package.json +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-host.js","sourceRoot":"","sources":["../src/cli-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function cmdLifecycle(args: string[]): Promise<void>;
2
+ export declare function cmdDiscipline(args: string[]): Promise<void>;
@@ -0,0 +1,401 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fail, findGate, packageRoot, parseHumanGates, resolveTarget, takeOption } from "./cli-shared.js";
4
+ // DEF-003 阶段二 T3:dry-run 守卫 adapter 复用 cli-checks 单一实现源(与 verify / status 同口径)
5
+ // DEF-003 阶段二 T6:close_* 守卫复用 cli-checks evalCloseGuard(与 task close 同一实现源)
6
+ // PRD_DEF-003 后续棒:to_00 spec_reviews_retention 复用 cli-checks evalSpecReviewsRetention(与 verify --spec 同一实现源)
7
+ import { evalCloseGuard, evalSpecReviewsRetention, findReview, lintTaskFile, runTestCheck } from "./cli-checks.js";
8
+ import { yamlLoad } from "./yaml.js";
9
+ function assetsHarnessFile(name) {
10
+ return path.join(packageRoot(), 'assets', 'harness', name);
11
+ }
12
+ function loadLifecycle() {
13
+ const filePath = assetsHarnessFile('lifecycle.yaml');
14
+ if (!existsSync(filePath))
15
+ fail(`lifecycle.yaml 不存在: ${filePath}`);
16
+ let data;
17
+ try {
18
+ data = yamlLoad(readFileSync(filePath, 'utf8'));
19
+ }
20
+ catch (err) {
21
+ fail(`lifecycle.yaml 解析失败: ${err.message}`);
22
+ }
23
+ if (!data?.version || !Array.isArray(data.states) || !Array.isArray(data.transitions)) {
24
+ fail('lifecycle.yaml 校验失败: 缺 version/states/transitions');
25
+ }
26
+ return { data, filePath };
27
+ }
28
+ function loadDiscipline() {
29
+ const filePath = assetsHarnessFile('discipline-coverage.yaml');
30
+ if (!existsSync(filePath))
31
+ fail(`discipline-coverage.yaml 不存在: ${filePath}`);
32
+ let data;
33
+ try {
34
+ data = yamlLoad(readFileSync(filePath, 'utf8'));
35
+ }
36
+ catch (err) {
37
+ fail(`discipline-coverage.yaml 解析失败: ${err.message}`);
38
+ }
39
+ if (!data?.version || !data.as_of_package_version || !Array.isArray(data.statements)) {
40
+ fail('discipline-coverage.yaml 校验失败');
41
+ }
42
+ return { data, filePath };
43
+ }
44
+ function formatLifecycleShow(data) {
45
+ const lines = [
46
+ `lifecycle v${data.version}`,
47
+ '',
48
+ '## states',
49
+ ...data.states.map((s) => `- ${s.id}${s.note ? ` · ${s.note}` : ''}`),
50
+ '',
51
+ '## transitions',
52
+ ];
53
+ for (const t of data.transitions) {
54
+ lines.push(`### ${t.id} · ${t.from.join('|')} → ${t.to}${t.hat ? ` · hat=${t.hat}` : ''}`);
55
+ if (t.description)
56
+ lines.push(` ${t.description}`);
57
+ for (const g of t.guards) {
58
+ const allow = g.allow_flag ? ` · allow=${g.allow_flag}` : '';
59
+ lines.push(` - [${g.severity}] ${g.id}: ${g.command_or_check}${allow}`);
60
+ }
61
+ lines.push('');
62
+ }
63
+ return lines.join('\n').trimEnd();
64
+ }
65
+ function formatDisciplineShow(data) {
66
+ const byStatus = {};
67
+ for (const s of data.statements ?? [])
68
+ byStatus[s.status] = (byStatus[s.status] ?? 0) + 1;
69
+ const gapBy = {};
70
+ for (const g of data.gaps ?? [])
71
+ gapBy[g.status] = (gapBy[g.status] ?? 0) + 1;
72
+ const lines = [
73
+ `discipline-coverage v${data.version}`,
74
+ `as_of: ${data.as_of_package_version}`,
75
+ `scope: ${data.scope}`,
76
+ '',
77
+ `## statements (${data.statements?.length ?? 0})`,
78
+ ...Object.entries(byStatus)
79
+ .sort(([a], [b]) => a.localeCompare(b))
80
+ .map(([k, n]) => `- ${k}: ${n}`),
81
+ '',
82
+ `## gaps (${data.gaps?.length ?? 0})`,
83
+ ];
84
+ if ((data.gaps?.length ?? 0) === 0)
85
+ lines.push('- (无)');
86
+ else {
87
+ lines.push(...Object.entries(gapBy)
88
+ .sort(([a], [b]) => a.localeCompare(b))
89
+ .map(([k, n]) => `- ${k}: ${n}`));
90
+ }
91
+ lines.push('', '## sample statements(最多 12)');
92
+ for (const s of (data.statements ?? []).slice(0, 12)) {
93
+ const sum = s.summary.length > 72 ? `${s.summary.slice(0, 69)}…` : s.summary;
94
+ lines.push(`- [${s.status}] ${s.id}: ${sum}`);
95
+ }
96
+ lines.push('', '注: SoT = assets/harness/discipline-coverage.yaml · show 只读');
97
+ lines.push('注: status 口径 = 本包实接线(not_wired = 声称但本包未接线 · 旧包机制见 yaml notes)');
98
+ return lines.join('\n');
99
+ }
100
+ function flagsAllow(flags, allowFlag) {
101
+ if (allowFlag === '--allow-no-review')
102
+ return Boolean(flags.allowNoReview);
103
+ if (allowFlag === '--allow-lint-fail')
104
+ return Boolean(flags.allowLintFail);
105
+ if (allowFlag === '--allow-no-spec-review')
106
+ return Boolean(flags.allowNoSpecReview);
107
+ if (allowFlag === '--allow-invoke-gap')
108
+ return Boolean(flags.allowInvokeGap);
109
+ if (allowFlag === '--allow-unchecked')
110
+ return Boolean(flags.allowUnchecked);
111
+ if (allowFlag === '--allow-kpi-gap')
112
+ return Boolean(flags.allowKpiGap);
113
+ if (allowFlag === '--allow-experience-gap')
114
+ return Boolean(flags.allowExperienceGap);
115
+ if (allowFlag === '--allow-wiki-gap')
116
+ return Boolean(flags.allowWikiGap);
117
+ if (allowFlag === '--allow-no-pr-merge')
118
+ return Boolean(flags.allowNoPrMerge);
119
+ if (allowFlag === '--allow-no-hub')
120
+ return Boolean(flags.allowNoHub);
121
+ return false;
122
+ }
123
+ function evalHumanGate(gateId, content) {
124
+ const gates = parseHumanGates(content);
125
+ const row = findGate(gates, gateId);
126
+ if (!row)
127
+ return { status: 'fail', detail: `闸表无 ${gateId} 行` };
128
+ if (row.status === 'approved')
129
+ return { status: 'pass', detail: `${gateId}=approved` };
130
+ return { status: 'fail', detail: `${gateId}=${row.status}(须 approved)` };
131
+ }
132
+ function evalGuard(guardId, ctx) {
133
+ switch (guardId) {
134
+ case 'HG-AUDIT-R1':
135
+ case 'HG-TASK-DRAFT':
136
+ return evalHumanGate(guardId, ctx.content);
137
+ case 'reviews_retention':
138
+ return findReview(ctx.target, ctx.absTask)
139
+ ? {
140
+ status: 'pass',
141
+ detail: 'R<n> 审查文存在(docs/harness/reviews 或 reviews/ 命中 task_*_audit_R<n>_*)',
142
+ }
143
+ : {
144
+ status: 'fail',
145
+ detail: 'missing R<n> review(docs/harness/reviews 与 reviews/ 均无 task_*_audit_R<n>_*.md)',
146
+ };
147
+ case 'audit_D5': {
148
+ const r = runTestCheck(ctx.target, ctx.absTask);
149
+ return r.ok ? { status: 'pass', detail: r.reason } : { status: 'fail', detail: r.reason };
150
+ }
151
+ case 'task_lint': {
152
+ const r = lintTaskFile(ctx.absTask, ctx.target);
153
+ if (r.ok) {
154
+ const w = r.warnings.length > 0
155
+ ? ` · ${r.warnings.length} 条 warn(${r.warnings.map((x) => x.rule).join(',')})`
156
+ : '';
157
+ return { status: 'pass', detail: `lint PASS${w}` };
158
+ }
159
+ return {
160
+ status: 'fail',
161
+ detail: `lint FAIL: ${r.errors.map((e) => `${e.rule} ${e.message}`).join(';')}`,
162
+ };
163
+ }
164
+ // PRD_DEF-003 后续棒:to_00 的 --task 携带待签收 SPEC 路径(非 task 文件 · 守卫 note「不挂 verify --task」)
165
+ case 'spec_reviews_retention':
166
+ return evalSpecReviewsRetention(ctx.target, ctx.absTask, ctx.content);
167
+ default:
168
+ // DEF-003 阶段二 T6 + 后续棒:close_* 守卫与 task close 同一实现源(cli-checks evalCloseGuard ·
169
+ // 登记守卫全部已接线);未来新增登记未接线时仍返回 null → 明示未接线(R-TRUTH-1 第三态面保留)
170
+ return evalCloseGuard(guardId, ctx.absTask, ctx.content);
171
+ }
172
+ }
173
+ function dryRunTransition(opts) {
174
+ const { data } = loadLifecycle();
175
+ const knownIds = data.transitions.map((t) => t.id);
176
+ const transition = data.transitions.find((t) => t.id === opts.transitionId);
177
+ if (!transition) {
178
+ return {
179
+ engine: 'lifecycle-dry-run',
180
+ lifecycle_doc_version: data.version,
181
+ transition_id: opts.transitionId,
182
+ from: opts.fromState,
183
+ to: null,
184
+ hat: null,
185
+ structure_ok: false,
186
+ guards: [],
187
+ blocked: true,
188
+ unevaluated_count: 0,
189
+ detail: `未知 transition: ${opts.transitionId}(已知: ${knownIds.join(', ')})`,
190
+ exitCode: 2,
191
+ };
192
+ }
193
+ if (!opts.fromState || !transition.from.includes(opts.fromState)) {
194
+ return {
195
+ engine: 'lifecycle-dry-run',
196
+ lifecycle_doc_version: data.version,
197
+ transition_id: transition.id,
198
+ from: opts.fromState,
199
+ to: transition.to,
200
+ hat: transition.hat ?? null,
201
+ structure_ok: false,
202
+ guards: [],
203
+ blocked: true,
204
+ unevaluated_count: 0,
205
+ detail: `from "${opts.fromState}" ∉ ${JSON.stringify(transition.from)}`,
206
+ exitCode: 2,
207
+ };
208
+ }
209
+ const absTask = opts.taskPath
210
+ ? path.isAbsolute(opts.taskPath)
211
+ ? opts.taskPath
212
+ : path.resolve(opts.cwd, opts.taskPath)
213
+ : null;
214
+ if (opts.taskPath && absTask && !existsSync(absTask))
215
+ fail(`--task 不可读: ${opts.taskPath}`);
216
+ const canEval = Boolean(absTask);
217
+ const guards = [];
218
+ const taskContent = canEval ? readFileSync(absTask, 'utf8') : null;
219
+ for (const g of transition.guards) {
220
+ if (!canEval || taskContent === null) {
221
+ guards.push({
222
+ id: g.id,
223
+ severity: g.severity,
224
+ status: 'unevaluated',
225
+ detail: '无 --task · 未求值',
226
+ allow_flag: g.allow_flag ?? null,
227
+ });
228
+ continue;
229
+ }
230
+ const outcome = evalGuard(g.id, { target: opts.cwd, absTask: absTask, content: taskContent });
231
+ if (!outcome) {
232
+ // 未接线守卫:明示声明(R-TRUTH-1 · 禁止第三态),不等同 pass
233
+ guards.push({
234
+ id: g.id,
235
+ severity: g.severity,
236
+ status: 'unevaluated',
237
+ detail: '未接线(旧包 v2.x 史实 · 接线计划见 PRD_DEF-003 阶段二)',
238
+ allow_flag: g.allow_flag ?? null,
239
+ });
240
+ continue;
241
+ }
242
+ let { status, detail } = outcome;
243
+ if (status === 'fail' && g.allow_flag && flagsAllow(opts.flags, g.allow_flag)) {
244
+ status = 'warn';
245
+ detail = `${detail}(${g.allow_flag} 豁免)`;
246
+ }
247
+ guards.push({
248
+ id: g.id,
249
+ severity: g.severity,
250
+ status,
251
+ detail,
252
+ allow_flag: g.allow_flag ?? null,
253
+ });
254
+ }
255
+ const unevaluated_count = guards.filter((g) => g.status === 'unevaluated').length;
256
+ const blocked = guards.some((g) => g.severity === 'block' && g.status === 'fail');
257
+ return {
258
+ engine: 'lifecycle-dry-run',
259
+ lifecycle_doc_version: data.version,
260
+ transition_id: transition.id,
261
+ from: opts.fromState,
262
+ to: transition.to,
263
+ hat: transition.hat ?? null,
264
+ structure_ok: true,
265
+ guards,
266
+ blocked,
267
+ unevaluated_count,
268
+ exitCode: blocked ? 2 : 0,
269
+ };
270
+ }
271
+ function formatLifecycleDryRun(report) {
272
+ const lines = [
273
+ '=== Harness lifecycle dry-run ===',
274
+ `engine: ${report.engine}`,
275
+ `lifecycle: v${report.lifecycle_doc_version}`,
276
+ `transition: ${report.transition_id} · ${report.from} → ${report.to}${report.hat ? ` · hat=${report.hat}` : ''}`,
277
+ `structure_ok: ${report.structure_ok}`,
278
+ `blocked: ${report.blocked}`,
279
+ `unevaluated_count: ${report.unevaluated_count}`,
280
+ ];
281
+ if (report.detail)
282
+ lines.push(`detail: ${report.detail}`);
283
+ if (report.unevaluated_count > 0) {
284
+ lines.push('WARN: 存在未求值守卫 · unevaluated ≠ pass(勿当作已通过)');
285
+ }
286
+ lines.push('', '## guards');
287
+ for (const g of report.guards) {
288
+ const d = g.detail ? ` · ${g.detail}` : '';
289
+ lines.push(`- [${g.severity}] ${g.id}: ${g.status}${d}`);
290
+ }
291
+ lines.push('', '注: dry-run 为旁路资格报告 · 不替代 verify / gate-check');
292
+ return lines.join('\n');
293
+ }
294
+ export async function cmdLifecycle(args) {
295
+ const [sub, ...rest] = args;
296
+ if (!sub || sub === '--help' || sub === '-h' || args.includes('--help') || args.includes('-h')) {
297
+ console.log(`用法:
298
+ npx spec-wave lifecycle show [--json]
299
+ npx spec-wave lifecycle dry-run --transition ID --from STATE [--task PATH] [--target PATH] [--json]
300
+ [--allow-no-review] [--allow-lint-fail] [--allow-no-spec-review]
301
+ [--allow-invoke-gap] [--allow-unchecked]
302
+ [--allow-kpi-gap] [--allow-experience-gap] [--allow-wiki-gap]
303
+ [--allow-no-pr-merge] [--allow-no-hub]
304
+ `);
305
+ return;
306
+ }
307
+ if (sub === 'show') {
308
+ const json = rest.includes('--json');
309
+ const unknown = rest.filter((a) => a !== '--json');
310
+ if (unknown.length > 0)
311
+ fail(`lifecycle show 未知参数: ${unknown.join(' ')}`);
312
+ const { data } = loadLifecycle();
313
+ if (json)
314
+ console.log(JSON.stringify(data, null, 2));
315
+ else
316
+ console.log(formatLifecycleShow(data));
317
+ return;
318
+ }
319
+ if (sub === 'dry-run') {
320
+ let remaining = rest;
321
+ const { value: transitionId, rest: r1 } = takeOption(remaining, '--transition');
322
+ remaining = r1;
323
+ const { value: fromState, rest: r2 } = takeOption(remaining, '--from');
324
+ remaining = r2;
325
+ const { value: taskPath, rest: r3 } = takeOption(remaining, '--task');
326
+ remaining = r3;
327
+ // DEF-019 D1:补 --target(全包惯例 resolveTarget,缺省=cwd → 默认行为逐字节一致);
328
+ // 须在未知参数 fail-fast 之前剔除
329
+ const { value: targetArg, rest: r4 } = takeOption(remaining, '--target');
330
+ remaining = r4;
331
+ const json = remaining.includes('--json');
332
+ const flags = {
333
+ allowNoReview: remaining.includes('--allow-no-review'),
334
+ allowLintFail: remaining.includes('--allow-lint-fail'),
335
+ allowNoSpecReview: remaining.includes('--allow-no-spec-review'),
336
+ allowInvokeGap: remaining.includes('--allow-invoke-gap'),
337
+ allowUnchecked: remaining.includes('--allow-unchecked'),
338
+ allowKpiGap: remaining.includes('--allow-kpi-gap'),
339
+ allowExperienceGap: remaining.includes('--allow-experience-gap'),
340
+ allowWikiGap: remaining.includes('--allow-wiki-gap'),
341
+ allowNoPrMerge: remaining.includes('--allow-no-pr-merge'),
342
+ allowNoHub: remaining.includes('--allow-no-hub'),
343
+ };
344
+ remaining = remaining.filter((a) => a !== '--json' &&
345
+ a !== '--allow-no-review' &&
346
+ a !== '--allow-lint-fail' &&
347
+ a !== '--allow-no-spec-review' &&
348
+ a !== '--allow-invoke-gap' &&
349
+ a !== '--allow-unchecked' &&
350
+ a !== '--allow-kpi-gap' &&
351
+ a !== '--allow-experience-gap' &&
352
+ a !== '--allow-wiki-gap' &&
353
+ a !== '--allow-no-pr-merge' &&
354
+ a !== '--allow-no-hub');
355
+ if (remaining.length > 0)
356
+ fail(`lifecycle dry-run 未知参数: ${remaining.join(' ')}`);
357
+ if (!transitionId || !fromState) {
358
+ fail('lifecycle dry-run 须 --transition <id> 与 --from <state>\n提示: lifecycle show');
359
+ }
360
+ // DEF-019:target 传入 opts.cwd(形参 cli-lifecycle.ts 预留),相对 --task 相对 target 解析
361
+ const target = resolveTarget(process.cwd(), targetArg);
362
+ const report = dryRunTransition({
363
+ transitionId,
364
+ fromState,
365
+ taskPath,
366
+ flags,
367
+ cwd: target,
368
+ });
369
+ if (json)
370
+ console.log(JSON.stringify(report, null, 2));
371
+ else
372
+ console.log(formatLifecycleDryRun(report));
373
+ if (report.exitCode && report.exitCode !== 0)
374
+ fail('', report.exitCode);
375
+ return;
376
+ }
377
+ fail(`lifecycle 子命令未知: ${sub}\n用法: lifecycle show [--json] · lifecycle dry-run --transition ID --from STATE`);
378
+ }
379
+ export async function cmdDiscipline(args) {
380
+ const [sub, ...rest] = args;
381
+ if (!sub || sub === '--help' || sub === '-h' || args.includes('--help') || args.includes('-h')) {
382
+ console.log(`用法:
383
+ npx spec-wave discipline show [--json]
384
+ `);
385
+ return;
386
+ }
387
+ if (sub === 'show') {
388
+ const json = rest.includes('--json');
389
+ const unknown = rest.filter((a) => a !== '--json');
390
+ if (unknown.length > 0)
391
+ fail(`discipline show 未知参数: ${unknown.join(' ')}`);
392
+ const { data } = loadDiscipline();
393
+ if (json)
394
+ console.log(JSON.stringify(data, null, 2));
395
+ else
396
+ console.log(formatDisciplineShow(data));
397
+ return;
398
+ }
399
+ fail(`discipline 子命令未知: ${sub ?? '(空)'}\n用法: discipline show [--json]`);
400
+ }
401
+ //# sourceMappingURL=cli-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-lifecycle.js","sourceRoot":"","sources":["../src/cli-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ export type BlockKind = 'product' | 'local';
2
+ export type BlockSpan = {
3
+ kind: BlockKind;
4
+ /** 1-based 行号(含 marker 行本身) */
5
+ beginLine: number;
6
+ endLine: number;
7
+ /** 块体首行(1-based);空块时 bodyStart > bodyEnd */
8
+ bodyStart: number;
9
+ /** 块体末行(1-based,含) */
10
+ bodyEnd: number;
11
+ };
12
+ export type MalformedKind = 'unclosed_begin' | 'unmatched_end' | 'nested_begin' | 'local_inside_product';
13
+ export type Malformed = {
14
+ kind: MalformedKind;
15
+ line: number;
16
+ };
17
+ export type ParseResult = {
18
+ blocks: BlockSpan[];
19
+ malformed: Malformed | null;
20
+ };
21
+ export declare function parseBlocks(text: string): ParseResult;
22
+ export declare function discoverIdeFiles(target: string): string[];
23
+ export type RewriteRule = 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8';
24
+ export type ReportRule = 'B1' | 'B2' | 'B3' | 'B4' | 'B5';
25
+ export type RewriteHit = {
26
+ rule: RewriteRule;
27
+ count: number;
28
+ dropped_pin: boolean;
29
+ };
30
+ export type ReportHit = {
31
+ rule: ReportRule;
32
+ count: number;
33
+ };
34
+ export type BodyRewrite = {
35
+ text: string;
36
+ rewrites: RewriteHit[];
37
+ reportOnly: ReportHit[];
38
+ /** A 组命中总数(MIXED 判定用) */
39
+ aHits: number;
40
+ };
41
+ export declare function rewriteBody(body: string): BodyRewrite;
42
+ export type FileStatus = 'ok' | 'mixed' | 'malformed' | 'skipped_local';
43
+ export type PlainMention = {
44
+ rule: RewriteRule | ReportRule;
45
+ count: number;
46
+ };
47
+ export type FileScan = {
48
+ path: string;
49
+ blocks: number;
50
+ status: FileStatus;
51
+ rewrites: RewriteHit[];
52
+ reportOnly: ReportHit[];
53
+ skippedLocalBlocks: number;
54
+ malformed: Malformed | null;
55
+ /** MIXED 时块内现行字面所在行号(1-based,文件级) */
56
+ mixedLines: number[];
57
+ /** DEF-029:0 product 块文件的整文只读命中(A/B 组同组正则;有 product 块或畸形时为空) */
58
+ plainMentions: PlainMention[];
59
+ /** 有 A 组替换时的新全文;无变更为 undefined */
60
+ newText?: string;
61
+ };
62
+ export declare function scanIdeFile(rel: string, text: string): FileScan;
63
+ export type GitState = 'clean' | 'dirty' | 'none';
64
+ export declare function gitState(target: string): GitState;
65
+ export declare function cmdRefreshIdeBlocks(args: string[]): Promise<void>;
66
+ export declare function countStaleIdeLiterals(target: string): number;