@seanmars/tospec 0.18.0 → 0.19.0-beta.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 (77) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/assets/metrics/app.js +22 -0
  3. package/assets/metrics/style.css +8 -0
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +15 -2
  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 +5 -2
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/dashboard.d.ts.map +1 -1
  11. package/dist/commands/dashboard.js +21 -5
  12. package/dist/commands/dashboard.js.map +1 -1
  13. package/dist/commands/metrics.d.ts +10 -1
  14. package/dist/commands/metrics.d.ts.map +1 -1
  15. package/dist/commands/metrics.js +9 -3
  16. package/dist/commands/metrics.js.map +1 -1
  17. package/dist/commands/shared-output.d.ts +17 -0
  18. package/dist/commands/shared-output.d.ts.map +1 -1
  19. package/dist/commands/shared-output.js +27 -2
  20. package/dist/commands/shared-output.js.map +1 -1
  21. package/dist/commands/validate.d.ts +9 -0
  22. package/dist/commands/validate.d.ts.map +1 -1
  23. package/dist/commands/validate.js +29 -5
  24. package/dist/commands/validate.js.map +1 -1
  25. package/dist/core/archive.d.ts.map +1 -1
  26. package/dist/core/archive.js +62 -29
  27. package/dist/core/archive.js.map +1 -1
  28. package/dist/core/artifact-graph/index.d.ts +1 -1
  29. package/dist/core/artifact-graph/index.d.ts.map +1 -1
  30. package/dist/core/artifact-graph/index.js +1 -1
  31. package/dist/core/artifact-graph/index.js.map +1 -1
  32. package/dist/core/artifact-graph/outputs.d.ts +10 -0
  33. package/dist/core/artifact-graph/outputs.d.ts.map +1 -1
  34. package/dist/core/artifact-graph/outputs.js +122 -2
  35. package/dist/core/artifact-graph/outputs.js.map +1 -1
  36. package/dist/core/dashboard-data.d.ts.map +1 -1
  37. package/dist/core/dashboard-data.js +42 -18
  38. package/dist/core/dashboard-data.js.map +1 -1
  39. package/dist/core/global-config.d.ts.map +1 -1
  40. package/dist/core/global-config.js +11 -1
  41. package/dist/core/global-config.js.map +1 -1
  42. package/dist/core/init.d.ts +8 -0
  43. package/dist/core/init.d.ts.map +1 -1
  44. package/dist/core/init.js +18 -19
  45. package/dist/core/init.js.map +1 -1
  46. package/dist/core/local-server.d.ts +14 -0
  47. package/dist/core/local-server.d.ts.map +1 -1
  48. package/dist/core/local-server.js +18 -0
  49. package/dist/core/local-server.js.map +1 -1
  50. package/dist/core/parsers/requirement-blocks.d.ts +14 -0
  51. package/dist/core/parsers/requirement-blocks.d.ts.map +1 -1
  52. package/dist/core/parsers/requirement-blocks.js +43 -18
  53. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  54. package/dist/core/parsers/spec-structure.d.ts +1 -1
  55. package/dist/core/parsers/spec-structure.d.ts.map +1 -1
  56. package/dist/core/parsers/spec-structure.js +23 -0
  57. package/dist/core/parsers/spec-structure.js.map +1 -1
  58. package/dist/core/project-layout.d.ts +29 -0
  59. package/dist/core/project-layout.d.ts.map +1 -0
  60. package/dist/core/project-layout.js +62 -0
  61. package/dist/core/project-layout.js.map +1 -0
  62. package/dist/core/specs-apply.d.ts +2 -0
  63. package/dist/core/specs-apply.d.ts.map +1 -1
  64. package/dist/core/specs-apply.js +99 -35
  65. package/dist/core/specs-apply.js.map +1 -1
  66. package/dist/core/templates/workflows/propose.d.ts.map +1 -1
  67. package/dist/core/templates/workflows/propose.js +6 -0
  68. package/dist/core/templates/workflows/propose.js.map +1 -1
  69. package/dist/core/validation/validator.d.ts +20 -6
  70. package/dist/core/validation/validator.d.ts.map +1 -1
  71. package/dist/core/validation/validator.js +117 -9
  72. package/dist/core/validation/validator.js.map +1 -1
  73. package/dist/utils/file-system.d.ts +25 -0
  74. package/dist/utils/file-system.d.ts.map +1 -1
  75. package/dist/utils/file-system.js +30 -0
  76. package/dist/utils/file-system.js.map +1 -1
  77. package/package.json +1 -1
@@ -8,6 +8,7 @@ import { promises as fs } from 'fs';
8
8
  import path from 'path';
9
9
  import { extractRequirementsSection, parseDeltaSpec, normalizeRequirementName, foldRequirementName, } from './parsers/requirement-blocks.js';
10
10
  import { findMainSpecStructureIssues } from './parsers/spec-structure.js';
11
+ import { isAbsentDirectoryError, isMissingPathError } from '../utils/file-system.js';
11
12
  import { buildCodeFenceMask, findMissingScenarios } from './parsers/requirement-text.js';
12
13
  import { PURPOSE_PLACEHOLDER_PREFIX, PURPOSE_PLACEHOLDER_SUFFIX, } from './validation/constants.js';
13
14
  // -----------------------------------------------------------------------------
@@ -19,37 +20,51 @@ import { PURPOSE_PLACEHOLDER_PREFIX, PURPOSE_PLACEHOLDER_SUFFIX, } from './valid
19
20
  export async function findSpecUpdates(changeDir, mainSpecsDir) {
20
21
  const updates = [];
21
22
  const changeSpecsDir = path.join(changeDir, 'specs');
23
+ let entries;
22
24
  try {
23
- const entries = await fs.readdir(changeSpecsDir, { withFileTypes: true });
24
- for (const entry of entries) {
25
- if (entry.isDirectory()) {
26
- const specFile = path.join(changeSpecsDir, entry.name, 'spec.md');
27
- const targetFile = path.join(mainSpecsDir, entry.name, 'spec.md');
28
- try {
29
- await fs.access(specFile);
30
- // Check if target exists
31
- let exists = false;
32
- try {
33
- await fs.access(targetFile);
34
- exists = true;
35
- }
36
- catch {
37
- exists = false;
38
- }
39
- updates.push({
40
- source: specFile,
41
- target: targetFile,
42
- exists,
43
- });
44
- }
45
- catch {
46
- // Source spec doesn't exist, skip
47
- }
48
- }
49
- }
25
+ entries = await fs.readdir(changeSpecsDir, { withFileTypes: true });
50
26
  }
51
- catch {
52
- // No specs directory in change
27
+ catch (error) {
28
+ // An empty result reads as "this change has no deltas", which callers act
29
+ // on: archive merges nothing and reports success. Only a directory that is
30
+ // genuinely not there may say that.
31
+ if (isAbsentDirectoryError(error))
32
+ return updates;
33
+ throw error;
34
+ }
35
+ for (const entry of entries) {
36
+ if (!entry.isDirectory())
37
+ continue;
38
+ const specFile = path.join(changeSpecsDir, entry.name, 'spec.md');
39
+ const targetFile = path.join(mainSpecsDir, entry.name, 'spec.md');
40
+ try {
41
+ await fs.access(specFile);
42
+ }
43
+ catch (error) {
44
+ // A capability folder with no spec.md is not a delta. A spec.md that
45
+ // exists and cannot be reached is one, and skipping it drops that
46
+ // capability's requirements without a word.
47
+ if (isMissingPathError(error))
48
+ continue;
49
+ throw error;
50
+ }
51
+ // Whether the capability is new. Same rule again: an unreachable target is
52
+ // not an absent one, and calling it absent sends the merge down the
53
+ // new-capability path — which rebuilds the spec from a skeleton.
54
+ let exists = true;
55
+ try {
56
+ await fs.access(targetFile);
57
+ }
58
+ catch (error) {
59
+ if (!isMissingPathError(error))
60
+ throw error;
61
+ exists = false;
62
+ }
63
+ updates.push({
64
+ source: specFile,
65
+ target: targetFile,
66
+ exists,
67
+ });
53
68
  }
54
69
  return updates;
55
70
  }
@@ -151,7 +166,14 @@ export async function buildUpdatedSpec(update, changeName, options = {}) {
151
166
  try {
152
167
  targetContent = await fs.readFile(update.target, 'utf-8');
153
168
  }
154
- catch {
169
+ catch (error) {
170
+ // Only "the file is not there" means a new capability. Every other failure —
171
+ // a permission denial, a device error, a directory where the file belongs —
172
+ // says the spec may well exist with content this path is about to discard.
173
+ // For an addition-only delta that is silent data loss: the new-capability
174
+ // branch below accepts it and rebuilds the spec from a skeleton.
175
+ if (!isMissingPathError(error))
176
+ throw error;
155
177
  // Target spec does not exist; MODIFIED and RENAMED are not allowed for new specs
156
178
  // REMOVED will be ignored with a warning since there's nothing to remove
157
179
  if (plan.modified.length > 0 || plan.renamed.length > 0) {
@@ -176,6 +198,15 @@ export async function buildUpdatedSpec(update, changeName, options = {}) {
176
198
  targetContent = buildSpecSkeleton(specName, changeName);
177
199
  }
178
200
  }
201
+ // Record the target's ending convention here, on the raw bytes, because
202
+ // everything downstream destroys it: extractRequirementsSection normalizes the
203
+ // document to LF before parsing, normalizeBlockRaw does it again per block,
204
+ // and the recompose joins with '\n'. Normalizing before parsing is correct —
205
+ // every structural regex below assumes LF — so the fix is to carry the
206
+ // convention forward, not to stop normalizing. A whole-file flag rather than
207
+ // per-line endings: a merged spec contains lines that had no original, so
208
+ // per-line fidelity is undefined for them.
209
+ const crlf = targetContent.includes('\r\n');
179
210
  const structureIssues = findMainSpecStructureIssues(targetContent);
180
211
  if (structureIssues.length > 0) {
181
212
  const details = structureIssues
@@ -358,13 +389,12 @@ export async function buildUpdatedSpec(update, changeName, options = {}) {
358
389
  // below, so every archive rewrote a well-formatted spec into that shape.
359
390
  // Separate non-empty slices with one blank line, and end the file with
360
391
  // exactly one newline instead of inheriting whatever `after` happened to hold.
361
- const rebuilt = [parts.before.trimEnd(), parts.headerLine, reqBody, parts.after.trim()]
392
+ const rebuilt = collapseBlankRunsOutsideFences([parts.before.trimEnd(), parts.headerLine, reqBody, parts.after.trim()]
362
393
  .filter((s) => s !== '')
363
- .join('\n\n')
364
- .replace(/\n{3,}/g, '\n\n')
365
- .trimEnd() + '\n';
394
+ .join('\n\n')).trimEnd() + '\n';
366
395
  return {
367
396
  rebuilt,
397
+ crlf,
368
398
  // The capability has no requirements left and this run is what emptied it.
369
399
  // Both halves matter. "No requirements left" alone would delete a spec on a
370
400
  // re-run of an already-synced REMOVED, taking with it any requirement added
@@ -384,6 +414,36 @@ export async function buildUpdatedSpec(update, changeName, options = {}) {
384
414
  function normalizeBlockRaw(raw) {
385
415
  return raw.replace(/\r\n?/g, '\n').trim();
386
416
  }
417
+ /**
418
+ * Collapse runs of blank lines to a single blank line, skipping fenced code.
419
+ *
420
+ * The collapse exists because the four slices joined above each carry their own
421
+ * boundary newlines, so the seams between them accumulate blank lines. Applied
422
+ * to the whole document as `replace(/\n{3,}/g, '\n\n')` it could not tell a seam
423
+ * from a blank line an author put inside a code sample deliberately, so every
424
+ * archive quietly edited the examples in a spec. The seams are all outside any
425
+ * fence by construction, so masking fenced lines loses nothing the collapse was
426
+ * written for.
427
+ */
428
+ function collapseBlankRunsOutsideFences(content) {
429
+ const lines = content.split('\n');
430
+ const mask = buildCodeFenceMask(lines);
431
+ const kept = [];
432
+ const keptMask = [];
433
+ for (let i = 0; i < lines.length; i++) {
434
+ if (!mask[i] && lines[i].trim() === '') {
435
+ const last = kept.length - 1;
436
+ // Drop this blank only if the previous kept line is a blank that was also
437
+ // outside a fence — a blank line inside a fence is content, and it must
438
+ // not license dropping the one that follows it.
439
+ if (last >= 0 && !keptMask[last] && kept[last].trim() === '')
440
+ continue;
441
+ }
442
+ kept.push(lines[i]);
443
+ keptMask.push(mask[i]);
444
+ }
445
+ return kept.join('\n');
446
+ }
387
447
  /**
388
448
  * Write an updated spec to disk.
389
449
  */
@@ -391,7 +451,11 @@ export async function writeUpdatedSpec(update, rebuilt, counts, options = {}) {
391
451
  // Create target directory if needed
392
452
  const targetDir = path.dirname(update.target);
393
453
  await fs.mkdir(targetDir, { recursive: true });
394
- await fs.writeFile(update.target, rebuilt);
454
+ // `rebuilt` is pure LF by construction; restore the convention the target had
455
+ // before the merge so archiving a CRLF spec does not produce a whole-file diff
456
+ // on Windows. A brand new spec has no prior convention and stays LF.
457
+ const content = options.crlf ? rebuilt.replace(/\r?\n/g, '\r\n') : rebuilt;
458
+ await fs.writeFile(update.target, content);
395
459
  if (options.silent)
396
460
  return;
397
461
  const specName = path.basename(path.dirname(update.target));
@@ -1 +1 @@
1
- {"version":3,"file":"specs-apply.js","sourceRoot":"","sources":["../../src/core/specs-apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specs-apply.js","sourceRoot":"","sources":["../../src/core/specs-apply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"propose.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAwDlE,wBAAgB,6BAA6B,IAAI,aAAa,CAc7D;AAED,wBAAgB,+BAA+B,IAAI,eAAe,CAYjE"}
1
+ {"version":3,"file":"propose.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA8DlE,wBAAgB,6BAA6B,IAAI,aAAa,CAc7D;AAED,wBAAgB,+BAA+B,IAAI,eAAe,CAYjE"}
@@ -26,6 +26,11 @@ const PROPOSE_BODY = `Do NOT re-interview the user — synthesize what's already
26
26
  \`\`\`
27
27
  Read \`template\` and \`instruction\` from the response, re-read every file listed under \`dependencies\` from disk (even ones you already saw — the user may have edited them since), write \`resolvedOutputPath\`, then re-run \`status --json\` and continue until every \`applyRequires\` artifact is \`done\`.
28
28
 
29
+ **Inspect the relevant implementation before drafting.** "Synthesize the conversation" is not permission to skip the code. Read \`context\` and \`rules\` first, then inspect the implementation this change touches, its nearby tests, its configuration, and its documentation — everything outside \`tospec/\`. Keep the inspection read-only and proportional to the change, and reuse what you find across the later artifacts instead of rediscovering it per artifact.
30
+ - Ground scope, approach, and tasks in what you found. Distinguish observed behavior from your assumptions and from what this change proposes to add. If something you find conflicts with an existing spec, surface the conflict — don't silently decide which side is right.
31
+ - Do the discovery **now**. Never leave a generic "explore the codebase" or "understand the current design" task for \`tospec-apply\` — that defers the cheapest work to the most expensive moment. A follow-up investigation task is fine only when it names a specific unresolved question.
32
+ - If the code this plan targets can't be reached, state that limitation in the artifact rather than planning as if you had read it.
33
+
29
34
  Artifact-specific rules on top of what \`instructions\` returns:
30
35
  - **ticket** (already created): keep it thin — just refine the one-line \`## Summary\` so it names what this change does. All the detail (why, what, scope, decisions) lives in \`proposal.md\`, not here. Don't duplicate proposal content into the ticket, and don't add a timestamp or filename yourself.
31
36
  - **proposal**: the main document — Why (motivation, why now), What Changes (concrete add/modify/remove), Capabilities (New/Modified, each pointing at its \`specs/<name>/spec.md\`), Impact (affected code/API/deps/systems). If linked ADRs exist (\`--decisions\` above), name them in Why so a reader knows which recorded decisions this proposal builds on. **Never include file paths or code snippets** in the prose — they go stale fast. Exception: a snippet from an actual prototype that encodes a decision more precisely than prose (a state machine, a schema shape) — inline it, trimmed to the decision, and note it came from a prototype.
@@ -48,6 +53,7 @@ Summarize the change name and location, the artifacts created, and prompt: "Run
48
53
  - The ticket file and its timestamp are CLI-generated — never create, rename, or move ticket files; only edit the Summary in the existing stub
49
54
  - Detailed why/what goes in \`proposal.md\`; the ticket stays a thin index
50
55
  - Read dependency artifacts from disk before writing the next one — don't rely on memory from earlier in the conversation, they may have been edited since
56
+ - Inspect the implementation before drafting, and never defer that discovery to \`tospec-apply\` as a generic explore-the-codebase task
51
57
  - \`context\`/\`rules\` from \`instructions\` are constraints for you, never content to copy into the file
52
58
  - If a change with that name already exists, ask whether to continue it or pick a new name
53
59
  - If context is critically unclear even after checking the conversation, ask — but prefer a reasonable default to keep momentum`;
@@ -1 +1 @@
1
- {"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AAQA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gIAoD2G,CAAC;AAEjI,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kRAAkR;QAC/R,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,wEAAwE;QACrF,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE;;;;EAIX,YAAY,EAAE;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"propose.js","sourceRoot":"","sources":["../../../../src/core/templates/workflows/propose.ts"],"names":[],"mappings":"AAQA,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gIA0D2G,CAAC;AAEjI,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kRAAkR;QAC/R,YAAY,EAAE;;;;EAIhB,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,wEAAwE;QACrF,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE;;;;EAIX,YAAY,EAAE;KACb,CAAC;AACJ,CAAC"}
@@ -43,12 +43,6 @@ export declare class Validator {
43
43
  * the author at that exact fix when the keyword is found in the header only.
44
44
  */
45
45
  private buildMissingShallOrMustMessage;
46
- /**
47
- * Scenario-quality rules for a delta requirement block (report 2.1): only
48
- * `#### Scenario:` headers count as scenarios, each scenario body must
49
- * contain WHEN and THEN (uppercase, per the spec convention), and stray
50
- * level-4 headers get a WARNING so authors know they were not counted.
51
- */
52
46
  /**
53
47
  * Scenarios a MODIFIED block would delete from the current main spec.
54
48
  *
@@ -66,6 +60,26 @@ export declare class Validator {
66
60
  * sister change still in flight)
67
61
  */
68
62
  private collectDroppedScenarioIssues;
63
+ /**
64
+ * Dry-run the merge and report what it would refuse.
65
+ *
66
+ * Reusing the merge builder rather than restating its preconditions is the
67
+ * whole point: several of them deliberately read a missing target as
68
+ * already-synced rather than as a failure, and a second copy of those rules
69
+ * would be free to drift — which shows up as validate and archive disagreeing,
70
+ * the one thing this check exists to prevent.
71
+ *
72
+ * INFO leaves the verdict alone. A MODIFIED whose target is missing is also
73
+ * what a change modifying a sibling's unarchived requirement looks like, and
74
+ * that is valid today; what is missing is the information, not the verdict.
75
+ */
76
+ private findArchiveBlockers;
77
+ /**
78
+ * Scenario-quality rules for a delta requirement block (report 2.1): only
79
+ * `#### Scenario:` headers count as scenarios, each scenario body must
80
+ * contain WHEN and THEN (uppercase, per the spec convention), and stray
81
+ * level-4 headers get a WARNING so authors know they were not counted.
82
+ */
69
83
  private collectScenarioIssues;
70
84
  private formatSectionList;
71
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/core/validation/validator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,YAAY,CAAC;AAoBhF,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAU;gBAEhB,UAAU,GAAE,OAAe;IAIjC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB/D;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBjF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+BjE;;;;;;;;;;;;;;;OAeG;IACG,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4QnG,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IA6FtB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;;;OASG;IACH,OAAO,CAAC,8BAA8B;IAQtC;;;;;OAKG;IACH;;;;;;;;;;;;;;;OAeG;YACW,4BAA4B;IAmC1C,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,iBAAiB;CAO1B"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/core/validation/validator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,YAAY,CAAC;AAqBhF,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAU;gBAEhB,UAAU,GAAE,OAAe;IAIjC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB/D;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBjF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+BjE;;;;;;;;;;;;;;;OAeG;IACG,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgTnG,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IA6FtB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,mBAAmB;IAI3B;;;;;;;;;OASG;IACH,OAAO,CAAC,8BAA8B;IAQtC;;;;;;;;;;;;;;;OAeG;YACW,4BAA4B;IAqD1C;;;;;;;;;;;;OAYG;YACW,mBAAmB;IA4DjC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2C7B,OAAO,CAAC,iBAAiB;CAO1B"}
@@ -8,8 +8,9 @@ import { parseDeltaSpec, normalizeRequirementName, extractRequirementsSection }
8
8
  import { extractRequirementBody as extractRequirementBodyShared, containsShallOrMust as containsShallOrMustShared, analyzeScenarios, scanCodeFences, findMissingScenarios, } from '../parsers/requirement-text.js';
9
9
  import { findMainSpecStructureIssues } from '../parsers/spec-structure.js';
10
10
  import { findPurposePlaceholderIssue } from './purpose-placeholder.js';
11
- import { FileSystemUtils, extractNameFromPath } from '../../utils/file-system.js';
11
+ import { FileSystemUtils, extractNameFromPath, isMissingPathError } from '../../utils/file-system.js';
12
12
  import { findSpecFiles } from '../../utils/spec-files.js';
13
+ import { findSpecUpdates, buildUpdatedSpec } from '../specs-apply.js';
13
14
  export class Validator {
14
15
  strictMode;
15
16
  constructor(strictMode = false) {
@@ -182,6 +183,20 @@ export class Validator {
182
183
  message: `Code fence opened at line ${fenceScan.unclosedFenceLine} is never closed — all content after it is invisible to the parser. Close the fence.`,
183
184
  });
184
185
  }
186
+ // Two identical delta headers are an editing accident (a manual edit, a
187
+ // badly resolved merge, an agent emitting the section twice), and
188
+ // combining them would guess which one the author meant. The parser no
189
+ // longer discards the repeated occurrences, so refusing here costs
190
+ // nothing that was previously reported: before, the first occurrence's
191
+ // requirements were invisible to this very check.
192
+ for (const duplicate of plan.duplicateSections) {
193
+ issues.push({
194
+ level: 'ERROR',
195
+ path: entryPath,
196
+ line: duplicate.lines[0],
197
+ message: `Delta section "${duplicate.title}" appears more than once (lines ${duplicate.lines.join(', ')}). Merge them into a single section — two headers with the same name are ambiguous about which requirements belong to which.`,
198
+ });
199
+ }
185
200
  const sectionNames = [];
186
201
  if (plan.sectionPresence.added)
187
202
  sectionNames.push('## ADDED Requirements');
@@ -342,6 +357,18 @@ export class Validator {
342
357
  message: 'No delta sections found. Add headers such as "## ADDED Requirements" or move non-delta notes outside specs/.',
343
358
  });
344
359
  }
360
+ // Runs here, after every structural error has been pushed, so the exclusion
361
+ // set below is just "what has already been reported". Calling it inside the
362
+ // loop above meant hand-splicing the two lists that are only raised down
363
+ // here — a set that any later check would silently fall out of.
364
+ //
365
+ // The checks above compare a delta against itself and, for MODIFIED, against
366
+ // the main spec's scenarios. None asks whether the main spec can supply the
367
+ // target the delta acts on — the merge's own preconditions, which nothing
368
+ // consulted until archive.
369
+ if (mainSpecsDir !== undefined) {
370
+ issues.push(...(await this.findArchiveBlockers(changeDir, mainSpecsDir, issues.filter((issue) => issue.level === 'ERROR').map((issue) => issue.path))));
371
+ }
345
372
  // A misplaced-spec error already names the file and the fix; adding "No
346
373
  // deltas found" on top would contradict it, since the deltas are sitting in
347
374
  // the file just reported.
@@ -530,12 +557,6 @@ export class Validator {
530
557
  }
531
558
  return base;
532
559
  }
533
- /**
534
- * Scenario-quality rules for a delta requirement block (report 2.1): only
535
- * `#### Scenario:` headers count as scenarios, each scenario body must
536
- * contain WHEN and THEN (uppercase, per the spec convention), and stray
537
- * level-4 headers get a WARNING so authors know they were not counted.
538
- */
539
560
  /**
540
561
  * Scenarios a MODIFIED block would delete from the current main spec.
541
562
  *
@@ -557,8 +578,25 @@ export class Validator {
557
578
  try {
558
579
  content = await fs.readFile(path.join(mainSpecsDir, capability, 'spec.md'), 'utf-8');
559
580
  }
560
- catch {
561
- return [];
581
+ catch (error) {
582
+ // Silence belongs to the genuinely-absent case documented above. A spec that
583
+ // exists and could not be read means the check never ran, and returning []
584
+ // reports that as "nothing to lose" — under the same wording, so the reader
585
+ // cannot tell a new capability from a broken one.
586
+ if (isMissingPathError(error))
587
+ return [];
588
+ // Reported rather than thrown: the enclosing handler treats any throw as
589
+ // "no specs dir" and would swallow this into a misleading no-deltas error.
590
+ // Reporting also keeps the other capabilities' findings, which a throw
591
+ // would discard. ERROR because archive reads the same file and now fails
592
+ // on it too, so this is what archive refuses.
593
+ return [
594
+ {
595
+ level: 'ERROR',
596
+ path: entryPath,
597
+ message: `The main spec for "${capability}" exists but could not be read, so the scenario-loss check did not run: ${error instanceof Error ? error.message : String(error)}`,
598
+ },
599
+ ];
562
600
  }
563
601
  const currentByName = new Map();
564
602
  for (const block of extractRequirementsSection(content).bodyBlocks) {
@@ -582,6 +620,76 @@ export class Validator {
582
620
  }
583
621
  return issues;
584
622
  }
623
+ /**
624
+ * Dry-run the merge and report what it would refuse.
625
+ *
626
+ * Reusing the merge builder rather than restating its preconditions is the
627
+ * whole point: several of them deliberately read a missing target as
628
+ * already-synced rather than as a failure, and a second copy of those rules
629
+ * would be free to drift — which shows up as validate and archive disagreeing,
630
+ * the one thing this check exists to prevent.
631
+ *
632
+ * INFO leaves the verdict alone. A MODIFIED whose target is missing is also
633
+ * what a change modifying a sibling's unarchived requirement looks like, and
634
+ * that is valid today; what is missing is the information, not the verdict.
635
+ */
636
+ async findArchiveBlockers(changeDir, mainSpecsDir, alreadyReportedPaths) {
637
+ const alreadyReported = new Set(alreadyReportedPaths);
638
+ // Only ever reaches the generated skeleton's placeholder Purpose, which this
639
+ // dry run discards along with the rest of the rebuilt content.
640
+ const changeName = path.basename(changeDir);
641
+ const issues = [];
642
+ let updates;
643
+ try {
644
+ updates = await findSpecUpdates(changeDir, mainSpecsDir);
645
+ }
646
+ catch (error) {
647
+ // An advisory check that cannot start must not take the report with it.
648
+ // The structural pass walks the same tree with fast-glob and reports what
649
+ // it found; those findings are the ones the author can act on.
650
+ return [
651
+ {
652
+ level: 'INFO',
653
+ path: 'specs',
654
+ message: `Could not check the merge preconditions: ${error instanceof Error ? error.message : String(error)}`,
655
+ },
656
+ ];
657
+ }
658
+ for (const update of updates) {
659
+ // findSpecUpdates only ever walks specs/<capability>/spec.md, so this
660
+ // rebuilds the same entryPath the checks above report under.
661
+ const capability = path.basename(path.dirname(update.source));
662
+ const entryPath = FileSystemUtils.toPosixPath(`${capability}/spec.md`);
663
+ // A delta those checks already rejected would be reported twice, the
664
+ // second time in the merge's wording rather than the wording that names
665
+ // the actual mistake.
666
+ if (alreadyReported.has(entryPath))
667
+ continue;
668
+ try {
669
+ await buildUpdatedSpec(update, changeName, { silent: true });
670
+ }
671
+ catch (error) {
672
+ // Only the thrown preconditions, which carry no errno. A filesystem
673
+ // error says nothing about whether the delta applies, and `validate
674
+ // --all` reads several changes at once — a transient EMFILE reported as
675
+ // a collision is a conflict that is not there.
676
+ if (error?.code !== undefined)
677
+ continue;
678
+ issues.push({
679
+ level: 'INFO',
680
+ path: entryPath,
681
+ message: `Archive would refuse this delta: ${error instanceof Error ? error.message : String(error)}`,
682
+ });
683
+ }
684
+ }
685
+ return issues;
686
+ }
687
+ /**
688
+ * Scenario-quality rules for a delta requirement block (report 2.1): only
689
+ * `#### Scenario:` headers count as scenarios, each scenario body must
690
+ * contain WHEN and THEN (uppercase, per the spec convention), and stray
691
+ * level-4 headers get a WARNING so authors know they were not counted.
692
+ */
585
693
  collectScenarioIssues(section, block, entryPath) {
586
694
  const issues = [];
587
695
  // Analysis runs on the body (raw minus the header at index 0); raw line i
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/core/validation/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/core/validation/validator.ts"],"names":[],"mappings":"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"}