@yuaone/core 0.9.42 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/agent-affordance.d.ts +37 -0
  2. package/dist/agent-affordance.d.ts.map +1 -0
  3. package/dist/agent-affordance.js +139 -0
  4. package/dist/agent-affordance.js.map +1 -0
  5. package/dist/agent-decision-types.d.ts +262 -0
  6. package/dist/agent-decision-types.d.ts.map +1 -0
  7. package/dist/agent-decision-types.js +19 -0
  8. package/dist/agent-decision-types.js.map +1 -0
  9. package/dist/agent-decision.d.ts +52 -0
  10. package/dist/agent-decision.d.ts.map +1 -0
  11. package/dist/agent-decision.js +767 -0
  12. package/dist/agent-decision.js.map +1 -0
  13. package/dist/agent-loop.d.ts +37 -79
  14. package/dist/agent-loop.d.ts.map +1 -1
  15. package/dist/agent-loop.js +730 -586
  16. package/dist/agent-loop.js.map +1 -1
  17. package/dist/agent-reasoning-engine.d.ts +48 -0
  18. package/dist/agent-reasoning-engine.d.ts.map +1 -0
  19. package/dist/agent-reasoning-engine.js +544 -0
  20. package/dist/agent-reasoning-engine.js.map +1 -0
  21. package/dist/codebase-context.d.ts +3 -0
  22. package/dist/codebase-context.d.ts.map +1 -1
  23. package/dist/codebase-context.js +15 -6
  24. package/dist/codebase-context.js.map +1 -1
  25. package/dist/command-plan-compiler.d.ts +43 -0
  26. package/dist/command-plan-compiler.d.ts.map +1 -0
  27. package/dist/command-plan-compiler.js +164 -0
  28. package/dist/command-plan-compiler.js.map +1 -0
  29. package/dist/dependency-guard.d.ts +18 -0
  30. package/dist/dependency-guard.d.ts.map +1 -0
  31. package/dist/dependency-guard.js +113 -0
  32. package/dist/dependency-guard.js.map +1 -0
  33. package/dist/execution-engine.d.ts +10 -1
  34. package/dist/execution-engine.d.ts.map +1 -1
  35. package/dist/execution-engine.js +162 -8
  36. package/dist/execution-engine.js.map +1 -1
  37. package/dist/execution-receipt.d.ts +62 -0
  38. package/dist/execution-receipt.d.ts.map +1 -0
  39. package/dist/execution-receipt.js +67 -0
  40. package/dist/execution-receipt.js.map +1 -0
  41. package/dist/failure-surface-writer.d.ts +13 -0
  42. package/dist/failure-surface-writer.d.ts.map +1 -0
  43. package/dist/failure-surface-writer.js +33 -0
  44. package/dist/failure-surface-writer.js.map +1 -0
  45. package/dist/file-chunker.d.ts +26 -0
  46. package/dist/file-chunker.d.ts.map +1 -0
  47. package/dist/file-chunker.js +103 -0
  48. package/dist/file-chunker.js.map +1 -0
  49. package/dist/image-observer.d.ts +22 -0
  50. package/dist/image-observer.d.ts.map +1 -0
  51. package/dist/image-observer.js +60 -0
  52. package/dist/image-observer.js.map +1 -0
  53. package/dist/index.d.ts +55 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +53 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/judgment-rules.d.ts +44 -0
  58. package/dist/judgment-rules.d.ts.map +1 -0
  59. package/dist/judgment-rules.js +185 -0
  60. package/dist/judgment-rules.js.map +1 -0
  61. package/dist/memory-decay.d.ts +41 -0
  62. package/dist/memory-decay.d.ts.map +1 -0
  63. package/dist/memory-decay.js +62 -0
  64. package/dist/memory-decay.js.map +1 -0
  65. package/dist/memory-manager.d.ts.map +1 -1
  66. package/dist/memory-manager.js +30 -0
  67. package/dist/memory-manager.js.map +1 -1
  68. package/dist/model-weakness-tracker.d.ts +42 -0
  69. package/dist/model-weakness-tracker.d.ts.map +1 -0
  70. package/dist/model-weakness-tracker.js +107 -0
  71. package/dist/model-weakness-tracker.js.map +1 -0
  72. package/dist/overhead-governor.d.ts +3 -1
  73. package/dist/overhead-governor.d.ts.map +1 -1
  74. package/dist/overhead-governor.js +5 -0
  75. package/dist/overhead-governor.js.map +1 -1
  76. package/dist/patch-scope-controller.d.ts +44 -0
  77. package/dist/patch-scope-controller.d.ts.map +1 -0
  78. package/dist/patch-scope-controller.js +107 -0
  79. package/dist/patch-scope-controller.js.map +1 -0
  80. package/dist/patch-transaction.d.ts +53 -0
  81. package/dist/patch-transaction.d.ts.map +1 -0
  82. package/dist/patch-transaction.js +119 -0
  83. package/dist/patch-transaction.js.map +1 -0
  84. package/dist/pre-write-validator.d.ts +29 -0
  85. package/dist/pre-write-validator.d.ts.map +1 -0
  86. package/dist/pre-write-validator.js +97 -0
  87. package/dist/pre-write-validator.js.map +1 -0
  88. package/dist/prompt-builder.d.ts +25 -0
  89. package/dist/prompt-builder.d.ts.map +1 -0
  90. package/dist/prompt-builder.js +93 -0
  91. package/dist/prompt-builder.js.map +1 -0
  92. package/dist/prompt-envelope.d.ts +40 -0
  93. package/dist/prompt-envelope.d.ts.map +1 -0
  94. package/dist/prompt-envelope.js +16 -0
  95. package/dist/prompt-envelope.js.map +1 -0
  96. package/dist/prompt-runtime.d.ts +66 -0
  97. package/dist/prompt-runtime.d.ts.map +1 -0
  98. package/dist/prompt-runtime.js +492 -0
  99. package/dist/prompt-runtime.js.map +1 -0
  100. package/dist/repo-capability-profile.d.ts +24 -0
  101. package/dist/repo-capability-profile.d.ts.map +1 -0
  102. package/dist/repo-capability-profile.js +113 -0
  103. package/dist/repo-capability-profile.js.map +1 -0
  104. package/dist/security-gate.d.ts +39 -0
  105. package/dist/security-gate.d.ts.map +1 -0
  106. package/dist/security-gate.js +121 -0
  107. package/dist/security-gate.js.map +1 -0
  108. package/dist/self-evaluation.d.ts +22 -0
  109. package/dist/self-evaluation.d.ts.map +1 -0
  110. package/dist/self-evaluation.js +43 -0
  111. package/dist/self-evaluation.js.map +1 -0
  112. package/dist/semantic-diff-reviewer.d.ts +28 -0
  113. package/dist/semantic-diff-reviewer.d.ts.map +1 -0
  114. package/dist/semantic-diff-reviewer.js +168 -0
  115. package/dist/semantic-diff-reviewer.js.map +1 -0
  116. package/dist/stall-detector.d.ts +26 -2
  117. package/dist/stall-detector.d.ts.map +1 -1
  118. package/dist/stall-detector.js +128 -3
  119. package/dist/stall-detector.js.map +1 -1
  120. package/dist/system-core.d.ts +27 -0
  121. package/dist/system-core.d.ts.map +1 -0
  122. package/dist/system-core.js +269 -0
  123. package/dist/system-core.js.map +1 -0
  124. package/dist/system-prompt.d.ts +4 -0
  125. package/dist/system-prompt.d.ts.map +1 -1
  126. package/dist/system-prompt.js +47 -218
  127. package/dist/system-prompt.js.map +1 -1
  128. package/dist/target-file-ranker.d.ts +38 -0
  129. package/dist/target-file-ranker.d.ts.map +1 -0
  130. package/dist/target-file-ranker.js +90 -0
  131. package/dist/target-file-ranker.js.map +1 -0
  132. package/dist/task-classifier.d.ts +6 -0
  133. package/dist/task-classifier.d.ts.map +1 -1
  134. package/dist/task-classifier.js +6 -0
  135. package/dist/task-classifier.js.map +1 -1
  136. package/dist/test-impact-planner.d.ts +16 -0
  137. package/dist/test-impact-planner.d.ts.map +1 -0
  138. package/dist/test-impact-planner.js +68 -0
  139. package/dist/test-impact-planner.js.map +1 -0
  140. package/dist/tool-outcome-cache.d.ts +41 -0
  141. package/dist/tool-outcome-cache.d.ts.map +1 -0
  142. package/dist/tool-outcome-cache.js +88 -0
  143. package/dist/tool-outcome-cache.js.map +1 -0
  144. package/dist/types.d.ts +39 -0
  145. package/dist/types.d.ts.map +1 -1
  146. package/dist/verifier-rules.d.ts +15 -0
  147. package/dist/verifier-rules.d.ts.map +1 -0
  148. package/dist/verifier-rules.js +80 -0
  149. package/dist/verifier-rules.js.map +1 -0
  150. package/dist/workspace-mutation-policy.d.ts +28 -0
  151. package/dist/workspace-mutation-policy.d.ts.map +1 -0
  152. package/dist/workspace-mutation-policy.js +56 -0
  153. package/dist/workspace-mutation-policy.js.map +1 -0
  154. package/package.json +1 -1
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @module dependency-guard
3
+ * @description Detects and gates dependency changes (package.json, lockfile, install commands).
4
+ * Dependency changes are higher risk than normal code changes.
5
+ * NO LLM, deterministic pattern matching.
6
+ */
7
+ // ─── Constants ───
8
+ /** Manifest files (dependency declaration) */
9
+ const MANIFEST_FILES = [
10
+ "package.json",
11
+ "pyproject.toml",
12
+ "Cargo.toml",
13
+ "go.mod",
14
+ "Gemfile",
15
+ "pom.xml",
16
+ "build.gradle",
17
+ "build.gradle.kts",
18
+ ];
19
+ /** Lock files (resolved dependency tree) */
20
+ const LOCK_FILES = [
21
+ "pnpm-lock.yaml",
22
+ "package-lock.json",
23
+ "yarn.lock",
24
+ "bun.lockb",
25
+ "Pipfile.lock",
26
+ "poetry.lock",
27
+ "Cargo.lock",
28
+ "go.sum",
29
+ "Gemfile.lock",
30
+ ];
31
+ /** Patterns that match install/add commands across ecosystems */
32
+ const INSTALL_PATTERNS = [
33
+ /\bnpm\s+install\b/i,
34
+ /\bnpm\s+i\b/i,
35
+ /\bpnpm\s+(add|install)\b/i,
36
+ /\byarn\s+add\b/i,
37
+ /\bbun\s+(add|install)\b/i,
38
+ /\bpip\s+install\b/i,
39
+ /\bpip3\s+install\b/i,
40
+ /\bcargo\s+add\b/i,
41
+ /\bgo\s+get\b/i,
42
+ /\bgem\s+install\b/i,
43
+ /\bcomposer\s+require\b/i,
44
+ ];
45
+ // ─── Helpers ───
46
+ function isManifestFile(path) {
47
+ const basename = path.split("/").pop() ?? "";
48
+ return MANIFEST_FILES.includes(basename);
49
+ }
50
+ function isLockFile(path) {
51
+ const basename = path.split("/").pop() ?? "";
52
+ return LOCK_FILES.includes(basename);
53
+ }
54
+ function isInstallCommand(command) {
55
+ return INSTALL_PATTERNS.some((p) => p.test(command));
56
+ }
57
+ // ─── Not-a-dependency-change sentinel ───
58
+ const NOT_DEP = {
59
+ isDependencyChange: false,
60
+ kind: null,
61
+ requiresApproval: false,
62
+ budgetMultiplier: 1,
63
+ verifyAfter: false,
64
+ };
65
+ // ─── Public API ───
66
+ /** Check if a tool call involves dependency changes */
67
+ export function checkDependencyChange(toolName, args) {
68
+ // Shell commands: detect install commands
69
+ if (toolName === "shell_exec" || toolName === "bash") {
70
+ const cmd = String(args.command ?? args.script ?? "");
71
+ if (isInstallCommand(cmd)) {
72
+ return {
73
+ isDependencyChange: true,
74
+ kind: "install_command",
75
+ requiresApproval: true,
76
+ budgetMultiplier: 3,
77
+ verifyAfter: true,
78
+ reason: `Install command detected: ${cmd.slice(0, 80)}`,
79
+ };
80
+ }
81
+ return NOT_DEP;
82
+ }
83
+ // File operations: detect manifest/lock file changes
84
+ if (toolName === "file_write" || toolName === "file_edit") {
85
+ const filePath = String(args.path ?? args.file_path ?? "");
86
+ if (isManifestFile(filePath)) {
87
+ const content = String(args.content ?? args.new_string ?? "");
88
+ // Heuristic: if content mentions dependency sections, classify as add
89
+ const hasNew = /\+.*"[^"]+"\s*:\s*"[^"]*"/.test(content) ||
90
+ /dependencies|devDependencies/.test(content);
91
+ return {
92
+ isDependencyChange: true,
93
+ kind: hasNew ? "manifest_add" : "manifest_upgrade",
94
+ requiresApproval: true,
95
+ budgetMultiplier: 2,
96
+ verifyAfter: true,
97
+ reason: `Manifest file modified: ${filePath}`,
98
+ };
99
+ }
100
+ if (isLockFile(filePath)) {
101
+ return {
102
+ isDependencyChange: true,
103
+ kind: "lockfile_only",
104
+ requiresApproval: false, // lockfile-only is usually safe
105
+ budgetMultiplier: 1,
106
+ verifyAfter: true,
107
+ reason: `Lock file modified: ${filePath}`,
108
+ };
109
+ }
110
+ }
111
+ return NOT_DEP;
112
+ }
113
+ //# sourceMappingURL=dependency-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-guard.js","sourceRoot":"","sources":["../src/dependency-guard.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@
28
28
  */
29
29
  import { EventEmitter } from "node:events";
30
30
  import type { BYOKConfig, ToolExecutor, AgentTermination } from "./types.js";
31
+ import type { AgentDecisionContext } from "./agent-decision-types.js";
31
32
  import { AgentLogger } from "./agent-logger.js";
32
33
  import type { LoggerConfig } from "./agent-logger.js";
33
34
  import type { GovernorConfig } from "./governor.js";
@@ -249,6 +250,12 @@ export declare class ExecutionEngine extends EventEmitter {
249
250
  * - 병렬도 고려해서 전체 예산을 안전하게 분할
250
251
  */
251
252
  private getSubAgentTokenBudget;
253
+ /**
254
+ * Apply Decision Engine policy to ExecutionEngine config.
255
+ * Overrides iteration limits, token budgets, and feature flags
256
+ * based on the decision's compute policy and failure surface.
257
+ */
258
+ private applyDecisionPolicy;
252
259
  /** Sandbox manager for tool call validation (null if disabled) */
253
260
  private sandboxManager;
254
261
  /** Skill loader */
@@ -263,6 +270,8 @@ export declare class ExecutionEngine extends EventEmitter {
263
270
  private readonly resolvedSkillsByStepId;
264
271
  /** Global complexity inferred during analyze phase */
265
272
  private globalComplexity;
273
+ /** Decision context injected at execute() time (null if not provided) */
274
+ private decision;
266
275
  constructor(config: ExecutionEngineConfig);
267
276
  /** 실행 로거 — 실행 후 로그 조회에 사용 */
268
277
  get logger(): AgentLogger;
@@ -290,7 +299,7 @@ export declare class ExecutionEngine extends EventEmitter {
290
299
  * @param goal - 사용자의 실행 목표
291
300
  * @returns 실행 결과 (성공 여부, 변경 파일, 토큰 사용량 등)
292
301
  */
293
- execute(goal: string): Promise<ExecutionResult>;
302
+ execute(goal: string, decision?: AgentDecisionContext): Promise<ExecutionResult>;
294
303
  /**
295
304
  * 런타임 상태를 디스크에 체크포인트로 저장한다.
296
305
  * sessionPersistence가 없으면 아무것도 하지 않는다.
@@ -1 +1 @@
1
- {"version":3,"file":"execution-engine.d.ts","sourceRoot":"","sources":["../src/execution-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-engine.d.ts","sourceRoot":"","sources":["../src/execution-engine.ts"],"names":[],"mappings":"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"}
@@ -123,9 +123,105 @@ export class ExecutionEngine extends EventEmitter {
123
123
  * - 병렬도 고려해서 전체 예산을 안전하게 분할
124
124
  */
125
125
  getSubAgentTokenBudget() {
126
+ // Decision-aware budget: each sub-agent gets 1/parallelAgents of total budget, min 10K
127
+ if (this.decision) {
128
+ const policy = this.decision.core.computePolicy;
129
+ return Math.max(10_000, Math.floor(policy.maxTokenBudget / Math.max(1, policy.parallelAgents)));
130
+ }
131
+ // Legacy fallback
126
132
  const divisor = Math.max(1, this.config.maxParallelAgents + 1);
127
133
  return Math.max(5000, Math.floor(this.config.totalTokenBudget / divisor));
128
134
  }
135
+ /**
136
+ * Apply Decision Engine policy to ExecutionEngine config.
137
+ * Overrides iteration limits, token budgets, and feature flags
138
+ * based on the decision's compute policy and failure surface.
139
+ */
140
+ applyDecisionPolicy(dec) {
141
+ const core = dec.core;
142
+ // Compute policy → iteration and token budget overrides
143
+ this.config.maxIterations = core.computePolicy.maxIterations;
144
+ this.config.totalTokenBudget = core.computePolicy.maxTokenBudget;
145
+ // Affordance → deep verify activation
146
+ if (core.affordance.run_checks > 0.7) {
147
+ this.config.enableDeepVerify = true;
148
+ }
149
+ // Failure surface → security scan activation
150
+ if (core.failureSurface.patchRisk > 0.6) {
151
+ this.config.enableSecurityScan = true;
152
+ }
153
+ // Massive complexity → parallel execution
154
+ if (core.reasoning.complexity === "massive") {
155
+ this.config.enableParallelExecution = true;
156
+ this.config.maxParallelAgents = core.computePolicy.parallelAgents;
157
+ }
158
+ // Sub-agent plan from Decision (Phase I SSOT)
159
+ if (core.subAgentPlan.enabled) {
160
+ this.config.enableParallelExecution = true;
161
+ this.config.maxParallelAgents = Math.max(this.config.maxParallelAgents, core.subAgentPlan.maxAgents);
162
+ }
163
+ // Re-initialize DAGOrchestrator with Decision-derived parallel limit
164
+ if (this.dagOrchestrator) {
165
+ this.dagOrchestrator = new DAGOrchestrator({
166
+ maxParallelAgents: core.computePolicy.parallelAgents || this.config.maxParallelAgents,
167
+ maxRetries: 2,
168
+ tokenBudget: core.computePolicy.maxTokenBudget,
169
+ wallTimeLimit: 600000,
170
+ spawnAgent: this.spawnAgent.bind(this),
171
+ });
172
+ }
173
+ // Complexity-based design skip
174
+ const isSimpleOrTrivial = core.reasoning.complexity === "trivial" || core.reasoning.complexity === "simple";
175
+ if (isSimpleOrTrivial) {
176
+ this.config.skipDesignForSimple = true;
177
+ }
178
+ // ── Module activations from decision ──
179
+ // Speculative execution: high inspect_more + complex task
180
+ if (core.affordance.inspect_more > 0.8 &&
181
+ (core.reasoning.complexity === "complex" || core.reasoning.complexity === "massive")) {
182
+ this.config.enableSpeculative = true;
183
+ }
184
+ // Security scan: any modify intent with non-trivial complexity (enhanced)
185
+ if (core.failureSurface.patchRisk > 0.5 ||
186
+ (core.reasoning.intent === "edit" && core.reasoning.complexity !== "trivial")) {
187
+ this.config.enableSecurityScan = true;
188
+ }
189
+ // Doc generation: refactor/plan intent at complex+ complexity
190
+ if ((core.reasoning.intent === "refactor" || core.reasoning.intent === "plan") &&
191
+ (core.reasoning.complexity === "complex" || core.reasoning.complexity === "massive")) {
192
+ this.config.enableDocGeneration = true;
193
+ }
194
+ // Sandbox: high blast radius or shell-heavy budget
195
+ if (core.failureSurface.blastRadius > 0.7 || core.toolBudget.maxShellExecs > 10) {
196
+ this.config.enableSandbox = true;
197
+ }
198
+ // Perf tracking: AGENT mode always, HYBRID for complex+
199
+ if (core.interactionMode === "AGENT" ||
200
+ (core.interactionMode === "HYBRID" && core.reasoning.complexity !== "simple")) {
201
+ this.config.enablePerfTracking = true;
202
+ }
203
+ // Set global complexity from decision
204
+ this.globalComplexity = core.reasoning.complexity;
205
+ // Log decision-driven module activations
206
+ const activated = [];
207
+ if (this.config.enableSpeculative)
208
+ activated.push("speculative");
209
+ if (this.config.enableSecurityScan)
210
+ activated.push("security-scan");
211
+ if (this.config.enableDocGeneration)
212
+ activated.push("doc-gen");
213
+ if (this.config.enableSandbox)
214
+ activated.push("sandbox");
215
+ if (this.config.enablePerfTracking)
216
+ activated.push("perf-track");
217
+ if (this.config.enableDeepVerify)
218
+ activated.push("deep-verify");
219
+ if (this.config.enableParallelExecution)
220
+ activated.push("parallel");
221
+ if (activated.length > 0) {
222
+ this.emit("engine:modules_activated", activated);
223
+ }
224
+ }
129
225
  /** Sandbox manager for tool call validation (null if disabled) */
130
226
  sandboxManager = null;
131
227
  /** Skill loader */
@@ -140,6 +236,8 @@ export class ExecutionEngine extends EventEmitter {
140
236
  resolvedSkillsByStepId = new Map();
141
237
  /** Global complexity inferred during analyze phase */
142
238
  globalComplexity = "moderate";
239
+ /** Decision context injected at execute() time (null if not provided) */
240
+ decision = null;
143
241
  constructor(config) {
144
242
  super();
145
243
  this.setMaxListeners(200);
@@ -167,6 +265,9 @@ export class ExecutionEngine extends EventEmitter {
167
265
  enableIntentInference: config.enableIntentInference ?? true,
168
266
  enableSpeculative: config.enableSpeculative ?? false,
169
267
  speculativeMaxApproaches: config.speculativeMaxApproaches ?? 3,
268
+ enablePerfTracking: config.enablePerfTracking ?? false,
269
+ enableSandbox: config.enableSandbox ?? false,
270
+ sandboxTier: config.sandboxTier ?? 2,
170
271
  governorConfig: config.governorConfig,
171
272
  contextConfig: config.contextConfig,
172
273
  approvalConfig: config.approvalConfig,
@@ -222,6 +323,10 @@ export class ExecutionEngine extends EventEmitter {
222
323
  wallTimeLimit: 600000,
223
324
  spawnAgent: this.spawnAgent.bind(this),
224
325
  });
326
+ // NOTE: Decision-aware DAG parallel limit is applied in applyDecisionPolicy()
327
+ // TODO: Consider using ParallelExecutor for fine-grained concurrency control
328
+ // ParallelExecutor provides fault isolation per sub-agent, currently unused
329
+ // Decision.core.subAgentPlan determines parallel strategy
225
330
  this.dagOrchestrator.on("dag:agent_reasoning", (e) => {
226
331
  this.emit("agent:event", {
227
332
  kind: "agent:reasoning_timeline",
@@ -286,7 +391,7 @@ export class ExecutionEngine extends EventEmitter {
286
391
  * @param goal - 사용자의 실행 목표
287
392
  * @returns 실행 결과 (성공 여부, 변경 파일, 토큰 사용량 등)
288
393
  */
289
- async execute(goal) {
394
+ async execute(goal, decision) {
290
395
  const startTime = Date.now();
291
396
  this.abortController = new AbortController();
292
397
  this.changedFiles.clear();
@@ -300,6 +405,11 @@ export class ExecutionEngine extends EventEmitter {
300
405
  this.activeSkillContext = {
301
406
  taskDescription: goal,
302
407
  };
408
+ // Apply Decision Engine policy if provided
409
+ this.decision = decision ?? null;
410
+ if (this.decision) {
411
+ this.applyDecisionPolicy(this.decision);
412
+ }
303
413
  this.emit("engine:start", goal);
304
414
  this._logger.logInput(goal);
305
415
  this.reflection.think("start", `Goal received: "${goal}"`);
@@ -340,14 +450,36 @@ export class ExecutionEngine extends EventEmitter {
340
450
  }
341
451
  // 1. Build codebase index (if enabled and not already built)
342
452
  if (this.config.enableCodebaseIndex && !this.codebaseContext) {
453
+ // TODO Phase D+: LanguageSupport could receive decision.core.reasoning to prioritize language-specific patterns
343
454
  const languageSupport = new LanguageSupport();
344
455
  this.codebaseContext = new CodebaseContext(this.config.projectPath, languageSupport);
345
456
  this._logger.info("system", "Building codebase index", { projectPath: this.config.projectPath });
346
457
  this.reflection.think("analyze", "Building codebase index...");
347
458
  await this.codebaseContext.buildIndex();
348
459
  const stats = this.codebaseContext.getStats();
349
- this._logger.info("system", `Codebase indexed: ${stats.totalFiles} files, ${stats.totalSymbols} symbols`);
350
- this.reflection.think("analyze", `Index built: ${stats.totalFiles} files, ${stats.totalSymbols} symbols`);
460
+ this._logger.info("system", `Codebase indexed: ${stats.totalFiles} files, ${stats.totalSymbols} symbols, avgComplexity: ${stats.avgComplexity}, maxComplexity: ${stats.maxComplexity}`);
461
+ this.reflection.think("analyze", `Index built: ${stats.totalFiles} files, ${stats.totalSymbols} symbols, avgComplexity: ${stats.avgComplexity}`);
462
+ // Apply codebase complexity to runtime policy (Decision is frozen, so adjust execution config directly)
463
+ if (stats.avgComplexity > 15) {
464
+ // High average complexity → force deeper verification
465
+ if (!this.config.enableDeepVerify) {
466
+ this.config.enableDeepVerify = true;
467
+ this._logger.info("system", `Codebase avgComplexity ${stats.avgComplexity} > 15 — enabling deep verify`);
468
+ }
469
+ }
470
+ if (stats.maxComplexity > 50) {
471
+ // Extremely complex file exists → enable security scan
472
+ if (!this.config.enableSecurityScan) {
473
+ this.config.enableSecurityScan = true;
474
+ this._logger.info("system", `Codebase maxComplexity ${stats.maxComplexity} > 50 — enabling security scan`);
475
+ }
476
+ }
477
+ if (stats.avgLoc > 300) {
478
+ // Large files → enable perf tracking
479
+ if (!this.config.enablePerfTracking) {
480
+ this.config.enablePerfTracking = true;
481
+ }
482
+ }
351
483
  }
352
484
  // 1b. VectorIndex initialization (pgvector or in-memory semantic search)
353
485
  if (this.config.enableVectorSearch && !this.vectorIndex && !this.inMemoryVectorStore) {
@@ -1102,9 +1234,12 @@ Exactly one approach should have recommended=true.`;
1102
1234
  // SubAgent execution
1103
1235
  // ─────────────────────────────────────────
1104
1236
  const startMs = Date.now();
1237
+ // TODO: routeSubAgent should accept decisionHint for deterministic routing
1238
+ // When Decision is available, intent/complexity/affordance can guide model tier selection
1105
1239
  const routing = routeSubAgent({
1106
1240
  role: step.role ?? "coder",
1107
- complexity: state.workingMemory.get("complexity") ?? "moderate",
1241
+ complexity: (this.decision?.core.reasoning.complexity) ??
1242
+ state.workingMemory.get("complexity") ?? "moderate",
1108
1243
  fileCount: step.targetFiles.length,
1109
1244
  hasTests: step.tools.includes("test_run"),
1110
1245
  isCriticalPath: false,
@@ -1273,10 +1408,15 @@ Exactly one approach should have recommended=true.`;
1273
1408
  }
1274
1409
  this._logger.logDecision("Verification verdict", ["pass", "warn", "fail"], deepResult.verdict, `Score: ${deepResult.overallScore}, confidence: ${deepResult.confidence}`);
1275
1410
  this.reflection.think("verify", `Deep verification: ${deepResult.verdict} (score: ${deepResult.overallScore}, confidence: ${deepResult.confidence})`);
1276
- // ─── Debate Orchestrator (optional — auto-activates when complexity >= moderate) ───
1411
+ // ─── Debate Orchestrator (optional — Decision-aware gating or auto-activates when complexity >= moderate) ───
1277
1412
  const debateComplexity = state.workingMemory.get("complexity");
1278
1413
  const debateAutoActivate = ["moderate", "complex", "massive"].includes(debateComplexity ?? "");
1279
- const shouldDebate = (this.config.enableDebate || debateAutoActivate) && this.changedFiles.size > 0;
1414
+ // Decision-aware: activate debate when run_checks is high and task is non-trivial
1415
+ const shouldDebate = this.decision
1416
+ ? this.decision.core.affordance.run_checks > 0.6 &&
1417
+ this.decision.core.reasoning.complexity !== "trivial" &&
1418
+ this.changedFiles.size > 0
1419
+ : (this.config.enableDebate || debateAutoActivate) && this.changedFiles.size > 0;
1280
1420
  if (shouldDebate) {
1281
1421
  try {
1282
1422
  this._logger.info("system", "Running multi-agent debate verification...");
@@ -1595,9 +1735,11 @@ ${[...this.changedFiles].join(", ")}
1595
1735
  * DAGOrchestrator가 호출하는 Agent worker
1596
1736
  */
1597
1737
  async spawnAgent(task, context, _signal) {
1738
+ // TODO: routeSubAgent should accept decisionHint for deterministic routing
1739
+ // When Decision is available, use decision complexity over globalComplexity
1598
1740
  const routing = routeSubAgent({
1599
1741
  role: task.role ?? "coder",
1600
- complexity: this.globalComplexity,
1742
+ complexity: this.decision?.core.reasoning.complexity ?? this.globalComplexity,
1601
1743
  fileCount: task.targetFiles.length,
1602
1744
  hasTests: task.tools?.includes("test_run") ?? false,
1603
1745
  isCriticalPath: false,
@@ -1619,9 +1761,21 @@ ${[...this.changedFiles].join(", ")}
1619
1761
  role,
1620
1762
  parentModelTier: routing.tier,
1621
1763
  });
1764
+ // Pass decision-derived hints to sub-agent goal
1765
+ let taskGoal = context.taskGoal ?? task.goal;
1766
+ if (this.decision) {
1767
+ const subBudget = this.getSubAgentTokenBudget();
1768
+ // Sub-agents inherit parent's token budget (proportional) and interaction mode
1769
+ taskGoal += `\n[Budget: max ${subBudget} tokens. Mode: ${this.decision.core.interactionMode}]`;
1770
+ // Propagate code quality policy to sub-agents
1771
+ if (this.decision.core.codeQuality.isCodeTask) {
1772
+ const cq = this.decision.core.codeQuality;
1773
+ taskGoal += `\n[Code Quality: ${cq.codeTaskType} mode. STRICT: no TODO/stub/placeholder. Risk: ${cq.primaryRisk}]`;
1774
+ }
1775
+ }
1622
1776
  const result = await subAgent.run({
1623
1777
  overallGoal: context.overallGoal,
1624
- taskGoal: context.taskGoal ?? task.goal,
1778
+ taskGoal,
1625
1779
  targetFiles: context.targetFiles ?? task.targetFiles,
1626
1780
  readFiles: context.readFiles ?? task.readFiles,
1627
1781
  projectStructure: context.projectStructure,