@seanmars/tospec 0.19.0-beta.6 → 0.19.0-beta.8

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 (209) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/assets/dashboard/app.js +3 -3
  3. package/assets/rules/tospec/decision.md +3 -0
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +205 -36
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/commands/config.d.ts.map +1 -1
  8. package/dist/commands/config.js +151 -23
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/dashboard.d.ts +34 -9
  11. package/dist/commands/dashboard.d.ts.map +1 -1
  12. package/dist/commands/dashboard.js +213 -21
  13. package/dist/commands/dashboard.js.map +1 -1
  14. package/dist/commands/decision.d.ts +11 -0
  15. package/dist/commands/decision.d.ts.map +1 -1
  16. package/dist/commands/decision.js +182 -20
  17. package/dist/commands/decision.js.map +1 -1
  18. package/dist/commands/shared-output.d.ts +12 -0
  19. package/dist/commands/shared-output.d.ts.map +1 -1
  20. package/dist/commands/shared-output.js +50 -1
  21. package/dist/commands/shared-output.js.map +1 -1
  22. package/dist/commands/show.d.ts +10 -0
  23. package/dist/commands/show.d.ts.map +1 -1
  24. package/dist/commands/show.js +23 -4
  25. package/dist/commands/show.js.map +1 -1
  26. package/dist/commands/validate.d.ts +41 -1
  27. package/dist/commands/validate.d.ts.map +1 -1
  28. package/dist/commands/validate.js +95 -17
  29. package/dist/commands/validate.js.map +1 -1
  30. package/dist/commands/workflow/index.d.ts +5 -5
  31. package/dist/commands/workflow/index.d.ts.map +1 -1
  32. package/dist/commands/workflow/index.js +5 -5
  33. package/dist/commands/workflow/index.js.map +1 -1
  34. package/dist/commands/workflow/instructions.d.ts +23 -0
  35. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  36. package/dist/commands/workflow/instructions.js +84 -16
  37. package/dist/commands/workflow/instructions.js.map +1 -1
  38. package/dist/commands/workflow/new-change.d.ts +2 -0
  39. package/dist/commands/workflow/new-change.d.ts.map +1 -1
  40. package/dist/commands/workflow/new-change.js +32 -4
  41. package/dist/commands/workflow/new-change.js.map +1 -1
  42. package/dist/commands/workflow/schemas.d.ts +2 -0
  43. package/dist/commands/workflow/schemas.d.ts.map +1 -1
  44. package/dist/commands/workflow/schemas.js +38 -1
  45. package/dist/commands/workflow/schemas.js.map +1 -1
  46. package/dist/commands/workflow/shared.d.ts +34 -2
  47. package/dist/commands/workflow/shared.d.ts.map +1 -1
  48. package/dist/commands/workflow/shared.js +37 -3
  49. package/dist/commands/workflow/shared.js.map +1 -1
  50. package/dist/commands/workflow/status.d.ts +14 -0
  51. package/dist/commands/workflow/status.d.ts.map +1 -1
  52. package/dist/commands/workflow/status.js +65 -8
  53. package/dist/commands/workflow/status.js.map +1 -1
  54. package/dist/commands/workflow/templates.d.ts +7 -0
  55. package/dist/commands/workflow/templates.d.ts.map +1 -1
  56. package/dist/commands/workflow/templates.js +13 -0
  57. package/dist/commands/workflow/templates.js.map +1 -1
  58. package/dist/core/archive.d.ts +14 -0
  59. package/dist/core/archive.d.ts.map +1 -1
  60. package/dist/core/archive.js +169 -18
  61. package/dist/core/archive.js.map +1 -1
  62. package/dist/core/artifact-graph/graph.d.ts +13 -3
  63. package/dist/core/artifact-graph/graph.d.ts.map +1 -1
  64. package/dist/core/artifact-graph/graph.js +16 -6
  65. package/dist/core/artifact-graph/graph.js.map +1 -1
  66. package/dist/core/artifact-graph/index.d.ts +1 -1
  67. package/dist/core/artifact-graph/index.d.ts.map +1 -1
  68. package/dist/core/artifact-graph/index.js +1 -1
  69. package/dist/core/artifact-graph/index.js.map +1 -1
  70. package/dist/core/artifact-graph/instruction-loader.d.ts +74 -3
  71. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  72. package/dist/core/artifact-graph/instruction-loader.js +79 -31
  73. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  74. package/dist/core/artifact-graph/resolver.d.ts +26 -0
  75. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  76. package/dist/core/artifact-graph/resolver.js +44 -4
  77. package/dist/core/artifact-graph/resolver.js.map +1 -1
  78. package/dist/core/artifact-graph/stub-detection.d.ts +20 -0
  79. package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
  80. package/dist/core/artifact-graph/stub-detection.js +42 -0
  81. package/dist/core/artifact-graph/stub-detection.js.map +1 -0
  82. package/dist/core/change-presenter.d.ts +16 -0
  83. package/dist/core/change-presenter.d.ts.map +1 -1
  84. package/dist/core/change-presenter.js +68 -9
  85. package/dist/core/change-presenter.js.map +1 -1
  86. package/dist/core/change-status-policy.d.ts +12 -1
  87. package/dist/core/change-status-policy.d.ts.map +1 -1
  88. package/dist/core/change-status-policy.js +33 -1
  89. package/dist/core/change-status-policy.js.map +1 -1
  90. package/dist/core/codex-residue.js +1 -1
  91. package/dist/core/config-schema.d.ts +1 -12
  92. package/dist/core/config-schema.d.ts.map +1 -1
  93. package/dist/core/config-schema.js +27 -1
  94. package/dist/core/config-schema.js.map +1 -1
  95. package/dist/core/config.d.ts +37 -0
  96. package/dist/core/config.d.ts.map +1 -1
  97. package/dist/core/config.js +37 -0
  98. package/dist/core/config.js.map +1 -1
  99. package/dist/core/dashboard-activity.js +2 -2
  100. package/dist/core/dashboard-activity.js.map +1 -1
  101. package/dist/core/dashboard-data.d.ts +5 -0
  102. package/dist/core/dashboard-data.d.ts.map +1 -1
  103. package/dist/core/dashboard-data.js +15 -8
  104. package/dist/core/dashboard-data.js.map +1 -1
  105. package/dist/core/init.d.ts +22 -0
  106. package/dist/core/init.d.ts.map +1 -1
  107. package/dist/core/init.js +107 -45
  108. package/dist/core/init.js.map +1 -1
  109. package/dist/core/list.d.ts +1 -1
  110. package/dist/core/list.d.ts.map +1 -1
  111. package/dist/core/list.js +68 -17
  112. package/dist/core/list.js.map +1 -1
  113. package/dist/core/markdown-render.d.ts +33 -0
  114. package/dist/core/markdown-render.d.ts.map +1 -0
  115. package/dist/core/markdown-render.js +103 -0
  116. package/dist/core/markdown-render.js.map +1 -0
  117. package/dist/core/migrate.d.ts +20 -6
  118. package/dist/core/migrate.d.ts.map +1 -1
  119. package/dist/core/migrate.js +102 -6
  120. package/dist/core/migrate.js.map +1 -1
  121. package/dist/core/parsers/change-parser.js +1 -1
  122. package/dist/core/parsers/change-parser.js.map +1 -1
  123. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  124. package/dist/core/parsers/markdown-parser.js +16 -0
  125. package/dist/core/parsers/markdown-parser.js.map +1 -1
  126. package/dist/core/parsers/requirement-blocks.js +32 -9
  127. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  128. package/dist/core/root-selection.d.ts +11 -1
  129. package/dist/core/root-selection.d.ts.map +1 -1
  130. package/dist/core/root-selection.js +4 -2
  131. package/dist/core/root-selection.js.map +1 -1
  132. package/dist/core/rules.d.ts +6 -1
  133. package/dist/core/rules.d.ts.map +1 -1
  134. package/dist/core/rules.js +24 -2
  135. package/dist/core/rules.js.map +1 -1
  136. package/dist/core/schemas/base.schema.d.ts +3 -0
  137. package/dist/core/schemas/base.schema.d.ts.map +1 -1
  138. package/dist/core/schemas/base.schema.js +22 -0
  139. package/dist/core/schemas/base.schema.js.map +1 -1
  140. package/dist/core/schemas/change.schema.d.ts +8 -0
  141. package/dist/core/schemas/change.schema.d.ts.map +1 -1
  142. package/dist/core/schemas/spec.schema.d.ts +2 -0
  143. package/dist/core/schemas/spec.schema.d.ts.map +1 -1
  144. package/dist/core/shared/index.d.ts +1 -1
  145. package/dist/core/shared/index.d.ts.map +1 -1
  146. package/dist/core/shared/index.js +1 -1
  147. package/dist/core/shared/index.js.map +1 -1
  148. package/dist/core/shared/rules-generation.d.ts +27 -6
  149. package/dist/core/shared/rules-generation.d.ts.map +1 -1
  150. package/dist/core/shared/rules-generation.js +115 -44
  151. package/dist/core/shared/rules-generation.js.map +1 -1
  152. package/dist/core/shared/tool-detection.d.ts +19 -0
  153. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  154. package/dist/core/shared/tool-detection.js +30 -2
  155. package/dist/core/shared/tool-detection.js.map +1 -1
  156. package/dist/core/spec-presenter.d.ts.map +1 -1
  157. package/dist/core/spec-presenter.js +5 -0
  158. package/dist/core/spec-presenter.js.map +1 -1
  159. package/dist/core/specs-apply.d.ts +15 -1
  160. package/dist/core/specs-apply.d.ts.map +1 -1
  161. package/dist/core/specs-apply.js +33 -11
  162. package/dist/core/specs-apply.js.map +1 -1
  163. package/dist/core/templates/workflows/apply.js +1 -1
  164. package/dist/core/templates/workflows/apply.js.map +1 -1
  165. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  166. package/dist/core/templates/workflows/archive.js +4 -2
  167. package/dist/core/templates/workflows/archive.js.map +1 -1
  168. package/dist/core/templates/workflows/decision.js +1 -1
  169. package/dist/core/templates/workflows/issue.d.ts.map +1 -1
  170. package/dist/core/templates/workflows/issue.js +3 -0
  171. package/dist/core/templates/workflows/issue.js.map +1 -1
  172. package/dist/core/update.d.ts +26 -0
  173. package/dist/core/update.d.ts.map +1 -1
  174. package/dist/core/update.js +111 -23
  175. package/dist/core/update.js.map +1 -1
  176. package/dist/core/validation/constants.d.ts +1 -1
  177. package/dist/core/validation/constants.d.ts.map +1 -1
  178. package/dist/core/validation/constants.js +6 -1
  179. package/dist/core/validation/constants.js.map +1 -1
  180. package/dist/core/validation/section-validator.d.ts.map +1 -1
  181. package/dist/core/validation/section-validator.js +21 -3
  182. package/dist/core/validation/section-validator.js.map +1 -1
  183. package/dist/core/validation/validator.d.ts +17 -4
  184. package/dist/core/validation/validator.d.ts.map +1 -1
  185. package/dist/core/validation/validator.js +120 -34
  186. package/dist/core/validation/validator.js.map +1 -1
  187. package/dist/utils/change-utils.d.ts +31 -2
  188. package/dist/utils/change-utils.d.ts.map +1 -1
  189. package/dist/utils/change-utils.js +127 -37
  190. package/dist/utils/change-utils.js.map +1 -1
  191. package/dist/utils/file-system.d.ts +1 -1
  192. package/dist/utils/file-system.js +1 -1
  193. package/dist/utils/item-discovery.d.ts +20 -5
  194. package/dist/utils/item-discovery.d.ts.map +1 -1
  195. package/dist/utils/item-discovery.js +28 -9
  196. package/dist/utils/item-discovery.js.map +1 -1
  197. package/dist/utils/spec-files.d.ts +12 -0
  198. package/dist/utils/spec-files.d.ts.map +1 -1
  199. package/dist/utils/spec-files.js +34 -0
  200. package/dist/utils/spec-files.js.map +1 -1
  201. package/dist/utils/task-progress.js +1 -1
  202. package/package.json +1 -1
  203. package/schemas/decision/templates/decision.md +3 -1
  204. package/schemas/decision/templates/index.md +2 -2
  205. package/schemas/issue/schema.yaml +4 -2
  206. package/schemas/issue/templates/spec.md +20 -2
  207. package/schemas/sdd/schema.yaml +4 -0
  208. package/schemas/sdd/templates/spec.md +20 -2
  209. /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
@@ -10,6 +10,19 @@ interface ExecuteOptions {
10
10
  interactive?: boolean;
11
11
  concurrency?: string;
12
12
  }
13
+ /**
14
+ * The one null-shape every `validate --json` failure carries.
15
+ *
16
+ * `items` and `summary` are both keys of the success payload, so both have to
17
+ * appear nulled on every failure path. Spelled once because they did not:
18
+ * `validate nope` omitted `summary`, the no-root path omitted `root`, and an
19
+ * agent reading `result.summary.totals` got `undefined` from one failure and
20
+ * `null` from another.
21
+ */
22
+ export declare const VALIDATE_FAILURE_PAYLOAD: {
23
+ readonly items: null;
24
+ readonly summary: null;
25
+ };
13
26
  export declare class ValidateCommand {
14
27
  execute(itemName: string | undefined, options?: ExecuteOptions): Promise<void>;
15
28
  private normalizeType;
@@ -22,10 +35,37 @@ export declare class ValidateCommand {
22
35
  */
23
36
  private listChangeIds;
24
37
  private runInteractiveSelector;
25
- private printNonInteractiveHint;
38
+ /**
39
+ * Nothing named and no terminal to ask in.
40
+ *
41
+ * The JSON branch exists because this path used to print prose and exit 1,
42
+ * leaving stdout empty for a caller that passed `--json` — the one thing the
43
+ * envelope contract forbids. `show` already answered the identical situation
44
+ * with a `no_item_specified` document; this is the same answer, so an agent
45
+ * handling one handles the other.
46
+ */
47
+ private reportNothingToValidate;
26
48
  private validateDirectItem;
27
49
  private validateByType;
28
50
  private printReport;
51
+ /**
52
+ * Derives hints from what actually failed rather than the item type alone —
53
+ * every failing change used to get the same three delta hints, so a change
54
+ * whose only problem was e.g. a missing design.md section was told to check
55
+ * its delta headers instead.
56
+ *
57
+ * These three hints are about delta *content* (headers, scenarios, parsing),
58
+ * so they apply to an issue reported against a delta file itself: the delta
59
+ * validator reports those under `<capability>/spec.md`, relative to the
60
+ * change's specs/ dir. Three neighbouring shapes deliberately do not qualify,
61
+ * and the leading slash is what excludes the first two:
62
+ * - a misnamed file in a capability folder (`auth/extra.md`) and a delta at
63
+ * the specs/ root (`spec.md`) are placement errors; each message already
64
+ * names the exact path to rename to, so the generic bullets would be
65
+ * advice for a different failure;
66
+ * - the whole-change `file` sentinel ("No deltas found") already embeds
67
+ * these same three tips via `enrichTopLevelError`.
68
+ */
29
69
  private printNextSteps;
30
70
  private runBulkValidation;
31
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA6BrF,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,qBAAa,eAAe;IACpB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CvF;IAED,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;YACW,aAAa;YAKb,sBAAsB;IA8BpC,OAAO,CAAC,uBAAuB;YASjB,kBAAkB;YA8ClB,cAAc;IAoB5B,OAAO,CAAC,WAAW;IAoCnB,OAAO,CAAC,cAAc;YAeR,iBAAiB;CA8IhC;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAyCjH;AAiCD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CA2B3B;AAuCD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBjG;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAQxH;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,SAAK,GAAG,MAAM,CAG3E"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA8BrF,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;aAAK,KAAK;aAAQ,OAAO;CAAiB,CAAC;AAUhF,qBAAa,eAAe;IACpB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CvF;IAED,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;YACW,aAAa;YAKb,sBAAsB;IA8BpC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;YAyBjB,kBAAkB;YA8ClB,cAAc;IAoB5B,OAAO,CAAC,WAAW;IAoCnB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,cAAc;YAyBR,iBAAiB;CA8IhC;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA2DjH;AAiCD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CA2B3B;AAuCD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBjG;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAQxH;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,SAAK,GAAG,MAAM,CAG3E"}
@@ -4,6 +4,7 @@ import { Validator } from '../core/validation/validator.js';
4
4
  import { validateSections } from '../core/validation/section-validator.js';
5
5
  import { resolveSchema, getSchemaDir } from '../core/artifact-graph/resolver.js';
6
6
  import { resolveArtifactOutputs } from '../core/artifact-graph/outputs.js';
7
+ import { isStubArtifactFile } from '../core/artifact-graph/stub-detection.js';
7
8
  import { METADATA_FILENAME, readSkipSpecsMarker, resolveSchemaForChange, } from '../utils/change-metadata.js';
8
9
  import { FileSystemUtils } from '../utils/file-system.js';
9
10
  import { findSpecFiles } from '../utils/spec-files.js';
@@ -15,6 +16,16 @@ import { getAvailableChanges } from './workflow/shared.js';
15
16
  import { nearestMatches } from '../utils/match.js';
16
17
  import { resolveTaskFiles } from '../utils/task-progress.js';
17
18
  import { findTaskNumberingIssues, } from '../core/validation/task-numbering.js';
19
+ /**
20
+ * The one null-shape every `validate --json` failure carries.
21
+ *
22
+ * `items` and `summary` are both keys of the success payload, so both have to
23
+ * appear nulled on every failure path. Spelled once because they did not:
24
+ * `validate nope` omitted `summary`, the no-root path omitted `root`, and an
25
+ * agent reading `result.summary.totals` got `undefined` from one failure and
26
+ * `null` from another.
27
+ */
28
+ export const VALIDATE_FAILURE_PAYLOAD = { items: null, summary: null };
18
29
  export class ValidateCommand {
19
30
  async execute(itemName, options = {}) {
20
31
  // A bulk run is the one shape that can succeed vacuously: with an implicit
@@ -27,7 +38,7 @@ export class ValidateCommand {
27
38
  const root = await resolveRootForCommand(options, {
28
39
  json: options.json,
29
40
  ...(isBulk
30
- ? { allowImplicitRoot: false, failurePayload: { items: null, summary: null } }
41
+ ? { allowImplicitRoot: false, failurePayload: { ...VALIDATE_FAILURE_PAYLOAD, root: null } }
31
42
  : {}),
32
43
  });
33
44
  if (!root) {
@@ -48,8 +59,7 @@ export class ValidateCommand {
48
59
  await this.runInteractiveSelector(root, { strict: !!options.strict, json: !!options.json, concurrency: options.concurrency });
49
60
  return;
50
61
  }
51
- this.printNonInteractiveHint(root);
52
- process.exitCode = 1;
62
+ this.reportNothingToValidate(root, !!options.json);
53
63
  return;
54
64
  }
55
65
  // Direct item validation with type detection or override
@@ -105,13 +115,36 @@ export class ValidateCommand {
105
115
  const picked = await select({ message: 'Pick an item', choices: items });
106
116
  await this.validateByType(root, picked.type, picked.id, opts);
107
117
  }
108
- printNonInteractiveHint(root) {
118
+ /**
119
+ * Nothing named and no terminal to ask in.
120
+ *
121
+ * The JSON branch exists because this path used to print prose and exit 1,
122
+ * leaving stdout empty for a caller that passed `--json` — the one thing the
123
+ * envelope contract forbids. `show` already answered the identical situation
124
+ * with a `no_item_specified` document; this is the same answer, so an agent
125
+ * handling one handles the other.
126
+ */
127
+ reportNothingToValidate(root, json) {
128
+ const fix = [
129
+ 'tospec validate --all',
130
+ 'tospec validate --changes',
131
+ 'tospec validate --specs',
132
+ 'tospec validate <item-name>',
133
+ ];
134
+ if (json) {
135
+ emitFailureStatus({ ...VALIDATE_FAILURE_PAYLOAD, root: toRootOutput(root) }, {
136
+ severity: 'error',
137
+ code: 'no_item_specified',
138
+ message: 'Nothing to validate.',
139
+ fix: fix.join('\n'),
140
+ });
141
+ return;
142
+ }
109
143
  console.error('Nothing to validate. Try one of:');
110
- console.error(` ${'tospec validate --all'}`);
111
- console.error(` ${'tospec validate --changes'}`);
112
- console.error(` ${'tospec validate --specs'}`);
113
- console.error(` ${'tospec validate <item-name>'}`);
144
+ for (const line of fix)
145
+ console.error(` ${line}`);
114
146
  console.error('Or run in an interactive terminal.');
147
+ process.exitCode = 1;
115
148
  }
116
149
  async validateDirectItem(root, itemName, opts) {
117
150
  const [changes, specs] = await Promise.all([this.listChangeIds(root), getSpecIds(root.path)]);
@@ -124,7 +157,7 @@ export class ValidateCommand {
124
157
  ? `Unknown item '${itemName}'. Did you mean: ${suggestions.join(', ')}?`
125
158
  : `Unknown item '${itemName}'.`;
126
159
  if (opts.json) {
127
- emitFailureStatus({ items: null, root: toRootOutput(root) }, { severity: 'error', code: 'unknown_item', message });
160
+ emitFailureStatus({ ...VALIDATE_FAILURE_PAYLOAD, root: toRootOutput(root) }, { severity: 'error', code: 'unknown_item', message });
128
161
  }
129
162
  else {
130
163
  console.error(message);
@@ -134,7 +167,7 @@ export class ValidateCommand {
134
167
  }
135
168
  if (!opts.typeOverride && isChange && isSpec) {
136
169
  if (opts.json) {
137
- emitFailureStatus({ items: null, root: toRootOutput(root) }, {
170
+ emitFailureStatus({ ...VALIDATE_FAILURE_PAYLOAD, root: toRootOutput(root) }, {
138
171
  severity: 'error',
139
172
  code: 'ambiguous_item',
140
173
  message: `Ambiguous item '${itemName}' matches both a change and a spec.`,
@@ -198,21 +231,50 @@ export class ValidateCommand {
198
231
  }
199
232
  // Still failure-only: a passing item has no next step to take.
200
233
  if (!report.valid) {
201
- this.printNextSteps(type, id, root);
234
+ this.printNextSteps(type, id, root, report.issues);
202
235
  }
203
236
  }
204
- printNextSteps(type, id, root) {
237
+ /**
238
+ * Derives hints from what actually failed rather than the item type alone —
239
+ * every failing change used to get the same three delta hints, so a change
240
+ * whose only problem was e.g. a missing design.md section was told to check
241
+ * its delta headers instead.
242
+ *
243
+ * These three hints are about delta *content* (headers, scenarios, parsing),
244
+ * so they apply to an issue reported against a delta file itself: the delta
245
+ * validator reports those under `<capability>/spec.md`, relative to the
246
+ * change's specs/ dir. Three neighbouring shapes deliberately do not qualify,
247
+ * and the leading slash is what excludes the first two:
248
+ * - a misnamed file in a capability folder (`auth/extra.md`) and a delta at
249
+ * the specs/ root (`spec.md`) are placement errors; each message already
250
+ * names the exact path to rename to, so the generic bullets would be
251
+ * advice for a different failure;
252
+ * - the whole-change `file` sentinel ("No deltas found") already embeds
253
+ * these same three tips via `enrichTopLevelError`.
254
+ */
255
+ printNextSteps(type, id, root, issues) {
205
256
  const bullets = [];
206
257
  if (type === 'change') {
207
- bullets.push('- Ensure change has deltas in specs/: use headers ## ADDED/MODIFIED/REMOVED/RENAMED Requirements');
208
- bullets.push('- Each requirement MUST include at least one #### Scenario: block');
209
- bullets.push(`- Debug parsed deltas: ${`tospec show ${id} --json --deltas-only`}`);
258
+ const hasDeltaIssue = issues.some((issue) => issue.path.endsWith('/spec.md'));
259
+ if (hasDeltaIssue) {
260
+ bullets.push('- Ensure change has deltas in specs/: use headers ## ADDED/MODIFIED/REMOVED/RENAMED Requirements');
261
+ bullets.push('- Each requirement MUST include at least one #### Scenario: block');
262
+ bullets.push(`- Debug parsed deltas: ${`tospec show ${id} --json --deltas-only`}`);
263
+ }
264
+ const hasMissingSection = issues.some((issue) => issue.message.startsWith('Missing required section'));
265
+ if (hasMissingSection) {
266
+ bullets.push('- Add the missing section(s) named above — each message names the template to copy from');
267
+ }
210
268
  }
211
269
  else {
212
270
  bullets.push('- Ensure spec includes ## Purpose and ## Requirements sections');
213
271
  bullets.push('- Each requirement MUST include at least one #### Scenario: block');
214
272
  bullets.push('- Re-run with --json to see structured report');
215
273
  }
274
+ // No specific hint applies: printing the old generic three bullets would
275
+ // be advice for a different failure, so print nothing instead.
276
+ if (bullets.length === 0)
277
+ return;
216
278
  console.error('Next steps:');
217
279
  bullets.forEach(b => console.error(` ${b}`));
218
280
  }
@@ -368,10 +430,26 @@ export async function validateArtifactSections(projectRoot, changeDir) {
368
430
  }
369
431
  const schemaDir = getSchemaDir(schemaName, projectRoot);
370
432
  for (const artifact of schema.artifacts) {
371
- if (!artifact.validation)
372
- continue;
373
433
  for (const file of resolveArtifactOutputs(changeDir, artifact.generates)) {
374
434
  const relPath = FileSystemUtils.toPosixPath(path.relative(changeDir, file));
435
+ // Round 4 report 4. `status` already computed this and reported `stub`;
436
+ // validate did not check it at all, so the command CI and agents run as
437
+ // the last gate before archive called a change whose proposal, design and
438
+ // tasks were verbatim templates "valid". Runs before the section rules
439
+ // because a template satisfies them by construction — it is where every
440
+ // required heading came from. WARNING, so the default verdict is
441
+ // unchanged and `--strict` is what refuses it, matching how this codebase
442
+ // grades every other "written but not finished" finding.
443
+ if (isStubArtifactFile(file, schemaName, artifact.template, projectRoot)) {
444
+ issues.push({
445
+ level: 'WARNING',
446
+ path: relPath,
447
+ message: `Artifact "${artifact.id}" is still the unfilled template. Run tospec instructions ${artifact.id} --change <name> --json, then replace the file's contents.`,
448
+ });
449
+ continue;
450
+ }
451
+ if (!artifact.validation)
452
+ continue;
375
453
  let content;
376
454
  try {
377
455
  content = await fs.readFile(file, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,15 @@
3
3
  *
4
4
  * Commands for the artifact-driven workflow: status, instructions, templates, schemas, new change.
5
5
  */
6
- export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD } from './status.js';
6
+ export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD, STATUS_FAILURE_PAYLOAD } from './status.js';
7
7
  export type { StatusOptions } from './status.js';
8
- export { instructionsCommand, applyInstructionsCommand } from './instructions.js';
8
+ export { instructionsCommand, applyInstructionsCommand, INSTRUCTIONS_FAILURE_PAYLOAD, APPLY_ARGUMENT, } from './instructions.js';
9
9
  export type { InstructionsOptions } from './instructions.js';
10
- export { templatesCommand } from './templates.js';
10
+ export { templatesCommand, TEMPLATES_FAILURE_PAYLOAD } from './templates.js';
11
11
  export type { TemplatesOptions } from './templates.js';
12
- export { schemasCommand } from './schemas.js';
12
+ export { schemasCommand, SCHEMAS_FAILURE_PAYLOAD } from './schemas.js';
13
13
  export type { SchemasOptions } from './schemas.js';
14
- export { newChangeCommand } from './new-change.js';
14
+ export { newChangeCommand, NEW_CHANGE_FAILURE_PAYLOAD } from './new-change.js';
15
15
  export type { NewChangeOptions } from './new-change.js';
16
16
  export { DEFAULT_SCHEMA } from './shared.js';
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * Commands for the artifact-driven workflow: status, instructions, templates, schemas, new change.
5
5
  */
6
- export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD } from './status.js';
7
- export { instructionsCommand, applyInstructionsCommand } from './instructions.js';
8
- export { templatesCommand } from './templates.js';
9
- export { schemasCommand } from './schemas.js';
10
- export { newChangeCommand } from './new-change.js';
6
+ export { statusCommand, BATCH_STATUS_FAILURE_PAYLOAD, STATUS_FAILURE_PAYLOAD } from './status.js';
7
+ export { instructionsCommand, applyInstructionsCommand, INSTRUCTIONS_FAILURE_PAYLOAD, APPLY_ARGUMENT, } from './instructions.js';
8
+ export { templatesCommand, TEMPLATES_FAILURE_PAYLOAD } from './templates.js';
9
+ export { schemasCommand, SCHEMAS_FAILURE_PAYLOAD } from './schemas.js';
10
+ export { newChangeCommand, NEW_CHANGE_FAILURE_PAYLOAD } from './new-change.js';
11
11
  export { DEFAULT_SCHEMA } from './shared.js';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGlG,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -7,6 +7,29 @@
7
7
  import { type ArtifactInstructions } from '../../core/artifact-graph/index.js';
8
8
  import { type PlanningHome } from '../../core/planning-home.js';
9
9
  import { type ApplyInstructions } from './shared.js';
10
+ /**
11
+ * The `--json` null-shape.
12
+ *
13
+ * This command's success payload is flat — `instruction`, `state`, `tasks` and
14
+ * the rest sit at the top level, and the skill templates read them from there —
15
+ * so there is no wrapper key to null. The shape therefore nulls `instruction`,
16
+ * which both success shapes (artifact and apply) actually carry; the previous
17
+ * `instructions: null` named a key that appeared in neither, so the rule
18
+ * "a failure payload mirrors its success payload with the data keys nulled"
19
+ * could not be checked against anything.
20
+ *
21
+ * Exported so the commander-level shape table and this command's own catch
22
+ * block cannot drift apart — they did, and only one of them carried `root`.
23
+ */
24
+ export declare const INSTRUCTIONS_FAILURE_PAYLOAD: Record<string, unknown>;
25
+ /**
26
+ * The one argument this command accepts that is not a schema artifact: it asks
27
+ * for the apply phase rather than a document to write.
28
+ *
29
+ * Exported so the CLI's dispatch and the "valid arguments" list read the same
30
+ * value — they did not, and the list left `apply` out (round 4 report 13).
31
+ */
32
+ export declare const APPLY_ARGUMENT = "apply";
10
33
  export interface InstructionsOptions {
11
34
  change?: string;
12
35
  schema?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAiHlG;AA8BD,MAAM,WAAW,gCAAgC;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,iBAAiB,CAAC,CAiG5B;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/F;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAoDhF"}
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAKL,KAAK,oBAAoB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAOrB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAGhE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA8Df;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CA6HlG;AAmCD,MAAM,WAAW,gCAAgC;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,iBAAiB,CAAC,CAiH5B;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC/F;AAED,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAoDhF"}
@@ -11,9 +11,38 @@ import { getChangeDir, resolveCurrentPlanningHomeSync, } from '../../core/planni
11
11
  import { resolveRootForCommand, toPlanningHome, toRootOutput, } from '../../core/root-selection.js';
12
12
  import { readProjectConfig } from '../../core/project-config.js';
13
13
  import { parseTasksFromContent } from '../../utils/task-progress.js';
14
- import { validateChangeExists, validateSchemaExists, } from './shared.js';
14
+ import { validateChangeExists, validateSchemaExists, assertChangeSchema, } from './shared.js';
15
15
  import { emitSuccess } from '../shared-output.js';
16
16
  // -----------------------------------------------------------------------------
17
+ // Types
18
+ // -----------------------------------------------------------------------------
19
+ /**
20
+ * The `--json` null-shape.
21
+ *
22
+ * This command's success payload is flat — `instruction`, `state`, `tasks` and
23
+ * the rest sit at the top level, and the skill templates read them from there —
24
+ * so there is no wrapper key to null. The shape therefore nulls `instruction`,
25
+ * which both success shapes (artifact and apply) actually carry; the previous
26
+ * `instructions: null` named a key that appeared in neither, so the rule
27
+ * "a failure payload mirrors its success payload with the data keys nulled"
28
+ * could not be checked against anything.
29
+ *
30
+ * Exported so the commander-level shape table and this command's own catch
31
+ * block cannot drift apart — they did, and only one of them carried `root`.
32
+ */
33
+ export const INSTRUCTIONS_FAILURE_PAYLOAD = {
34
+ instruction: null,
35
+ root: null,
36
+ };
37
+ /**
38
+ * The one argument this command accepts that is not a schema artifact: it asks
39
+ * for the apply phase rather than a document to write.
40
+ *
41
+ * Exported so the CLI's dispatch and the "valid arguments" list read the same
42
+ * value — they did not, and the list left `apply` out (round 4 report 13).
43
+ */
44
+ export const APPLY_ARGUMENT = 'apply';
45
+ // -----------------------------------------------------------------------------
17
46
  // Artifact Instructions Command
18
47
  // -----------------------------------------------------------------------------
19
48
  export async function instructionsCommand(artifactId, options) {
@@ -23,24 +52,29 @@ export async function instructionsCommand(artifactId, options) {
23
52
  }
24
53
  const planningHome = toPlanningHome(root);
25
54
  const projectRoot = root.path;
26
- const changeName = await validateChangeExists(options.change, projectRoot, root.changesDir, { newChangeHint: 'tospec new change <name>' });
27
- // Validate schema if explicitly provided
55
+ // Validate the schema before resolving the change (round 4 report 15): after
56
+ // it, the guard never fired in an empty project, so the caller was told to
57
+ // create a change first and only then learned the schema was never usable.
28
58
  if (options.schema) {
29
59
  validateSchemaExists(options.schema, projectRoot);
60
+ assertChangeSchema(options.schema);
30
61
  }
62
+ const changeName = await validateChangeExists(options.change, projectRoot, root.changesDir, { newChangeHint: 'tospec new change <name>' });
31
63
  // loadChangeContext will auto-detect schema from metadata if not provided
32
64
  const context = loadChangeContext(projectRoot, changeName, options.schema, {
33
65
  changeDir: getChangeDir(planningHome, changeName),
34
66
  planningHome,
35
67
  });
68
+ // Round 4 report 13. The list came from the schema's artifacts alone, so it
69
+ // omitted `apply` — the one argument this command accepts that is not an
70
+ // artifact, and the one a reader who mistyped is most likely to have wanted.
71
+ const validArgumentList = () => [...context.graph.getAllArtifacts().map((a) => a.id), APPLY_ARGUMENT].join('\n ');
36
72
  if (!artifactId) {
37
- const validIds = context.graph.getAllArtifacts().map((a) => a.id);
38
- throw new Error(`Missing required argument <artifact>. Valid artifacts:\n ${validIds.join('\n ')}`);
73
+ throw new Error(`Missing required argument <artifact>. Valid arguments:\n ${validArgumentList()}`);
39
74
  }
40
75
  const artifact = context.graph.getArtifact(artifactId);
41
76
  if (!artifact) {
42
- const validIds = context.graph.getAllArtifacts().map((a) => a.id);
43
- throw new Error(`Artifact '${artifactId}' not found in schema '${context.schemaName}'. Valid artifacts:\n ${validIds.join('\n ')}`);
77
+ throw new Error(`Artifact '${artifactId}' not found in schema '${context.schemaName}'. Valid arguments:\n ${validArgumentList()}`);
44
78
  }
45
79
  // readProjectConfig never throws: missing/unparseable configs are null.
46
80
  const projectConfig = readProjectConfig(root.path);
@@ -55,7 +89,7 @@ export async function instructionsCommand(artifactId, options) {
55
89
  printInstructionsText(instructions, isBlocked);
56
90
  }
57
91
  export function printInstructionsText(instructions, isBlocked) {
58
- const { artifactId, changeName, schemaName, changeDir, resolvedOutputPath, description, instruction, context, rules, template, dependencies, unlocks, } = instructions;
92
+ const { artifactId, changeName, schemaName, changeDir, resolvedOutputPath, description, instruction, context, rules, template, validation, dependencies, unlocks, } = instructions;
59
93
  // Opening tag
60
94
  console.log(`<artifact id="${artifactId}" change="${changeName}" schema="${schemaName}">`);
61
95
  console.log();
@@ -126,11 +160,22 @@ export function printInstructionsText(instructions, isBlocked) {
126
160
  console.log(template.trim());
127
161
  console.log('</template>');
128
162
  console.log();
129
- // Success criteria placeholder
130
- console.log('<success_criteria>');
131
- console.log('<!-- To be defined in schema validation rules -->');
132
- console.log('</success_criteria>');
133
- console.log();
163
+ // The schema's own acceptance criteria, rendered only when it declares some.
164
+ // This block used to be a fixed placeholder, so the one thing an agent needed
165
+ // in order not to fail validation was the one thing the brief left out — and
166
+ // an empty block claimed the artifact had no criteria at all. Printed like
167
+ // <project_context> and <rules>: present when there is something to say.
168
+ if (validation) {
169
+ console.log('<success_criteria>');
170
+ if (validation.requiredSections.length > 0) {
171
+ console.log(`Required sections: ${validation.requiredSections.map((s) => `## ${s}`).join(', ')}`);
172
+ }
173
+ for (const [section, minLength] of Object.entries(validation.minSectionLength)) {
174
+ console.log(`Section "${section}" must be at least ${minLength} characters.`);
175
+ }
176
+ console.log('</success_criteria>');
177
+ console.log();
178
+ }
134
179
  // Unlocks
135
180
  if (unlocks.length > 0) {
136
181
  console.log('<unlocks>');
@@ -163,7 +208,12 @@ function planningSkillFor(schemaName) {
163
208
  */
164
209
  function parseTasksFile(content) {
165
210
  return parseTasksFromContent(content).map((task, i) => ({
166
- id: `${i + 1}`,
211
+ // The number the task carries in the file ("1.2"), not this array's index.
212
+ // They diverge the moment a slice starts at 2.1 or a task is deleted, and
213
+ // the id is the field a caller would naturally quote back to the user —
214
+ // while the real numbering sat buried at the head of `description`.
215
+ // Falls back to the ordinal for a task written without one.
216
+ id: /^(\d+(?:\.\d+)*)\s/.exec(task.text)?.[1] ?? `${i + 1}`,
167
217
  description: task.text,
168
218
  done: task.done,
169
219
  }));
@@ -253,6 +303,20 @@ export async function generateApplyInstructions(projectRoot, changeName, schemaN
253
303
  state = 'ready';
254
304
  instruction = schemaInstruction?.trim() ?? 'Read context files, work through pending tasks, mark complete as you go.\nPause if you hit blockers or need clarification.';
255
305
  }
306
+ // Schema artifacts that do not exist yet but that `apply.requires` does not
307
+ // insist on. Reported, not blocking: sdd's apply requires only `tasks`, so a
308
+ // change missing proposal/design/specs still reaches `state: "ready"` — while
309
+ // the instruction it is handed says things like "test only the seam design.md
310
+ // chose". Naming the absent files is what stops that reading as a reference to
311
+ // something the agent simply failed to find.
312
+ const missingContext = schema.artifacts
313
+ .filter((artifact) => !contextFiles[artifact.id] && !missingArtifacts.includes(artifact.id))
314
+ .map((artifact) => artifact.id);
315
+ if (missingContext.length > 0 && state !== 'blocked') {
316
+ instruction += `
317
+
318
+ Not present in this change: ${missingContext.join(', ')}. Ignore any part of the above that refers to them.`;
319
+ }
256
320
  return {
257
321
  changeName,
258
322
  changeDir,
@@ -262,6 +326,7 @@ export async function generateApplyInstructions(projectRoot, changeName, schemaN
262
326
  tasks,
263
327
  state,
264
328
  missingArtifacts: missingArtifacts.length > 0 ? missingArtifacts : undefined,
329
+ missingContext: missingContext.length > 0 ? missingContext : undefined,
265
330
  instruction,
266
331
  };
267
332
  }
@@ -272,11 +337,14 @@ export async function applyInstructionsCommand(options) {
272
337
  }
273
338
  const planningHome = toPlanningHome(root);
274
339
  const projectRoot = root.path;
275
- const changeName = await validateChangeExists(options.change, projectRoot, root.changesDir, { newChangeHint: 'tospec new change <name>' });
276
- // Validate schema if explicitly provided
340
+ // Validate the schema before resolving the change (round 4 report 15): after
341
+ // it, the guard never fired in an empty project, so the caller was told to
342
+ // create a change first and only then learned the schema was never usable.
277
343
  if (options.schema) {
278
344
  validateSchemaExists(options.schema, projectRoot);
345
+ assertChangeSchema(options.schema);
279
346
  }
347
+ const changeName = await validateChangeExists(options.change, projectRoot, root.changesDir, { newChangeHint: 'tospec new change <name>' });
280
348
  // generateApplyInstructions uses loadChangeContext which auto-detects schema
281
349
  const instructions = await generateApplyInstructions(projectRoot, changeName, options.schema, {
282
350
  planningHome,