@barissozen/csns 0.6.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 (200) hide show
  1. package/.env.example +8 -0
  2. package/LICENSE +21 -0
  3. package/README.md +364 -0
  4. package/dist/agent/agent-runner.d.ts +48 -0
  5. package/dist/agent/agent-runner.d.ts.map +1 -0
  6. package/dist/agent/agent-runner.js +180 -0
  7. package/dist/agent/agent-runner.js.map +1 -0
  8. package/dist/agent/architect.d.ts +34 -0
  9. package/dist/agent/architect.d.ts.map +1 -0
  10. package/dist/agent/architect.js +156 -0
  11. package/dist/agent/architect.js.map +1 -0
  12. package/dist/agent/codebase-reader.d.ts +35 -0
  13. package/dist/agent/codebase-reader.d.ts.map +1 -0
  14. package/dist/agent/codebase-reader.js +305 -0
  15. package/dist/agent/codebase-reader.js.map +1 -0
  16. package/dist/agent/context-builder.d.ts +39 -0
  17. package/dist/agent/context-builder.d.ts.map +1 -0
  18. package/dist/agent/context-builder.js +163 -0
  19. package/dist/agent/context-builder.js.map +1 -0
  20. package/dist/agent/index.d.ts +14 -0
  21. package/dist/agent/index.d.ts.map +1 -0
  22. package/dist/agent/index.js +12 -0
  23. package/dist/agent/index.js.map +1 -0
  24. package/dist/agent/output-parser.d.ts +27 -0
  25. package/dist/agent/output-parser.d.ts.map +1 -0
  26. package/dist/agent/output-parser.js +154 -0
  27. package/dist/agent/output-parser.js.map +1 -0
  28. package/dist/agent/process-spawner.d.ts +56 -0
  29. package/dist/agent/process-spawner.d.ts.map +1 -0
  30. package/dist/agent/process-spawner.js +153 -0
  31. package/dist/agent/process-spawner.js.map +1 -0
  32. package/dist/agent/tracer/index.d.ts +8 -0
  33. package/dist/agent/tracer/index.d.ts.map +1 -0
  34. package/dist/agent/tracer/index.js +6 -0
  35. package/dist/agent/tracer/index.js.map +1 -0
  36. package/dist/agent/tracer/reverse-engineer.d.ts +113 -0
  37. package/dist/agent/tracer/reverse-engineer.d.ts.map +1 -0
  38. package/dist/agent/tracer/reverse-engineer.js +695 -0
  39. package/dist/agent/tracer/reverse-engineer.js.map +1 -0
  40. package/dist/agent/tracer/runtime-tracer.d.ts +61 -0
  41. package/dist/agent/tracer/runtime-tracer.d.ts.map +1 -0
  42. package/dist/agent/tracer/runtime-tracer.js +484 -0
  43. package/dist/agent/tracer/runtime-tracer.js.map +1 -0
  44. package/dist/agent/tracer/semantic-analyzer.d.ts +24 -0
  45. package/dist/agent/tracer/semantic-analyzer.d.ts.map +1 -0
  46. package/dist/agent/tracer/semantic-analyzer.js +132 -0
  47. package/dist/agent/tracer/semantic-analyzer.js.map +1 -0
  48. package/dist/agent/tracer/static-analyzer.d.ts +44 -0
  49. package/dist/agent/tracer/static-analyzer.d.ts.map +1 -0
  50. package/dist/agent/tracer/static-analyzer.js +453 -0
  51. package/dist/agent/tracer/static-analyzer.js.map +1 -0
  52. package/dist/agent/tracer/tracer-agent.d.ts +61 -0
  53. package/dist/agent/tracer/tracer-agent.d.ts.map +1 -0
  54. package/dist/agent/tracer/tracer-agent.js +252 -0
  55. package/dist/agent/tracer/tracer-agent.js.map +1 -0
  56. package/dist/bin/csns.d.ts +24 -0
  57. package/dist/bin/csns.d.ts.map +1 -0
  58. package/dist/bin/csns.js +389 -0
  59. package/dist/bin/csns.js.map +1 -0
  60. package/dist/bin/pc.d.ts +13 -0
  61. package/dist/bin/pc.d.ts.map +1 -0
  62. package/dist/bin/pc.js +212 -0
  63. package/dist/bin/pc.js.map +1 -0
  64. package/dist/brief/brief-collector.d.ts +42 -0
  65. package/dist/brief/brief-collector.d.ts.map +1 -0
  66. package/dist/brief/brief-collector.js +228 -0
  67. package/dist/brief/brief-collector.js.map +1 -0
  68. package/dist/brief/index.d.ts +3 -0
  69. package/dist/brief/index.d.ts.map +1 -0
  70. package/dist/brief/index.js +3 -0
  71. package/dist/brief/index.js.map +1 -0
  72. package/dist/brief/smart-brief.d.ts +52 -0
  73. package/dist/brief/smart-brief.d.ts.map +1 -0
  74. package/dist/brief/smart-brief.js +440 -0
  75. package/dist/brief/smart-brief.js.map +1 -0
  76. package/dist/calculator/calculator.d.ts +7 -0
  77. package/dist/calculator/calculator.d.ts.map +1 -0
  78. package/dist/calculator/calculator.js +18 -0
  79. package/dist/calculator/calculator.js.map +1 -0
  80. package/dist/calculator/index.d.ts +2 -0
  81. package/dist/calculator/index.d.ts.map +1 -0
  82. package/dist/calculator/index.js +2 -0
  83. package/dist/calculator/index.js.map +1 -0
  84. package/dist/i18n/en.d.ts +6 -0
  85. package/dist/i18n/en.d.ts.map +1 -0
  86. package/dist/i18n/en.js +136 -0
  87. package/dist/i18n/en.js.map +1 -0
  88. package/dist/i18n/index.d.ts +31 -0
  89. package/dist/i18n/index.d.ts.map +1 -0
  90. package/dist/i18n/index.js +44 -0
  91. package/dist/i18n/index.js.map +1 -0
  92. package/dist/i18n/tr.d.ts +6 -0
  93. package/dist/i18n/tr.d.ts.map +1 -0
  94. package/dist/i18n/tr.js +136 -0
  95. package/dist/i18n/tr.js.map +1 -0
  96. package/dist/i18n/types.d.ts +86 -0
  97. package/dist/i18n/types.d.ts.map +1 -0
  98. package/dist/i18n/types.js +9 -0
  99. package/dist/i18n/types.js.map +1 -0
  100. package/dist/index.d.ts +7 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +72 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/llm/anthropic-provider.d.ts +18 -0
  105. package/dist/llm/anthropic-provider.d.ts.map +1 -0
  106. package/dist/llm/anthropic-provider.js +55 -0
  107. package/dist/llm/anthropic-provider.js.map +1 -0
  108. package/dist/llm/factory.d.ts +21 -0
  109. package/dist/llm/factory.d.ts.map +1 -0
  110. package/dist/llm/factory.js +59 -0
  111. package/dist/llm/factory.js.map +1 -0
  112. package/dist/llm/index.d.ts +7 -0
  113. package/dist/llm/index.d.ts.map +1 -0
  114. package/dist/llm/index.js +5 -0
  115. package/dist/llm/index.js.map +1 -0
  116. package/dist/llm/ollama-provider.d.ts +20 -0
  117. package/dist/llm/ollama-provider.d.ts.map +1 -0
  118. package/dist/llm/ollama-provider.js +62 -0
  119. package/dist/llm/ollama-provider.js.map +1 -0
  120. package/dist/llm/openai-provider.d.ts +20 -0
  121. package/dist/llm/openai-provider.d.ts.map +1 -0
  122. package/dist/llm/openai-provider.js +65 -0
  123. package/dist/llm/openai-provider.js.map +1 -0
  124. package/dist/llm/resolve.d.ts +10 -0
  125. package/dist/llm/resolve.d.ts.map +1 -0
  126. package/dist/llm/resolve.js +21 -0
  127. package/dist/llm/resolve.js.map +1 -0
  128. package/dist/llm/types.d.ts +45 -0
  129. package/dist/llm/types.d.ts.map +1 -0
  130. package/dist/llm/types.js +11 -0
  131. package/dist/llm/types.js.map +1 -0
  132. package/dist/memory/index.d.ts +2 -0
  133. package/dist/memory/index.d.ts.map +1 -0
  134. package/dist/memory/index.js +2 -0
  135. package/dist/memory/index.js.map +1 -0
  136. package/dist/memory/memory-layer.d.ts +54 -0
  137. package/dist/memory/memory-layer.d.ts.map +1 -0
  138. package/dist/memory/memory-layer.js +297 -0
  139. package/dist/memory/memory-layer.js.map +1 -0
  140. package/dist/orchestrator/dependency-graph.d.ts +39 -0
  141. package/dist/orchestrator/dependency-graph.d.ts.map +1 -0
  142. package/dist/orchestrator/dependency-graph.js +134 -0
  143. package/dist/orchestrator/dependency-graph.js.map +1 -0
  144. package/dist/orchestrator/escalator.d.ts +42 -0
  145. package/dist/orchestrator/escalator.d.ts.map +1 -0
  146. package/dist/orchestrator/escalator.js +163 -0
  147. package/dist/orchestrator/escalator.js.map +1 -0
  148. package/dist/orchestrator/evaluator.d.ts +34 -0
  149. package/dist/orchestrator/evaluator.d.ts.map +1 -0
  150. package/dist/orchestrator/evaluator.js +335 -0
  151. package/dist/orchestrator/evaluator.js.map +1 -0
  152. package/dist/orchestrator/index.d.ts +9 -0
  153. package/dist/orchestrator/index.d.ts.map +1 -0
  154. package/dist/orchestrator/index.js +9 -0
  155. package/dist/orchestrator/index.js.map +1 -0
  156. package/dist/orchestrator/integration-evaluator.d.ts +59 -0
  157. package/dist/orchestrator/integration-evaluator.d.ts.map +1 -0
  158. package/dist/orchestrator/integration-evaluator.js +405 -0
  159. package/dist/orchestrator/integration-evaluator.js.map +1 -0
  160. package/dist/orchestrator/milestone-manager.d.ts +28 -0
  161. package/dist/orchestrator/milestone-manager.d.ts.map +1 -0
  162. package/dist/orchestrator/milestone-manager.js +208 -0
  163. package/dist/orchestrator/milestone-manager.js.map +1 -0
  164. package/dist/orchestrator/orchestrator.d.ts +35 -0
  165. package/dist/orchestrator/orchestrator.d.ts.map +1 -0
  166. package/dist/orchestrator/orchestrator.js +338 -0
  167. package/dist/orchestrator/orchestrator.js.map +1 -0
  168. package/dist/orchestrator/planner.d.ts +15 -0
  169. package/dist/orchestrator/planner.d.ts.map +1 -0
  170. package/dist/orchestrator/planner.js +87 -0
  171. package/dist/orchestrator/planner.js.map +1 -0
  172. package/dist/orchestrator/recovery.d.ts +45 -0
  173. package/dist/orchestrator/recovery.d.ts.map +1 -0
  174. package/dist/orchestrator/recovery.js +98 -0
  175. package/dist/orchestrator/recovery.js.map +1 -0
  176. package/dist/run-calculator-test.d.ts +11 -0
  177. package/dist/run-calculator-test.d.ts.map +1 -0
  178. package/dist/run-calculator-test.js +212 -0
  179. package/dist/run-calculator-test.js.map +1 -0
  180. package/dist/run-real-task.d.ts +14 -0
  181. package/dist/run-real-task.d.ts.map +1 -0
  182. package/dist/run-real-task.js +185 -0
  183. package/dist/run-real-task.js.map +1 -0
  184. package/dist/run-todo-test.d.ts +6 -0
  185. package/dist/run-todo-test.d.ts.map +1 -0
  186. package/dist/run-todo-test.js +149 -0
  187. package/dist/run-todo-test.js.map +1 -0
  188. package/dist/todo/index.d.ts +2 -0
  189. package/dist/todo/index.d.ts.map +1 -0
  190. package/dist/todo/index.js +2 -0
  191. package/dist/todo/index.js.map +1 -0
  192. package/dist/todo/server.d.ts +2 -0
  193. package/dist/todo/server.d.ts.map +1 -0
  194. package/dist/todo/server.js +32 -0
  195. package/dist/todo/server.js.map +1 -0
  196. package/dist/types/index.d.ts +412 -0
  197. package/dist/types/index.d.ts.map +1 -0
  198. package/dist/types/index.js +5 -0
  199. package/dist/types/index.js.map +1 -0
  200. package/package.json +100 -0
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Recovery Manager — Crash Recovery
3
+ *
4
+ * Sistem çökerse kaldığı yerden devam et.
5
+ * .pc-checkpoint.json dosyasına checkpoint yazar.
6
+ *
7
+ * Tasarım ilkesi #2: Fail-Safe
8
+ */
9
+ import { readFile, writeFile, access } from 'node:fs/promises';
10
+ import { join } from 'node:path';
11
+ const CHECKPOINT_FILE = '.pc-checkpoint.json';
12
+ export class RecoveryManager {
13
+ checkpointPath;
14
+ _askFn = null;
15
+ constructor(projectRoot) {
16
+ this.checkpointPath = join(projectRoot, CHECKPOINT_FILE);
17
+ }
18
+ /** Test injection */
19
+ setAskFn(fn) {
20
+ this._askFn = fn;
21
+ }
22
+ /**
23
+ * Checkpoint kaydet
24
+ */
25
+ async saveCheckpoint(checkpoint) {
26
+ await writeFile(this.checkpointPath, JSON.stringify(checkpoint, null, 2), 'utf-8');
27
+ }
28
+ /**
29
+ * Son checkpoint'i oku
30
+ */
31
+ async loadCheckpoint() {
32
+ try {
33
+ const content = await readFile(this.checkpointPath, 'utf-8');
34
+ return JSON.parse(content);
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ /**
41
+ * Resume edilebilir checkpoint var mı?
42
+ */
43
+ async canResume() {
44
+ try {
45
+ await access(this.checkpointPath);
46
+ const checkpoint = await this.loadCheckpoint();
47
+ return checkpoint !== null && checkpoint.milestoneId !== '';
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ /**
54
+ * Checkpoint'i sil (temiz başlangıç veya tamamlanma sonrası)
55
+ */
56
+ async clearCheckpoint() {
57
+ try {
58
+ const { unlink } = await import('node:fs/promises');
59
+ await unlink(this.checkpointPath);
60
+ }
61
+ catch {
62
+ // dosya yoksa sorun değil
63
+ }
64
+ }
65
+ /**
66
+ * Kullanıcıya devam etmek isteyip istemediğini sor
67
+ */
68
+ async promptResume(checkpoint) {
69
+ const msg = `\n📌 Önceki session bulundu:
70
+ Session: ${checkpoint.sessionId}
71
+ Milestone: ${checkpoint.milestoneId}
72
+ Tamamlanan: ${checkpoint.completedMilestones.length} milestone, ${checkpoint.completedTasks.length} task
73
+ Tarih: ${checkpoint.timestamp}
74
+
75
+ Devam edilsin mi? (e/h): `;
76
+ const answer = await this.ask(msg);
77
+ return answer.trim().toLowerCase().startsWith('e');
78
+ }
79
+ /**
80
+ * Hangi milestone'dan devam edileceğini hesapla
81
+ */
82
+ getResumePoint(checkpoint) {
83
+ return {
84
+ milestoneId: checkpoint.milestoneId,
85
+ completedTasks: new Set(checkpoint.completedTasks),
86
+ };
87
+ }
88
+ ask(prompt) {
89
+ if (this._askFn)
90
+ return this._askFn(prompt);
91
+ return new Promise((resolve) => {
92
+ const { createInterface } = require('node:readline');
93
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
94
+ rl.question(prompt, (answer) => { rl.close(); resolve(answer); });
95
+ });
96
+ }
97
+ }
98
+ //# sourceMappingURL=recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/orchestrator/recovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Entegrasyon Testi: Brief → Agent → Calculator → Evaluator v2
3
+ *
4
+ * 1. BriefCollector.create() ile brief oluştur
5
+ * 2. MISSION.md'ye yaz
6
+ * 3. Agent'a hesap makinesi yaptır
7
+ * 4. Evaluator v2 ile gerçek kontrolleri çalıştır
8
+ * 5. Raporla
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=run-calculator-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-calculator-test.d.ts","sourceRoot":"","sources":["../src/run-calculator-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Entegrasyon Testi: Brief → Agent → Calculator → Evaluator v2
3
+ *
4
+ * 1. BriefCollector.create() ile brief oluştur
5
+ * 2. MISSION.md'ye yaz
6
+ * 3. Agent'a hesap makinesi yaptır
7
+ * 4. Evaluator v2 ile gerçek kontrolleri çalıştır
8
+ * 5. Raporla
9
+ */
10
+ import { MemoryLayer } from './memory/index.js';
11
+ import { BriefCollector } from './brief/index.js';
12
+ import { AgentRunner } from './agent/index.js';
13
+ import { Evaluator } from './orchestrator/evaluator.js';
14
+ const PROJECT_ROOT = process.cwd();
15
+ async function main() {
16
+ console.log('╔═══════════════════════════════════════════════════════════╗');
17
+ console.log('║ ENTEGRASYON TESTİ: Brief → Agent → Calculator → Eval ║');
18
+ console.log('╚═══════════════════════════════════════════════════════════╝\n');
19
+ const memory = new MemoryLayer(PROJECT_ROOT);
20
+ // ═══════════════════════════════════════════════════════
21
+ // STEP 1: Brief oluştur
22
+ // ═══════════════════════════════════════════════════════
23
+ console.log('━━━ STEP 1: Brief Oluştur ━━━');
24
+ const brief = BriefCollector.create({
25
+ whatToBuild: 'Basit bir Node.js CLI hesap makinesi',
26
+ stack: 'typescript-node',
27
+ successCriteria: [
28
+ 'npm test geçmeli',
29
+ 'Toplama çalışmalı',
30
+ 'Çıkarma çalışmalı',
31
+ 'Çarpma çalışmalı',
32
+ 'Bölme çalışmalı',
33
+ ],
34
+ }, {
35
+ protectedFiles: ['MISSION.md', 'ARCHITECTURE.md'],
36
+ lockedDecisions: ['D001 Dosya tabanlı hafıza sistemi'],
37
+ forbiddenDeps: ['lodash'],
38
+ breakingChanges: ['Mevcut testler kırılmasın'],
39
+ });
40
+ console.log(` ✅ Brief oluşturuldu`);
41
+ console.log(` Stack: ${brief.scope.stack}`);
42
+ console.log(` Protected: ${brief.antiScope.protectedFiles.join(', ')}`);
43
+ console.log(` Forbidden: ${brief.antiScope.forbiddenDeps.join(', ')}`);
44
+ // ═══════════════════════════════════════════════════════
45
+ // STEP 2: MISSION.md'ye yaz
46
+ // ═══════════════════════════════════════════════════════
47
+ console.log('\n━━━ STEP 2: MISSION.md Güncelle ━━━');
48
+ const collector = new BriefCollector();
49
+ const missionPath = `${PROJECT_ROOT}/MISSION.md`;
50
+ await collector.writeMission(brief, missionPath);
51
+ // Doğrula
52
+ const missionContent = await memory.readMission();
53
+ console.log(` SCOPE var: ${missionContent.includes('## SCOPE') ? '✅' : '❌'}`);
54
+ console.log(` ANTI-SCOPE var: ${missionContent.includes('## ANTI-SCOPE') ? '✅' : '❌'}`);
55
+ console.log(` SUCCESS CRITERIA var: ${missionContent.includes('## SUCCESS CRITERIA') ? '✅' : '❌'}`);
56
+ console.log(` lodash yasaklı: ${missionContent.includes('lodash') ? '✅' : '❌'}`);
57
+ // ═══════════════════════════════════════════════════════
58
+ // STEP 3: Agent'a hesap makinesi yaptır
59
+ // ═══════════════════════════════════════════════════════
60
+ console.log('\n━━━ STEP 3: Agent — Hesap Makinesi Yaz ━━━');
61
+ const runner = new AgentRunner({
62
+ binaryPath: 'claude.exe',
63
+ workingDirectory: PROJECT_ROOT,
64
+ timeout: 180_000,
65
+ maxDepth: 3,
66
+ log: (msg) => console.log(` ${msg}`),
67
+ });
68
+ const health = await runner.checkHealth();
69
+ console.log(` Agent health: ${health.ready ? '✅' : '❌'} ${health.details}`);
70
+ const snapshot = await memory.snapshot();
71
+ const task = {
72
+ id: 'T-CALC-001',
73
+ title: 'Hesap makinesi yaz',
74
+ description: `src/calculator/ klasörü altında basit bir hesap makinesi modülü oluştur.
75
+
76
+ Dosyalar:
77
+ 1. src/calculator/calculator.ts — Calculator class:
78
+ - add(a: number, b: number): number
79
+ - subtract(a: number, b: number): number
80
+ - multiply(a: number, b: number): number
81
+ - divide(a: number, b: number): number (0'a bölme Error fırlatsın)
82
+
83
+ 2. src/calculator/index.ts — export
84
+
85
+ 3. tests/calculator.test.ts — Vitest testleri:
86
+ - Her operasyon için en az 1 test
87
+ - 0'a bölme testi
88
+ - Negatif sayı testi
89
+
90
+ KURALLAR:
91
+ - lodash veya başka harici kütüphane KULLANMA
92
+ - MISSION.md ve ARCHITECTURE.md dosyalarına DOKUNMA
93
+ - Sadece src/calculator/ ve tests/calculator.test.ts oluştur
94
+ - TypeScript strict uyumlu yaz`,
95
+ type: 'code',
96
+ dependencies: [],
97
+ priority: 'high',
98
+ estimatedComplexity: 'simple',
99
+ acceptanceCriteria: [
100
+ 'src/calculator/calculator.ts mevcut ve derleniyor',
101
+ 'tests/calculator.test.ts mevcut ve geçiyor',
102
+ 'Toplama, çıkarma, çarpma, bölme çalışıyor',
103
+ '0a bölme hata fırlatıyor',
104
+ 'lodash kullanılmamış',
105
+ 'MISSION.md ve ARCHITECTURE.md değiştirilmemiş',
106
+ ],
107
+ };
108
+ console.log(` ⏳ Agent başlatılıyor (task: ${task.id})...\n`);
109
+ const agentResult = await runner.runTask(task, snapshot);
110
+ console.log(`\n ══ Agent Result ══`);
111
+ console.log(` Success: ${agentResult.success}`);
112
+ console.log(` Duration: ${Math.round(agentResult.duration / 1000)}s`);
113
+ console.log(` Artifacts: [${agentResult.artifacts.join(', ')}]`);
114
+ console.log(` Output (first 500):`);
115
+ console.log(` ${agentResult.output.slice(0, 500)}`);
116
+ // ═══════════════════════════════════════════════════════
117
+ // STEP 4: Evaluator v2 çalıştır
118
+ // ═══════════════════════════════════════════════════════
119
+ console.log('\n━━━ STEP 4: Evaluator v2 — Gerçek Kontroller ━━━');
120
+ const evalConfig = {
121
+ projectRoot: PROJECT_ROOT,
122
+ claudeApiKey: '', // LLM yok, sadece gerçek kontroller
123
+ model: 'claude-sonnet-4-20250514',
124
+ maxRetries: 3,
125
+ escalationThreshold: 0.4,
126
+ maxParallelAgents: 3,
127
+ verbose: true,
128
+ };
129
+ const evaluator = new Evaluator(evalConfig);
130
+ // Güncel memory snapshot (agent'ın değişiklikleri yansısın)
131
+ const freshSnapshot = await memory.snapshot();
132
+ // Stack tespiti
133
+ const stack = await evaluator.detectStack(freshSnapshot);
134
+ console.log(` Stack tespit: ${stack}`);
135
+ // Tam değerlendirme
136
+ const evalResult = await evaluator.evaluate(agentResult, freshSnapshot);
137
+ console.log(`\n ══ Evaluation Result ══`);
138
+ console.log(` Verdict: ${evalResult.verdict}`);
139
+ console.log(` Consistency: ${(evalResult.consistencyScore * 100).toFixed(0)}%`);
140
+ console.log(` Quality: ${(evalResult.qualityScore * 100).toFixed(0)}%`);
141
+ console.log(` Mission Alignment: ${(evalResult.missionAlignment * 100).toFixed(0)}%`);
142
+ console.log(` Stack Detected: ${evalResult.stackDetected}`);
143
+ console.log(`\n ── Checks ──`);
144
+ for (const check of evalResult.checks) {
145
+ const icon = check.passed ? '✅' : '❌';
146
+ console.log(` ${icon} ${check.name}${check.duration ? ` (${check.duration}ms)` : ''}`);
147
+ if (!check.passed && check.output) {
148
+ console.log(` → ${check.output.slice(0, 150)}`);
149
+ }
150
+ }
151
+ console.log(`\n ── Anti-Scope ──`);
152
+ if (evalResult.antiScopeViolations.length === 0) {
153
+ console.log(` ✅ İhlal yok`);
154
+ }
155
+ else {
156
+ for (const v of evalResult.antiScopeViolations) {
157
+ console.log(` ❌ [${v.type}] ${v.detail}`);
158
+ }
159
+ }
160
+ console.log(`\n ── Issues ──`);
161
+ if (evalResult.issues.length === 0) {
162
+ console.log(` ✅ Sorun yok`);
163
+ }
164
+ else {
165
+ for (const issue of evalResult.issues) {
166
+ const icon = issue.severity === 'critical' ? '🚨' : issue.severity === 'warning' ? '⚠️' : 'ℹ️';
167
+ console.log(` ${icon} [${issue.category}] ${issue.description}`);
168
+ }
169
+ }
170
+ console.log(`\n Feedback: ${evalResult.feedback}`);
171
+ // ═══════════════════════════════════════════════════════
172
+ // STEP 5: DECISIONS.md logla
173
+ // ═══════════════════════════════════════════════════════
174
+ console.log('\n━━━ STEP 5: Decision Log ━━━');
175
+ const nextId = await memory.getNextDecisionId();
176
+ const decision = {
177
+ id: nextId,
178
+ title: `Calculator entegrasyon testi — Evaluator v2`,
179
+ date: new Date().toISOString(),
180
+ context: 'Brief→Agent→Calculator→Evaluator tam döngü testi',
181
+ decision: `Verdict: ${evalResult.verdict}. Quality: ${(evalResult.qualityScore * 100).toFixed(0)}%. Checks: ${evalResult.checks.filter(c => c.passed).length}/${evalResult.checks.length}. Anti-scope: ${evalResult.antiScopeViolations.length} ihlal.`,
182
+ rationale: 'Sistemin gerçek bir kod üretim + değerlendirme döngüsünü kanıtlaması',
183
+ alternatives: 'Manuel test (otomasyon kanıtı olmaz)',
184
+ status: 'active',
185
+ };
186
+ await memory.appendDecision(decision);
187
+ console.log(` Karar: ${nextId}`);
188
+ // ═══════════════════════════════════════════════════════
189
+ // FINAL REPORT
190
+ // ═══════════════════════════════════════════════════════
191
+ const checksPass = evalResult.checks.filter(c => c.passed).length;
192
+ const checksTotal = evalResult.checks.length;
193
+ const violations = evalResult.antiScopeViolations.length;
194
+ console.log('\n╔═══════════════════════════════════════════════════════════╗');
195
+ console.log('║ FINAL REPORT ║');
196
+ console.log('╠═══════════════════════════════════════════════════════════╣');
197
+ console.log(`║ Brief oluşturuldu: ✅ ║`);
198
+ console.log(`║ MISSION.md güncellendi: ✅ ║`);
199
+ console.log(`║ Agent çalıştı: ${agentResult.success ? '✅' : '❌'} (${Math.round(agentResult.duration / 1000)}s) ║`);
200
+ console.log(`║ Evaluator verdict: ${evalResult.verdict.toUpperCase().padEnd(10)} ║`);
201
+ console.log(`║ Checks: ${checksPass}/${checksTotal} passed ║`);
202
+ console.log(`║ Anti-scope: ${violations === 0 ? '✅ Temiz' : `❌ ${violations} ihlal`} ║`);
203
+ console.log(`║ Quality: ${(evalResult.qualityScore * 100).toFixed(0)}% ║`);
204
+ console.log(`║ Consistency: ${(evalResult.consistencyScore * 100).toFixed(0)}% ║`);
205
+ console.log(`║ Mission: ${(evalResult.missionAlignment * 100).toFixed(0)}% ║`);
206
+ console.log('╚═══════════════════════════════════════════════════════════╝');
207
+ }
208
+ main().catch((err) => {
209
+ console.error('💥 Fatal:', err);
210
+ process.exit(1);
211
+ });
212
+ //# sourceMappingURL=run-calculator-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-calculator-test.js","sourceRoot":"","sources":["../src/run-calculator-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Real-World Task Runner
3
+ *
4
+ * Orchestrator'ın tam döngüsünü tek bir gerçek görevle çalıştırır:
5
+ * 1. Memory snapshot al
6
+ * 2. Task tanımla
7
+ * 3. Agent'ı gerçek claude.exe ile spawn et
8
+ * 4. Çıktıyı parse et
9
+ * 5. DECISIONS.md'ye logla
10
+ * 6. STATE.md güncelle
11
+ * 7. Sonucu raporla
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=run-real-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-real-task.d.ts","sourceRoot":"","sources":["../src/run-real-task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Real-World Task Runner
3
+ *
4
+ * Orchestrator'ın tam döngüsünü tek bir gerçek görevle çalıştırır:
5
+ * 1. Memory snapshot al
6
+ * 2. Task tanımla
7
+ * 3. Agent'ı gerçek claude.exe ile spawn et
8
+ * 4. Çıktıyı parse et
9
+ * 5. DECISIONS.md'ye logla
10
+ * 6. STATE.md güncelle
11
+ * 7. Sonucu raporla
12
+ */
13
+ import { MemoryLayer } from './memory/index.js';
14
+ import { AgentRunner } from './agent/index.js';
15
+ import { ContextBuilder } from './agent/context-builder.js';
16
+ const PROJECT_ROOT = process.cwd();
17
+ async function main() {
18
+ console.log('╔══════════════════════════════════════════════════════╗');
19
+ console.log('║ PROJECT CONSCIOUSNESS — Real-World Task Runner ║');
20
+ console.log('╚══════════════════════════════════════════════════════╝\n');
21
+ const memory = new MemoryLayer(PROJECT_ROOT);
22
+ const runner = new AgentRunner({
23
+ binaryPath: 'claude.exe',
24
+ workingDirectory: PROJECT_ROOT,
25
+ timeout: 120_000,
26
+ maxDepth: 3,
27
+ log: (msg) => console.log(` ${msg}`),
28
+ });
29
+ // ── Step 1: Memory Snapshot ───────────────────────────
30
+ console.log('━━━ Step 1: Memory Snapshot ━━━');
31
+ const snapshot = await memory.snapshot();
32
+ console.log(` Hash: ${snapshot.hash}`);
33
+ console.log(` Mission bütünlüğü: ${await memory.validateMissionIntegrity() ? '✅' : '❌'}`);
34
+ console.log(` Mevcut kararlar: ${await memory.getDecisionCount()}`);
35
+ // ── Step 2: Health Check ──────────────────────────────
36
+ console.log('\n━━━ Step 2: Agent Runner Health ━━━');
37
+ const health = await runner.checkHealth();
38
+ console.log(` Ready: ${health.ready}`);
39
+ console.log(` Details: ${health.details}`);
40
+ if (!health.ready) {
41
+ console.error('❌ Agent runner hazır değil, çıkılıyor.');
42
+ process.exit(1);
43
+ }
44
+ // ── Step 3: Task Tanımı ───────────────────────────────
45
+ console.log('\n━━━ Step 3: Task Tanımı ━━━');
46
+ const task = {
47
+ id: 'T-REAL-001',
48
+ title: 'Create docs/GLOSSARY.md',
49
+ description: `docs/ klasörünü oluştur ve içine GLOSSARY.md dosyası yaz.
50
+
51
+ Bu dosya, Project Consciousness sisteminde kullanılan temel terimleri açıklamalı:
52
+
53
+ 1. MISSION.md — Projenin değişmez varlık sebebi
54
+ 2. ARCHITECTURE.md — Teknik mimari ve katman yapısı
55
+ 3. DECISIONS.md — Append-only karar logu
56
+ 4. STATE.md — Canlı proje durumu
57
+ 5. Orchestrator — Plan, değerlendirme ve eskalasyon yönetimi
58
+ 6. Agent Runner — Claude Code instance'ları spawn ve yönetimi
59
+ 7. Memory Layer — 4 dosyanın okuma/yazma guardianı
60
+ 8. Memory Snapshot — Tüm hafızanın anlık kopyası
61
+ 9. Escalation — İnsan müdahalesi gereken durumlar
62
+ 10. Context Injection — Agent prompt'una hafıza enjeksiyonu
63
+
64
+ Her terim için:
65
+ - Türkçe kısa tanım (1-2 cümle)
66
+ - Hangi dosyada/modülde yaşadığı
67
+
68
+ SADECE docs/GLOSSARY.md dosyasını oluştur. Başka dosya değiştirme.`,
69
+ type: 'document',
70
+ dependencies: [],
71
+ priority: 'medium',
72
+ estimatedComplexity: 'simple',
73
+ acceptanceCriteria: [
74
+ 'docs/ klasörü oluşturulmuş',
75
+ 'docs/GLOSSARY.md dosyası var',
76
+ 'En az 7 terim tanımlanmış',
77
+ 'Her terim Türkçe açıklanmış',
78
+ 'Dosya markdown formatında',
79
+ ],
80
+ };
81
+ console.log(` ID: ${task.id}`);
82
+ console.log(` Title: ${task.title}`);
83
+ console.log(` Criteria: ${task.acceptanceCriteria.length} adet`);
84
+ // ── Step 4: Context Build (doğrulama) ─────────────────
85
+ console.log('\n━━━ Step 4: Context Preview ━━━');
86
+ const ctxBuilder = new ContextBuilder();
87
+ const agent = runner.getAgent('documenter');
88
+ const prompt = ctxBuilder.buildPrompt(task, snapshot, agent);
89
+ console.log(` Prompt uzunluğu: ${prompt.length} karakter`);
90
+ console.log(` MISSION içeriyor: ${prompt.includes('MISSION') ? '✅' : '❌'}`);
91
+ console.log(` ARCHITECTURE içeriyor: ${prompt.includes('ARCHITECTURE') ? '✅' : '❌'}`);
92
+ console.log(` DECISIONS içeriyor: ${prompt.includes('DECISIONS') ? '✅' : '❌'}`);
93
+ // ── Step 5: Agent Execution ───────────────────────────
94
+ console.log('\n━━━ Step 5: Agent Execution ━━━');
95
+ console.log(' ⏳ claude.exe --print çalıştırılıyor...\n');
96
+ const result = await runner.runTask(task, snapshot);
97
+ console.log(`\n ══ Agent Result ══`);
98
+ console.log(` Task ID: ${result.taskId}`);
99
+ console.log(` Agent: ${result.agentId}`);
100
+ console.log(` Success: ${result.success}`);
101
+ console.log(` Duration: ${result.duration}ms`);
102
+ console.log(` Artifacts: [${result.artifacts.join(', ')}]`);
103
+ console.log(` Output (first 500):`);
104
+ console.log(` ${result.output.slice(0, 500)}`);
105
+ // ── Step 6: Decision Logging ──────────────────────────
106
+ console.log('\n━━━ Step 6: Decision Logging ━━━');
107
+ const nextId = await memory.getNextDecisionId();
108
+ const decision = {
109
+ id: nextId,
110
+ title: 'Real-world task: docs/GLOSSARY.md oluşturma',
111
+ date: new Date().toISOString(),
112
+ context: 'Sistemin çalışma kanıtı olarak gerçek bir dosya üretim görevi verildi',
113
+ decision: `Agent (documenter) ${result.success ? 'başarıyla' : 'başarısız şekilde'} çalıştı. Süre: ${result.duration}ms`,
114
+ rationale: 'E2E sonrası gerçek dünya testi — orchestrator döngüsünün tüm adımları çalışmalı',
115
+ alternatives: 'Manuel dosya oluşturma (orchestrator kanıtı olmaz)',
116
+ status: 'active',
117
+ };
118
+ await memory.appendDecision(decision);
119
+ console.log(` Karar loglandı: ${nextId}`);
120
+ // ── Step 7: State Update ──────────────────────────────
121
+ console.log('\n━━━ Step 7: State Update ━━━');
122
+ const state = await memory.parseState();
123
+ // Active tasks'a T-REAL-001'i ekle ve tamamlanmış olarak işaretle
124
+ state.completedTasks.push({
125
+ taskId: task.id,
126
+ title: task.title,
127
+ status: result.success ? 'done' : 'failed',
128
+ assignedAgent: result.agentId,
129
+ completedAt: new Date().toISOString(),
130
+ output: `${result.success ? 'Başarılı' : 'Başarısız'} — ${result.duration}ms`,
131
+ });
132
+ state.iteration += 1;
133
+ state.lastUpdated = new Date().toISOString();
134
+ await memory.updateState(state);
135
+ console.log(` STATE.md güncellendi (iteration: ${state.iteration})`);
136
+ // ── Step 8: Verification ──────────────────────────────
137
+ console.log('\n━━━ Step 8: Doğrulama ━━━');
138
+ // DECISIONS.md kontrol
139
+ const decisionsContent = await memory.readDecisions();
140
+ const hasNewDecision = decisionsContent.includes(nextId);
141
+ console.log(` DECISIONS.md yeni karar (${nextId}): ${hasNewDecision ? '✅' : '❌'}`);
142
+ // STATE.md kontrol
143
+ const stateContent = await memory.readState();
144
+ const hasTaskInState = stateContent.includes('T-REAL-001');
145
+ console.log(` STATE.md task kaydı: ${hasTaskInState ? '✅' : '❌'}`);
146
+ // docs/GLOSSARY.md kontrol
147
+ let glossaryExists = false;
148
+ let glossaryContent = '';
149
+ try {
150
+ const { readFile } = await import('node:fs/promises');
151
+ const { join } = await import('node:path');
152
+ glossaryContent = await readFile(join(PROJECT_ROOT, 'docs', 'GLOSSARY.md'), 'utf-8');
153
+ glossaryExists = true;
154
+ }
155
+ catch {
156
+ glossaryExists = false;
157
+ }
158
+ console.log(` docs/GLOSSARY.md oluştu: ${glossaryExists ? '✅' : '❌'}`);
159
+ if (glossaryExists) {
160
+ const terms = ['MISSION', 'ARCHITECTURE', 'DECISIONS', 'STATE', 'Orchestrator', 'Agent', 'Memory'];
161
+ const foundTerms = terms.filter(t => glossaryContent.includes(t));
162
+ console.log(` Terimler (${foundTerms.length}/${terms.length}): ${foundTerms.join(', ')}`);
163
+ console.log(` Dosya boyutu: ${glossaryContent.length} karakter`);
164
+ console.log(`\n ── GLOSSARY.md İlk 600 Karakter ──`);
165
+ console.log(glossaryContent.slice(0, 600));
166
+ console.log(' ──────────────────────────────────\n');
167
+ }
168
+ // ── Final Report ──────────────────────────────────────
169
+ console.log('╔══════════════════════════════════════════════════════╗');
170
+ console.log('║ FINAL REPORT ║');
171
+ console.log('╠══════════════════════════════════════════════════════╣');
172
+ console.log(`║ Agent çalıştı: ${result.success ? '✅ EVET' : '❌ HAYIR'} ║`);
173
+ console.log(`║ Claude CLI spawn: ✅ claude.exe --print ║`);
174
+ console.log(`║ Memory context: ✅ 4 dosya enjekte edildi ║`);
175
+ console.log(`║ docs/GLOSSARY.md: ${glossaryExists ? '✅ OLUŞTU' : '❌ OLUŞMADI'} ║`);
176
+ console.log(`║ DECISIONS.md: ${hasNewDecision ? '✅ LOGLAND' : '❌ LOGLANMADI'}I ║`);
177
+ console.log(`║ STATE.md: ${hasTaskInState ? '✅ GÜNCELLENDİ' : '❌ GÜNCELLENMEDİ'} ║`);
178
+ console.log(`║ Süre: ${Math.round(result.duration / 1000)}s ║`);
179
+ console.log('╚══════════════════════════════════════════════════════╝');
180
+ }
181
+ main().catch((err) => {
182
+ console.error('💥 Fatal:', err);
183
+ process.exit(1);
184
+ });
185
+ //# sourceMappingURL=run-real-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-real-task.js","sourceRoot":"","sources":["../src/run-real-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Real-World Test: TODO REST API
3
+ * Brief → Agent → Code → Evaluator v2 → Report
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=run-todo-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-todo-test.d.ts","sourceRoot":"","sources":["../src/run-todo-test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}