sdd-mcp-server 5.4.0 → 5.5.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 (100) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +9 -6
  3. package/agents/security-auditor.md +2 -2
  4. package/dist/__tests__/unit/jev/helpers.d.ts +84 -0
  5. package/dist/__tests__/unit/jev/helpers.js +188 -0
  6. package/dist/__tests__/unit/jev/helpers.js.map +1 -0
  7. package/dist/adapters/cli/SDDToolAdapter.d.ts +5 -1
  8. package/dist/adapters/cli/SDDToolAdapter.js +21 -2
  9. package/dist/adapters/cli/SDDToolAdapter.js.map +1 -1
  10. package/dist/application/services/JevAdvisoryService.d.ts +53 -0
  11. package/dist/application/services/JevAdvisoryService.js +310 -0
  12. package/dist/application/services/JevAdvisoryService.js.map +1 -0
  13. package/dist/application/services/JevBaseRef.d.ts +21 -0
  14. package/dist/application/services/JevBaseRef.js +46 -0
  15. package/dist/application/services/JevBaseRef.js.map +1 -0
  16. package/dist/application/services/JevChangeManifest.d.ts +33 -0
  17. package/dist/application/services/JevChangeManifest.js +208 -0
  18. package/dist/application/services/JevChangeManifest.js.map +1 -0
  19. package/dist/application/services/JevCheckTypes.d.ts +74 -0
  20. package/dist/application/services/JevCheckTypes.js +2 -0
  21. package/dist/application/services/JevCheckTypes.js.map +1 -0
  22. package/dist/application/services/JevCodeExcerpts.d.ts +23 -0
  23. package/dist/application/services/JevCodeExcerpts.js +102 -0
  24. package/dist/application/services/JevCodeExcerpts.js.map +1 -0
  25. package/dist/application/services/JevCommitLookup.d.ts +17 -0
  26. package/dist/application/services/JevCommitLookup.js +72 -0
  27. package/dist/application/services/JevCommitLookup.js.map +1 -0
  28. package/dist/application/services/JevExchange.d.ts +48 -0
  29. package/dist/application/services/JevExchange.js +119 -0
  30. package/dist/application/services/JevExchange.js.map +1 -0
  31. package/dist/application/services/JevQuestionCatalog.d.ts +28 -0
  32. package/dist/application/services/JevQuestionCatalog.js +194 -0
  33. package/dist/application/services/JevQuestionCatalog.js.map +1 -0
  34. package/dist/application/services/JevRedaction.d.ts +12 -0
  35. package/dist/application/services/JevRedaction.js +56 -0
  36. package/dist/application/services/JevRedaction.js.map +1 -0
  37. package/dist/application/services/JevReport.d.ts +41 -0
  38. package/dist/application/services/JevReport.js +101 -0
  39. package/dist/application/services/JevReport.js.map +1 -0
  40. package/dist/application/services/JevResponseValidator.d.ts +34 -0
  41. package/dist/application/services/JevResponseValidator.js +98 -0
  42. package/dist/application/services/JevResponseValidator.js.map +1 -0
  43. package/dist/application/services/JevResults.d.ts +3 -0
  44. package/dist/application/services/JevResults.js +7 -0
  45. package/dist/application/services/JevResults.js.map +1 -0
  46. package/dist/application/services/JevReviewCheck.d.ts +20 -0
  47. package/dist/application/services/JevReviewCheck.js +120 -0
  48. package/dist/application/services/JevReviewCheck.js.map +1 -0
  49. package/dist/application/services/JevSettings.d.ts +18 -0
  50. package/dist/application/services/JevSettings.js +72 -0
  51. package/dist/application/services/JevSettings.js.map +1 -0
  52. package/dist/application/services/JevSidecarStore.d.ts +68 -0
  53. package/dist/application/services/JevSidecarStore.js +201 -0
  54. package/dist/application/services/JevSidecarStore.js.map +1 -0
  55. package/dist/application/services/JevSpecState.d.ts +38 -0
  56. package/dist/application/services/JevSpecState.js +109 -0
  57. package/dist/application/services/JevSpecState.js.map +1 -0
  58. package/dist/application/services/JevTestcaseState.d.ts +22 -0
  59. package/dist/application/services/JevTestcaseState.js +85 -0
  60. package/dist/application/services/JevTestcaseState.js.map +1 -0
  61. package/dist/application/services/RedEvidenceClassifier.d.ts +10 -0
  62. package/dist/application/services/RedEvidenceClassifier.js +32 -0
  63. package/dist/application/services/RedEvidenceClassifier.js.map +1 -0
  64. package/dist/application/services/WorkflowEngineService.d.ts +28 -0
  65. package/dist/application/services/WorkflowEngineService.js +50 -2
  66. package/dist/application/services/WorkflowEngineService.js.map +1 -1
  67. package/dist/application/services/WorkflowValidationService.d.ts +16 -0
  68. package/dist/application/services/WorkflowValidationService.js +10 -5
  69. package/dist/application/services/WorkflowValidationService.js.map +1 -1
  70. package/dist/cli/install-target.d.ts +6 -6
  71. package/dist/cli/install-target.js +9 -3
  72. package/dist/cli/install-target.js.map +1 -1
  73. package/dist/domain/ports.d.ts +34 -0
  74. package/dist/domain/ports.js +11 -1
  75. package/dist/domain/ports.js.map +1 -1
  76. package/dist/infrastructure/adapters/FetchJevHttpAdapter.d.ts +4 -0
  77. package/dist/infrastructure/adapters/FetchJevHttpAdapter.js +73 -0
  78. package/dist/infrastructure/adapters/FetchJevHttpAdapter.js.map +1 -0
  79. package/dist/infrastructure/adapters/NodeGitAdapter.d.ts +5 -0
  80. package/dist/infrastructure/adapters/NodeGitAdapter.js +31 -0
  81. package/dist/infrastructure/adapters/NodeGitAdapter.js.map +1 -0
  82. package/dist/infrastructure/di/container.js +10 -0
  83. package/dist/infrastructure/di/container.js.map +1 -1
  84. package/dist/infrastructure/di/types.d.ts +4 -0
  85. package/dist/infrastructure/di/types.js +4 -0
  86. package/dist/infrastructure/di/types.js.map +1 -1
  87. package/dist/infrastructure/mcp/sddToolDefinitions.d.ts +1 -1
  88. package/dist/infrastructure/mcp/sddToolDefinitions.js +72 -1
  89. package/dist/infrastructure/mcp/sddToolDefinitions.js.map +1 -1
  90. package/dist/shared/version.d.ts +1 -1
  91. package/dist/shared/version.js +1 -1
  92. package/package.json +1 -1
  93. package/skills/sdd-commit/SKILL.md +4 -3
  94. package/skills/sdd-design/SKILL.md +1 -1
  95. package/skills/sdd-implement/SKILL.md +4 -4
  96. package/skills/sdd-requirements/SKILL.md +6 -6
  97. package/skills/sdd-review/SKILL.md +3 -2
  98. package/skills/sdd-security-check/SKILL.md +3 -2
  99. package/skills/sdd-tasks/REFERENCE.md +4 -0
  100. package/skills/sdd-tasks/SKILL.md +8 -6
@@ -1 +1 @@
1
- {"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface FileSystemPort {
17
17
  stat(path: string): Promise<{
18
18
  isFile(): boolean;
19
19
  isDirectory(): boolean;
20
+ size?: number;
20
21
  }>;
21
22
  realpath?(path: string): Promise<string>;
22
23
  unlink?(path: string): Promise<void>;
@@ -50,6 +51,39 @@ export interface QualityAnalyzer {
50
51
  checkComplexity(code: string): Promise<number>;
51
52
  detectSpecialCases(code: string): Promise<string[]>;
52
53
  }
54
+ /** The only JEV endpoint. No setting, env var, or argument may change it. */
55
+ export declare const JEV_DECIDE_URL = "https://jevtypesafeai.com/api/v1/decide";
56
+ export interface JevHttpRequest {
57
+ url: string;
58
+ body: string;
59
+ headers: Readonly<Record<string, string>>;
60
+ timeoutMs: number;
61
+ maxResponseBytes: number;
62
+ }
63
+ export interface JevHttpResponse {
64
+ status: number;
65
+ body: string;
66
+ }
67
+ export type JevTransportErrorKind = 'network' | 'timeout' | 'too-large';
68
+ /** Carries only a kind; never the underlying message, which could echo request headers. */
69
+ export declare class JevTransportError extends Error {
70
+ readonly kind: JevTransportErrorKind;
71
+ constructor(kind: JevTransportErrorKind);
72
+ }
73
+ export interface JevHttpPort {
74
+ /** One POST, no retry, no redirect following. Rejects only with JevTransportError. */
75
+ post(request: JevHttpRequest): Promise<JevHttpResponse>;
76
+ }
77
+ export type GitResult = {
78
+ ok: true;
79
+ stdout: Buffer;
80
+ } | {
81
+ ok: false;
82
+ };
83
+ export interface GitPort {
84
+ /** Runs one read-only git command without a shell, with optional stdin. Never rejects. */
85
+ run(args: readonly string[], cwd: string, input?: Buffer): Promise<GitResult>;
86
+ }
53
87
  export interface TaskTracker {
54
88
  getTasks(projectId: string): Promise<Task[]>;
55
89
  updateTask(projectId: string, taskId: string, completed: boolean): Promise<void>;
@@ -1,3 +1,13 @@
1
1
  // Port interfaces for Clean Architecture
2
- export {};
2
+ /** The only JEV endpoint. No setting, env var, or argument may change it. */
3
+ export const JEV_DECIDE_URL = 'https://jevtypesafeai.com/api/v1/decide';
4
+ /** Carries only a kind; never the underlying message, which could echo request headers. */
5
+ export class JevTransportError extends Error {
6
+ kind;
7
+ constructor(kind) {
8
+ super(`JEV transport failure: ${kind}`);
9
+ this.kind = kind;
10
+ this.name = 'JevTransportError';
11
+ }
12
+ }
3
13
  //# sourceMappingURL=ports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/domain/ports.ts"],"names":[],"mappings":"AAAA,yCAAyC"}
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/domain/ports.ts"],"names":[],"mappings":"AAAA,yCAAyC;AA4DzC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,yCAAyC,CAAC;AAiBxE,2FAA2F;AAC3F,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACrB;IAArB,YAAqB,IAA2B;QAC9C,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QADrB,SAAI,GAAJ,IAAI,CAAuB;QAE9C,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ import type { JevHttpPort, JevHttpRequest, JevHttpResponse } from '../../domain/ports.js';
2
+ export declare class FetchJevHttpAdapter implements JevHttpPort {
3
+ post(request: JevHttpRequest): Promise<JevHttpResponse>;
4
+ }
@@ -0,0 +1,73 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { injectable } from 'inversify';
8
+ import { JevTransportError } from '../../domain/ports.js';
9
+ const LOOPBACK_HOSTS = new Set(['127.0.0.1', 'localhost', '[::1]']);
10
+ /** Only https is allowed, except plain http to loopback so tests can use a local server. */
11
+ function isAllowedUrl(raw) {
12
+ try {
13
+ const url = new URL(raw);
14
+ return url.protocol === 'https:' || (url.protocol === 'http:' && LOOPBACK_HOSTS.has(url.hostname));
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ async function readCapped(response, maxBytes) {
21
+ const reader = response.body?.getReader();
22
+ if (!reader)
23
+ return '';
24
+ const chunks = [];
25
+ let total = 0;
26
+ for (;;) {
27
+ const { done, value } = await reader.read();
28
+ if (done)
29
+ break;
30
+ total += value.byteLength;
31
+ if (total > maxBytes) {
32
+ await reader.cancel().catch(() => undefined);
33
+ throw new JevTransportError('too-large');
34
+ }
35
+ chunks.push(value);
36
+ }
37
+ return Buffer.concat(chunks).toString('utf8');
38
+ }
39
+ let FetchJevHttpAdapter = class FetchJevHttpAdapter {
40
+ async post(request) {
41
+ if (!isAllowedUrl(request.url))
42
+ throw new JevTransportError('network');
43
+ const controller = new AbortController();
44
+ const timer = setTimeout(() => controller.abort(), request.timeoutMs);
45
+ try {
46
+ const response = await fetch(request.url, {
47
+ method: 'POST',
48
+ headers: { ...request.headers },
49
+ body: request.body,
50
+ redirect: 'manual',
51
+ signal: controller.signal,
52
+ });
53
+ if (response.status < 200 || response.status > 299) {
54
+ await response.body?.cancel().catch(() => undefined);
55
+ return { status: response.status, body: '' };
56
+ }
57
+ return { status: response.status, body: await readCapped(response, request.maxResponseBytes) };
58
+ }
59
+ catch (error) {
60
+ if (error instanceof JevTransportError)
61
+ throw error;
62
+ throw new JevTransportError(controller.signal.aborted ? 'timeout' : 'network');
63
+ }
64
+ finally {
65
+ clearTimeout(timer);
66
+ }
67
+ }
68
+ };
69
+ FetchJevHttpAdapter = __decorate([
70
+ injectable()
71
+ ], FetchJevHttpAdapter);
72
+ export { FetchJevHttpAdapter };
73
+ //# sourceMappingURL=FetchJevHttpAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FetchJevHttpAdapter.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/FetchJevHttpAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { GitPort, GitResult } from '../../domain/ports.js';
2
+ /** Runs read-only git commands without a shell; any failure becomes `{ ok: false }`. */
3
+ export declare class NodeGitAdapter implements GitPort {
4
+ run(args: readonly string[], cwd: string, input?: Buffer): Promise<GitResult>;
5
+ }
@@ -0,0 +1,31 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { execFile } from 'node:child_process';
8
+ import { injectable } from 'inversify';
9
+ const GIT_TIMEOUT_MS = 3000;
10
+ const GIT_MAX_BUFFER = 4 * 1024 * 1024;
11
+ /** Runs read-only git commands without a shell; any failure becomes `{ ok: false }`. */
12
+ let NodeGitAdapter = class NodeGitAdapter {
13
+ run(args, cwd, input) {
14
+ return new Promise((resolve) => {
15
+ try {
16
+ const child = execFile('git', ['--no-optional-locks', '-c', 'core.quotepath=off', ...args], { cwd, timeout: GIT_TIMEOUT_MS, maxBuffer: GIT_MAX_BUFFER, encoding: 'buffer', windowsHide: true }, (error, stdout) => resolve(error ? { ok: false } : { ok: true, stdout }));
17
+ // Always close stdin so a command never waits on it; a broken pipe surfaces as a failed exit.
18
+ child.stdin?.on('error', () => undefined);
19
+ child.stdin?.end(input);
20
+ }
21
+ catch {
22
+ resolve({ ok: false });
23
+ }
24
+ });
25
+ }
26
+ };
27
+ NodeGitAdapter = __decorate([
28
+ injectable()
29
+ ], NodeGitAdapter);
30
+ export { NodeGitAdapter };
31
+ //# sourceMappingURL=NodeGitAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeGitAdapter.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/NodeGitAdapter.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvC,wFAAwF;AAEjF,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,GAAG,CAAC,IAAuB,EAAE,GAAW,EAAE,KAAc;QACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAAQ,CACpB,KAAK,EACL,CAAC,qBAAqB,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,EAC5D,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAClG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CACzE,CAAC;gBACF,8FAA8F;gBAC9F,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC1C,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAlBY,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAkB1B"}
@@ -11,6 +11,8 @@ import { ConsoleLoggerAdapter } from "../adapters/ConsoleLoggerAdapter.js";
11
11
  import { AjvValidationAdapter } from "../adapters/AjvValidationAdapter.js";
12
12
  import { LinusQualityAnalyzer } from "../adapters/LinusQualityAnalyzer.js";
13
13
  import { FileBasedTaskTracker } from "../adapters/FileBasedTaskTracker.js";
14
+ import { FetchJevHttpAdapter } from "../adapters/FetchJevHttpAdapter.js";
15
+ import { NodeGitAdapter } from "../adapters/NodeGitAdapter.js";
14
16
  // Template infrastructure
15
17
  import { HandlebarsRenderer } from "../templates/HandlebarsRenderer.js";
16
18
  import { TemplateManager } from "../templates/TemplateManager.js";
@@ -48,6 +50,7 @@ import { TemplateService } from "../../application/services/TemplateService.js";
48
50
  import { QualityService } from "../../application/services/QualityService.js";
49
51
  import { QualityGateService } from "../../application/services/QualityGateService.js";
50
52
  import { WorkflowEngineService } from "../../application/services/WorkflowEngineService.js";
53
+ import { JevAdvisoryService } from "../../application/services/JevAdvisoryService.js";
51
54
  import { ProjectInitializationService } from "../../application/services/ProjectInitializationService.js";
52
55
  import { WorkflowValidationService } from "../../application/services/WorkflowValidationService.js";
53
56
  import { CodebaseAnalysisService } from "../../application/services/CodebaseAnalysisService.js";
@@ -82,6 +85,10 @@ export function createContainer() {
82
85
  .bind(TYPES.QualityAnalyzer)
83
86
  .to(LinusQualityAnalyzer);
84
87
  container.bind(TYPES.TaskTracker).to(FileBasedTaskTracker);
88
+ // JEV advisory checks: HTTPS and git are ports so tests can replace them.
89
+ container.bind(TYPES.JevHttpPort).to(FetchJevHttpAdapter);
90
+ container.bind(TYPES.GitPort).to(NodeGitAdapter);
91
+ container.bind(TYPES.JevEnvironment).toConstantValue(process.env);
85
92
  // Bind template ports
86
93
  container
87
94
  .bind(TYPES.TemplateRendererPort)
@@ -147,6 +154,9 @@ export function createContainer() {
147
154
  container
148
155
  .bind(TYPES.WorkflowEngineService)
149
156
  .to(WorkflowEngineService);
157
+ container
158
+ .bind(TYPES.JevAdvisoryService)
159
+ .to(JevAdvisoryService);
150
160
  container
151
161
  .bind(TYPES.ProjectInitializationService)
152
162
  .to(ProjectInitializationService);
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/infrastructure/di/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/infrastructure/di/container.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,16 @@ export declare const TYPES: {
14
14
  readonly I18nService: symbol;
15
15
  readonly I18nManagerPort: symbol;
16
16
  readonly PlatformAdapter: symbol;
17
+ readonly JevHttpPort: symbol;
18
+ readonly GitPort: symbol;
19
+ readonly JevEnvironment: symbol;
17
20
  readonly ProjectService: symbol;
18
21
  readonly WorkflowService: symbol;
19
22
  readonly TemplateService: symbol;
20
23
  readonly QualityService: symbol;
21
24
  readonly QualityGateService: symbol;
22
25
  readonly WorkflowEngineService: symbol;
26
+ readonly JevAdvisoryService: symbol;
23
27
  readonly ProjectInitializationService: symbol;
24
28
  readonly WorkflowValidationService: symbol;
25
29
  readonly CodebaseAnalysisService: symbol;
@@ -16,6 +16,9 @@ export const TYPES = {
16
16
  I18nService: Symbol.for("I18nService"),
17
17
  I18nManagerPort: Symbol.for("I18nManagerPort"),
18
18
  PlatformAdapter: Symbol.for("PlatformAdapter"),
19
+ JevHttpPort: Symbol.for("JevHttpPort"),
20
+ GitPort: Symbol.for("GitPort"),
21
+ JevEnvironment: Symbol.for("JevEnvironment"),
19
22
  // Application services
20
23
  ProjectService: Symbol.for("ProjectService"),
21
24
  WorkflowService: Symbol.for("WorkflowService"),
@@ -23,6 +26,7 @@ export const TYPES = {
23
26
  QualityService: Symbol.for("QualityService"),
24
27
  QualityGateService: Symbol.for("QualityGateService"),
25
28
  WorkflowEngineService: Symbol.for("WorkflowEngineService"),
29
+ JevAdvisoryService: Symbol.for("JevAdvisoryService"),
26
30
  ProjectInitializationService: Symbol.for("ProjectInitializationService"),
27
31
  WorkflowValidationService: Symbol.for("WorkflowValidationService"),
28
32
  CodebaseAnalysisService: Symbol.for("CodebaseAnalysisService"),
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/infrastructure/di/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/infrastructure/di/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
- export declare const SDD_TOOL_NAMES: readonly ["sdd-init", "sdd-requirements", "sdd-design", "sdd-tasks", "sdd-implement", "sdd-status", "sdd-approve", "sdd-review-test-cases", "sdd-quality-check", "sdd-context-load", "sdd-template-render", "sdd-steering", "sdd-steering-custom", "sdd-validate-design", "sdd-validate-gap", "sdd-spec-impl"];
2
+ export declare const SDD_TOOL_NAMES: readonly ["sdd-init", "sdd-requirements", "sdd-design", "sdd-tasks", "sdd-implement", "sdd-status", "sdd-approve", "sdd-review-test-cases", "sdd-quality-check", "sdd-context-load", "sdd-template-render", "sdd-steering", "sdd-steering-custom", "sdd-validate-design", "sdd-validate-gap", "sdd-spec-impl", "sdd-jev-check"];
3
3
  export type SDDToolName = (typeof SDD_TOOL_NAMES)[number];
4
4
  export declare const SDD_TOOL_DEFINITIONS: ReadonlyArray<Tool & {
5
5
  name: SDDToolName;
@@ -2,7 +2,7 @@ export const SDD_TOOL_NAMES = [
2
2
  'sdd-init', 'sdd-requirements', 'sdd-design', 'sdd-tasks', 'sdd-implement', 'sdd-status',
3
3
  'sdd-approve', 'sdd-review-test-cases', 'sdd-quality-check', 'sdd-context-load',
4
4
  'sdd-template-render', 'sdd-steering', 'sdd-steering-custom', 'sdd-validate-design',
5
- 'sdd-validate-gap', 'sdd-spec-impl',
5
+ 'sdd-validate-gap', 'sdd-spec-impl', 'sdd-jev-check',
6
6
  ];
7
7
  const featureName = {
8
8
  type: 'string',
@@ -36,6 +36,53 @@ const affectedArtifacts = {
36
36
  type: 'array', maxItems: 100, uniqueItems: true,
37
37
  items: { type: 'string', minLength: 1, maxLength: 500, pattern: '^(?![/\\\\])(?![A-Za-z]:)(?!.*(?:^|[/\\\\])\\.\\.(?:[/\\\\]|$))(?!.*\\u0000).+$' },
38
38
  };
39
+ const projectRelativePath = {
40
+ type: 'string', minLength: 1, maxLength: 500,
41
+ pattern: affectedArtifacts.items.pattern,
42
+ };
43
+ const jevCase = {
44
+ type: 'object',
45
+ properties: {
46
+ taskId: { type: 'string', maxLength: 50, pattern: '^\\d+(?:\\.\\d+)*$' },
47
+ kind: { type: 'string', enum: ['behavior', 'boundary', 'error', 'transition', 'security'] },
48
+ given: { type: 'string', minLength: 1, maxLength: 500 },
49
+ when: { type: 'string', minLength: 1, maxLength: 500 },
50
+ then: { type: 'string', minLength: 1, maxLength: 500 },
51
+ covers: { type: 'string', minLength: 1, maxLength: 200 },
52
+ },
53
+ required: ['taskId', 'kind', 'given', 'when', 'then', 'covers'],
54
+ additionalProperties: false,
55
+ };
56
+ const jevFinding = {
57
+ type: 'object',
58
+ properties: {
59
+ id: { type: 'string', pattern: '^[A-Za-z0-9._-]{1,40}$' },
60
+ path: projectRelativePath,
61
+ line: { type: 'integer', minimum: 1 },
62
+ title: { type: 'string', minLength: 1, maxLength: 300 },
63
+ severity: { type: 'string', enum: ['critical', 'high', 'medium', 'low', 'important', 'minor'] },
64
+ description: { type: 'string', maxLength: 2000 },
65
+ preconditions: { type: 'string', maxLength: 1000 },
66
+ remediation: { type: 'string', maxLength: 1000 },
67
+ },
68
+ required: ['id', 'path', 'line', 'title', 'severity'],
69
+ additionalProperties: false,
70
+ };
71
+ const jevUnit = {
72
+ type: 'object',
73
+ properties: {
74
+ id: { type: 'string', pattern: '^[A-Za-z0-9._-]{1,40}$' },
75
+ path: projectRelativePath,
76
+ line: { type: 'integer', minimum: 1 },
77
+ summary: { type: 'string', minLength: 1, maxLength: 500 },
78
+ },
79
+ required: ['id', 'path', 'line', 'summary'],
80
+ additionalProperties: false,
81
+ };
82
+ const requiredWhenCheck = (checks, required) => ({
83
+ if: { properties: { check: { enum: checks } }, required: ['check'] },
84
+ then: { required },
85
+ });
39
86
  export const SDD_TOOL_DEFINITIONS = [
40
87
  {
41
88
  name: 'sdd-init', description: 'Initialize a governed SDD feature',
@@ -106,5 +153,29 @@ export const SDD_TOOL_DEFINITIONS = [
106
153
  ],
107
154
  },
108
155
  },
156
+ {
157
+ name: 'sdd-jev-check', description: 'Run an opt-in advisory JEV check',
158
+ inputSchema: {
159
+ type: 'object',
160
+ properties: {
161
+ check: { type: 'string', enum: ['requirements', 'design', 'testcases', 'red', 'security', 'principles', 'commit'] },
162
+ featureName,
163
+ cases: { type: 'array', maxItems: 300, items: jevCase },
164
+ taskNumber: { type: 'string', minLength: 1, maxLength: 50, pattern: '^\\d+(?:\\.\\d+)*$' },
165
+ testName: { type: 'string', minLength: 1, maxLength: 300 },
166
+ evidence,
167
+ findings: { type: 'array', maxItems: 50, items: jevFinding },
168
+ units: { type: 'array', maxItems: 30, items: jevUnit },
169
+ baseRef: { type: 'string', minLength: 1, maxLength: 256 },
170
+ },
171
+ required: ['check'], additionalProperties: false,
172
+ allOf: [
173
+ requiredWhenCheck(['requirements', 'design', 'testcases', 'red'], ['featureName']),
174
+ requiredWhenCheck(['red'], ['taskNumber', 'testName', 'evidence']),
175
+ requiredWhenCheck(['security'], ['findings']),
176
+ requiredWhenCheck(['principles'], ['units']),
177
+ ],
178
+ },
179
+ },
109
180
  ];
110
181
  //# sourceMappingURL=sddToolDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sddToolDefinitions.js","sourceRoot":"","sources":["../../../src/infrastructure/mcp/sddToolDefinitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sddToolDefinitions.js","sourceRoot":"","sources":["../../../src/infrastructure/mcp/sddToolDefinitions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const PACKAGE_VERSION = "5.4.0";
1
+ export declare const PACKAGE_VERSION = "5.5.0";
2
2
  export declare const INSTALL_MANIFEST_SCHEMA_VERSION = 2;
3
3
  export declare const INSTALL_RENDERER_VERSION = 5;
@@ -1,4 +1,4 @@
1
- export const PACKAGE_VERSION = '5.4.0';
1
+ export const PACKAGE_VERSION = '5.5.0';
2
2
  export const INSTALL_MANIFEST_SCHEMA_VERSION = 2;
3
3
  export const INSTALL_RENDERER_VERSION = 5;
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-mcp-server",
3
- "version": "5.4.0",
3
+ "version": "5.5.0",
4
4
  "description": "MCP server for spec-driven development workflows across AI-agent CLIs and IDEs",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -13,10 +13,11 @@ Run this skill locally in the current turn. Do not delegate commit, branch, or p
13
13
  1. Inspect repository status and the exact changes to include; preserve unrelated work.
14
14
  2. Confirm the focused tests or checks relevant to those changes passed. Never claim unobserved verification.
15
15
  3. Review the staged diff before committing. Never stage secrets, credentials, generated backups, or unrelated files.
16
- 4. Use the repository's established commit style. Otherwise use an imperative Conventional Commit subject:
16
+ 4. Internally run the JEV `commit` lookup (local, read-only; it never calls JEV) and show its warning line if one is returned. It never blocks, skips hooks, or asks a question.
17
+ 5. Use the repository's established commit style. Otherwise use an imperative Conventional Commit subject:
17
18
  `<type>(<scope>): <subject>`.
18
- 5. Explain why in the body when the subject cannot; record breaking behavior explicitly.
19
- 6. For a pull request, summarize intent, affected behavior, focused test evidence, migration or security impact, and unresolved blockers.
19
+ 6. Explain why in the body when the subject cannot; record breaking behavior explicitly.
20
+ 7. For a pull request, summarize intent, affected behavior, focused test evidence, migration or security impact, and unresolved blockers.
20
21
 
21
22
  Never add `Co-Authored-By:` trailers or "Generated with Claude Code" lines to commit messages or pull request descriptions, even when default attribution guidance asks for them.
22
23
 
@@ -29,7 +29,7 @@ Internally submit the complete Markdown with the exact revision and artifact ide
29
29
 
30
30
  ## Human Gate
31
31
 
32
- When validation passes, ask one explicit question: **“Approve this design?”** Only an unambiguous affirmative answer in this Skill flow permits internal approval of the exact reviewed revision and artifact. Never self-approve. Reread status after approval and report the persisted outcome.
32
+ When validation passes, internally run the JEV `design` check and show its line, if any; it never affects approval. Then ask one explicit question: **“Approve this design?”** Only an unambiguous affirmative answer in this Skill flow permits internal approval of the exact reviewed revision and artifact. Never self-approve. Reread status after approval and report the persisted outcome.
33
33
 
34
34
  ## Specialist Delegation
35
35
 
@@ -16,7 +16,7 @@ Never create a serial specialist or split work to justify agents. Only when proj
16
16
 
17
17
  1. Internally resolve status and load compact implementation context. Requirements, design, tasks, and any required test-case review must be approved.
18
18
  2. If invoked too early or state is blocked, present the persisted blocker and make no workflow or source change.
19
- 3. Internally begin implementation when status requests it. Otherwise follow the returned next action: continue the exact active task, ask the user to select among resumable candidates, or select only a dependency-ready pending task.
19
+ 3. Internally begin implementation when status requests it. Otherwise follow the next action: continue the active task, ask the user to select among resumable candidates, or select only a dependency-ready pending task.
20
20
  4. Read the approved task, acceptance criteria, design interfaces, and relevant steering before editing. Never infer progress from chat or Markdown checkboxes.
21
21
 
22
22
  If the runtime is unavailable because of host permission, report an actionable reload/trust or policy blocker; never substitute manual backend instructions.
@@ -25,12 +25,12 @@ If the runtime is unavailable because of host permission, report an actionable r
25
25
 
26
26
  For each selected task, internally record `start` with the exact implementation revision. Then:
27
27
 
28
- 1. **RED:** for TDD-required work, write a focused observable test and run it to prove the expected failure. Record the observed command, non-zero exit code, and concise summary before production changes.
28
+ 1. **RED:** for TDD-required work, write a focused observable test and run it to prove the expected failure. Before recording, internally run the JEV `red` check and show its line; fix the test first if it reports a setup failure. It never blocks recording. Record the observed command, non-zero exit code, and summary before production changes.
29
29
  2. **GREEN:** implement only enough to pass and run the focused test. Record the observed command, zero exit code, and summary.
30
30
  3. **REFACTOR:** simplify without changing behavior; rerun focused verification.
31
31
  4. **COMPLETE:** run final verification. Only after a zero exit code and all acceptance/security checks, record completion with the observed affected project-relative artifacts.
32
32
 
33
- For `not-applicable` TDD tasks, start, implement, verify, then complete with zero-exit verification evidence. If work cannot continue after start, internally record the blocker and reason; do not fabricate evidence. On resume, continue from persisted `in-progress`, `red-observed`, `green-observed`, or `blocked` state without replaying completed transitions. Reread status after every progress record.
33
+ For `not-applicable` TDD tasks, start, implement, verify, then complete with zero-exit verification evidence. If work cannot continue after start, internally record the blocker and reason; do not fabricate evidence. On resume, continue from the persisted state without replaying completed transitions. Reread status after every progress record.
34
34
 
35
35
  ## Mandatory Checks
36
36
 
@@ -46,4 +46,4 @@ Report persisted task numbers/states, observed affected artifacts, RED/GREEN/fin
46
46
 
47
47
  ## Optional Reference
48
48
 
49
- Read [REFERENCE.md](REFERENCE.md) only when detailed progress examples, SOLID, OWASP, anti-pattern, or completion checklists are needed.
49
+ Read [REFERENCE.md](REFERENCE.md) only for progress examples, SOLID, OWASP, anti-pattern, or completion checklists.
@@ -11,7 +11,7 @@ The user invokes this Skill; all MCP calls below are internal. Never ask the use
11
11
  ## Resolve and Restore
12
12
 
13
13
  1. Internally read status before doing method work.
14
- 2. With a supplied missing feature, internally initialize it from the user's name and complete goal. If clarification is required, present the structured questions, collect answers, and retry initialization. Use the returned canonical feature name.
14
+ 2. With a supplied missing feature, internally initialize it from the user's name and complete goal. If clarification is required, present the structured questions, collect answers, and retry initialization. Use the canonical feature name.
15
15
  3. With no supplied name: ask for a name and goal when no feature exists; resume the sole incomplete feature; when several are incomplete, list them and ask the user to select. Never infer identity from process memory.
16
16
  4. Load compact approved context. For a failed or unapproved requirements revision, load that draft only with full mode and explicit unapproved inclusion.
17
17
  5. If status reports an observed artifact identity for an orphan or manual edit, read that exact requirements file before revising. Never acknowledge its hash without inspecting and deliberately incorporating or replacing its content.
@@ -25,14 +25,14 @@ If durable state reports a conflict or host permission failure, present an actio
25
25
  - `**Objective:** ...`
26
26
  - `**EARS Specification:** ... SHALL ...`
27
27
  - `**Acceptance Criteria:** 1. ...` with at least one numbered item on the same line.
28
- 3. Replace ambiguous words with observable bounds. Include security, privacy, accessibility, compatibility, errors, and performance only when relevant.
29
- 4. Check completeness, consistency, feasibility, traceability, and testability; run gap analysis internally when existing code is in scope.
28
+ 3. Replace ambiguous words with observable bounds. Add security, privacy, accessibility, compatibility, errors, and performance only when relevant.
29
+ 4. Check completeness, consistency, feasibility, traceability, and testability; run gap analysis when existing code is in scope.
30
30
 
31
- Internally submit the complete Markdown with the exact revision and artifact identity last observed. Submission, not direct file editing, is the canonical write. Present the saved path and a concise validation result. A failed validation is a durable draft: revise it using the observed draft content and identity; do not request approval.
31
+ Internally submit the complete Markdown with the exact revision and artifact identity last observed. Submission, not direct file editing, is the canonical write. Present the saved path and validation result. A failed validation is a durable draft: revise it using the observed draft and identity; do not request approval.
32
32
 
33
33
  ## Human Gate
34
34
 
35
- When validation passes, ask one explicit question: **“Approve these requirements?”** Only an unambiguous affirmative answer in this Skill flow permits the internal approval call for the exact reviewed revision and artifact. Never self-approve or treat host tool permission as approval. After approval, reread status and report the persisted outcome.
35
+ When validation passes, internally run the JEV `requirements` check and show its line, if any; it never affects approval. Then ask one explicit question: **“Approve these requirements?”** Only an unambiguous affirmative answer in this Skill flow permits the internal approval call for the exact reviewed revision and artifact. Never self-approve or treat host tool permission as approval. After approval, reread status and report the persisted outcome.
36
36
 
37
37
  ## Specialist Delegation
38
38
 
@@ -40,7 +40,7 @@ Target renderers provide the `planner` route. When a native advisor is required,
40
40
 
41
41
  ## Output
42
42
 
43
- Return the canonical saved path, key scope decisions, concise validation evidence, the approval question or persisted approval, and durable blockers. Do not present raw MCP operations as next steps. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
43
+ Return the canonical saved path, scope decisions, validation evidence, the approval question or persisted approval, and durable blockers. Do not present raw MCP operations as next steps. Execution report: mode (inline|project-agent; asked|reused|not offered), agents started and whether parallel, configured model/effort per agent (never claim unobserved values), and any fallback to the parent.
44
44
 
45
45
  ## Optional Reference
46
46