specky-sdd 3.5.0 → 3.7.0

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 (101) hide show
  1. package/.apm/hooks/scripts/ears-validator.sh +56 -17
  2. package/.apm/prompts/specky-api.prompt.md +1 -1
  3. package/.apm/prompts/specky-research.prompt.md +2 -2
  4. package/.apm/skills/research-analyst/SKILL.md +2 -2
  5. package/.apm/skills/specky-onboarding/SKILL.md +6 -4
  6. package/CHANGELOG.md +52 -0
  7. package/README.md +44 -8
  8. package/SECURITY.md +19 -9
  9. package/apm.yml +1 -1
  10. package/config.yml +1 -1
  11. package/dist/cli/commands/doctor.d.ts.map +1 -1
  12. package/dist/cli/commands/doctor.js +5 -0
  13. package/dist/cli/commands/doctor.js.map +1 -1
  14. package/dist/cli/commands/status.d.ts.map +1 -1
  15. package/dist/cli/commands/status.js +17 -2
  16. package/dist/cli/commands/status.js.map +1 -1
  17. package/dist/cli/index.js +32 -0
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/lib/update-check.d.ts +36 -0
  20. package/dist/cli/lib/update-check.d.ts.map +1 -0
  21. package/dist/cli/lib/update-check.js +165 -0
  22. package/dist/cli/lib/update-check.js.map +1 -0
  23. package/dist/config.d.ts +4 -0
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/config.js +14 -0
  26. package/dist/config.js.map +1 -1
  27. package/dist/index.js +18 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/services/diagram-generator.d.ts +53 -4
  30. package/dist/services/diagram-generator.d.ts.map +1 -1
  31. package/dist/services/diagram-generator.js +565 -178
  32. package/dist/services/diagram-generator.js.map +1 -1
  33. package/dist/services/doc-generator.d.ts +44 -0
  34. package/dist/services/doc-generator.d.ts.map +1 -1
  35. package/dist/services/doc-generator.js +352 -50
  36. package/dist/services/doc-generator.js.map +1 -1
  37. package/dist/services/document-converter.d.ts +10 -7
  38. package/dist/services/document-converter.d.ts.map +1 -1
  39. package/dist/services/document-converter.js +113 -38
  40. package/dist/services/document-converter.js.map +1 -1
  41. package/dist/services/iac-generator.d.ts +31 -3
  42. package/dist/services/iac-generator.d.ts.map +1 -1
  43. package/dist/services/iac-generator.js +509 -41
  44. package/dist/services/iac-generator.js.map +1 -1
  45. package/dist/services/pbt-generator.d.ts +12 -0
  46. package/dist/services/pbt-generator.d.ts.map +1 -1
  47. package/dist/services/pbt-generator.js +296 -145
  48. package/dist/services/pbt-generator.js.map +1 -1
  49. package/dist/services/state-machine.d.ts +15 -1
  50. package/dist/services/state-machine.d.ts.map +1 -1
  51. package/dist/services/state-machine.js +21 -3
  52. package/dist/services/state-machine.js.map +1 -1
  53. package/dist/services/test-generator.d.ts +8 -0
  54. package/dist/services/test-generator.d.ts.map +1 -1
  55. package/dist/services/test-generator.js +134 -33
  56. package/dist/services/test-generator.js.map +1 -1
  57. package/dist/services/test-traceability-mapper.d.ts.map +1 -1
  58. package/dist/services/test-traceability-mapper.js +8 -3
  59. package/dist/services/test-traceability-mapper.js.map +1 -1
  60. package/dist/services/work-item-exporter.d.ts +70 -9
  61. package/dist/services/work-item-exporter.d.ts.map +1 -1
  62. package/dist/services/work-item-exporter.js +115 -53
  63. package/dist/services/work-item-exporter.js.map +1 -1
  64. package/dist/templates/checklist.md +2 -3
  65. package/dist/templates/cross-analysis.md +2 -4
  66. package/dist/tools/documentation.d.ts.map +1 -1
  67. package/dist/tools/documentation.js +9 -3
  68. package/dist/tools/documentation.js.map +1 -1
  69. package/dist/tools/environment.d.ts.map +1 -1
  70. package/dist/tools/environment.js +75 -12
  71. package/dist/tools/environment.js.map +1 -1
  72. package/dist/tools/infrastructure.d.ts.map +1 -1
  73. package/dist/tools/infrastructure.js +7 -39
  74. package/dist/tools/infrastructure.js.map +1 -1
  75. package/dist/tools/input.js +4 -4
  76. package/dist/tools/input.js.map +1 -1
  77. package/dist/tools/integration.js +4 -4
  78. package/dist/tools/integration.js.map +1 -1
  79. package/dist/tools/pipeline.d.ts.map +1 -1
  80. package/dist/tools/pipeline.js +42 -4
  81. package/dist/tools/pipeline.js.map +1 -1
  82. package/dist/tools/quality.d.ts.map +1 -1
  83. package/dist/tools/quality.js +36 -9
  84. package/dist/tools/quality.js.map +1 -1
  85. package/dist/tools/testing.d.ts +10 -0
  86. package/dist/tools/testing.d.ts.map +1 -1
  87. package/dist/tools/testing.js +66 -13
  88. package/dist/tools/testing.js.map +1 -1
  89. package/dist/tools/transcript.d.ts.map +1 -1
  90. package/dist/tools/transcript.js +66 -41
  91. package/dist/tools/transcript.js.map +1 -1
  92. package/dist/tools/utility.d.ts.map +1 -1
  93. package/dist/tools/utility.js +22 -12
  94. package/dist/tools/utility.js.map +1 -1
  95. package/dist/tools/visualization.d.ts +21 -0
  96. package/dist/tools/visualization.d.ts.map +1 -1
  97. package/dist/tools/visualization.js +130 -29
  98. package/dist/tools/visualization.js.map +1 -1
  99. package/package.json +5 -2
  100. package/templates/checklist.md +2 -3
  101. package/templates/cross-analysis.md +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"pbt-generator.js","sourceRoot":"","sources":["../../src/services/pbt-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pbt-generator.js","sourceRoot":"","sources":["../../src/services/pbt-generator.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,20 @@
5
5
  import { Phase } from "../constants.js";
6
6
  import type { SddState, TransitionResult, GateHistoryEntry } from "../types.js";
7
7
  import type { FileManager } from "./file-manager.js";
8
+ /**
9
+ * GateHistoryEntry extended with the server-side LGTM approval flag.
10
+ * `lgtm` records whether the caller passed lgtm:true on sdd_advance_phase —
11
+ * recorded on every advance so gate history shows review presence, not just
12
+ * artifact modification.
13
+ */
14
+ export interface LgtmGateHistoryEntry extends GateHistoryEntry {
15
+ lgtm?: boolean;
16
+ }
17
+ /** Optional instrumentation attached to a gate event. */
18
+ export interface GateEventOptions {
19
+ reqCount?: number;
20
+ lgtm?: boolean;
21
+ }
8
22
  export declare class StateMachine {
9
23
  private fileManager;
10
24
  private workspaceRoot;
@@ -71,7 +85,7 @@ export declare class StateMachine {
71
85
  * Record a gate instrumentation event on sdd_advance_phase.
72
86
  * Compares artifact mtime against phase start time to detect unmodified approvals.
73
87
  */
74
- recordGateEvent(specDir: string, phase: Phase, artifactPath: string, reqCount?: number): Promise<GateHistoryEntry>;
88
+ recordGateEvent(specDir: string, phase: Phase, artifactPath: string, options?: GateEventOptions): Promise<LgtmGateHistoryEntry>;
75
89
  /** Get required files for a given phase */
76
90
  getRequiredFiles(phase: Phase): string[];
77
91
  /** Get phase order */
@@ -1 +1 @@
1
- {"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../../src/services/state-machine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAmE,MAAM,iBAAiB,CAAC;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAe,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQrD,qBAAa,YAAY;IAErB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;gBADb,WAAW,EAAE,WAAW,EACxB,aAAa,GAAE,MAAsB;IAG/C;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAuC;IAE3D,OAAO,CAAC,QAAQ;IAShB;;;OAGG;IACG,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzE;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IASzG,yEAAyE;IACzE,OAAO,CAAC,SAAS;IAMjB,mDAAmD;IACnD,OAAO,CAAC,UAAU;IAKlB;;;;;OAKG;IACG,SAAS,CAAC,OAAO,GAAE,MAAyB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwCtE;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;OAEG;IACG,eAAe,CAAC,OAAO,GAAE,MAAyB,GAAG,OAAO,CAAC,KAAK,CAAC;IAKzE;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAiDrE,sBAAsB;YAwBtB,kBAAkB;IAUhC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;YAIhE,aAAa;IAoD3B;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvE;;;OAGG;IACG,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAkC5B,2CAA2C;IAC3C,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;IAIxC,sBAAsB;IACtB,aAAa,IAAI,KAAK,EAAE;IAIxB,kCAAkC;IAClC,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ;IAgBjD;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACrE,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,KAAK,CAAC;QACrB,eAAe,EAAE,KAAK,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAuGF;;;OAGG;IACG,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5D,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CAqDH"}
1
+ {"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../../src/services/state-machine.ts"],"names":[],"mappings":"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"}
@@ -138,6 +138,18 @@ export class StateMachine {
138
138
  : `Already at terminal phase "${state.current_phase}".`,
139
139
  };
140
140
  }
141
+ // Featureless-workspace loophole guard: without a registered feature there
142
+ // is no directory to validate artifacts against, so every required-file
143
+ // check below would silently pass and the pipeline could walk six phases
144
+ // with zero artifacts on disk. Refuse to advance until a feature exists.
145
+ if (!state.features || state.features.length === 0) {
146
+ return {
147
+ allowed: false,
148
+ from_phase: state.current_phase,
149
+ to_phase: targetPhase,
150
+ error_message: "Cannot advance: no feature registered — run sdd_init first to create a feature before advancing phases.",
151
+ };
152
+ }
141
153
  const { missingFiles, scaffoldFiles } = await this.checkRequiredArtifacts(state);
142
154
  if (missingFiles.length > 0) {
143
155
  return {
@@ -270,14 +282,19 @@ export class StateMachine {
270
282
  * Record a gate instrumentation event on sdd_advance_phase.
271
283
  * Compares artifact mtime against phase start time to detect unmodified approvals.
272
284
  */
273
- async recordGateEvent(specDir, phase, artifactPath, reqCount) {
285
+ async recordGateEvent(specDir, phase, artifactPath, options) {
274
286
  return this.withLock(specDir, async () => {
275
287
  const state = await this.loadState(specDir);
276
288
  const phaseStatus = state.phases[phase];
277
289
  const phaseStarted = phaseStatus?.started_at;
278
290
  let wasModified = true;
279
291
  try {
280
- const fileStat = await stat(artifactPath);
292
+ // Artifact paths are workspace-relative. Resolve against the workspace
293
+ // root, NOT process.cwd(): in hosted/HTTP deployments the server cwd
294
+ // is not the workspace, and a cwd-relative stat throws for every gate,
295
+ // silently pinning was_modified=true so cognitive-debt warnings never
296
+ // fire regardless of user behavior.
297
+ const fileStat = await stat(resolve(this.workspaceRoot, artifactPath));
281
298
  if (phaseStarted) {
282
299
  wasModified = fileStat.mtimeMs > new Date(phaseStarted).getTime();
283
300
  }
@@ -290,7 +307,8 @@ export class StateMachine {
290
307
  timestamp: new Date().toISOString(),
291
308
  artifact: artifactPath,
292
309
  was_modified: wasModified,
293
- ...(reqCount !== undefined ? { req_count: reqCount } : {}),
310
+ ...(options?.reqCount !== undefined ? { req_count: options.reqCount } : {}),
311
+ ...(options?.lgtm !== undefined ? { lgtm: options.lgtm } : {}),
294
312
  };
295
313
  const history = state.gate_history ?? [];
296
314
  const MAX_ENTRIES = 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../src/services/state-machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../src/services/state-machine.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export interface TestGenerationResult {
17
17
  content: string;
18
18
  total_tests: number;
19
19
  }
20
+ /**
21
+ * Convert an arbitrary feature name into a PascalCase identifier that is
22
+ * legal as a Java/C#/Python class name (and therefore as a javac filename).
23
+ * Never returns an empty string or one that starts with a digit.
24
+ */
25
+ export declare function pascalIdentifier(s: string): string;
20
26
  export declare class TestGenerator {
21
27
  private fileManager;
22
28
  constructor(fileManager: FileManager);
@@ -31,6 +37,8 @@ export declare class TestGenerator {
31
37
  criterion: string;
32
38
  }>, _reqs: string[], framework: TestFramework): TestStub[];
33
39
  private generateTestBody;
40
+ /** Deduplicate generated identifiers — javac/C# reject duplicate members. */
41
+ private uniqueName;
34
42
  private renderFile;
35
43
  private snakeCase;
36
44
  private camelCase;
@@ -1 +1 @@
1
- {"version":3,"file":"test-generator.d.ts","sourceRoot":"","sources":["../../src/services/test-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAmCD,qBAAa,aAAa;IACZ,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAEtC,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAuBhC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA0BjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAO3C,UAAU,CACR,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,aAAa,GACvB,QAAQ,EAAE;IAgBb,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;YAIJ,QAAQ;IAYtB;;;OAGG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,sBAAsB,CAAC;IAkElC,OAAO,CAAC,qBAAqB;CAS9B;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"test-generator.d.ts","sourceRoot":"","sources":["../../src/services/test-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlD;AAsCD,qBAAa,aAAa;IACZ,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAEtC,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAuBhC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA0EjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAO3C,UAAU,CACR,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,aAAa,GACvB,QAAQ,EAAE;IAiBb,OAAO,CAAC,gBAAgB;IAkCxB,6EAA6E;IAC7E,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;YAKJ,QAAQ;IAYtB;;;OAGG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,sBAAsB,CAAC;IAkElC,OAAO,CAAC,qBAAqB;CAS9B;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1,35 +1,49 @@
1
1
  import { currentDateString } from "../utils/runtime-context.js";
2
2
  import { extractRequirementIds } from "../utils/id-contracts.js";
3
+ /**
4
+ * Convert an arbitrary feature name into a PascalCase identifier that is
5
+ * legal as a Java/C#/Python class name (and therefore as a javac filename).
6
+ * Never returns an empty string or one that starts with a digit.
7
+ */
8
+ export function pascalIdentifier(s) {
9
+ const words = s.replace(/[^a-zA-Z0-9]+/g, " ").trim().split(/\s+/).filter(Boolean);
10
+ const pascal = words.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
11
+ if (pascal.length === 0)
12
+ return "Feature";
13
+ return /^\d/.test(pascal) ? `Feature${pascal}` : pascal;
14
+ }
3
15
  const FRAMEWORK_CONFIG = {
4
16
  vitest: {
5
- ext: ".test.ts",
17
+ fileBase: (f) => `${f || "feature"}.test.ts`,
6
18
  imports: 'import { describe, it, expect } from "vitest";',
7
19
  wrapper: (name, body) => `describe("${name}", () => {\n${body}\n});`,
8
20
  },
9
21
  jest: {
10
- ext: ".test.ts",
22
+ fileBase: (f) => `${f || "feature"}.test.ts`,
11
23
  imports: '// Jest — no imports needed (globals)',
12
24
  wrapper: (name, body) => `describe("${name}", () => {\n${body}\n});`,
13
25
  },
14
26
  playwright: {
15
- ext: ".spec.ts",
27
+ fileBase: (f) => `${f || "feature"}.spec.ts`,
16
28
  imports: 'import { test, expect } from "@playwright/test";',
17
29
  wrapper: (name, body) => `test.describe("${name}", () => {\n${body}\n});`,
18
30
  },
19
31
  pytest: {
20
- ext: "_test.py",
32
+ // Hyphens are illegal in Python module names — pytest cannot import them.
33
+ fileBase: (f) => `${(f || "feature").replace(/-+/g, "_").toLowerCase()}_test.py`,
21
34
  imports: "import pytest",
22
- wrapper: (name, body) => `class Test${name.replace(/[^a-zA-Z0-9]/g, "")}:\n${body}`,
35
+ wrapper: (name, body) => `class Test${pascalIdentifier(name)}:\n """Test stubs generated from acceptance criteria."""\n\n${body}`,
23
36
  },
24
37
  junit: {
25
- ext: "Test.java",
38
+ // javac requires the filename to match the public class name exactly.
39
+ fileBase: (f) => `${pascalIdentifier(f)}Test.java`,
26
40
  imports: 'import org.junit.jupiter.api.Test;\nimport static org.junit.jupiter.api.Assertions.*;',
27
- wrapper: (name, body) => `public class ${name.replace(/[^a-zA-Z0-9]/g, "")}Test {\n${body}\n}`,
41
+ wrapper: (name, body) => `public class ${pascalIdentifier(name)}Test {\n${body}\n}`,
28
42
  },
29
43
  xunit: {
30
- ext: "Tests.cs",
44
+ fileBase: (f) => `${pascalIdentifier(f)}Tests.cs`,
31
45
  imports: "using Xunit;",
32
- wrapper: (name, body) => `public class ${name.replace(/[^a-zA-Z0-9]/g, "")}Tests {\n${body}\n}`,
46
+ wrapper: (name, body) => `public class ${pascalIdentifier(name)}Tests {\n${body}\n}`,
33
47
  },
34
48
  };
35
49
  export class TestGenerator {
@@ -47,7 +61,7 @@ export class TestGenerator {
47
61
  const content = this.renderFile(stubs, framework, featureDir);
48
62
  const featureName = featureDir.replace(/.*\d{3}-/, "").replace(/[^a-zA-Z0-9-]/g, "");
49
63
  const cfg = FRAMEWORK_CONFIG[framework];
50
- const outputFile = `${outputDir}/${featureName}${cfg.ext}`;
64
+ const outputFile = `${outputDir}/${cfg.fileBase(featureName)}`;
51
65
  return {
52
66
  framework,
53
67
  stubs,
@@ -59,21 +73,63 @@ export class TestGenerator {
59
73
  extractAcceptanceCriteria(text) {
60
74
  const results = [];
61
75
  const lines = text.split("\n");
62
- let currentReq = "REQ-000";
63
- for (const line of lines) {
76
+ let currentReq = null;
77
+ let inCriteriaBlock = false;
78
+ for (const rawLine of lines) {
79
+ const line = rawLine.trim();
80
+ // Structural markdown is never an acceptance criterion and closes any
81
+ // open criteria block: headings, table rows, horizontal rules. Headings
82
+ // still update the current requirement ("### REQ-XXX-NNN: ...").
83
+ if (line.startsWith("#") || line.startsWith("|") || /^-{3,}$/.test(line)) {
84
+ if (line.startsWith("#")) {
85
+ const headingReq = extractRequirementIds(line)[0];
86
+ if (headingReq)
87
+ currentReq = headingReq;
88
+ }
89
+ inCriteriaBlock = false;
90
+ continue;
91
+ }
92
+ // An "**Acceptance Criteria:**" label opens a criteria block; the label
93
+ // itself is markdown noise, not a criterion.
94
+ if (/^[-*\s]*\**\s*acceptance criteria\s*:?\s*\**$/i.test(line)) {
95
+ inCriteriaBlock = true;
96
+ continue;
97
+ }
98
+ if (line === "")
99
+ continue;
64
100
  const reqId = extractRequirementIds(line)[0];
65
101
  if (reqId)
66
102
  currentReq = reqId;
67
- const acMatch = line.match(/[-*]\s*(?:AC[-_]?\d*[:.])?\s*(.+)/i);
68
- if (acMatch && (line.toLowerCase().includes("accept") || line.match(/^\s*[-*]\s+(Given|When|Then|Verify|Check|Ensure|Confirm)/i))) {
69
- results.push({ id: currentReq, criterion: acMatch[1].trim() });
103
+ const bulletMatch = line.match(/^[-*]\s+(?:AC[-_]?\d*[:.]\s*)?(.+)$/i);
104
+ if (!bulletMatch) {
105
+ // Plain prose (requirement sentences, "**Source:** ..." trailers)
106
+ // ends the criteria block.
107
+ inCriteriaBlock = false;
108
+ continue;
109
+ }
110
+ const criterion = bulletMatch[1].trim();
111
+ // Table-of-contents entries and other pure anchor links are noise.
112
+ if (/^\[[^\]]*\]\(#[^)]*\)$/.test(criterion))
113
+ continue;
114
+ const isBddStyle = /^(Given|When|Then|Verify|Check|Ensure|Confirm)\b/i.test(criterion);
115
+ // Only emit criteria that trace to a real requirement — never fabricate
116
+ // a nonexistent REQ-000.
117
+ if ((inCriteriaBlock || isBddStyle) && currentReq) {
118
+ results.push({ id: currentReq, criterion });
70
119
  }
71
120
  }
72
121
  // Fallback: if no ACs found, generate from requirements themselves
73
122
  if (results.length === 0) {
74
- const reqLines = text.split("\n").filter(l => l.match(/(?:shall|must|should)\s/i));
123
+ const reqLines = lines.filter((l) => /(?:shall|must|should)\s/i.test(l) &&
124
+ !l.trim().startsWith("|") &&
125
+ !l.trim().startsWith("#") &&
126
+ !/\]\(#/.test(l));
75
127
  for (let i = 0; i < reqLines.length; i++) {
76
- results.push({ id: `REQ-${String(i + 1).padStart(3, "0")}`, criterion: reqLines[i].trim().replace(/^[-*#\d.)\s]+/, "") });
128
+ const inlineId = extractRequirementIds(reqLines[i])[0];
129
+ results.push({
130
+ id: inlineId ?? `REQ-${String(i + 1).padStart(3, "0")}`,
131
+ criterion: reqLines[i].trim().replace(/^[-*#\d.)\s]+/, ""),
132
+ });
77
133
  }
78
134
  }
79
135
  return results;
@@ -85,12 +141,13 @@ export class TestGenerator {
85
141
  .map(l => l.trim().replace(/^[-*#\d.)\s]+/, ""));
86
142
  }
87
143
  buildStubs(criteria, _reqs, framework) {
144
+ const usedNames = new Set();
88
145
  return criteria.map((ac, i) => {
89
146
  const stubId = `TC-${String(i + 1).padStart(3, "0")}`;
90
147
  const desc = ac.criterion.length > 80
91
148
  ? ac.criterion.slice(0, 77) + "..."
92
149
  : ac.criterion;
93
- const testCode = this.generateTestBody(desc, framework);
150
+ const testCode = this.generateTestBody(desc, ac.id, framework, usedNames);
94
151
  return {
95
152
  id: stubId,
96
153
  requirement_id: ac.id,
@@ -99,38 +156,82 @@ export class TestGenerator {
99
156
  };
100
157
  });
101
158
  }
102
- generateTestBody(description, framework) {
103
- const safeDesc = description.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r');
159
+ generateTestBody(description, requirementId, framework, usedNames) {
160
+ // Test names carry the FULL requirement ID (e.g. "REQ-API-001") so that
161
+ // name-based traceability in sdd_verify_tests works on the stubs as-is.
162
+ const title = description.startsWith(requirementId)
163
+ ? description
164
+ : `${requirementId}: ${description}`;
165
+ const safeTitle = title.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r');
104
166
  switch (framework) {
105
167
  case "vitest":
106
168
  case "jest":
107
- return ` it("${safeDesc}", () => {\n // TODO: implement test\n expect(true).toBe(true);\n });`;
169
+ return ` // Traces to: ${requirementId}\n it("${safeTitle}", () => {\n // TODO: implement test\n expect(true).toBe(true);\n });`;
108
170
  case "playwright":
109
- return ` test("${safeDesc}", async ({ page }) => {\n // TODO: implement E2E test\n await expect(page).toBeTruthy();\n });`;
110
- case "pytest":
111
- return ` def test_${this.snakeCase(description)}(self):\n # TODO: implement test\n assert True`;
112
- case "junit":
113
- return ` @Test\n void ${this.camelCase(description)}() {\n // TODO: implement test\n assertTrue(true);\n }`;
114
- case "xunit":
115
- return ` [Fact]\n public void ${this.pascalCase(description)}() {\n // TODO: implement test\n Assert.True(true);\n }`;
171
+ return ` // Traces to: ${requirementId}\n test("${safeTitle}", async ({ page }) => {\n // TODO: implement E2E test\n await expect(page).toBeTruthy();\n });`;
172
+ case "pytest": {
173
+ const name = this.uniqueName(`test_${this.snakeCase(title)}`, usedNames, "_");
174
+ const docstring = title.replace(/\\/g, "/").replace(/"/g, "'");
175
+ return ` # Traces to: ${requirementId}\n def ${name}(self):\n """${docstring}"""\n # TODO: implement test\n assert True`;
176
+ }
177
+ case "junit": {
178
+ const name = this.uniqueName(this.camelCase(title) || "requirement", usedNames, "");
179
+ return ` // Traces to: ${requirementId}\n @Test\n void ${name}() {\n // TODO: implement test\n assertTrue(true);\n }`;
180
+ }
181
+ case "xunit": {
182
+ const name = this.uniqueName(this.pascalCase(title) || "Requirement", usedNames, "");
183
+ return ` // Traces to: ${requirementId}\n [Fact]\n public void ${name}() {\n // TODO: implement test\n Assert.True(true);\n }`;
184
+ }
185
+ }
186
+ }
187
+ /** Deduplicate generated identifiers — javac/C# reject duplicate members. */
188
+ uniqueName(base, used, separator) {
189
+ let candidate = base;
190
+ let counter = 2;
191
+ while (used.has(candidate)) {
192
+ candidate = `${base}${separator}${counter}`;
193
+ counter++;
116
194
  }
195
+ used.add(candidate);
196
+ return candidate;
117
197
  }
118
198
  renderFile(stubs, framework, featureDir) {
119
199
  const cfg = FRAMEWORK_CONFIG[framework];
120
200
  const featureName = featureDir.replace(/.*\d{3}-/, "").replace(/[^a-zA-Z0-9 -]/g, "") || "Feature";
121
201
  const body = stubs.map(s => s.test_code).join("\n\n");
122
- const header = `/**\n * Auto-generated test stubs from Specky SDD\n * Feature: ${featureName}\n * Framework: ${framework}\n * Generated: ${currentDateString()}\n *\n * Each test traces to an acceptance criterion from SPECIFICATION.md.\n * Replace the TODO placeholders with real assertions.\n */\n`;
202
+ const date = currentDateString();
203
+ if (framework === "pytest") {
204
+ // Python: a JS-style block comment is a SyntaxError. Emit a module
205
+ // docstring instead, mirroring the hypothesis PBT generator.
206
+ const header = [
207
+ `"""`,
208
+ `Auto-generated test stubs from Specky SDD`,
209
+ `Feature: ${featureName}`,
210
+ `Framework: pytest`,
211
+ `Generated: ${date}`,
212
+ ``,
213
+ `Each test traces to an acceptance criterion from SPECIFICATION.md.`,
214
+ `Replace the TODO placeholders with real assertions.`,
215
+ `"""`,
216
+ ].join("\n");
217
+ return `${header}\n\n${cfg.imports}\n\n\n${cfg.wrapper(featureName, body)}\n`;
218
+ }
219
+ const header = `/**\n * Auto-generated test stubs from Specky SDD\n * Feature: ${featureName}\n * Framework: ${framework}\n * Generated: ${date}\n *\n * Each test traces to an acceptance criterion from SPECIFICATION.md.\n * Replace the TODO placeholders with real assertions.\n */\n`;
123
220
  return `${header}\n${cfg.imports}\n\n${cfg.wrapper(featureName, body)}\n`;
124
221
  }
125
222
  snakeCase(s) {
126
- return s.replace(/[^a-zA-Z0-9]+/g, "_").toLowerCase().slice(0, 60);
223
+ return s.replace(/[^a-zA-Z0-9]+/g, "_").toLowerCase().slice(0, 60).replace(/^_+|_+$/g, "");
127
224
  }
128
225
  camelCase(s) {
129
- const words = s.replace(/[^a-zA-Z0-9]+/g, " ").trim().split(/\s+/);
130
- return words[0].toLowerCase() + words.slice(1).map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
226
+ const words = s.replace(/[^a-zA-Z0-9]+/g, " ").trim().split(/\s+/).filter(Boolean);
227
+ if (words.length === 0)
228
+ return "";
229
+ const name = (words[0].toLowerCase() + words.slice(1).map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("")).slice(0, 60);
230
+ return /^\d/.test(name) ? `test${name.charAt(0).toUpperCase()}${name.slice(1)}` : name;
131
231
  }
132
232
  pascalCase(s) {
133
- return s.replace(/[^a-zA-Z0-9]+/g, " ").trim().split(/\s+/).map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("").slice(0, 60);
233
+ const name = s.replace(/[^a-zA-Z0-9]+/g, " ").trim().split(/\s+/).filter(Boolean).map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("").slice(0, 60);
234
+ return /^\d/.test(name) ? `Test${name}` : name;
134
235
  }
135
236
  async safeRead(featureDir, file) {
136
237
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"test-generator.js","sourceRoot":"","sources":["../../src/services/test-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-generator.js","sourceRoot":"","sources":["../../src/services/test-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-traceability-mapper.d.ts","sourceRoot":"","sources":["../../src/services/test-traceability-mapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,sBAAsB;IACjC;;;;;OAKG;IACH,mBAAmB,CACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,OAAO,EAAE,UAAU,EAAE,EACrB,iBAAiB,EAAE,MAAM,EAAE,GAC1B,cAAc;IA4CjB,mBAAmB,CACjB,OAAO,EAAE,UAAU,EAAE,EACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,aAAa,EAAE;IAgBlB,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,eAAe;CASxB"}
1
+ {"version":3,"file":"test-traceability-mapper.d.ts","sourceRoot":"","sources":["../../src/services/test-traceability-mapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,sBAAsB;IACjC;;;;;OAKG;IACH,mBAAmB,CACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,OAAO,EAAE,UAAU,EAAE,EACrB,iBAAiB,EAAE,MAAM,EAAE,GAC1B,cAAc;IA4CjB,mBAAmB,CACjB,OAAO,EAAE,UAAU,EAAE,EACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,aAAa,EAAE;IAgBlB,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,eAAe;CAYxB"}
@@ -76,8 +76,10 @@ export class TestTraceabilityMapper {
76
76
  if (reqMatches.length > 0) {
77
77
  currentReqs = reqMatches;
78
78
  }
79
- // Test name line (it/test/describe)
80
- const testNameMatch = line.match(/(?:it|test)\s*\(\s*["'`]([^"'`]+)["'`]/);
79
+ // Test name line — JS/TS (it/test), Python (def test_x), Java/C# (void name()).
80
+ const testNameMatch = line.match(/(?:it|test)\s*\(\s*["'`]([^"'`]+)["'`]/) ??
81
+ line.match(/^\s*def\s+(test_\w+)\s*\(/) ??
82
+ line.match(/^\s*(?:public\s+)?void\s+(\w+)\s*\(/);
81
83
  if (testNameMatch && currentReqs.length > 0) {
82
84
  const existing = map.get(testNameMatch[1]) ?? [];
83
85
  map.set(testNameMatch[1], [...existing, ...currentReqs]);
@@ -96,7 +98,10 @@ export class TestTraceabilityMapper {
96
98
  if (testName.includes(key) || key.includes(testName))
97
99
  return reqs;
98
100
  }
99
- return [];
101
+ // Fall back to requirement IDs embedded in the test name itself — test
102
+ // results routinely reference requirements by ID even when no test-file
103
+ // source was scanned, and coverage must not report 0% in that case.
104
+ return [...new Set([...testName.matchAll(/\bREQ-[A-Z]+-\d{3}\b/g)].map((m) => m[0]))];
100
105
  }
101
106
  }
102
107
  //# sourceMappingURL=test-traceability-mapper.js.map