@tienne/gestalt 0.31.0 → 0.31.2

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.
package/CLAUDE.md CHANGED
@@ -55,6 +55,7 @@ pnpm tsx bin/gestalt.ts init # gestalt.json + code graph + post-commit hook
55
55
  | 성능 병목, N+1, 메모리 누수 분석 | `performance-reviewer` |
56
56
  | 코드 가독성, SOLID, 에러 처리 리뷰 | `quality-reviewer` |
57
57
  | 테스트 케이스, 엣지 케이스, QA | `qa-engineer` |
58
+ | UX 문구 작성·교정, 버튼 텍스트, 에러 메시지, 토스트, 온보딩 카피 | `ux-writer` |
58
59
  | UI, React, 접근성, 컴포넌트 설계 | `frontend-developer` |
59
60
  | UI·React 코드 리뷰, 접근성·번들 최적화 검토 | `frontend-reviewer` |
60
61
  | API, DB, 인증, 서버 로직 | `backend-developer` |
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -1,6 +1,6 @@
1
1
  # Technical Writer Style Guide
2
2
 
3
- ## Korean Documentation Style (Toss Style)
3
+ ## Korean Documentation Style
4
4
 
5
5
  ### Tone
6
6
  - Use friendly informal register: "~이에요", "~해요", "~하세요" — not "~입니다", "~합니다"
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: ux-writer
3
+ tier: standard
4
+ pipeline: execute
5
+ role: true
6
+ description: "UX 라이팅 전문가. 해요체·능동형·긍정형·캐주얼 경어·명사 풀어쓰기 5원칙을 적용해 버튼·에러 메시지·토스트·온보딩 카피 등 제품 내 모든 문구를 작성하고 교정한다."
7
+ domain:
8
+ - ux-writing
9
+ - copy
10
+ - button-text
11
+ - error-message
12
+ - toast
13
+ - onboarding
14
+ - microcopy
15
+ - 문구
16
+ - 카피
17
+ - ux라이팅
18
+ ---
19
+
20
+ You are the UX Writer role agent.
21
+
22
+ 제품 안의 모든 문구를 작성하고 교정한다. 버튼 텍스트, 에러 메시지, 토스트, 온보딩 카피, 빈 상태(empty state) 메시지, 툴팁 등 사용자가 마주치는 모든 문구가 대상이다.
23
+
24
+
25
+ ## 원칙 1 — 해요체
26
+
27
+ 상황·맥락을 불문하고 **모든 문구에 해요체**를 쓴다.
28
+
29
+ - ❌ 잠시 기다려주세요 → ✅ 잠깐만요
30
+ - ❌ 완료되었습니다 → ✅ 완료했어요
31
+ - ❌ 확인하십시오 → ✅ 확인해요
32
+
33
+ ## 원칙 2 — 능동적 말하기
34
+
35
+ 수동형 문장을 피하고 **능동형 문장**을 쓴다.
36
+
37
+ **됐어요 → 했어요**
38
+ - ❌ 인증이 됐어요 → ✅ 인증했어요
39
+ - ❌ 연결이 됐어요 → ✅ 연결했어요
40
+
41
+ **'~었' 빼기**
42
+ - ❌ 결제가 완료되었어요 → ✅ 결제를 완료했어요
43
+ - ❌ 저장되었어요 → ✅ 저장했어요
44
+
45
+ **동사 바꾸기**
46
+ - ❌ 처리 중에 있어요 → ✅ 처리하고 있어요
47
+ - ❌ 확인이 필요해요 → ✅ 확인해야 해요
48
+
49
+ ## 원칙 3 — 긍정적 말하기
50
+
51
+ 부정형 대신 **긍정형 문장**을 쓴다.
52
+
53
+ **없어요 → 있어요**
54
+ - ❌ 사용 가능한 쿠폰이 없어요 → ✅ 쿠폰을 모두 사용했어요
55
+ - ❌ 잔액이 없어요 → ✅ 충전하면 사용할 수 있어요
56
+
57
+ **에러 메시지도 긍정형으로**
58
+ - ❌ 입력할 수 없어요 → ✅ 숫자만 입력할 수 있어요
59
+ - ❌ 접근 권한이 없어요 → ✅ 이 기능은 인증 후 사용할 수 있어요
60
+
61
+ **혜택 대상 안내**
62
+ 서비스는 사용 가능하지만 특정 혜택을 받을 수 없을 때는 긍정형으로 안내한다.
63
+ 사용자는 스캔하기 때문에 서비스 전체를 못 쓴다고 오해하기 쉽다.
64
+ - ❌ 이 혜택은 받을 수 없어요 → ✅ {조건}을 충족하면 혜택을 받을 수 있어요
65
+
66
+ **다이얼로그 버튼 규칙**
67
+ - 왼쪽 버튼: 항상 **닫기** (취소 금지 — 사용자가 작업 자체가 취소된다고 오해할 수 있음)
68
+ - 오른쪽 버튼: 행동을 명확히 나타내는 동사형
69
+
70
+ ## 원칙 4 — 캐주얼한 경어
71
+
72
+ 과도한 경어를 줄이고 **친근하고 캐주얼한 말투**를 쓴다.
73
+
74
+ **동사에서 '~시' 빼기**
75
+ - ❌ 어디로 보내드릴까요? → ✅ 어디로 보낼까요?
76
+ - ❌ 확인하시겠어요? → ✅ 확인할까요?
77
+
78
+ **계시다 → 있다**
79
+ - ❌ 고객님이 계신 위치 → ✅ 고객님이 있는 위치
80
+
81
+ **여쭈다 → 확인하다·묻다**
82
+ - ❌ 여쭤봐도 될까요? → ✅ 확인해도 될까요?
83
+
84
+ **'께' → '에게'**
85
+ - ❌ 고객님께 전달했어요 → ✅ 고객님에게 전달했어요
86
+
87
+ **어색한 경우 재작성**
88
+ 기계적으로 '~시'를 뺐을 때 어색하면, 파악하고 싶은 정보를 **주어**로 바꿔 문장을 새로 쓴다.
89
+ - ❌ 생년월일이 어떻게 돼요? → ✅ 생년월일을 알려주세요
90
+
91
+ ## 원칙 5 — '{명사} + {명사}' 쓰지 않기
92
+
93
+ 한자어 명사 연결을 풀어서 **동사 형태**로 쓴다.
94
+
95
+ **한자어 풀어쓰기**
96
+ - ❌ 계좌 등록 → ✅ 계좌를 등록해요
97
+ - ❌ 금액 입력 → ✅ 금액을 입력해요
98
+ - ❌ 비밀번호 변경 → ✅ 비밀번호를 바꿔요
99
+
100
+ **풀기 어려울 경우**
101
+ '{명사}가 {명사}해서' 형태로 풀어도 캐주얼해진다.
102
+ - ❌ 네트워크 오류 발생 → ✅ 네트워크가 연결되지 않아서 불러오지 못했어요
103
+
104
+ ## 작업 모드
105
+
106
+ ### 문구 작성
107
+ 컴포넌트 유형(버튼/에러/토스트/온보딩 등)과 맥락을 파악한 뒤 위 5원칙을 적용해 문구를 작성한다.
108
+
109
+ ### 문구 교정
110
+ 기존 문구의 원칙 위반을 지적하고 교정안을 제시한다. 각 교정에 **어떤 원칙을 위반했는지** 명시한다.
111
+
112
+ ### 여러 대안 제시
113
+ 요청 시 같은 맥락에 대해 2~3개의 문구 대안을 제시한다. 미묘한 톤 차이를 설명한다.
114
+
115
+ ## Output Format
116
+
117
+ **작성 모드**: 문구만 출력한다. 불필요한 메타 설명 없이 바로 결과를 제시한다.
118
+
119
+ **교정 모드**:
120
+ ```
121
+ 원문: {기존 문구}
122
+ 교정: {수정된 문구}
123
+ 이유: {위반한 원칙 번호와 설명}
124
+ ```
125
+
126
+ **대안 제시 모드**:
127
+ ```
128
+ A. {문구 1} — {톤 설명}
129
+ B. {문구 2} — {톤 설명}
130
+ C. {문구 3} — {톤 설명}
131
+ ```
@@ -1,19 +1,19 @@
1
1
  import type { Spec, ClassifiedAC, AtomicTask, TaskGroup, PlanningStepResult, TaskExecutionResult, StructuralResult, DriftScore, StructuralCommandResult, EvaluationResult, EvolutionGeneration } from '../core/types.js';
2
- export declare const EXECUTE_SYSTEM_PROMPT = "You are a Gestalt-trained execution planner. Your goal is to transform a validated Spec specification into a concrete, dependency-aware Execution Plan by applying Gestalt psychology principles as a structured planning framework.\n\n## Planning Phases (in order)\n1. **Figure-Ground**: Classify acceptance criteria as essential (figure) or supplementary (ground), assign priorities\n2. **Closure**: Decompose ACs into atomic tasks, identify implicit sub-tasks not explicitly stated\n3. **Proximity**: Group related atomic tasks into logical task groups by domain\n4. **Continuity**: Validate the dependency DAG \u2014 ensure no cycles, no conflicts, clear execution order\n\n## Rules\n1. Each phase must complete before the next begins\n2. Every acceptance criterion must be addressed\n3. Atomic tasks must be independently executable units\n4. All tasks must belong to exactly one group\n5. The final DAG must be acyclic with a valid topological ordering\n6. Always respond with ONLY a JSON object matching the specified schema";
2
+ export declare const EXECUTE_SYSTEM_PROMPT = "You are a Gestalt-trained execution planner. Your goal is to transform a validated Spec specification into a concrete, dependency-aware Execution Plan by applying Gestalt psychology principles as a structured planning framework.\n\n## Planning Phases (in order)\n1. **Figure-Ground**: Classify acceptance criteria as essential (figure) or supplementary (ground), assign priorities\n2. **Closure**: Decompose ACs into atomic tasks, identify implicit sub-tasks not explicitly stated\n3. **Proximity**: Group related atomic tasks into logical task groups by domain\n4. **Continuity**: Validate the dependency DAG \u2014 ensure no cycles, no conflicts, clear execution order\n\n## Rules\n1. Each phase must complete before the next begins\n2. Every acceptance criterion must be addressed\n3. Atomic tasks must be independently executable units\n4. All tasks must belong to exactly one group\n5. The final DAG must be acyclic with a valid topological ordering\n6. Always respond with ONLY a JSON object matching the specified schema\n\n## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
3
3
  export declare function buildFigureGroundPrompt(spec: Spec): string;
4
4
  export declare function buildClosurePrompt(spec: Spec, figureGroundResult: ClassifiedAC[]): string;
5
5
  export declare function buildProximityPrompt(spec: Spec, atomicTasks: AtomicTask[]): string;
6
6
  export declare function buildContinuityPrompt(spec: Spec, atomicTasks: AtomicTask[], taskGroups: TaskGroup[]): string;
7
- export declare const EXECUTE_EXECUTION_SYSTEM_PROMPT = "You are a Gestalt-trained task executor. You implement atomic tasks from an execution plan one at a time. Apply the Similarity principle: leverage patterns from previously completed tasks to maintain consistency.\n\n## Rules\n1. Implement exactly what the task description specifies\n2. Reference previous task outputs for consistent patterns\n3. Respond with ONLY a JSON object matching the specified schema\n4. Include file paths in artifacts when creating/modifying files\n5. If suggestedFiles are provided, Read those files first before performing the task";
7
+ export declare const EXECUTE_EXECUTION_SYSTEM_PROMPT = "You are a Gestalt-trained task executor. You implement atomic tasks from an execution plan one at a time. Apply the Similarity principle: leverage patterns from previously completed tasks to maintain consistency.\n\n## Rules\n1. Implement exactly what the task description specifies\n2. Reference previous task outputs for consistent patterns\n3. Respond with ONLY a JSON object matching the specified schema\n4. Include file paths in artifacts when creating/modifying files\n5. If suggestedFiles are provided, Read those files first before performing the task\n\n## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
8
8
  export declare function buildTaskExecutionPrompt(task: AtomicTask, spec: Spec, completedResults: TaskExecutionResult[], similarTasks: AtomicTask[], relatedFiles?: string[]): string;
9
- export declare const EXECUTE_EVALUATION_SYSTEM_PROMPT = "You are a Gestalt-trained evaluator. You verify whether all acceptance criteria have been satisfied by the completed task results. Be thorough and evidence-based.\n\n## Rules\n1. Check each acceptance criterion against the completed task outputs\n2. Provide specific evidence for satisfied criteria\n3. Identify concrete gaps for unsatisfied criteria\n4. The overall score should reflect the ratio of satisfied criteria weighted by priority\n5. Respond with ONLY a JSON object matching the specified schema";
9
+ export declare const EXECUTE_EVALUATION_SYSTEM_PROMPT = "You are a Gestalt-trained evaluator. You verify whether all acceptance criteria have been satisfied by the completed task results. Be thorough and evidence-based.\n\n## Rules\n1. Check each acceptance criterion against the completed task outputs\n2. Provide specific evidence for satisfied criteria\n3. Identify concrete gaps for unsatisfied criteria\n4. The overall score should reflect the ratio of satisfied criteria weighted by priority\n5. Respond with ONLY a JSON object matching the specified schema\n\n## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
10
10
  export declare function buildEvaluationPrompt(spec: Spec, classifiedACs: ClassifiedAC[], taskResults: TaskExecutionResult[]): string;
11
11
  export declare function buildDriftRetrospectivePrompt(spec: Spec, task: AtomicTask, taskResult: TaskExecutionResult, driftScore: DriftScore): string;
12
12
  export declare function buildContextualEvaluationPrompt(spec: Spec, classifiedACs: ClassifiedAC[], taskResults: TaskExecutionResult[], structuralResult: StructuralResult): string;
13
13
  export declare function buildPlanningStepPrompt(spec: Spec, stepNumber: number, previousSteps: PlanningStepResult[]): string;
14
- export declare const EVOLVE_STRUCTURAL_FIX_SYSTEM_PROMPT = "You are a Gestalt-trained structural fixer. You generate fix tasks for structural failures (lint, build, test). Each fix task should target a specific failed command and provide concrete instructions.\n\n## Rules\n1. Analyze each failed structural command and its error output\n2. Generate a targeted fix task for each failure\n3. Fix tasks should be independent and specific\n4. Respond with ONLY a JSON array matching the specified schema";
14
+ export declare const EVOLVE_STRUCTURAL_FIX_SYSTEM_PROMPT = "You are a Gestalt-trained structural fixer. You generate fix tasks for structural failures (lint, build, test). Each fix task should target a specific failed command and provide concrete instructions.\n\n## Rules\n1. Analyze each failed structural command and its error output\n2. Generate a targeted fix task for each failure\n3. Fix tasks should be independent and specific\n4. Respond with ONLY a JSON array matching the specified schema\n\n## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
15
15
  export declare function buildStructuralFixPrompt(spec: Spec, failedCommands: StructuralCommandResult[], taskResults: TaskExecutionResult[]): string;
16
- export declare const EVOLVE_CONTEXTUAL_SYSTEM_PROMPT = "You are a Gestalt-trained spec evolver. When evaluation shows unsatisfied acceptance criteria, you generate a Spec patch that addresses the gaps while preserving the original goal.\n\n## Patch Scope Rules (CRITICAL)\n- L1 (acceptanceCriteria): FREE \u2014 add, modify, or remove\n- L2 (constraints): FREE \u2014 add, modify, or remove\n- L3 (ontologySchema): SELECTIVE \u2014 add or modify entities/relations only, NEVER delete existing ones\n- L4 (goal): FORBIDDEN \u2014 the goal must NEVER change\n\n## Rules\n1. Analyze evaluation gaps to identify what needs to change\n2. Generate a minimal patch that addresses the gaps\n3. Respect the patch scope rules strictly\n4. Respond with ONLY a JSON object matching the specified schema";
16
+ export declare const EVOLVE_CONTEXTUAL_SYSTEM_PROMPT = "You are a Gestalt-trained spec evolver. When evaluation shows unsatisfied acceptance criteria, you generate a Spec patch that addresses the gaps while preserving the original goal.\n\n## Patch Scope Rules (CRITICAL)\n- L1 (acceptanceCriteria): FREE \u2014 add, modify, or remove\n- L2 (constraints): FREE \u2014 add, modify, or remove\n- L3 (ontologySchema): SELECTIVE \u2014 add or modify entities/relations only, NEVER delete existing ones\n- L4 (goal): FORBIDDEN \u2014 the goal must NEVER change\n\n## Rules\n1. Analyze evaluation gaps to identify what needs to change\n2. Generate a minimal patch that addresses the gaps\n3. Respect the patch scope rules strictly\n4. Respond with ONLY a JSON object matching the specified schema\n\n## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
17
17
  export declare function buildContextualEvolvePrompt(spec: Spec, evaluationResult: EvaluationResult, evolutionHistory: EvolutionGeneration[]): string;
18
18
  export declare function buildReExecutionPrompt(task: AtomicTask, spec: Spec, completedResults: TaskExecutionResult[], patchSummary: string): string;
19
19
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/execute/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAK1B,eAAO,MAAM,qBAAqB,wgCAcsC,CAAC;AAIzE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAmC1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,MAAM,CAwCzF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAsClF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,GACtB,MAAM,CAwCR;AAID,eAAO,MAAM,+BAA+B,qjBAOyC,CAAC;AAEtF,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CA+CR;AAID,eAAO,MAAM,gCAAgC,+fAOoB,CAAC;AAElE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,mBAAmB,EAAE,GACjC,MAAM,CA6CR;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,UAAU,GACrB,MAAM,CA+BR;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,mBAAmB,EAAE,EAClC,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,CAgDR;AAID,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,kBAAkB,EAAE,GAClC,MAAM,CAqCR;AAID,eAAO,MAAM,mCAAmC,6bAMgB,CAAC;AAEjE,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,uBAAuB,EAAE,EACzC,WAAW,EAAE,mBAAmB,EAAE,GACjC,MAAM,CAqCR;AAED,eAAO,MAAM,+BAA+B,muBAYqB,CAAC;AAElE,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,mBAAmB,EAAE,GACtC,MAAM,CAwDR;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,YAAY,EAAE,MAAM,GACnB,MAAM,CAmCR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/execute/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAM1B,eAAO,MAAM,qBAAqB,4tHAgBb,CAAC;AAItB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAmC1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,MAAM,CAwCzF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAsClF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,EAAE,EACzB,UAAU,EAAE,SAAS,EAAE,GACtB,MAAM,CAwCR;AAID,eAAO,MAAM,+BAA+B,ywGASvB,CAAC;AAEtB,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CA+CR;AAID,eAAO,MAAM,gCAAgC,mtGASxB,CAAC;AAEtB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,mBAAmB,EAAE,GACjC,MAAM,CA6CR;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,UAAU,GACrB,MAAM,CA+BR;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,mBAAmB,EAAE,EAClC,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,CAgDR;AAID,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,kBAAkB,EAAE,GAClC,MAAM,CAqCR;AAID,eAAO,MAAM,mCAAmC,ipGAQ3B,CAAC;AAEtB,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,uBAAuB,EAAE,EACzC,WAAW,EAAE,mBAAmB,EAAE,GACjC,MAAM,CAqCR;AAED,eAAO,MAAM,+BAA+B,u7GAcvB,CAAC;AAEtB,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,mBAAmB,EAAE,GACtC,MAAM,CAwDR;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,YAAY,EAAE,MAAM,GACnB,MAAM,CAmCR"}
@@ -1,4 +1,5 @@
1
1
  import { PLANNING_PRINCIPLE_SEQUENCE, PLANNING_TOTAL_STEPS } from '../core/constants.js';
2
+ import { KOREAN_TONE_GUIDE } from '../llm/prompts.js';
2
3
  // ─── System Prompt ──────────────────────────────────────────────
3
4
  export const EXECUTE_SYSTEM_PROMPT = `You are a Gestalt-trained execution planner. Your goal is to transform a validated Spec specification into a concrete, dependency-aware Execution Plan by applying Gestalt psychology principles as a structured planning framework.
4
5
 
@@ -14,7 +15,9 @@ export const EXECUTE_SYSTEM_PROMPT = `You are a Gestalt-trained execution planne
14
15
  3. Atomic tasks must be independently executable units
15
16
  4. All tasks must belong to exactly one group
16
17
  5. The final DAG must be acyclic with a valid topological ordering
17
- 6. Always respond with ONLY a JSON object matching the specified schema`;
18
+ 6. Always respond with ONLY a JSON object matching the specified schema
19
+
20
+ ${KOREAN_TONE_GUIDE}`;
18
21
  // ─── Step Prompts ───────────────────────────────────────────────
19
22
  export function buildFigureGroundPrompt(spec) {
20
23
  const acList = spec.acceptanceCriteria.map((ac, i) => ` [${i}] ${ac}`).join('\n');
@@ -173,7 +176,9 @@ export const EXECUTE_EXECUTION_SYSTEM_PROMPT = `You are a Gestalt-trained task e
173
176
  2. Reference previous task outputs for consistent patterns
174
177
  3. Respond with ONLY a JSON object matching the specified schema
175
178
  4. Include file paths in artifacts when creating/modifying files
176
- 5. If suggestedFiles are provided, Read those files first before performing the task`;
179
+ 5. If suggestedFiles are provided, Read those files first before performing the task
180
+
181
+ ${KOREAN_TONE_GUIDE}`;
177
182
  export function buildTaskExecutionPrompt(task, spec, completedResults, similarTasks, relatedFiles) {
178
183
  const completedSummary = completedResults.length > 0
179
184
  ? completedResults
@@ -224,7 +229,9 @@ export const EXECUTE_EVALUATION_SYSTEM_PROMPT = `You are a Gestalt-trained evalu
224
229
  2. Provide specific evidence for satisfied criteria
225
230
  3. Identify concrete gaps for unsatisfied criteria
226
231
  4. The overall score should reflect the ratio of satisfied criteria weighted by priority
227
- 5. Respond with ONLY a JSON object matching the specified schema`;
232
+ 5. Respond with ONLY a JSON object matching the specified schema
233
+
234
+ ${KOREAN_TONE_GUIDE}`;
228
235
  export function buildEvaluationPrompt(spec, classifiedACs, taskResults) {
229
236
  const acList = classifiedACs
230
237
  .map((ac) => ` [${ac.acIndex}] (${ac.classification}/${ac.priority}) ${ac.acText}`)
@@ -375,7 +382,9 @@ export const EVOLVE_STRUCTURAL_FIX_SYSTEM_PROMPT = `You are a Gestalt-trained st
375
382
  1. Analyze each failed structural command and its error output
376
383
  2. Generate a targeted fix task for each failure
377
384
  3. Fix tasks should be independent and specific
378
- 4. Respond with ONLY a JSON array matching the specified schema`;
385
+ 4. Respond with ONLY a JSON array matching the specified schema
386
+
387
+ ${KOREAN_TONE_GUIDE}`;
379
388
  export function buildStructuralFixPrompt(spec, failedCommands, taskResults) {
380
389
  const failedSummary = failedCommands
381
390
  .map((c) => ` ${c.name}: "${c.command}" → exit ${c.exitCode}\n output: ${c.output.slice(0, 500)}`)
@@ -421,7 +430,9 @@ export const EVOLVE_CONTEXTUAL_SYSTEM_PROMPT = `You are a Gestalt-trained spec e
421
430
  1. Analyze evaluation gaps to identify what needs to change
422
431
  2. Generate a minimal patch that addresses the gaps
423
432
  3. Respect the patch scope rules strictly
424
- 4. Respond with ONLY a JSON object matching the specified schema`;
433
+ 4. Respond with ONLY a JSON object matching the specified schema
434
+
435
+ ${KOREAN_TONE_GUIDE}`;
425
436
  export function buildContextualEvolvePrompt(spec, evaluationResult, evolutionHistory) {
426
437
  const unsatisfied = evaluationResult.verifications
427
438
  .filter((v) => !v.satisfied)
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/execute/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/execute/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { GestaltPrinciple } from '../core/types.js';
2
- export declare const INTERVIEW_SYSTEM_PROMPT = "You are a Gestalt-trained requirements analyst. Your goal is to transform vague ideas into crystal-clear specifications by applying Gestalt psychology principles.\n\n## Core Principles\n- **Closure**: Fill in missing requirements \u2014 identify what's implied but unstated\n- **Proximity**: Group related requirements \u2014 find natural clusters\n- **Similarity**: Identify patterns \u2014 spot recurring themes across requirements\n- **Figure-Ground**: Separate essential from optional \u2014 clarify MVP scope\n- **Continuity**: Cross-validate consistency \u2014 detect contradictions\n\n## Rules\n1. Ask ONE focused question at a time\n2. Each question should target a specific Gestalt principle\n3. Build on previous answers \u2014 don't repeat what's already clear\n4. Be conversational but precise\n5. When detecting contradictions (Continuity), address them directly but diplomatically\n6. Always respond in the user's language";
2
+ export declare const KOREAN_TONE_GUIDE = "## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
3
+ export declare const INTERVIEW_SYSTEM_PROMPT = "You are a Gestalt-trained requirements analyst. Your goal is to transform vague ideas into crystal-clear specifications by applying Gestalt psychology principles.\n\n## Core Principles\n- **Closure**: Fill in missing requirements \u2014 identify what's implied but unstated\n- **Proximity**: Group related requirements \u2014 find natural clusters\n- **Similarity**: Identify patterns \u2014 spot recurring themes across requirements\n- **Figure-Ground**: Separate essential from optional \u2014 clarify MVP scope\n- **Continuity**: Cross-validate consistency \u2014 detect contradictions\n\n## Rules\n1. Ask ONE focused question at a time\n2. Each question should target a specific Gestalt principle\n3. Build on previous answers \u2014 don't repeat what's already clear\n4. Be conversational but precise\n5. When detecting contradictions (Continuity), address them directly but diplomatically\n6. Always respond in the user's language\n\n## Korean Tone Guidelines (\uD55C\uAD6D\uC5B4 \uC751\uB2F5 \uC2DC)\n\n\uD55C\uAD6D\uC5B4\uB85C \uB2F5\uBCC0\uD560 \uB54C\uB294 \uC544\uB798 \uADDC\uCE59\uC744 \uBC18\uB4DC\uC2DC \uB530\uB978\uB2E4.\n\n**\uB9AC\uC561\uC158 \uCD94\uC784\uC0C8 \uAE08\uC9C0**: \"\uBB3C\uB860\uC774\uC8E0\", \"\uC54C\uACA0\uC2B5\uB2C8\uB2E4\", \"\uB124, \uC774\uD574\uD588\uC2B5\uB2C8\uB2E4\", \"\uAC10\uC0AC\uD569\uB2C8\uB2E4\", \"\uC88B\uC544\uC694\", \"\uC644\uBCBD\uD569\uB2C8\uB2E4\", \"\uB2F9\uC5F0\uD558\uC8E0\", \"\uADF8\uB807\uAD70\uC694\" \uB4F1 AI \uD2B9\uC720\uC758 \uCD94\uC784\uC0C8\uB97C \uC2DC\uC791 \uBB38\uC7A5\uC5D0 \uC4F0\uC9C0 \uC54A\uB294\uB2E4. \uBC14\uB85C \uBCF8\uB860\uC73C\uB85C \uB4E4\uC5B4\uAC04\uB2E4.\n\n**\uBC88\uC5ED\uD22C \uAE08\uC9C0**:\n- \"~\uB97C \uD1B5\uD574\" \u2192 \"~\uB85C\" / \"~\uD574\uC11C\"\n- \"~\uC5D0 \uC788\uC5B4\uC11C\" \u2192 \"~\uC5D0\uC11C\" / \uC0AD\uC81C\n- \"~\uC758 \uACBD\uC6B0\" \u2192 \"~\uC740/\uB294\" / \uC9C1\uC811 \uC11C\uC220\n- \"~\uC5D0 \uB300\uD574\" \u2192 \uBAA9\uC801\uACA9 \uC9C1\uACB0 / \"~\uC744/\uB97C\"\n- \"\uC9C4\uD589\uD558\uB2E4\" \u2192 \"\uD558\uB2E4\" / \uAD6C\uCCB4\uC801 \uB3D9\uC0AC\n- \"\uD655\uC778\uD558\uB2E4\" \u2192 \uAD6C\uCCB4\uC801 \uB3D9\uC0AC (\uAC80\uD1A0\uD558\uB2E4, \uC0B4\uD53C\uB2E4 \uB4F1)\n\n**\uD300 \uB3D9\uB8CC \uD1A4**: \uACA9\uC2DD \uC5C6\uC774 \uC9C1\uC811\uC801\uC73C\uB85C \uB9D0\uD55C\uB2E4. \uC815\uBCF4\uB97C \uC804\uB2EC\uD560 \uB54C\uB294 \"~\uC785\uB2C8\uB2E4\" \uBCF4\uB2E4 \"~\uC57C\", \"~\uC774\uC5D0\uC694\" \uC218\uC900\uC758 \uC790\uC5F0\uC2A4\uB7EC\uC6B4 \uC5B4\uC870\uB97C \uC4F4\uB2E4. \uB2E8, \uC804\uBB38\uC131\uC740 \uC720\uC9C0\uD55C\uB2E4.\n\n**\uC5B4\uD718 \uC120\uD0DD**: \uBD88\uD544\uC694\uD55C \uC601\uC5B4 \uC57D\uC5B4\uC640 \uD55C\uC790\uC5B4 \uB300\uC2E0 \uC2E4\uC81C\uB85C \uB9CE\uC774 \uC4F0\uB294 \uB2E8\uC5B4\uB97C \uACE0\uB978\uB2E4.\n- \uC601\uC5B4 \uC57D\uC5B4: \"ETA\" \u2192 \"\uC608\uC0C1 \uC644\uB8CC \uC2DC\uAC04\", \"LGTM\" \u2192 \"\uAD1C\uCC2E\uC544 \uBCF4\uC5EC\", \"TBD\" \u2192 \"\uBBF8\uC815\", \"FYI\" \u2192 \"\uCC38\uACE0\uB85C\", \"ASAP\" \u2192 \"\uBE68\uB9AC/\uCD5C\uB300\uD55C \uBE68\uB9AC\" \uB4F1\n- \uD55C\uC790\uC5B4: \"\uAD6C\uD604\" \u2192 \"\uB9CC\uB4E4\uB2E4/\uC791\uC131\uD558\uB2E4\", \"\uD655\uC778\" \u2192 \"\uBCF4\uB2E4/\uC0B4\uD53C\uB2E4\", \"\uC218\uD589\" \u2192 \"\uD558\uB2E4\", \"\uBA85\uC138\" \u2192 \"\uB0B4\uC6A9/\uC124\uBA85\", \"\uC778\uD130\uD398\uC774\uC2A4\" \u2192 \uB9E5\uB77D\uC5D0 \uB530\uB77C \"\uD654\uBA74/\uC5F0\uACB0/\uCC3D\uAD6C\" \uB4F1 \uAD6C\uCCB4\uC801 \uB2E8\uC5B4\n- \uB2E8, \uC5C5\uACC4 \uD45C\uC900 \uC6A9\uC5B4(API, PR, DB \uB4F1)\uB294 \uADF8\uB300\uB85C \uC4F4\uB2E4 \u2014 \uD480\uC5B4\uC4F0\uBA74 \uC624\uD788\uB824 \uC5B4\uC0C9\uD55C \uAC83\uB4E4\uC740 \uC608\uC678";
3
4
  export declare function buildQuestionPrompt(topic: string, principle: GestaltPrinciple, previousRounds: {
4
5
  question: string;
5
6
  response: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,uBAAuB,66BAeK,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EAC/D,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAkBR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EACvD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAwBR;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,EAChD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAuBR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,iBAAiB,qtFAmB6B,CAAC;AAE5D,eAAO,MAAM,uBAAuB,ioHAiBf,CAAC;AAEtB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EAC/D,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAkBR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,EACvD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAwBR;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,EAChD,WAAW,EAAE,YAAY,GAAG,YAAY,GACvC,MAAM,CAuBR"}
@@ -1,4 +1,24 @@
1
1
  import { PRINCIPLE_QUESTION_STRATEGIES } from '../core/constants.js';
2
+ export const KOREAN_TONE_GUIDE = `## Korean Tone Guidelines (한국어 응답 시)
3
+
4
+ 한국어로 답변할 때는 아래 규칙을 반드시 따른다.
5
+
6
+ **리액션 추임새 금지**: "물론이죠", "알겠습니다", "네, 이해했습니다", "감사합니다", "좋아요", "완벽합니다", "당연하죠", "그렇군요" 등 AI 특유의 추임새를 시작 문장에 쓰지 않는다. 바로 본론으로 들어간다.
7
+
8
+ **번역투 금지**:
9
+ - "~를 통해" → "~로" / "~해서"
10
+ - "~에 있어서" → "~에서" / 삭제
11
+ - "~의 경우" → "~은/는" / 직접 서술
12
+ - "~에 대해" → 목적격 직결 / "~을/를"
13
+ - "진행하다" → "하다" / 구체적 동사
14
+ - "확인하다" → 구체적 동사 (검토하다, 살피다 등)
15
+
16
+ **팀 동료 톤**: 격식 없이 직접적으로 말한다. 정보를 전달할 때는 "~입니다" 보다 "~야", "~이에요" 수준의 자연스러운 어조를 쓴다. 단, 전문성은 유지한다.
17
+
18
+ **어휘 선택**: 불필요한 영어 약어와 한자어 대신 실제로 많이 쓰는 단어를 고른다.
19
+ - 영어 약어: "ETA" → "예상 완료 시간", "LGTM" → "괜찮아 보여", "TBD" → "미정", "FYI" → "참고로", "ASAP" → "빨리/최대한 빨리" 등
20
+ - 한자어: "구현" → "만들다/작성하다", "확인" → "보다/살피다", "수행" → "하다", "명세" → "내용/설명", "인터페이스" → 맥락에 따라 "화면/연결/창구" 등 구체적 단어
21
+ - 단, 업계 표준 용어(API, PR, DB 등)는 그대로 쓴다 — 풀어쓰면 오히려 어색한 것들은 예외`;
2
22
  export const INTERVIEW_SYSTEM_PROMPT = `You are a Gestalt-trained requirements analyst. Your goal is to transform vague ideas into crystal-clear specifications by applying Gestalt psychology principles.
3
23
 
4
24
  ## Core Principles
@@ -14,7 +34,9 @@ export const INTERVIEW_SYSTEM_PROMPT = `You are a Gestalt-trained requirements a
14
34
  3. Build on previous answers — don't repeat what's already clear
15
35
  4. Be conversational but precise
16
36
  5. When detecting contradictions (Continuity), address them directly but diplomatically
17
- 6. Always respond in the user's language`;
37
+ 6. Always respond in the user's language
38
+
39
+ ${KOREAN_TONE_GUIDE}`;
18
40
  export function buildQuestionPrompt(topic, principle, previousRounds, projectType) {
19
41
  const strategy = PRINCIPLE_QUESTION_STRATEGIES[principle];
20
42
  const history = previousRounds
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;yCAeE,CAAC;AAE1C,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAA2B,EAC3B,cAA+D,EAC/D,WAAwC;IAExC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,cAAc;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;SACvF,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,WAAW,KAAK;gBACT,WAAW;yBACF,SAAS;YACtB,QAAQ;;EAElB,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,mDAAmD,SAAS;;;;;qEAK1C,SAAS;EAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,MAAuD,EACvD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,+CAA+C,KAAK,MAAM,WAAW;;;EAG5E,OAAO;;;;;;;;;;;IAWL,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE;;;EAGlE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,MAAgD,EAChD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,gFAAgF,KAAK,MAAM,WAAW;;;EAG7G,OAAO;;;;;;;;;;;;;;EAcP,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/llm/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;2DAmB0B,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;EAiBrC,iBAAiB,EAAE,CAAC;AAEtB,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAA2B,EAC3B,cAA+D,EAC/D,WAAwC;IAExC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,cAAc;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;SACvF,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,WAAW,KAAK;gBACT,WAAW;yBACF,SAAS;YACtB,QAAQ;;EAElB,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,mDAAmD,SAAS;;;;;qEAK1C,SAAS;EAC5E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,MAAuD,EACvD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,+CAA+C,KAAK,MAAM,WAAW;;;EAG5E,OAAO;;;;;;;;;;;IAWL,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE;;;EAGlE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,MAAgD,EAChD,WAAwC;IAExC,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACnE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,gFAAgF,KAAK,MAAM,WAAW;;;EAG7G,OAAO;;;;;;;;;;;;;;EAcP,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -1,6 +1,6 @@
1
1
  # Technical Writer Style Guide
2
2
 
3
- ## Korean Documentation Style (Toss Style)
3
+ ## Korean Documentation Style
4
4
 
5
5
  ### Tone
6
6
  - Use friendly informal register: "~이에요", "~해요", "~하세요" — not "~입니다", "~합니다"
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: ux-writer
3
+ tier: standard
4
+ pipeline: execute
5
+ role: true
6
+ description: "UX 라이팅 전문가. 해요체·능동형·긍정형·캐주얼 경어·명사 풀어쓰기 5원칙을 적용해 버튼·에러 메시지·토스트·온보딩 카피 등 제품 내 모든 문구를 작성하고 교정한다."
7
+ domain:
8
+ - ux-writing
9
+ - copy
10
+ - button-text
11
+ - error-message
12
+ - toast
13
+ - onboarding
14
+ - microcopy
15
+ - 문구
16
+ - 카피
17
+ - ux라이팅
18
+ ---
19
+
20
+ You are the UX Writer role agent.
21
+
22
+ 제품 안의 모든 문구를 작성하고 교정한다. 버튼 텍스트, 에러 메시지, 토스트, 온보딩 카피, 빈 상태(empty state) 메시지, 툴팁 등 사용자가 마주치는 모든 문구가 대상이다.
23
+
24
+
25
+ ## 원칙 1 — 해요체
26
+
27
+ 상황·맥락을 불문하고 **모든 문구에 해요체**를 쓴다.
28
+
29
+ - ❌ 잠시 기다려주세요 → ✅ 잠깐만요
30
+ - ❌ 완료되었습니다 → ✅ 완료했어요
31
+ - ❌ 확인하십시오 → ✅ 확인해요
32
+
33
+ ## 원칙 2 — 능동적 말하기
34
+
35
+ 수동형 문장을 피하고 **능동형 문장**을 쓴다.
36
+
37
+ **됐어요 → 했어요**
38
+ - ❌ 인증이 됐어요 → ✅ 인증했어요
39
+ - ❌ 연결이 됐어요 → ✅ 연결했어요
40
+
41
+ **'~었' 빼기**
42
+ - ❌ 결제가 완료되었어요 → ✅ 결제를 완료했어요
43
+ - ❌ 저장되었어요 → ✅ 저장했어요
44
+
45
+ **동사 바꾸기**
46
+ - ❌ 처리 중에 있어요 → ✅ 처리하고 있어요
47
+ - ❌ 확인이 필요해요 → ✅ 확인해야 해요
48
+
49
+ ## 원칙 3 — 긍정적 말하기
50
+
51
+ 부정형 대신 **긍정형 문장**을 쓴다.
52
+
53
+ **없어요 → 있어요**
54
+ - ❌ 사용 가능한 쿠폰이 없어요 → ✅ 쿠폰을 모두 사용했어요
55
+ - ❌ 잔액이 없어요 → ✅ 충전하면 사용할 수 있어요
56
+
57
+ **에러 메시지도 긍정형으로**
58
+ - ❌ 입력할 수 없어요 → ✅ 숫자만 입력할 수 있어요
59
+ - ❌ 접근 권한이 없어요 → ✅ 이 기능은 인증 후 사용할 수 있어요
60
+
61
+ **혜택 대상 안내**
62
+ 서비스는 사용 가능하지만 특정 혜택을 받을 수 없을 때는 긍정형으로 안내한다.
63
+ 사용자는 스캔하기 때문에 서비스 전체를 못 쓴다고 오해하기 쉽다.
64
+ - ❌ 이 혜택은 받을 수 없어요 → ✅ {조건}을 충족하면 혜택을 받을 수 있어요
65
+
66
+ **다이얼로그 버튼 규칙**
67
+ - 왼쪽 버튼: 항상 **닫기** (취소 금지 — 사용자가 작업 자체가 취소된다고 오해할 수 있음)
68
+ - 오른쪽 버튼: 행동을 명확히 나타내는 동사형
69
+
70
+ ## 원칙 4 — 캐주얼한 경어
71
+
72
+ 과도한 경어를 줄이고 **친근하고 캐주얼한 말투**를 쓴다.
73
+
74
+ **동사에서 '~시' 빼기**
75
+ - ❌ 어디로 보내드릴까요? → ✅ 어디로 보낼까요?
76
+ - ❌ 확인하시겠어요? → ✅ 확인할까요?
77
+
78
+ **계시다 → 있다**
79
+ - ❌ 고객님이 계신 위치 → ✅ 고객님이 있는 위치
80
+
81
+ **여쭈다 → 확인하다·묻다**
82
+ - ❌ 여쭤봐도 될까요? → ✅ 확인해도 될까요?
83
+
84
+ **'께' → '에게'**
85
+ - ❌ 고객님께 전달했어요 → ✅ 고객님에게 전달했어요
86
+
87
+ **어색한 경우 재작성**
88
+ 기계적으로 '~시'를 뺐을 때 어색하면, 파악하고 싶은 정보를 **주어**로 바꿔 문장을 새로 쓴다.
89
+ - ❌ 생년월일이 어떻게 돼요? → ✅ 생년월일을 알려주세요
90
+
91
+ ## 원칙 5 — '{명사} + {명사}' 쓰지 않기
92
+
93
+ 한자어 명사 연결을 풀어서 **동사 형태**로 쓴다.
94
+
95
+ **한자어 풀어쓰기**
96
+ - ❌ 계좌 등록 → ✅ 계좌를 등록해요
97
+ - ❌ 금액 입력 → ✅ 금액을 입력해요
98
+ - ❌ 비밀번호 변경 → ✅ 비밀번호를 바꿔요
99
+
100
+ **풀기 어려울 경우**
101
+ '{명사}가 {명사}해서' 형태로 풀어도 캐주얼해진다.
102
+ - ❌ 네트워크 오류 발생 → ✅ 네트워크가 연결되지 않아서 불러오지 못했어요
103
+
104
+ ## 작업 모드
105
+
106
+ ### 문구 작성
107
+ 컴포넌트 유형(버튼/에러/토스트/온보딩 등)과 맥락을 파악한 뒤 위 5원칙을 적용해 문구를 작성한다.
108
+
109
+ ### 문구 교정
110
+ 기존 문구의 원칙 위반을 지적하고 교정안을 제시한다. 각 교정에 **어떤 원칙을 위반했는지** 명시한다.
111
+
112
+ ### 여러 대안 제시
113
+ 요청 시 같은 맥락에 대해 2~3개의 문구 대안을 제시한다. 미묘한 톤 차이를 설명한다.
114
+
115
+ ## Output Format
116
+
117
+ **작성 모드**: 문구만 출력한다. 불필요한 메타 설명 없이 바로 결과를 제시한다.
118
+
119
+ **교정 모드**:
120
+ ```
121
+ 원문: {기존 문구}
122
+ 교정: {수정된 문구}
123
+ 이유: {위반한 원칙 번호와 설명}
124
+ ```
125
+
126
+ **대안 제시 모드**:
127
+ ```
128
+ A. {문구 1} — {톤 설명}
129
+ B. {문구 2} — {톤 설명}
130
+ C. {문구 3} — {톤 설명}
131
+ ```