@tienne/gestalt 0.7.0 → 0.8.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 (90) hide show
  1. package/CLAUDE.md +13 -2
  2. package/README.ko.md +115 -3
  3. package/README.md +142 -11
  4. package/dist/package.json +1 -1
  5. package/dist/src/core/types.d.ts +85 -0
  6. package/dist/src/core/types.d.ts.map +1 -1
  7. package/dist/src/execute/audit-engine.d.ts +20 -0
  8. package/dist/src/execute/audit-engine.d.ts.map +1 -0
  9. package/dist/src/execute/audit-engine.js +49 -0
  10. package/dist/src/execute/audit-engine.js.map +1 -0
  11. package/dist/src/execute/parallel-groups.d.ts +9 -0
  12. package/dist/src/execute/parallel-groups.d.ts.map +1 -0
  13. package/dist/src/execute/parallel-groups.js +39 -0
  14. package/dist/src/execute/parallel-groups.js.map +1 -0
  15. package/dist/src/execute/passthrough-engine.d.ts +2 -0
  16. package/dist/src/execute/passthrough-engine.d.ts.map +1 -1
  17. package/dist/src/execute/passthrough-engine.js +6 -0
  18. package/dist/src/execute/passthrough-engine.js.map +1 -1
  19. package/dist/src/execute/repository.d.ts.map +1 -1
  20. package/dist/src/execute/repository.js +3 -0
  21. package/dist/src/execute/repository.js.map +1 -1
  22. package/dist/src/execute/session.d.ts +3 -1
  23. package/dist/src/execute/session.d.ts.map +1 -1
  24. package/dist/src/execute/session.js +31 -0
  25. package/dist/src/execute/session.js.map +1 -1
  26. package/dist/src/interview/context-compressor.d.ts +17 -0
  27. package/dist/src/interview/context-compressor.d.ts.map +1 -0
  28. package/dist/src/interview/context-compressor.js +40 -0
  29. package/dist/src/interview/context-compressor.js.map +1 -0
  30. package/dist/src/interview/mini-interview-engine.d.ts +33 -0
  31. package/dist/src/interview/mini-interview-engine.d.ts.map +1 -0
  32. package/dist/src/interview/mini-interview-engine.js +103 -0
  33. package/dist/src/interview/mini-interview-engine.js.map +1 -0
  34. package/dist/src/interview/passthrough-engine.d.ts +7 -0
  35. package/dist/src/interview/passthrough-engine.d.ts.map +1 -1
  36. package/dist/src/interview/passthrough-engine.js +15 -1
  37. package/dist/src/interview/passthrough-engine.js.map +1 -1
  38. package/dist/src/interview/session.d.ts +2 -1
  39. package/dist/src/interview/session.d.ts.map +1 -1
  40. package/dist/src/interview/session.js +5 -0
  41. package/dist/src/interview/session.js.map +1 -1
  42. package/dist/src/mcp/schemas.d.ts +75 -9
  43. package/dist/src/mcp/schemas.d.ts.map +1 -1
  44. package/dist/src/mcp/schemas.js +24 -2
  45. package/dist/src/mcp/schemas.js.map +1 -1
  46. package/dist/src/mcp/server.d.ts.map +1 -1
  47. package/dist/src/mcp/server.js +5 -2
  48. package/dist/src/mcp/server.js.map +1 -1
  49. package/dist/src/mcp/tools/execute-passthrough.d.ts.map +1 -1
  50. package/dist/src/mcp/tools/execute-passthrough.js +174 -1
  51. package/dist/src/mcp/tools/execute-passthrough.js.map +1 -1
  52. package/dist/src/mcp/tools/interview-passthrough.d.ts.map +1 -1
  53. package/dist/src/mcp/tools/interview-passthrough.js +45 -2
  54. package/dist/src/mcp/tools/interview-passthrough.js.map +1 -1
  55. package/dist/src/mcp/tools/interview.d.ts.map +1 -1
  56. package/dist/src/mcp/tools/interview.js +8 -0
  57. package/dist/src/mcp/tools/interview.js.map +1 -1
  58. package/dist/src/mcp/tools/spec-passthrough.d.ts +2 -1
  59. package/dist/src/mcp/tools/spec-passthrough.d.ts.map +1 -1
  60. package/dist/src/mcp/tools/spec-passthrough.js +54 -3
  61. package/dist/src/mcp/tools/spec-passthrough.js.map +1 -1
  62. package/dist/src/mcp/tools/spec.d.ts.map +1 -1
  63. package/dist/src/mcp/tools/spec.js +2 -0
  64. package/dist/src/mcp/tools/spec.js.map +1 -1
  65. package/dist/src/memory/memory-context-injector.d.ts +26 -0
  66. package/dist/src/memory/memory-context-injector.d.ts.map +1 -0
  67. package/dist/src/memory/memory-context-injector.js +67 -0
  68. package/dist/src/memory/memory-context-injector.js.map +1 -0
  69. package/dist/src/memory/project-memory-store.d.ts +14 -0
  70. package/dist/src/memory/project-memory-store.d.ts.map +1 -0
  71. package/dist/src/memory/project-memory-store.js +105 -0
  72. package/dist/src/memory/project-memory-store.js.map +1 -0
  73. package/dist/src/memory/user-profile-store.d.ts +13 -0
  74. package/dist/src/memory/user-profile-store.d.ts.map +1 -0
  75. package/dist/src/memory/user-profile-store.js +89 -0
  76. package/dist/src/memory/user-profile-store.js.map +1 -0
  77. package/dist/src/spec/passthrough-generator.d.ts +2 -0
  78. package/dist/src/spec/passthrough-generator.d.ts.map +1 -1
  79. package/dist/src/spec/passthrough-generator.js +34 -0
  80. package/dist/src/spec/passthrough-generator.js.map +1 -1
  81. package/dist/src/spec/templates.d.ts +12 -0
  82. package/dist/src/spec/templates.d.ts.map +1 -0
  83. package/dist/src/spec/templates.js +103 -0
  84. package/dist/src/spec/templates.js.map +1 -0
  85. package/dist/src/spec/text-based-spec-generator.d.ts +15 -0
  86. package/dist/src/spec/text-based-spec-generator.d.ts.map +1 -0
  87. package/dist/src/spec/text-based-spec-generator.js +63 -0
  88. package/dist/src/spec/text-based-spec-generator.js.map +1 -0
  89. package/package.json +1 -1
  90. package/README.backup.md +0 -442
package/CLAUDE.md CHANGED
@@ -84,7 +84,7 @@ interface GestaltConfig {
84
84
 
85
85
  ## MCP Tools
86
86
  - `ges_interview`: action=[start|respond|score|complete]
87
- - `ges_generate_spec`: sessionId, force?
87
+ - `ges_generate_spec`: sessionId? (optional), text? (optional), force?, spec? (passthrough)
88
88
  - `ges_execute`: action=[start|plan_step|plan_complete|execute_start|execute_task|evaluate|status|evolve_fix|evolve|evolve_patch|evolve_re_execute|evolve_lateral|evolve_lateral_result|role_match|role_consensus]
89
89
  - `ges_create_agent`: action=[start|submit] — 인터뷰 기반 커스텀 Role Agent 생성
90
90
  - `ges_status`: sessionId?
@@ -159,8 +159,18 @@ ges_interview({ action: "complete", sessionId: "<id>" })
159
159
  ```
160
160
 
161
161
  **Step 6: Spec 생성 (2단계)**
162
+
163
+ 두 가지 입력 경로 중 하나를 선택한다.
164
+
162
165
  ```
163
- // 6a: specContext 요청
166
+ // Text-based 경로 (인터뷰 불필요)
167
+ ges_generate_spec({ text: "..." })
168
+ → specContext (systemPrompt, specPrompt) 반환
169
+
170
+ ges_generate_spec({ text: "...", spec: {...} })
171
+ → Zod 검증 후 최종 Spec 반환 + .gestalt/memory.json 자동 업데이트
172
+
173
+ // Interview 기반 경로 (6a: specContext 요청)
164
174
  ges_generate_spec({ sessionId: "<id>" })
165
175
  → specContext (systemPrompt, specPrompt, allRounds) 반환
166
176
 
@@ -346,6 +356,7 @@ ges_execute({ action: "role_consensus", sessionId: "<id>", consensus: {...} })
346
356
  - Spec의 `gestaltAnalysis[].principle`은 enum: `closure | proximity | similarity | figure_ground | continuity`
347
357
  - `ontologySchema.entities[]`: `{ name, description, attributes[] }`
348
358
  - `ontologySchema.relations[]`: `{ from, to, type }`
359
+ - text-based 경로: `sessionId` 불필요, 생성된 spec의 `interviewSessionId`는 `"text-input"`으로 설정
349
360
 
350
361
  ## Project Structure
351
362
  - `src/core/` — types, errors, Result monad, config, constants
package/README.ko.md CHANGED
@@ -94,6 +94,26 @@ Claude Code
94
94
 
95
95
  ---
96
96
 
97
+ ## Project Memory
98
+
99
+ Spec과 실행 결과는 레포 루트의 `.gestalt/memory.json`에 자동으로 기록돼요.
100
+
101
+ ```json
102
+ {
103
+ "specHistory": [
104
+ { "specId": "...", "goal": "Build a user auth system", "sourceType": "text" }
105
+ ],
106
+ "executionHistory": [],
107
+ "architectureDecisions": []
108
+ }
109
+ ```
110
+
111
+ - **커밋하세요** — `.gestalt/memory.json`은 일반 JSON 파일이에요. 커밋하면 팀원도 `git pull` 후 이전 결정 사항을 그대로 이어받을 수 있어요.
112
+ - **컨텍스트 주입** — 다음 Spec을 생성할 때 이전 목표와 아키텍처 결정 사항이 프롬프트에 자동으로 주입돼요.
113
+ - **User Profile** — 개인 설정은 `~/.gestalt/profile.json`에 저장되며 커밋 대상에 포함되지 않아요.
114
+
115
+ ---
116
+
97
117
  ## 설치
98
118
 
99
119
  ### 옵션 1: Claude Code 플러그인 (권장)
@@ -188,11 +208,43 @@ claude mcp add gestalt -- npx -y @tienne/gestalt
188
208
  8라운드 → 모호성: 0.19 ✓ Spec 생성 준비 완료
189
209
  ```
190
210
 
211
+ #### 인터뷰가 길어질 때 (Context Compression)
212
+
213
+ 라운드가 5개를 초과하면 Gestalt가 자동으로 압축을 제안해요. `compress` action을 사용하면 이전 대화를 요약해 컨텍스트를 줄일 수 있어요:
214
+
215
+ ```
216
+ 1. respond 응답에 needsCompression: true + compressionContext 포함
217
+ 2. ges_interview({ action: "compress", sessionId }) → compressionContext 반환
218
+ 3. caller가 요약 생성 후 제출 → 세션에 저장
219
+ ```
220
+
221
+ 이후 라운드에서는 압축된 요약이 자동으로 주입돼요.
222
+
191
223
  ---
192
224
 
193
225
  ### 2단계 — Spec 생성
194
226
 
195
- 모호성 점수가 0.2에 도달하면 실행하세요:
227
+ **옵션 A 텍스트로 바로 생성 (인터뷰 불필요):**
228
+
229
+ ```bash
230
+ ges_generate_spec({ text: "Stripe로 결제 플로우 구현" })
231
+ ```
232
+
233
+ **옵션 A-2 — 내장 템플릿 사용:**
234
+
235
+ 3가지 내장 템플릿으로 빠르게 시작할 수 있어요:
236
+
237
+ | 템플릿 ID | 설명 |
238
+ |-----------|------|
239
+ | `rest-api` | REST API 서버 (인증, CRUD, OpenAPI) |
240
+ | `react-dashboard` | React 대시보드 앱 (차트, 필터, 반응형) |
241
+ | `cli-tool` | CLI 도구 (서브커맨드, 설정, 배포) |
242
+
243
+ ```bash
244
+ ges_generate_spec({ text: "JWT 인증이 포함된 API", template: "rest-api" })
245
+ ```
246
+
247
+ **옵션 B — 완료된 인터뷰에서 생성:**
196
248
 
197
249
  ```bash
198
250
  /spec
@@ -233,6 +285,62 @@ Spec을 의존성 기반 실행 계획으로 변환하고 실행해요:
233
285
  - Jaccard 유사도 기반 측정
234
286
  - Threshold를 초과하면 소급 검토가 자동으로 시작돼요
235
287
 
288
+ #### 병렬 실행 (Parallel Groups)
289
+
290
+ `plan_complete` 응답에 `parallelGroups: string[][]`이 포함돼요. 의존성이 없는 태스크는 같은 그룹에 배치되어 동시 실행할 수 있어요:
291
+
292
+ ```json
293
+ "parallelGroups": [
294
+ ["setup-db", "setup-env"], // 동시 실행 가능
295
+ ["create-schema"], // 위 그룹 완료 후 실행
296
+ ["seed-data", "run-tests"] // 동시 실행 가능
297
+ ]
298
+ ```
299
+
300
+ #### 실행 이어하기 (Resume)
301
+
302
+ 실행 중 세션이 중단되어도 이어서 계속할 수 있어요:
303
+
304
+ ```bash
305
+ ges_execute({ action: "resume", sessionId: "<id>" })
306
+ ```
307
+
308
+ `ResumeContext`를 반환해요: 완료된 태스크 목록, 다음 태스크, 진행률(%). `ges_status` 응답에도 `resumeContext`가 자동으로 포함돼요.
309
+
310
+ #### Brownfield 감사 (Audit)
311
+
312
+ 기존 코드베이스가 있을 때 Spec 대비 구현 현황을 분석할 수 있어요:
313
+
314
+ ```bash
315
+ # 1단계: 감사 컨텍스트 요청
316
+ ges_execute({ action: "audit", sessionId: "<id>" })
317
+ → auditContext (systemPrompt, auditPrompt) 반환
318
+
319
+ # 2단계: 코드베이스 스냅샷 + 감사 결과 제출
320
+ ges_execute({
321
+ action: "audit",
322
+ sessionId: "<id>",
323
+ codebaseSnapshot: "...",
324
+ auditResult: { implementedACs: [0,2], partialACs: [1], missingACs: [3], gapAnalysis: "..." }
325
+ })
326
+ ```
327
+
328
+ #### Sub-agent 스포닝 (Spawn)
329
+
330
+ 복잡한 태스크를 동적으로 하위 태스크로 분해할 수 있어요:
331
+
332
+ ```bash
333
+ ges_execute({
334
+ action: "spawn",
335
+ sessionId: "<id>",
336
+ parentTaskId: "task-3",
337
+ subTasks: [
338
+ { title: "DB 스키마 작성", description: "..." },
339
+ { title: "마이그레이션 실행", description: "...", dependsOn: ["spawned-<id>"] }
340
+ ]
341
+ })
342
+ ```
343
+
236
344
  ---
237
345
 
238
346
  ### 4단계 — Evaluate (평가)
@@ -455,15 +563,19 @@ Claude Code
455
563
  │ Interview Engine │
456
564
  │ ├─ GestaltPrincipleSelector │
457
565
  │ ├─ AmbiguityScorer │
458
- └─ SessionManager │
566
+ ├─ SessionManager │
567
+ │ └─ ContextCompressor │
459
568
  │ │
460
569
  │ Spec Generator │
461
- └─ PassthroughSpecGenerator │
570
+ ├─ PassthroughSpecGenerator │
571
+ │ └─ SpecTemplateRegistry │
462
572
  │ │
463
573
  │ Execute Engine │
464
574
  │ ├─ DAG Validator │
575
+ │ ├─ ParallelGroupsCalculator │
465
576
  │ ├─ DriftDetector │
466
577
  │ ├─ EvaluationEngine │
578
+ │ ├─ AuditEngine │
467
579
  │ └─ ExecuteSessionManager │
468
580
  │ │
469
581
  │ Resilience Engine │
package/README.md CHANGED
@@ -27,22 +27,41 @@ Gestalt is an MCP (Model Context Protocol) server that runs inside Claude Code.
27
27
 
28
28
  ---
29
29
 
30
- ## See it in action
30
+ ## Quick Start
31
31
 
32
- > **30 seconds to a structured execution plan** — no API key needed.
32
+ **Choose your path:**
33
+
34
+ ### For Non-Developers (Claude Desktop)
35
+
36
+ No terminal. No API key. Just Claude Desktop.
37
+
38
+ → **[5-minute Getting Started Guide](./docs/getting-started.md)**
39
+
40
+ 1. Open Claude Desktop
41
+ 2. Install the Gestalt plugin
42
+ 3. Type `/interview "your idea"` — Gestalt guides you through the rest
43
+
44
+ ---
45
+
46
+ ### For Developers (MCP Integration)
33
47
 
34
48
  ```bash
35
- # Start a Gestalt-driven requirements interview
36
- /interview "user authentication system"
49
+ # Step 1: Add to marketplace (one-time setup)
50
+ /plugin marketplace add tienne/gestalt
37
51
 
38
- # Once the interview is done, generate a structured Spec
39
- /spec
52
+ # Step 2: Install the plugin
53
+ /plugin install gestalt@gestalt
54
+ ```
55
+
56
+ Then in any Claude Code session:
40
57
 
41
- # Transform the Spec into a validated execution plan and run it
58
+ ```bash
59
+ /interview "user authentication system"
60
+ /spec
42
61
  /execute
43
62
  ```
44
63
 
45
- _(Demo coming soon.)_
64
+ **[Full MCP Reference](./docs/mcp-reference.md)** — all tools, parameters, and examples
46
65
 
47
66
  ---
48
67
 
@@ -89,6 +108,26 @@ You (in Claude Code)
89
108
 
90
109
  ---
91
110
 
111
+ ## Project Memory
112
+
113
+ Every spec and execution result is automatically recorded in `.gestalt/memory.json` at your repo root.
114
+
115
+ ```json
116
+ {
117
+ "specHistory": [
118
+ { "specId": "...", "goal": "Build a user auth system", "sourceType": "text" }
119
+ ],
120
+ "executionHistory": [],
121
+ "architectureDecisions": []
122
+ }
123
+ ```
124
+
125
+ - **Commit it** — `.gestalt/memory.json` is plain JSON. Commit it and teammates inherit all prior decisions on `git pull`.
126
+ - **Context injection** — When generating the next spec, prior goals and architecture decisions are automatically injected into the prompt.
127
+ - **User profile** — Personal preferences are stored in `~/.gestalt/profile.json` and are never committed.
128
+
129
+ ---
130
+
92
131
  ## Installation
93
132
 
94
133
  ### Option 1: Claude Code Plugin (Recommended)
@@ -183,11 +222,43 @@ Round 4 → ambiguity: 0.45 (getting clearer)
183
222
  Round 8 → ambiguity: 0.19 ✓ ready for Spec
184
223
  ```
185
224
 
225
+ #### Long interviews: Context Compression
226
+
227
+ When rounds exceed 5, Gestalt automatically signals that compression is available. Use the `compress` action to summarize earlier rounds and keep the context window lean:
228
+
229
+ ```
230
+ 1. respond returns needsCompression: true + compressionContext
231
+ 2. ges_interview({ action: "compress", sessionId }) → compressionContext
232
+ 3. Caller generates summary → submits it → stored in session
233
+ ```
234
+
235
+ The compressed summary is automatically injected into all subsequent rounds.
236
+
186
237
  ---
187
238
 
188
239
  ### Step 2 — Spec Generation
189
240
 
190
- When the ambiguity score reaches 0.2, run:
241
+ **Option A From text (no interview required):**
242
+
243
+ ```bash
244
+ ges_generate_spec({ text: "Build a checkout flow with Stripe" })
245
+ ```
246
+
247
+ **Option A-2 — With a built-in template:**
248
+
249
+ Three starter templates pre-fill common constraints and acceptance criteria:
250
+
251
+ | Template ID | Description |
252
+ |-------------|-------------|
253
+ | `rest-api` | REST API server with auth, CRUD, and OpenAPI |
254
+ | `react-dashboard` | React dashboard with charts, filters, and responsive layout |
255
+ | `cli-tool` | CLI tool with subcommands, config, and distribution |
256
+
257
+ ```bash
258
+ ges_generate_spec({ text: "API with JWT authentication", template: "rest-api" })
259
+ ```
260
+
261
+ **Option B — From a completed interview:**
191
262
 
192
263
  ```bash
193
264
  /spec
@@ -228,6 +299,62 @@ Transforms the Spec into a dependency-aware execution plan and runs it:
228
299
  - Jaccard similarity-based measurement
229
300
  - Auto-triggers a retrospective when drift exceeds threshold
230
301
 
302
+ #### Parallel execution groups
303
+
304
+ The `plan_complete` response includes `parallelGroups: string[][]`. Tasks with no mutual dependencies land in the same group and can be executed concurrently:
305
+
306
+ ```json
307
+ "parallelGroups": [
308
+ ["setup-db", "setup-env"], // run in parallel
309
+ ["create-schema"], // after group above
310
+ ["seed-data", "run-tests"] // run in parallel
311
+ ]
312
+ ```
313
+
314
+ #### Resuming an interrupted execution
315
+
316
+ Pick up where you left off when a session is interrupted:
317
+
318
+ ```bash
319
+ ges_execute({ action: "resume", sessionId: "<id>" })
320
+ ```
321
+
322
+ Returns `ResumeContext`: completed task IDs, next task, and `progressPercent`. The `ges_status` response also includes `resumeContext` automatically for any executing session.
323
+
324
+ #### Brownfield audit
325
+
326
+ When a codebase already exists, audit it against the Spec before executing new tasks:
327
+
328
+ ```bash
329
+ # Step 1: request audit context
330
+ ges_execute({ action: "audit", sessionId: "<id>" })
331
+ → auditContext (systemPrompt, auditPrompt)
332
+
333
+ # Step 2: submit codebase snapshot + audit result
334
+ ges_execute({
335
+ action: "audit",
336
+ sessionId: "<id>",
337
+ codebaseSnapshot: "...",
338
+ auditResult: { implementedACs: [0,2], partialACs: [1], missingACs: [3], gapAnalysis: "..." }
339
+ })
340
+ ```
341
+
342
+ #### Sub-agent spawning
343
+
344
+ Decompose a complex task into sub-tasks dynamically during execution:
345
+
346
+ ```bash
347
+ ges_execute({
348
+ action: "spawn",
349
+ sessionId: "<id>",
350
+ parentTaskId: "task-3",
351
+ subTasks: [
352
+ { title: "Write DB schema", description: "..." },
353
+ { title: "Run migration", description: "...", dependsOn: ["spawned-<id>"] }
354
+ ]
355
+ })
356
+ ```
357
+
231
358
  ---
232
359
 
233
360
  ### Step 4 — Evaluate
@@ -448,15 +575,19 @@ Claude Code (you)
448
575
  │ Interview Engine │
449
576
  │ ├─ GestaltPrincipleSelector │
450
577
  │ ├─ AmbiguityScorer │
451
- └─ SessionManager │
578
+ ├─ SessionManager │
579
+ │ └─ ContextCompressor │
452
580
  │ │
453
581
  │ Spec Generator │
454
- └─ PassthroughSpecGenerator │
582
+ ├─ PassthroughSpecGenerator │
583
+ │ └─ SpecTemplateRegistry │
455
584
  │ │
456
585
  │ Execute Engine │
457
586
  │ ├─ DAG Validator │
587
+ │ ├─ ParallelGroupsCalculator │
458
588
  │ ├─ DriftDetector │
459
589
  │ ├─ EvaluationEngine │
590
+ │ ├─ AuditEngine │
460
591
  │ └─ ExecuteSessionManager │
461
592
  │ │
462
593
  │ Resilience Engine │
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -35,6 +35,11 @@ export interface InterviewRound {
35
35
  gestaltFocus: GestaltPrinciple;
36
36
  timestamp: string;
37
37
  }
38
+ export interface CompressedContext {
39
+ summary: string;
40
+ compressedAt: string;
41
+ roundsCompressed: number;
42
+ }
38
43
  export interface InterviewSession {
39
44
  sessionId: string;
40
45
  topic: string;
@@ -42,6 +47,7 @@ export interface InterviewSession {
42
47
  projectType: ProjectType;
43
48
  rounds: InterviewRound[];
44
49
  ambiguityScore: AmbiguityScore | null;
50
+ compressedContext?: CompressedContext;
45
51
  createdAt: string;
46
52
  updatedAt: string;
47
53
  }
@@ -151,6 +157,7 @@ export interface ExecutionPlan {
151
157
  atomicTasks: AtomicTask[];
152
158
  taskGroups: TaskGroup[];
153
159
  dagValidation: DAGValidation;
160
+ parallelGroups: string[][];
154
161
  createdAt: string;
155
162
  }
156
163
  export type TaskExecutionStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'skipped';
@@ -241,6 +248,29 @@ export interface EvolutionGeneration {
241
248
  delta: SpecDelta;
242
249
  terminationReason?: TerminationReason;
243
250
  }
251
+ export interface ResumeContext {
252
+ completedTaskIds: string[];
253
+ nextTaskId: string | null;
254
+ totalTasks: number;
255
+ progressPercent: number;
256
+ }
257
+ export interface AuditResult {
258
+ implementedACs: number[];
259
+ partialACs: number[];
260
+ missingACs: number[];
261
+ gapAnalysis: string;
262
+ auditedAt: string;
263
+ }
264
+ export interface SubTask {
265
+ taskId: string;
266
+ parentTaskId: string;
267
+ title: string;
268
+ description: string;
269
+ inheritedContext: string;
270
+ dependsOn: string[];
271
+ status: 'pending' | 'in_progress' | 'completed' | 'failed';
272
+ createdAt: string;
273
+ }
244
274
  export interface ExecuteSession {
245
275
  sessionId: string;
246
276
  specId: string;
@@ -250,6 +280,10 @@ export interface ExecuteSession {
250
280
  planningSteps: PlanningStepResult[];
251
281
  executionPlan?: ExecutionPlan;
252
282
  taskResults: TaskExecutionResult[];
283
+ completedTaskIds: string[];
284
+ nextTaskId: string | null;
285
+ subTasks: SubTask[];
286
+ auditResult?: AuditResult;
253
287
  evaluateStage?: EvaluateStage;
254
288
  structuralResult?: StructuralResult;
255
289
  evaluationResult?: EvaluationResult;
@@ -357,6 +391,57 @@ export interface ReviewSession {
357
391
  createdAt: string;
358
392
  updatedAt: string;
359
393
  }
394
+ export interface SpecTemplate {
395
+ id: string;
396
+ name: string;
397
+ description: string;
398
+ baseConstraints: string[];
399
+ baseAcceptanceCriteria: string[];
400
+ baseOntologyEntities: string[];
401
+ }
402
+ export type TextInputSourceType = 'text' | 'jira' | 'github_issue';
403
+ export interface TextInputSource {
404
+ type: TextInputSourceType;
405
+ content: string;
406
+ metadata?: Record<string, unknown>;
407
+ }
408
+ export interface SpecHistoryEntry {
409
+ specId: string;
410
+ goal: string;
411
+ createdAt: string;
412
+ interviewSessionId?: string;
413
+ sourceType: TextInputSourceType | 'interview';
414
+ }
415
+ export interface MemoryExecutionRecord {
416
+ executeSessionId: string;
417
+ specId: string;
418
+ completedTasks: string[];
419
+ failedTasks: string[];
420
+ resultSummary: string;
421
+ completedAt: string;
422
+ }
423
+ export interface CompressedContextEntry {
424
+ sessionId: string;
425
+ summary: string;
426
+ compressedAt: string;
427
+ }
428
+ export interface ProjectMemory {
429
+ version: string;
430
+ repoRoot: string;
431
+ specHistory: SpecHistoryEntry[];
432
+ executionHistory: MemoryExecutionRecord[];
433
+ architectureDecisions: string[];
434
+ compressedContexts?: CompressedContextEntry[];
435
+ lastUpdated: string;
436
+ }
437
+ export interface UserProfile {
438
+ userId?: string;
439
+ preferredModel?: string;
440
+ crossRepoPatterns: string[];
441
+ personalPreferences: Record<string, unknown>;
442
+ createdAt: string;
443
+ updatedAt: string;
444
+ }
360
445
  export interface DomainEvent<T = unknown> {
361
446
  id: string;
362
447
  aggregateType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Spec, AuditResult } from '../core/types.js';
2
+ export interface AuditContext {
3
+ systemPrompt: string;
4
+ auditPrompt: string;
5
+ }
6
+ /**
7
+ * Passthrough AuditEngine.
8
+ * 코드베이스를 분석하여 Spec ACs와의 gap을 식별한다.
9
+ * LLM 없이 동작하며, caller가 auditPrompt를 사용해 분석 후 결과를 제출한다.
10
+ */
11
+ export declare class AuditEngine {
12
+ buildAuditContext(spec: Spec, codebaseSnapshot: string): AuditContext;
13
+ buildAuditResult(raw: {
14
+ implementedACs: number[];
15
+ partialACs: number[];
16
+ missingACs: number[];
17
+ gapAnalysis: string;
18
+ }): AuditResult;
19
+ }
20
+ //# sourceMappingURL=audit-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-engine.d.ts","sourceRoot":"","sources":["../../../src/execute/audit-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACtB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAG,YAAY;IAoCrE,gBAAgB,CACd,GAAG,EAAE;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GACjG,WAAW;CASf"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Passthrough AuditEngine.
3
+ * 코드베이스를 분석하여 Spec ACs와의 gap을 식별한다.
4
+ * LLM 없이 동작하며, caller가 auditPrompt를 사용해 분석 후 결과를 제출한다.
5
+ */
6
+ export class AuditEngine {
7
+ buildAuditContext(spec, codebaseSnapshot) {
8
+ const systemPrompt = `You are a senior software engineer auditing a codebase against a project specification.
9
+ Your task is to determine which Acceptance Criteria (ACs) are fully implemented, partially implemented, or missing entirely.
10
+ Be precise: only classify an AC as "implemented" if you can see clear evidence in the code. Be conservative.`;
11
+ const acList = spec.acceptanceCriteria
12
+ .map((ac, i) => `AC[${i}]: ${ac}`)
13
+ .join('\n');
14
+ const auditPrompt = `Audit the following codebase snapshot against the project specification.
15
+
16
+ ## Spec Goal
17
+ ${spec.goal}
18
+
19
+ ## Acceptance Criteria
20
+ ${acList}
21
+
22
+ ## Codebase Snapshot
23
+ ${codebaseSnapshot}
24
+
25
+ Classify each AC index as one of:
26
+ - "implemented": Clear evidence in the code that this AC is satisfied
27
+ - "partial": Some implementation exists but incomplete or missing edge cases
28
+ - "missing": No implementation found
29
+
30
+ Respond with ONLY a JSON object:
31
+ {
32
+ "implementedACs": [0, 2],
33
+ "partialACs": [1, 4],
34
+ "missingACs": [3, 5],
35
+ "gapAnalysis": "Summary of what's missing and the most critical gaps to address"
36
+ }`;
37
+ return { systemPrompt, auditPrompt };
38
+ }
39
+ buildAuditResult(raw) {
40
+ return {
41
+ implementedACs: raw.implementedACs,
42
+ partialACs: raw.partialACs,
43
+ missingACs: raw.missingACs,
44
+ gapAnalysis: raw.gapAnalysis,
45
+ auditedAt: new Date().toISOString(),
46
+ };
47
+ }
48
+ }
49
+ //# sourceMappingURL=audit-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-engine.js","sourceRoot":"","sources":["../../../src/execute/audit-engine.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACtB,iBAAiB,CAAC,IAAU,EAAE,gBAAwB;QACpD,MAAM,YAAY,GAAG;;6GAEoF,CAAC;QAE1G,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB;aACnC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;aACjC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,WAAW,GAAG;;;EAGtB,IAAI,CAAC,IAAI;;;EAGT,MAAM;;;EAGN,gBAAgB;;;;;;;;;;;;;EAahB,CAAC;QAEC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,gBAAgB,CACd,GAAkG;QAElG,OAAO;YACL,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { AtomicTask } from '../core/types.js';
2
+ /**
3
+ * DAG 위상 정렬 기반으로 병렬 실행 가능한 태스크 그룹을 계산한다.
4
+ * 동일 레이어의 태스크들은 의존성이 없어 동시에 실행 가능하다.
5
+ *
6
+ * @returns string[][] — 각 배열이 동시 실행 가능한 태스크 ID 목록
7
+ */
8
+ export declare function computeParallelGroups(tasks: AtomicTask[], topologicalOrder: string[]): string[][];
9
+ //# sourceMappingURL=parallel-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-groups.d.ts","sourceRoot":"","sources":["../../../src/execute/parallel-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EAAE,EACnB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,EAAE,CAiCZ"}