@gordon.gan/specflow 1.8.0-beta → 1.8.1-beta

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 (179) hide show
  1. package/README.md +7 -5
  2. package/dist/cli/commands/document-run.d.ts +97 -0
  3. package/dist/cli/commands/document-run.js +845 -0
  4. package/dist/cli/index.js +2 -2
  5. package/dist/core/artifact-language.js +11 -1
  6. package/dist/core/document/chapters.d.ts +6 -0
  7. package/dist/core/document/chapters.js +36 -0
  8. package/dist/core/document/coverage.d.ts +25 -0
  9. package/dist/core/document/coverage.js +49 -0
  10. package/dist/core/document/digests.d.ts +40 -0
  11. package/dist/core/document/digests.js +144 -0
  12. package/dist/core/document/engine.d.ts +101 -0
  13. package/dist/core/document/engine.js +722 -0
  14. package/dist/core/document/extract.d.ts +61 -0
  15. package/dist/core/document/extract.js +437 -0
  16. package/dist/core/{approval → document}/forbidden-patterns.d.ts +4 -2
  17. package/dist/core/document/forbidden-patterns.js +36 -0
  18. package/dist/core/document/gates.d.ts +39 -0
  19. package/dist/core/document/gates.js +75 -0
  20. package/dist/core/document/input-digest.d.ts +63 -0
  21. package/dist/core/document/input-digest.js +200 -0
  22. package/dist/core/document/input-features.d.ts +43 -0
  23. package/dist/core/document/input-features.js +161 -0
  24. package/dist/core/document/lint.d.ts +39 -0
  25. package/dist/core/document/lint.js +147 -0
  26. package/dist/core/document/llm.d.ts +28 -0
  27. package/dist/core/document/llm.js +22 -0
  28. package/dist/core/document/map.d.ts +52 -0
  29. package/dist/core/document/map.js +296 -0
  30. package/dist/core/document/outline.d.ts +29 -0
  31. package/dist/core/document/outline.js +171 -0
  32. package/dist/core/document/paths.d.ts +23 -0
  33. package/dist/core/document/paths.js +36 -0
  34. package/dist/core/document/profile-validator.d.ts +23 -0
  35. package/dist/core/document/profile-validator.js +155 -0
  36. package/dist/core/document/profiles.d.ts +23 -0
  37. package/dist/core/document/profiles.js +74 -0
  38. package/dist/core/document/render.d.ts +45 -0
  39. package/dist/core/document/render.js +193 -0
  40. package/dist/core/document/review.d.ts +57 -0
  41. package/dist/core/document/review.js +202 -0
  42. package/dist/core/document/scene-detect.d.ts +32 -0
  43. package/dist/core/document/scene-detect.js +237 -0
  44. package/dist/core/document/schemas.d.ts +1103 -0
  45. package/dist/core/document/schemas.js +171 -0
  46. package/dist/integrations/shared/capability-evidence.js +4 -9
  47. package/dist/integrations/shared/command-catalog.js +2 -1
  48. package/dist/integrations/shared/parity-manifest.js +4 -9
  49. package/package.json +2 -1
  50. package/prompts/apply/phase-a-plan.md +1 -1
  51. package/prompts/document/map/acceptance.md +9 -0
  52. package/prompts/document/map/anti-ai.md +29 -0
  53. package/prompts/document/map/api-design.md +26 -0
  54. package/prompts/document/map/architecture.md +27 -0
  55. package/prompts/document/map/benchmark.md +26 -0
  56. package/prompts/document/map/closed-loop.md +9 -0
  57. package/prompts/document/map/compat-migration.md +31 -0
  58. package/prompts/document/map/component-design.md +30 -0
  59. package/prompts/document/map/config-runtime.md +9 -0
  60. package/prompts/document/map/core-flow.md +62 -0
  61. package/prompts/document/map/core-logic.md +9 -0
  62. package/prompts/document/map/data-model.md +18 -0
  63. package/prompts/document/map/deploy.md +26 -0
  64. package/prompts/document/map/fix.md +8 -0
  65. package/prompts/document/map/frontend-architecture.md +35 -0
  66. package/prompts/document/map/goal.md +8 -0
  67. package/prompts/document/map/impact.md +8 -0
  68. package/prompts/document/map/implementability.md +9 -0
  69. package/prompts/document/map/migration-guide.md +36 -0
  70. package/prompts/document/map/mvp-boundary.md +8 -0
  71. package/prompts/document/map/non-goals.md +8 -0
  72. package/prompts/document/map/ops.md +33 -0
  73. package/prompts/document/map/performance.md +32 -0
  74. package/prompts/document/map/poc-demo.md +25 -0
  75. package/prompts/document/map/regression.md +8 -0
  76. package/prompts/document/map/reproduce.md +8 -0
  77. package/prompts/document/map/requirement.md +8 -0
  78. package/prompts/document/map/research.md +25 -0
  79. package/prompts/document/map/root-cause.md +8 -0
  80. package/prompts/document/map/signoff.md +9 -0
  81. package/prompts/document/map/state-management.md +23 -0
  82. package/prompts/document/map/tech-selection.md +29 -0
  83. package/prompts/document/map/test-strategy.md +24 -0
  84. package/prompts/document/map/ui-design.md +21 -0
  85. package/prompts/document/outline/general.md +46 -0
  86. package/prompts/document/review/ai-review.md +57 -0
  87. package/prompts/document/shared/grounding.md +84 -0
  88. package/prompts/explore/explore-session.md +1 -1
  89. package/prompts/propose/design-draft.md +1 -1
  90. package/prompts/propose/proposal.md +1 -1
  91. package/prompts/propose/specs.md +1 -1
  92. package/prompts/propose/tasks-draft.md +1 -1
  93. package/prompts/refine/design-output.md +1 -1
  94. package/prompts/refine/update-artifacts.md +2 -0
  95. package/prompts/shared/artifact-language.md +13 -0
  96. package/skills/specflow-techdoc/SKILL.md +143 -0
  97. package/skills/specflow-techdoc-synth/SKILL.md +99 -0
  98. package/templates/document/chapters/acceptance.yaml +16 -0
  99. package/templates/document/chapters/api-design.yaml +29 -0
  100. package/templates/document/chapters/architecture.yaml +21 -0
  101. package/templates/document/chapters/benchmark.yaml +20 -0
  102. package/templates/document/chapters/closed-loop.yaml +22 -0
  103. package/templates/document/chapters/compat-migration.yaml +21 -0
  104. package/templates/document/chapters/component-design.yaml +22 -0
  105. package/templates/document/chapters/config-runtime.yaml +16 -0
  106. package/templates/document/chapters/core-flow.yaml +27 -0
  107. package/templates/document/chapters/core-logic.yaml +16 -0
  108. package/templates/document/chapters/data-model.yaml +25 -0
  109. package/templates/document/chapters/deploy.yaml +22 -0
  110. package/templates/document/chapters/fix.yaml +18 -0
  111. package/templates/document/chapters/frontend-architecture.yaml +22 -0
  112. package/templates/document/chapters/goal.yaml +17 -0
  113. package/templates/document/chapters/impact.yaml +16 -0
  114. package/templates/document/chapters/implementability.yaml +22 -0
  115. package/templates/document/chapters/migration-guide.yaml +21 -0
  116. package/templates/document/chapters/mvp-boundary.yaml +20 -0
  117. package/templates/document/chapters/non-goals.yaml +17 -0
  118. package/templates/document/chapters/ops.yaml +25 -0
  119. package/templates/document/chapters/performance.yaml +21 -0
  120. package/templates/document/chapters/poc-demo.yaml +22 -0
  121. package/templates/document/chapters/regression.yaml +16 -0
  122. package/templates/document/chapters/reproduce.yaml +16 -0
  123. package/templates/document/chapters/requirement.yaml +18 -0
  124. package/templates/document/chapters/research.yaml +22 -0
  125. package/templates/document/chapters/root-cause.yaml +18 -0
  126. package/templates/document/chapters/signoff.yaml +15 -0
  127. package/templates/document/chapters/state-management.yaml +22 -0
  128. package/templates/document/chapters/tech-selection.yaml +23 -0
  129. package/templates/document/chapters/test-strategy.yaml +23 -0
  130. package/templates/document/chapters/ui-design.yaml +28 -0
  131. package/templates/document/profiles/0to1.yaml +44 -0
  132. package/templates/document/profiles/approve.yaml +22 -0
  133. package/templates/document/profiles/bugfix.yaml +15 -0
  134. package/templates/document/profiles/feature.yaml +23 -0
  135. package/templates/document/profiles/frontend-0to1.yaml +47 -0
  136. package/templates/document/profiles/migration.yaml +42 -0
  137. package/templates/document/profiles/poc.yaml +46 -0
  138. package/dist/cli/commands/approval-assemble.d.ts +0 -64
  139. package/dist/cli/commands/approval-assemble.js +0 -408
  140. package/dist/core/approval/assemble.d.ts +0 -10
  141. package/dist/core/approval/assemble.js +0 -384
  142. package/dist/core/approval/bundle.d.ts +0 -9
  143. package/dist/core/approval/bundle.js +0 -172
  144. package/dist/core/approval/forbidden-patterns.js +0 -40
  145. package/dist/core/approval/index-schema.d.ts +0 -676
  146. package/dist/core/approval/index-schema.js +0 -193
  147. package/dist/core/approval/index.d.ts +0 -12
  148. package/dist/core/approval/index.js +0 -9
  149. package/dist/core/approval/lint.d.ts +0 -10
  150. package/dist/core/approval/lint.js +0 -302
  151. package/dist/core/approval/paths.d.ts +0 -13
  152. package/dist/core/approval/paths.js +0 -43
  153. package/dist/core/approval/pipeline.d.ts +0 -28
  154. package/dist/core/approval/pipeline.js +0 -146
  155. package/dist/core/approval/playbook-schema.d.ts +0 -182
  156. package/dist/core/approval/playbook-schema.js +0 -51
  157. package/dist/core/approval/render.d.ts +0 -20
  158. package/dist/core/approval/render.js +0 -210
  159. package/dist/core/approval/review-pack.d.ts +0 -26
  160. package/dist/core/approval/review-pack.js +0 -205
  161. package/dist/core/approval/types.d.ts +0 -223
  162. package/dist/core/approval/types.js +0 -1
  163. package/prompts/approval/acp-pipeline.md +0 -106
  164. package/prompts/approval/ai-review.md +0 -145
  165. package/prompts/approval/api-guidance.md +0 -179
  166. package/prompts/approval/database-guidance.md +0 -105
  167. package/prompts/approval/frontend-guidance.md +0 -249
  168. package/prompts/approval/generate.md +0 -1596
  169. package/prompts/approval/multi-repo-guidance.md +0 -263
  170. package/prompts/approval/multi-repo-spoke-subagent.md +0 -94
  171. package/prompts/approval/project-conventions-guidance.md +0 -171
  172. package/prompts/approval/runtime-guidance.md +0 -64
  173. package/prompts/approval/segmented-generation.md +0 -157
  174. package/skills/specflow-approval/SKILL.md +0 -778
  175. package/templates/approval-index.yaml +0 -93
  176. package/templates/approval-part.md +0 -15
  177. package/templates/approval-playbook-talos-scenario-job-compile.yaml +0 -29
  178. package/templates/approval-playbook.yaml +0 -28
  179. package/templates/approval.md +0 -261
@@ -1,157 +0,0 @@
1
- # Approval · Segmented Generation (Map → CLI Reduce)
2
-
3
- > Used by `/specflow:approval` **Stage 12** when `mode=segmented` (default for non-trivial §4).
4
- > **Reduce 禁止 LLM**:拼接必须 `specflow approval finalize <change>`(或 debug:`check` / `assemble`)。
5
-
6
- ---
7
-
8
- ## 0. When to segment
9
-
10
- | Condition | Mode |
11
- |-----------|------|
12
- | `tables > 2` OR `interfaces > 3` OR `pages > 2` OR `optional.s5=true` | **segmented** (mandatory) |
13
- | Else | ask user: segmented (recommended) or monolithic |
14
- | User chose monolithic | write `approval.md` directly OR parts + single assemble |
15
-
16
- Copy template: `templates/approval-index.yaml` → `approval/index.yaml`.
17
-
18
- ---
19
-
20
- ## 1. Pipeline (hard order)
21
-
22
- ```text
23
- 12a Index + Skeleton → index.yaml + analysis.json + parts 01–03 + 04-detail-core + stubs
24
- Gate → user confirms index + optional chapters + mode
25
- 12b Map Append → parts 04.4* / 04.5* / 04.6* / 04.7–04.9 (batched)
26
- 12c Optional → parts 05* / 07 / 08 (only if optional.s5/s7/s8)
27
- 12e AI Review → fix parts; review-result.json + part_hashes
28
- 12f Finalize → specflow approval finalize <change>
29
- ```
30
-
31
- **Never** skip 12d. **Never** paste assembled markdown from memory instead of running CLI.
32
-
33
- ---
34
-
35
- ## 2. Anti-lazy rules (Map — LLM MUST NOT)
36
-
37
- | # | Forbidden | Required instead |
38
- |---|-----------|------------------|
39
- | L1 | One-shot full `approval.md` when `mode=segmented` | Write parts; assemble via CLI |
40
- | L2 | Empty part, `< 20` chars, or only HTML comments | Full section content per generate.md |
41
- | L3 | `TODO` / `待补充` / `此处省略` / bare `TBD` | Concrete text or `[待 refine 澄清: <元素>]` with reason |
42
- | L4 | `详见 design/tasks` without §/In/Page id | Cross-ref `§4.5 I2` / `Page·列表` / `P1` |
43
- | L5 | Invent new table/interface/page ids not in index | Update index.yaml first, then write part |
44
- | L6 | Skip §4.4 DDL/字段表/失败示例 because "same as design" | Minimum per G2–G6; **不变**仍须完整 §4.5 |
45
- | L6b | L2 HTTP only +「内部 I7」stub; or L4 one-liner | **分层** L2/L3/L4 各 `In`; `api-guidance.md` §1 |
46
- | L6c | RPC「暂定/如/实现时」 | **冻结**名 + proto 字段号; `api-guidance.md` §2–§3 |
47
- | L7 | Skip IDE skills/rules scan for §4.6 | frontend-guidance.md §3 before Map |
48
- | L8 | Paste skill/rule bodies verbatim | Readable Chinese + path in §4.6.1 table |
49
- | L9 | Write `## 4.` or foreign `## N.` in parts | Parts use `###`/`####`/`#####` only; CLI injects `## 4` |
50
- | L10 | Mark part `ok` without `specflow approval check` passing | Run check; fix errors; then assemble |
51
-
52
- ---
53
-
54
- ## 3. Stage 12a — Index + Skeleton
55
-
56
- **Write first:**
57
-
58
- 1. `approval/index.yaml` — full `parts_order`, all `tables[]`/`interfaces[]`/`pages[]` with `part` paths
59
- 2. `approval/analysis.json` — Pass 1–7 + quality + implementability (chat-only fields ok)
60
- 3. Parts (minimum):
61
- - `01-intro.md` … `03-architecture.md`
62
- - `04-detail-core.md` (§4.1–4.3 only)
63
- - `06-test.md`, `09-implementability.md`, `10-signoff.md` (may be stub-length only for structure in 12a, fill before assemble)
64
-
65
- **Chat gate:** show table/interface/page list from index; ask user to confirm before 12b.
66
-
67
- ---
68
-
69
- ## 4. Stage 12b — Map Append
70
-
71
- For each batch, **Read only**:
72
-
73
- - `approval/index.yaml`
74
- - `approval/analysis.json` (verdicts, not full Pass essays)
75
- - design/tasks/specs **snippets** for this batch's ids
76
- - lazy-loaded conventions (per topic caps)
77
- - anchor files for this batch (Pass 6 depth: file only)
78
-
79
- **Batching:** use `index.batching.*_per_call`. One part file per batch unit OR per index `part` field.
80
-
81
- **After each part write:** update `approval/manifest.json` part entry (`status: draft|ok`).
82
-
83
- ### §4.4 part minimum (per table batch)
84
-
85
- - 4.4.1 row in batch leader file if first batch
86
- - ER if new entities
87
- - per-table: CREATE TABLE + 字段说明 + 本迭代用法
88
- - G3/G4 when applicable
89
-
90
- ### §4.5 part minimum (per interface)
91
-
92
- - Run **`api-guidance.md`** before batch
93
- - **One `In` per contract surface** (L2 Worker HTTP / L3 RPC+http / L4 client RPC) — no B2-style collapse
94
- - meta + fields + success req/resp + **failure example (G2)** + error table (**含不变**)
95
- - **新增/改 HTTP binding**: `**Proto 草案**` block — frozen RPC name, field numbers, `google.api.http`, Gateway registration, Worker OpenAPI path
96
- - HTTP examples for L2: **all** required work auth headers (not body-only)
97
- - **Forbidden**: 暂定 / 如 XxxRpc / 实现时命名 / 内部经 I7 一行代替 L4 详设
98
-
99
- ### §4.6 part minimum (per page)
100
-
101
- - route + components + states + ≥1 of 空/加载/错态 (G6) + §4.5 `In` refs
102
-
103
- ---
104
-
105
- ## 5. Stage 12c — Optional chapters
106
-
107
- Only if user opted in AND `optional.s5/s7/s8: true` in index:
108
-
109
- - Insert `05-*` / `07-deploy` / `08-closed-loop` into `parts_order` at correct positions
110
- - §8: **one table only** (from analysis.json)
111
-
112
- ---
113
-
114
- ## 6. Stage 12e–12f — AI Review + Finalize
115
-
116
- **12e (in-session)**: Read `prompts/approval/ai-review.md`; fix parts; write `approval/review-result.json`.
117
-
118
- **12f (one CLI)**:
119
-
120
- ```bash
121
- specflow approval finalize <change> [--bundle] [--workspace-root <root>]
122
- ```
123
-
124
- - First run without `review-result.json`: pauses, writes `review-packet.json`, agent completes 12e, re-run finalize
125
- - Chains lint → review-check → check → assemble → bundle (when enabled)
126
- - Subcommands (`lint`, `assemble`, …) are for CI/debug only
127
-
128
- See **`prompts/approval/acp-pipeline.md`**.
129
-
130
- ---
131
-
132
- ## 7. manifest.json (agent-maintained)
133
-
134
- ```json
135
- {
136
- "schema": "specflow.approval.manifest/v1",
137
- "change": "<name>",
138
- "parts": [
139
- { "id": "01-intro", "path": "approval/parts/01-intro.md", "status": "ok" }
140
- ]
141
- }
142
- ```
143
-
144
- CLI overwrites manifest on successful assemble with sha256 sums.
145
-
146
- ---
147
-
148
- ## 8. Retry
149
-
150
- | Failure | Action |
151
- |---------|--------|
152
- | `lazy_part_content` on one part | Rewrite that part only; re-check |
153
- | `missing_part` | Write missing part or fix index |
154
- | `id_part_mismatch` | Align index `part` field with filename |
155
- | index wrong | Edit index.yaml; delete wrong parts; rerun affected Map batches |
156
-
157
- Do **not** rerun Pass 1–7 unless analysis is stale.