sdd-mcp-server 4.0.0 → 5.0.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 (73) hide show
  1. package/README.md +18 -35
  2. package/dist/adapters/cli/SDDToolAdapter.d.ts +2 -5
  3. package/dist/adapters/cli/SDDToolAdapter.js +48 -92
  4. package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
  5. package/dist/application/services/ContextCompactionService.d.ts +10 -3
  6. package/dist/application/services/ContextCompactionService.js +139 -35
  7. package/dist/application/services/ContextCompactionService.js.map +1 -1
  8. package/dist/application/services/ProjectService.js +3 -3
  9. package/dist/application/services/ProjectService.js.map +1 -1
  10. package/dist/application/services/SpecPathResolver.js +1 -1
  11. package/dist/application/services/SpecPathResolver.js.map +1 -1
  12. package/dist/application/services/WorkflowEngineService.d.ts +160 -50
  13. package/dist/application/services/WorkflowEngineService.js +1404 -429
  14. package/dist/application/services/WorkflowEngineService.js.map +1 -1
  15. package/dist/application/services/WorkflowErrors.d.ts +16 -0
  16. package/dist/application/services/WorkflowErrors.js +53 -0
  17. package/dist/application/services/WorkflowErrors.js.map +1 -0
  18. package/dist/application/services/WorkflowValidationService.d.ts +25 -46
  19. package/dist/application/services/WorkflowValidationService.js +284 -627
  20. package/dist/application/services/WorkflowValidationService.js.map +1 -1
  21. package/dist/cli/install-skills.js.map +1 -1
  22. package/dist/cli/install-target.d.ts +4 -1
  23. package/dist/cli/install-target.js +4 -0
  24. package/dist/cli/install-target.js.map +1 -1
  25. package/dist/cli/tool-support/claude-code.js +7 -3
  26. package/dist/cli/tool-support/claude-code.js.map +1 -1
  27. package/dist/cli/tool-support/codex.js +6 -2
  28. package/dist/cli/tool-support/codex.js.map +1 -1
  29. package/dist/cli/tool-support/mcp-registration.d.ts +22 -0
  30. package/dist/cli/tool-support/mcp-registration.js +275 -0
  31. package/dist/cli/tool-support/mcp-registration.js.map +1 -0
  32. package/dist/cli/tool-support/omp.js +6 -2
  33. package/dist/cli/tool-support/omp.js.map +1 -1
  34. package/dist/cli/tool-support/root-guidance.js +2 -2
  35. package/dist/cli/tool-support/root-guidance.js.map +1 -1
  36. package/dist/cli/tool-support/target-installer.d.ts +2 -2
  37. package/dist/cli/tool-support/target-installer.js +9 -3
  38. package/dist/cli/tool-support/target-installer.js.map +1 -1
  39. package/dist/cli/utils/preserving-writer.d.ts +35 -1
  40. package/dist/cli/utils/preserving-writer.js +479 -108
  41. package/dist/cli/utils/preserving-writer.js.map +1 -1
  42. package/dist/domain/types.d.ts +52 -7
  43. package/dist/domain/types.js +5 -4
  44. package/dist/domain/types.js.map +1 -1
  45. package/dist/infrastructure/mcp/MCPServer.js +13 -13
  46. package/dist/infrastructure/mcp/MCPServer.js.map +1 -1
  47. package/dist/infrastructure/mcp/ToolRegistry.d.ts +5 -1
  48. package/dist/infrastructure/mcp/ToolRegistry.js +11 -4
  49. package/dist/infrastructure/mcp/ToolRegistry.js.map +1 -1
  50. package/dist/infrastructure/mcp/sddToolDefinitions.js +76 -90
  51. package/dist/infrastructure/mcp/sddToolDefinitions.js.map +1 -1
  52. package/dist/infrastructure/schemas/project.schema.d.ts +2 -2
  53. package/dist/infrastructure/schemas/project.schema.js +2 -2
  54. package/dist/infrastructure/schemas/project.schema.js.map +1 -1
  55. package/dist/shared/version.d.ts +3 -0
  56. package/dist/shared/version.js +4 -0
  57. package/dist/shared/version.js.map +1 -0
  58. package/dist/utils/atomicWrite.js +20 -5
  59. package/dist/utils/atomicWrite.js.map +1 -1
  60. package/dist/utils/withFilesystemLock.d.ts +22 -0
  61. package/dist/utils/withFilesystemLock.js +219 -0
  62. package/dist/utils/withFilesystemLock.js.map +1 -0
  63. package/package.json +4 -2
  64. package/skills/sdd-design/REFERENCE.md +16 -0
  65. package/skills/sdd-design/SKILL.md +22 -13
  66. package/skills/sdd-implement/REFERENCE.md +4 -0
  67. package/skills/sdd-implement/SKILL.md +20 -16
  68. package/skills/sdd-requirements/REFERENCE.md +15 -7
  69. package/skills/sdd-requirements/SKILL.md +30 -22
  70. package/skills/sdd-tasks/REFERENCE.md +9 -9
  71. package/skills/sdd-tasks/SKILL.md +27 -15
  72. package/templates/CLAUDE.md +6 -12
  73. package/templates/codex-AGENTS.md +7 -9
@@ -46,6 +46,15 @@ export class PhaseNotApprovedError extends Error {
46
46
  this.name = 'PhaseNotApprovedError';
47
47
  }
48
48
  }
49
+ export class ContextArtifactDriftError extends Error {
50
+ phase;
51
+ code = 'ArtifactDrift';
52
+ constructor(phase) {
53
+ super(`Approved artifact has drifted: ${phase}`);
54
+ this.phase = phase;
55
+ this.name = 'ContextArtifactDriftError';
56
+ }
57
+ }
49
58
  export class ContextSourceError extends Error {
50
59
  sourcePath;
51
60
  code = 'ContextSourceError';
@@ -86,7 +95,10 @@ let ContextCompactionService = class ContextCompactionService {
86
95
  async invalidateCanonicalHandoff(request) {
87
96
  const resolved = await new SpecPathResolver(this.fileSystem).resolve(request.projectRoot, request.featureName);
88
97
  const handoffPath = path.join(resolved.featureRoot, 'context', 'handoff.md');
89
- await new SpecPathResolver(this.fileSystem).assertContained(resolved.featureRoot, handoffPath);
98
+ const contextRoot = path.dirname(handoffPath);
99
+ const resolver = new SpecPathResolver(this.fileSystem);
100
+ await resolver.assertContained(resolved.featureRoot, contextRoot);
101
+ await resolver.assertContained(resolved.featureRoot, handoffPath);
90
102
  if (await this.fileSystem.exists(handoffPath)) {
91
103
  if (!this.fileSystem.unlink)
92
104
  throw new Error('FileSystemPort.unlink is required to invalidate context');
@@ -120,6 +132,7 @@ let ContextCompactionService = class ContextCompactionService {
120
132
  approvals: spec.approvals,
121
133
  reviewRequired: spec.reviewRequired,
122
134
  reviewCompleted: spec.reviewCompleted,
135
+ implementation: spec.implementation,
123
136
  sources: selected.documents.map(({ relativePath, content }) => [relativePath, content]),
124
137
  }));
125
138
  const fingerprint = this.hash(JSON.stringify({
@@ -133,15 +146,15 @@ let ContextCompactionService = class ContextCompactionService {
133
146
  && request.maxEstimatedTokens === undefined
134
147
  && request.includeUnapproved !== true;
135
148
  const handoffPath = path.join(resolved.featureRoot, 'context', 'handoff.md');
136
- const cached = await this.readCanonicalCache(canonical, handoffPath, resolved.featureRoot, resolver, selected, sourceFingerprint, fingerprint);
149
+ const built = mode === 'full'
150
+ ? this.buildFull(spec, selected, budget)
151
+ : this.buildBounded(spec, selected, budget, mode, sourceFingerprint, fingerprint, canonical);
152
+ const cached = await this.readCanonicalCache(canonical, handoffPath, resolved.featureRoot, resolver, built.content);
137
153
  if (cached !== undefined) {
138
154
  const result = this.resultFor(cached, mode, selected, sourceFingerprint, fingerprint, sourceCharacters, [], 'hit');
139
155
  return this.applyEtag(result, request.ifNoneMatch);
140
156
  }
141
- const built = mode === 'full'
142
- ? this.buildFull(spec, selected, budget)
143
- : this.buildBounded(spec, selected, budget, mode, sourceFingerprint, fingerprint, canonical);
144
- await this.persistCanonical(canonical, handoffPath, built.content);
157
+ await this.persistCanonical(canonical, handoffPath, built.content, resolved.featureRoot, resolver);
145
158
  const result = this.resultFor(built.content, mode, selected, sourceFingerprint, fingerprint, sourceCharacters, built.omittedSources, 'regenerated');
146
159
  this.logger.debug('Context payload prepared', {
147
160
  featureName: request.featureName,
@@ -161,19 +174,21 @@ let ContextCompactionService = class ContextCompactionService {
161
174
  }
162
175
  return { mode, budget };
163
176
  }
164
- async readCanonicalCache(canonical, handoffPath, featureRoot, resolver, selected, sourceFingerprint, fingerprint) {
177
+ async readCanonicalCache(canonical, handoffPath, featureRoot, resolver, expectedContent) {
165
178
  if (!canonical || !(await this.fileSystem.exists(handoffPath)))
166
179
  return undefined;
167
180
  await resolver.assertContained(featureRoot, handoffPath);
168
181
  const cached = await this.fileSystem.readFile(handoffPath);
169
- return this.cacheMatches(cached, selected.phase, sourceFingerprint, fingerprint)
170
- ? cached
171
- : undefined;
182
+ return cached === expectedContent ? cached : undefined;
172
183
  }
173
- async persistCanonical(canonical, handoffPath, content) {
184
+ async persistCanonical(canonical, handoffPath, content, featureRoot, resolver) {
174
185
  if (!canonical)
175
186
  return;
176
- await this.fileSystem.mkdir(path.dirname(handoffPath));
187
+ const contextRoot = path.dirname(handoffPath);
188
+ await resolver.assertContained(featureRoot, contextRoot);
189
+ await this.fileSystem.mkdir(contextRoot);
190
+ await resolver.assertContained(featureRoot, contextRoot);
191
+ await resolver.assertContained(featureRoot, handoffPath);
177
192
  if (!this.fileSystem.writeFileAtomic) {
178
193
  throw new Error('FileSystemPort.writeFileAtomic is required for context persistence');
179
194
  }
@@ -199,13 +214,32 @@ let ContextCompactionService = class ContextCompactionService {
199
214
  const options = this.optionalRecord(record.workflow_options ?? record.workflowOptions);
200
215
  const checkpoints = this.optionalRecord(record.checkpoints);
201
216
  const test = this.optionalRecord(checkpoints.test_cases ?? checkpoints.testCases);
217
+ const implementationRecord = this.optionalRecord(record.implementation);
218
+ const implementationTasks = this.optionalRecord(implementationRecord.tasks);
202
219
  return {
203
220
  featureName: this.specFeatureName(record, expectedFeature, specPath),
221
+ phase: typeof record.phase === 'string' ? record.phase : 'init',
204
222
  approvals: this.parseApprovals(approvalsRecord),
205
223
  reviewRequired: test.required === true
206
224
  || options.review_test_cases === true
207
225
  || options.reviewTestCases === true,
208
226
  reviewCompleted: test.reviewed === true,
227
+ implementation: Object.keys(implementationTasks).length > 0
228
+ ? {
229
+ revision: typeof implementationRecord.revision === 'number' ? implementationRecord.revision : 0,
230
+ tasks: Object.fromEntries(Object.entries(implementationTasks).map(([taskNumber, value]) => {
231
+ const task = this.optionalRecord(value);
232
+ const dependencies = Array.isArray(task.dependencies)
233
+ ? task.dependencies.filter((dependency) => typeof dependency === 'string')
234
+ : [];
235
+ return [taskNumber, {
236
+ status: typeof task.status === 'string' ? task.status : 'pending',
237
+ blocker: typeof task.blocker === 'string' ? task.blocker : undefined,
238
+ dependencies,
239
+ }];
240
+ })),
241
+ }
242
+ : undefined,
209
243
  };
210
244
  }
211
245
  async readJsonRecord(specPath) {
@@ -232,7 +266,15 @@ let ContextCompactionService = class ContextCompactionService {
232
266
  parseApprovals(record) {
233
267
  return Object.fromEntries(PHASES.map(phase => {
234
268
  const state = this.optionalRecord(record[phase]);
235
- return [phase, { generated: state.generated === true, approved: state.approved === true }];
269
+ return [phase, {
270
+ generated: state.generated === true,
271
+ approved: state.approved === true,
272
+ artifactSha256: typeof state.artifact_sha256 === 'string'
273
+ ? state.artifact_sha256
274
+ : typeof state.artifactSha256 === 'string'
275
+ ? state.artifactSha256
276
+ : undefined,
277
+ }];
236
278
  }));
237
279
  }
238
280
  specFeatureName(record, expectedFeature, specPath) {
@@ -252,6 +294,8 @@ let ContextCompactionService = class ContextCompactionService {
252
294
  return { ...selection, documents };
253
295
  }
254
296
  resolveEffectivePhase(spec, request) {
297
+ if (spec.implementation && !request.phase)
298
+ return { phase: 'implementation', status: 'approved' };
255
299
  if (request.phase)
256
300
  return this.resolveExplicitPhase(spec, request);
257
301
  if (request.mode === 'full' && request.includeUnapproved) {
@@ -274,6 +318,11 @@ let ContextCompactionService = class ContextCompactionService {
274
318
  const phase = request.phase;
275
319
  if (!phase)
276
320
  return { phase: 'init', status: 'init' };
321
+ if (phase === 'implementation') {
322
+ if (!spec.approvals.tasks.approved || !spec.implementation)
323
+ throw new PhaseNotApprovedError('tasks');
324
+ return { phase, status: 'approved' };
325
+ }
277
326
  const state = spec.approvals[phase];
278
327
  const draftAllowed = request.mode === 'full' && request.includeUnapproved && state.generated;
279
328
  if (!state.approved && !draftAllowed)
@@ -284,33 +333,38 @@ let ContextCompactionService = class ContextCompactionService {
284
333
  if (phase === 'init')
285
334
  return [];
286
335
  const documents = [];
287
- const last = PHASES.indexOf(phase);
336
+ const last = phase === 'implementation' ? PHASES.length - 1 : PHASES.indexOf(phase);
288
337
  for (const selectedPhase of PHASES.slice(0, last + 1)) {
289
338
  if (!spec.approvals[selectedPhase].generated) {
290
339
  throw new ContextSourceError(`${selectedPhase}.md`, 'Selected phase metadata is inconsistent');
291
340
  }
292
- documents.push(await this.readPhaseDocument(featureRoot, selectedPhase, resolver));
341
+ documents.push(await this.readPhaseDocument(featureRoot, selectedPhase, spec.approvals[selectedPhase], resolver));
293
342
  }
294
343
  return documents;
295
344
  }
296
- async readPhaseDocument(featureRoot, selectedPhase, resolver) {
345
+ async readPhaseDocument(featureRoot, selectedPhase, approval, resolver) {
297
346
  const name = `${selectedPhase}.md`;
298
347
  const absolutePath = path.join(featureRoot, name);
299
348
  await resolver.assertContained(featureRoot, absolutePath);
300
349
  if (!(await this.fileSystem.exists(absolutePath))) {
301
350
  throw new ContextSourceError(absolutePath, 'Missing required selected-phase document');
302
351
  }
352
+ let content;
303
353
  try {
304
- return {
305
- name,
306
- relativePath: name,
307
- absolutePath,
308
- content: await this.fileSystem.readFile(absolutePath),
309
- };
354
+ content = await this.fileSystem.readFile(absolutePath);
310
355
  }
311
356
  catch {
312
357
  throw new ContextSourceError(absolutePath, 'Unable to read selected-phase document');
313
358
  }
359
+ if (approval.approved && approval.artifactSha256 && this.hash(content) !== approval.artifactSha256) {
360
+ throw new ContextArtifactDriftError(selectedPhase);
361
+ }
362
+ return {
363
+ name,
364
+ relativePath: name,
365
+ absolutePath,
366
+ content,
367
+ };
314
368
  }
315
369
  buildBounded(spec, selected, budget, mode, sourceFingerprint, fingerprint, canonical) {
316
370
  const envelope = this.buildEnvelope(spec, selected, sourceFingerprint, fingerprint, canonical);
@@ -336,19 +390,67 @@ let ContextCompactionService = class ContextCompactionService {
336
390
  const review = spec.reviewRequired
337
391
  ? spec.reviewCompleted ? 'reviewed' : 'pending'
338
392
  : 'not required';
339
- return `${metadata}# SDD Context: ${spec.featureName}\n\n## Workflow State\n- Effective phase: ${selected.phase}\n- Phase status: ${selected.status}\n- Requirements: ${this.approvalLabel(spec.approvals.requirements)}\n- Design: ${this.approvalLabel(spec.approvals.design)}\n- Tasks: ${this.approvalLabel(spec.approvals.tasks)}\n- Test-case review: ${review}\n\n## Next Action\n${this.nextAction(spec, selected.phase)}\n\n## Source References\n${sourceReferences}\n\n## Payload Estimate\n- Payload estimated tokens: 00000`;
393
+ const implementationProgress = spec.implementation
394
+ ? `\n\n## Implementation Progress\n${this.implementationProgress(spec)}`
395
+ : '';
396
+ return `${metadata}# SDD Context: ${spec.featureName}\n\n## Workflow State\n- Effective phase: ${selected.phase}\n- Phase status: ${selected.status}\n- Requirements: ${this.approvalLabel(spec.approvals.requirements)}\n- Design: ${this.approvalLabel(spec.approvals.design)}\n- Tasks: ${this.approvalLabel(spec.approvals.tasks)}\n- Test-case review: ${review}${implementationProgress}\n\n## Next Action\n${this.nextAction(spec, selected)}\n\n## Source References\n${sourceReferences}\n\n## Payload Estimate\n- Payload estimated tokens: 00000`;
340
397
  }
341
- nextAction(spec, phase) {
398
+ nextAction(spec, selected) {
399
+ const phase = selected.phase;
400
+ if (selected.status === 'unapproved') {
401
+ return `Continue the ${phase} Skill to revise, validate, and request approval for this draft.`;
402
+ }
342
403
  if (phase === 'init')
343
- return 'Generate requirements.';
404
+ return 'Generate requirements through the requirements Skill.';
344
405
  if (phase === 'requirements')
345
- return 'Generate design from approved requirements.';
406
+ return 'Continue with the design Skill.';
346
407
  if (phase === 'design')
347
- return 'Generate the TDD task breakdown.';
348
- if (spec.reviewRequired && !spec.reviewCompleted) {
349
- return 'Review test cases before approving tasks.';
408
+ return 'Continue with the tasks Skill.';
409
+ if (phase === 'implementation' && spec.implementation) {
410
+ const tasks = Object.entries(spec.implementation.tasks);
411
+ const active = tasks.filter(([, task]) => ['in-progress', 'red-observed', 'green-observed', 'blocked'].includes(task.status));
412
+ if (active.length === 1)
413
+ return `Continue task ${active[0][0]} from ${active[0][1].status}.`;
414
+ if (active.length > 1) {
415
+ return `Select a resumable task: ${this.taskCandidateSummary(active, true)}.`;
416
+ }
417
+ const ready = tasks.filter(([, task]) => task.status === 'pending'
418
+ && task.dependencies.every((dependency) => spec.implementation.tasks[dependency]?.status === 'completed'));
419
+ if (ready.length === 1)
420
+ return `Start task ${ready[0][0]}.`;
421
+ if (ready.length > 1)
422
+ return `Select a ready task: ${this.taskCandidateSummary(ready, false)}.`;
423
+ return tasks.every(([, task]) => task.status === 'completed')
424
+ ? 'Implementation is complete.'
425
+ : 'No dependency-ready task is available; inspect persisted task blockers.';
350
426
  }
351
- return 'Proceed with focused implementation.';
427
+ if (spec.reviewRequired && !spec.reviewCompleted)
428
+ return 'Review test cases before approving tasks.';
429
+ return 'Start governed implementation.';
430
+ }
431
+ taskCandidateSummary(candidates, includeStatus) {
432
+ const visible = candidates.slice(0, 20).map(([id, task]) => includeStatus ? `${id} (${task.status})` : id);
433
+ const omitted = candidates.length - visible.length;
434
+ return `${visible.join(', ')}${omitted > 0 ? `, and ${omitted} more` : ''}`;
435
+ }
436
+ implementationProgress(spec) {
437
+ if (!spec.implementation)
438
+ return '';
439
+ const tasks = Object.entries(spec.implementation.tasks);
440
+ const completed = tasks.filter(([, task]) => task.status === 'completed').length;
441
+ const active = tasks.filter(([, task]) => ['in-progress', 'red-observed', 'green-observed'].includes(task.status));
442
+ const blocked = tasks.filter(([, task]) => task.status === 'blocked');
443
+ const details = [...active, ...blocked].slice(0, 20)
444
+ .map(([taskNumber, task]) => `- ${taskNumber}: ${task.status}${this.blockerSummary(task.blocker)}`)
445
+ .join('\n');
446
+ return `- Revision: ${spec.implementation.revision}\n- Completed: ${completed}/${tasks.length}\n- Active: ${active.length}\n- Blocked: ${blocked.length}${details ? `\n${details}` : ''}`;
447
+ }
448
+ blockerSummary(blocker) {
449
+ if (!blocker)
450
+ return '';
451
+ const normalized = blocker.replace(/\s+/g, ' ').trim();
452
+ const summary = normalized.length > 160 ? `${normalized.slice(0, 159)}…` : normalized;
453
+ return ` — ${summary}`;
352
454
  }
353
455
  buildDirectPayload(envelope, selected, maximumCharacters) {
354
456
  if (selected.documents.length !== 1 || selected.documents[0].content.length > 600) {
@@ -400,7 +502,13 @@ let ContextCompactionService = class ContextCompactionService {
400
502
  };
401
503
  }
402
504
  buildFull(spec, selected, budget) {
403
- let content = [`# Full SDD Context: ${spec.featureName}`, `Effective phase: ${selected.phase} (${selected.status})`, ...selected.documents.map((document) => `## ${document.name}\n\n${document.content}`), '## Payload Estimate\n- Payload estimated tokens: 00000'].join('\n\n');
505
+ let content = [
506
+ `# Full SDD Context: ${spec.featureName}`,
507
+ `Effective phase: ${selected.phase} (${selected.status})`,
508
+ `Next action: ${this.nextAction(spec, selected)}`,
509
+ ...selected.documents.map((document) => `## ${document.name}\n\n${document.content}`),
510
+ '## Payload Estimate\n- Payload estimated tokens: 00000',
511
+ ].join('\n\n');
404
512
  content = this.embedEstimate(content);
405
513
  const required = Math.ceil(content.length / 4);
406
514
  if (required > budget)
@@ -415,10 +523,6 @@ let ContextCompactionService = class ContextCompactionService {
415
523
  const sourceEstimatedTokens = Math.ceil(sourceCharacters / 4);
416
524
  return { content, mode, effectivePhase: selected.phase, phaseStatus: selected.status, sourceFingerprint, fingerprint, cacheStatus, sourceCharacters, sourceEstimatedTokens, payloadCharacters: content.length, payloadEstimatedTokens, reductionPercentage: sourceEstimatedTokens === 0 || payloadEstimatedTokens >= sourceEstimatedTokens ? 0 : Math.round((1 - payloadEstimatedTokens / sourceEstimatedTokens) * 100), omittedSources };
417
525
  }
418
- cacheMatches(content, phase, sourceFingerprint, fingerprint) {
419
- const match = content.match(/^<!-- sdd-context schema=(\d+) phase=(\w+) source=([a-f0-9]{64}) payload=([a-f0-9]{64}) -->/);
420
- return match?.[1] === String(HANDOFF_SCHEMA) && match[2] === phase && match[3] === sourceFingerprint && match[4] === fingerprint;
421
- }
422
526
  approvalLabel(state) {
423
527
  return state.approved ? 'approved' : state.generated ? 'generated, unapproved' : 'not generated';
424
528
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContextCompactionService.js","sourceRoot":"","sources":["../../../src/application/services/ContextCompactionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextCompactionService.js","sourceRoot":"","sources":["../../../src/application/services/ContextCompactionService.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,9 @@ let ProjectService = class ProjectService {
44
44
  updatedAt: new Date(),
45
45
  language,
46
46
  approvals: {
47
- requirements: { generated: false, approved: false },
48
- design: { generated: false, approved: false },
49
- tasks: { generated: false, approved: false }
47
+ requirements: { generated: false, approved: false, revision: 0, validation: { status: 'not-run', blockers: [] } },
48
+ design: { generated: false, approved: false, revision: 0, validation: { status: 'not-run', blockers: [] } },
49
+ tasks: { generated: false, approved: false, revision: 0, validation: { status: 'not-run', blockers: [] } }
50
50
  },
51
51
  workflowOptions: {
52
52
  reviewTestCases: options.reviewTestCases ?? false
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectService.js","sourceRoot":"","sources":["../../../src/application/services/ProjectService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectService.js","sourceRoot":"","sources":["../../../src/application/services/ProjectService.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export class SpecPathEscapeError extends Error {
14
14
  }
15
15
  }
16
16
  export function validateFeatureName(featureName) {
17
- if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(featureName) || featureName === '.' || featureName === '..') {
17
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,79}$/.test(featureName) || featureName === '.' || featureName === '..') {
18
18
  throw new InvalidFeatureNameError(featureName);
19
19
  }
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SpecPathResolver.js","sourceRoot":"","sources":["../../../src/application/services/SpecPathResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpecPathResolver.js","sourceRoot":"","sources":["../../../src/application/services/SpecPathResolver.ts"],"names":[],"mappings":"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"}