agent-nuvira 3.3.11 → 3.3.13

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 (220) hide show
  1. package/README.md +32 -1
  2. package/dist/agents/agents/reasoner.d.ts.map +1 -1
  3. package/dist/agents/agents/reasoner.js +13 -0
  4. package/dist/agents/agents/reasoner.js.map +1 -1
  5. package/dist/agents/orchestrator.d.ts.map +1 -1
  6. package/dist/agents/orchestrator.js +56 -20
  7. package/dist/agents/orchestrator.js.map +1 -1
  8. package/dist/cli/chat.d.ts +36 -0
  9. package/dist/cli/chat.d.ts.map +1 -1
  10. package/dist/cli/chat.js +456 -43
  11. package/dist/cli/chat.js.map +1 -1
  12. package/dist/cli/cli-program.d.ts.map +1 -1
  13. package/dist/cli/cli-program.js +8 -0
  14. package/dist/cli/cli-program.js.map +1 -1
  15. package/dist/cli/config.d.ts.map +1 -1
  16. package/dist/cli/config.js +35 -4
  17. package/dist/cli/config.js.map +1 -1
  18. package/dist/cli/execute.d.ts.map +1 -1
  19. package/dist/cli/execute.js +14 -0
  20. package/dist/cli/execute.js.map +1 -1
  21. package/dist/cli/knowledge.d.ts +23 -0
  22. package/dist/cli/knowledge.d.ts.map +1 -0
  23. package/dist/cli/knowledge.js +132 -0
  24. package/dist/cli/knowledge.js.map +1 -0
  25. package/dist/cli/loop-executor.d.ts.map +1 -1
  26. package/dist/cli/loop-executor.js +57 -13
  27. package/dist/cli/loop-executor.js.map +1 -1
  28. package/dist/cli/omniroute-control.d.ts +88 -0
  29. package/dist/cli/omniroute-control.d.ts.map +1 -0
  30. package/dist/cli/omniroute-control.js +179 -0
  31. package/dist/cli/omniroute-control.js.map +1 -0
  32. package/dist/cli/omniroute.d.ts +21 -0
  33. package/dist/cli/omniroute.d.ts.map +1 -0
  34. package/dist/cli/omniroute.js +67 -0
  35. package/dist/cli/omniroute.js.map +1 -0
  36. package/dist/cli/tool-install-prompt.d.ts +58 -0
  37. package/dist/cli/tool-install-prompt.d.ts.map +1 -1
  38. package/dist/cli/tool-install-prompt.js +137 -0
  39. package/dist/cli/tool-install-prompt.js.map +1 -1
  40. package/dist/cli/weak-model-prompt.d.ts +16 -7
  41. package/dist/cli/weak-model-prompt.d.ts.map +1 -1
  42. package/dist/cli/weak-model-prompt.js +24 -8
  43. package/dist/cli/weak-model-prompt.js.map +1 -1
  44. package/dist/config/types.d.ts +44 -0
  45. package/dist/config/types.d.ts.map +1 -1
  46. package/dist/context/cache.d.ts +35 -1
  47. package/dist/context/cache.d.ts.map +1 -1
  48. package/dist/context/cache.js +31 -2
  49. package/dist/context/cache.js.map +1 -1
  50. package/dist/context/history.d.ts +21 -0
  51. package/dist/context/history.d.ts.map +1 -1
  52. package/dist/context/history.js +50 -0
  53. package/dist/context/history.js.map +1 -1
  54. package/dist/gateway/hook-contract.d.ts +173 -0
  55. package/dist/gateway/hook-contract.d.ts.map +1 -0
  56. package/dist/gateway/hook-contract.js +352 -0
  57. package/dist/gateway/hook-contract.js.map +1 -0
  58. package/dist/gateway/hooks.d.ts.map +1 -1
  59. package/dist/gateway/hooks.js +14 -0
  60. package/dist/gateway/hooks.js.map +1 -1
  61. package/dist/inference/interface.d.ts +17 -0
  62. package/dist/inference/interface.d.ts.map +1 -1
  63. package/dist/inference/model-catalog.d.ts +17 -0
  64. package/dist/inference/model-catalog.d.ts.map +1 -1
  65. package/dist/inference/model-catalog.js +42 -7
  66. package/dist/inference/model-catalog.js.map +1 -1
  67. package/dist/inference/model-id-validation.d.ts +57 -0
  68. package/dist/inference/model-id-validation.d.ts.map +1 -0
  69. package/dist/inference/model-id-validation.js +127 -0
  70. package/dist/inference/model-id-validation.js.map +1 -0
  71. package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
  72. package/dist/inference/openai-compat-adapter.js +12 -1
  73. package/dist/inference/openai-compat-adapter.js.map +1 -1
  74. package/dist/inference/provider-catalog.d.ts +11 -0
  75. package/dist/inference/provider-catalog.d.ts.map +1 -1
  76. package/dist/inference/provider-catalog.js +80 -0
  77. package/dist/inference/provider-catalog.js.map +1 -1
  78. package/dist/inference/route-resolver.d.ts +2 -8
  79. package/dist/inference/route-resolver.d.ts.map +1 -1
  80. package/dist/inference/route-resolver.js +17 -0
  81. package/dist/inference/route-resolver.js.map +1 -1
  82. package/dist/inference/tool-call-utils.d.ts +4 -3
  83. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  84. package/dist/inference/tool-call-utils.js +26 -12
  85. package/dist/inference/tool-call-utils.js.map +1 -1
  86. package/dist/inference/tools.d.ts +1 -0
  87. package/dist/inference/tools.d.ts.map +1 -1
  88. package/dist/inference/tools.js +20 -3
  89. package/dist/inference/tools.js.map +1 -1
  90. package/dist/learning/agentic-route-gate.d.ts +104 -0
  91. package/dist/learning/agentic-route-gate.d.ts.map +1 -0
  92. package/dist/learning/agentic-route-gate.js +125 -0
  93. package/dist/learning/agentic-route-gate.js.map +1 -0
  94. package/dist/learning/auto-router.d.ts +89 -0
  95. package/dist/learning/auto-router.d.ts.map +1 -1
  96. package/dist/learning/auto-router.js +188 -8
  97. package/dist/learning/auto-router.js.map +1 -1
  98. package/dist/learning/build-prerequisites.d.ts +68 -0
  99. package/dist/learning/build-prerequisites.d.ts.map +1 -0
  100. package/dist/learning/build-prerequisites.js +267 -0
  101. package/dist/learning/build-prerequisites.js.map +1 -0
  102. package/dist/learning/continuation-intent.d.ts +43 -0
  103. package/dist/learning/continuation-intent.d.ts.map +1 -0
  104. package/dist/learning/continuation-intent.js +82 -0
  105. package/dist/learning/continuation-intent.js.map +1 -0
  106. package/dist/learning/error-repair.d.ts +23 -1
  107. package/dist/learning/error-repair.d.ts.map +1 -1
  108. package/dist/learning/error-repair.js +58 -0
  109. package/dist/learning/error-repair.js.map +1 -1
  110. package/dist/learning/knowledge-base.d.ts +124 -0
  111. package/dist/learning/knowledge-base.d.ts.map +1 -0
  112. package/dist/learning/knowledge-base.js +337 -0
  113. package/dist/learning/knowledge-base.js.map +1 -0
  114. package/dist/learning/model-harness.d.ts +19 -0
  115. package/dist/learning/model-harness.d.ts.map +1 -1
  116. package/dist/learning/model-harness.js +27 -0
  117. package/dist/learning/model-harness.js.map +1 -1
  118. package/dist/learning/model-selection.d.ts +2 -1
  119. package/dist/learning/model-selection.d.ts.map +1 -1
  120. package/dist/learning/model-selection.js +35 -2
  121. package/dist/learning/model-selection.js.map +1 -1
  122. package/dist/learning/project-docs.d.ts +83 -0
  123. package/dist/learning/project-docs.d.ts.map +1 -0
  124. package/dist/learning/project-docs.js +132 -0
  125. package/dist/learning/project-docs.js.map +1 -0
  126. package/dist/learning/prompt-budget.d.ts +91 -0
  127. package/dist/learning/prompt-budget.d.ts.map +1 -0
  128. package/dist/learning/prompt-budget.js +99 -0
  129. package/dist/learning/prompt-budget.js.map +1 -0
  130. package/dist/learning/quota-ledger.d.ts +13 -0
  131. package/dist/learning/quota-ledger.d.ts.map +1 -1
  132. package/dist/learning/quota-ledger.js +28 -0
  133. package/dist/learning/quota-ledger.js.map +1 -1
  134. package/dist/learning/reasoning-trace.d.ts +55 -2
  135. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  136. package/dist/learning/reasoning-trace.js +48 -0
  137. package/dist/learning/reasoning-trace.js.map +1 -1
  138. package/dist/learning/resilient-call.d.ts.map +1 -1
  139. package/dist/learning/resilient-call.js +16 -3
  140. package/dist/learning/resilient-call.js.map +1 -1
  141. package/dist/learning/routing-history.d.ts +13 -0
  142. package/dist/learning/routing-history.d.ts.map +1 -1
  143. package/dist/learning/routing-history.js.map +1 -1
  144. package/dist/learning/seeded-benchmark.d.ts +14 -0
  145. package/dist/learning/seeded-benchmark.d.ts.map +1 -1
  146. package/dist/learning/seeded-benchmark.js +43 -4
  147. package/dist/learning/seeded-benchmark.js.map +1 -1
  148. package/dist/learning/turn-report.d.ts +78 -0
  149. package/dist/learning/turn-report.d.ts.map +1 -0
  150. package/dist/learning/turn-report.js +140 -0
  151. package/dist/learning/turn-report.js.map +1 -0
  152. package/dist/security/secret-scan.d.ts +156 -0
  153. package/dist/security/secret-scan.d.ts.map +1 -0
  154. package/dist/security/secret-scan.js +525 -0
  155. package/dist/security/secret-scan.js.map +1 -0
  156. package/dist/tools/edit-verification.d.ts +2 -11
  157. package/dist/tools/edit-verification.d.ts.map +1 -1
  158. package/dist/tools/edit-verification.js +33 -1
  159. package/dist/tools/edit-verification.js.map +1 -1
  160. package/dist/tools/loop-skill-hint.d.ts +51 -0
  161. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  162. package/dist/tools/loop-skill-hint.js +87 -2
  163. package/dist/tools/loop-skill-hint.js.map +1 -1
  164. package/dist/tools/plan-store.d.ts +126 -3
  165. package/dist/tools/plan-store.d.ts.map +1 -1
  166. package/dist/tools/plan-store.js +290 -6
  167. package/dist/tools/plan-store.js.map +1 -1
  168. package/dist/tools/registry.d.ts +20 -1
  169. package/dist/tools/registry.d.ts.map +1 -1
  170. package/dist/tools/registry.js +165 -4
  171. package/dist/tools/registry.js.map +1 -1
  172. package/dist/tools/remediation-ladder.d.ts +91 -0
  173. package/dist/tools/remediation-ladder.d.ts.map +1 -0
  174. package/dist/tools/remediation-ladder.js +308 -0
  175. package/dist/tools/remediation-ladder.js.map +1 -0
  176. package/dist/tools/run-terminal.d.ts.map +1 -1
  177. package/dist/tools/run-terminal.js +60 -2
  178. package/dist/tools/run-terminal.js.map +1 -1
  179. package/dist/tools/skills-hub.d.ts +7 -0
  180. package/dist/tools/skills-hub.d.ts.map +1 -1
  181. package/dist/tools/skills-hub.js +11 -2
  182. package/dist/tools/skills-hub.js.map +1 -1
  183. package/dist/tools/step-artifact.d.ts +35 -0
  184. package/dist/tools/step-artifact.d.ts.map +1 -0
  185. package/dist/tools/step-artifact.js +154 -0
  186. package/dist/tools/step-artifact.js.map +1 -0
  187. package/dist/tools/tool-loop.d.ts +35 -0
  188. package/dist/tools/tool-loop.d.ts.map +1 -1
  189. package/dist/tools/tool-loop.js +284 -9
  190. package/dist/tools/tool-loop.js.map +1 -1
  191. package/dist/tools/toolsets.js +4 -4
  192. package/dist/tools/toolsets.js.map +1 -1
  193. package/dist/tools/worktree.d.ts +11 -2
  194. package/dist/tools/worktree.d.ts.map +1 -1
  195. package/dist/tools/worktree.js +11 -2
  196. package/dist/tools/worktree.js.map +1 -1
  197. package/dist/utils/effect-verification.js +1 -1
  198. package/dist/utils/effect-verification.js.map +1 -1
  199. package/dist/web-dashboard/chat-console.d.ts +21 -1
  200. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  201. package/dist/web-dashboard/chat-console.js +33 -5
  202. package/dist/web-dashboard/chat-console.js.map +1 -1
  203. package/dist/web-dashboard/server.d.ts +29 -0
  204. package/dist/web-dashboard/server.d.ts.map +1 -1
  205. package/dist/web-dashboard/server.js +410 -5
  206. package/dist/web-dashboard/server.js.map +1 -1
  207. package/dist/web-dashboard/src/types.d.ts +137 -0
  208. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  209. package/dist/web-dashboard/workspace-guard.d.ts +7 -0
  210. package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
  211. package/dist/web-dashboard/workspace-guard.js +70 -0
  212. package/dist/web-dashboard/workspace-guard.js.map +1 -1
  213. package/package.json +4 -1
  214. package/src/web-dashboard/public/assets/index-DhiuR4S2.js +210 -0
  215. package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +1 -0
  216. package/src/web-dashboard/public/assets/index-tK8Y2qHB.css +1 -0
  217. package/src/web-dashboard/public/index.html +2 -2
  218. package/src/web-dashboard/public/assets/index-BdKf5Xw2.js +0 -207
  219. package/src/web-dashboard/public/assets/index-BdKf5Xw2.js.map +0 -1
  220. package/src/web-dashboard/public/assets/index-C9eBskc9.css +0 -1
@@ -0,0 +1,267 @@
1
+ /**
2
+ * BUILD PROJECT PREREQUISITES (Workstream D2).
3
+ *
4
+ * The harness already detects MISSING BINARIES (`installableToolsFromFailure`,
5
+ * `MISSING_BINARY_RE`) and hands the model the install command. It had NO check
6
+ * for a MISSING PROJECT FILE/FEATURE — the other half of the same failure. The
7
+ * live macOS build failed on `src-tauri/build.rs` (→ `OUT_DIR env var is not
8
+ * set`), then on a missing Cargo `custom-protocol` feature, retrying the same
9
+ * `npx tauri build` ~10 times because nothing recognized either as a
10
+ * prerequisite.
11
+ *
12
+ * This module is a DATA TABLE: error-output signatures → the concrete fix, plus
13
+ * project-marker pre-flight checks for Tauri/Rust. Adding an ecosystem is a row
14
+ * + a test, not a code path. It is deliberately pure (no fs in the signature
15
+ * path) so it can be unit tested from real error strings.
16
+ */
17
+ export const PREREQUISITE_RULES = [
18
+ {
19
+ id: 'rust-build-script-missing',
20
+ ecosystem: 'rust',
21
+ description: 'a build script (build.rs) is missing',
22
+ signature: [
23
+ /OUT_DIR env var is not set/i,
24
+ /The OUT_DIR environment variable is not set/i,
25
+ /could not find a build script/i,
26
+ ],
27
+ fix: 'Create `src-tauri/build.rs` (or the crate root\'s `build.rs`) containing ' +
28
+ '`fn main() { tauri_build::build() }` (or the crate\'s own build call), and ensure ' +
29
+ '`[build-dependencies] tauri-build` (or the matching build crate) is declared in Cargo.toml.',
30
+ },
31
+ {
32
+ id: 'tauri-build-version-mismatch',
33
+ ecosystem: 'rust',
34
+ description: 'tauri-build major version does not match tauri',
35
+ signature: [
36
+ /tauri-build.*version.*(?:mismatch|incompatible|requirement|does not match)/i,
37
+ /this version of `?tauri-build`?/i,
38
+ /failed to select a version for the requirement `?tauri-build`?/i,
39
+ ],
40
+ fix: 'Make `[build-dependencies] tauri-build` use the SAME major version as the `tauri` ' +
41
+ 'dependency (e.g. both `1`, or both `2`) in Cargo.toml.',
42
+ },
43
+ {
44
+ id: 'cargo-feature-missing-custom-protocol',
45
+ ecosystem: 'rust',
46
+ description: 'a required Cargo feature (custom-protocol) is missing',
47
+ signature: [
48
+ /does not contain this feature:?\s*`?custom-protocol`?/i,
49
+ /the package .* does not have the feature `?custom-protocol`?/i,
50
+ /feature `?custom-protocol`? .* (?:not found|missing)/i,
51
+ ],
52
+ fix: 'Add the feature to Cargo.toml:\n [features]\n custom-protocol = []\n default = ["custom-protocol"]',
53
+ },
54
+ {
55
+ id: 'icon-file-missing',
56
+ ecosystem: 'rust',
57
+ description: 'a bundled icon file referenced by bundle.icon does not exist',
58
+ signature: [
59
+ /failed to read icon/i,
60
+ /icon .* (?:does not exist|not found|no such file)/i,
61
+ /the icon path .* cannot be found/i,
62
+ ],
63
+ fix: 'Create the file(s) named in `tauri.conf.json` → `bundle.icon` (a 512×512 PNG at ' +
64
+ '`src-tauri/icons/icon.png` is the safe default) or remove the missing entry.',
65
+ },
66
+ {
67
+ id: 'go-module-missing',
68
+ ecosystem: 'go',
69
+ description: 'go module/sum file is out of date',
70
+ signature: [
71
+ /missing go\.sum entry/i,
72
+ /no required module provides package/i,
73
+ /cannot find module providing package/i,
74
+ ],
75
+ fix: 'Run `go mod tidy` (and `go mod download`) before building.',
76
+ },
77
+ {
78
+ id: 'dotnet-assets-missing',
79
+ ecosystem: 'dotnet',
80
+ description: 'NuGet restore has not run',
81
+ signature: [/NETSDK1004/i, /Assets file .* project\.assets\.json .* not found/i],
82
+ fix: 'Run `dotnet restore` before `dotnet build`.',
83
+ },
84
+ {
85
+ id: 'node-config-file-missing',
86
+ ecosystem: 'node',
87
+ description: 'a build config file a script references is missing',
88
+ signature: [
89
+ /ENOENT: no such file or directory, open .*(tsconfig|vite\.config|webpack\.config|rollup\.config|next\.config|jest\.config|tailwind\.config)/i,
90
+ /Could not resolve entry module/i,
91
+ ],
92
+ fix: 'Create the referenced config file (e.g. `tsconfig.json`, `vite.config.ts`) at the project ' +
93
+ 'root, or fix the path the build script points at. If the config is optional, pass an ' +
94
+ 'explicit `--config` pointing at an existing file.',
95
+ },
96
+ {
97
+ id: 'python-build-backend-missing',
98
+ ecosystem: 'python',
99
+ description: 'the build backend declared in pyproject.toml is not installed',
100
+ signature: [
101
+ /error: metadata-generation-failed/i,
102
+ /ModuleNotFoundError: No module named '(?:setuptools|hatchling|flit_core|poetry)'/i,
103
+ ],
104
+ fix: 'Install the declared build backend (e.g. `python -m pip install --upgrade setuptools wheel`) ' +
105
+ 'or add it to `[build-system] requires` in pyproject.toml.',
106
+ },
107
+ {
108
+ id: 'cmake-config-missing',
109
+ ecosystem: 'cmake',
110
+ description: 'CMake has not been configured (no build directory)',
111
+ signature: [
112
+ /CMake Error: .* build directory/i,
113
+ /No CMAKE_CXX_COMPILER could be found/i,
114
+ /does not appear to contain CMakeLists\.txt/i,
115
+ ],
116
+ fix: 'Run `cmake -S . -B build` first (and point it at the directory containing CMakeLists.txt), ' +
117
+ 'then `cmake --build build`.',
118
+ },
119
+ {
120
+ id: 'jvm-wrapper-missing',
121
+ ecosystem: 'jvm',
122
+ description: 'the Gradle/Maven wrapper or build file is missing',
123
+ signature: [
124
+ /Could not find or load main class .*gradle\.wrapper/i,
125
+ /No such file.*gradlew/i,
126
+ /The project .* is not a Maven project/i,
127
+ ],
128
+ fix: 'Use the project\'s wrapper (`./gradlew`, `./mvnw`) if present, else run `gradle wrapper` / ' +
129
+ 'ensure `pom.xml` or `build.gradle` exists at the project root.',
130
+ },
131
+ ];
132
+ /**
133
+ * Find every prerequisite rule whose signature appears in a failed command's
134
+ * output. Pure — the caller supplies the text.
135
+ *
136
+ * NOTE: build-command recognition is NOT duplicated here — it lives in
137
+ * `utils/effect-verification.ts` (`isBuildCommand`), the single source of truth
138
+ * shared with the effect-verification guard.
139
+ */
140
+ export function matchPrerequisiteSignatures(output) {
141
+ if (!output)
142
+ return [];
143
+ const matched = [];
144
+ for (const rule of PREREQUISITE_RULES) {
145
+ if (rule.signature.some((re) => re.test(output)))
146
+ matched.push(rule);
147
+ }
148
+ return matched;
149
+ }
150
+ /**
151
+ * Build the deterministic takeover instruction for the matched rules — the same
152
+ * shape as `toolTakeoverInstruction`: state the prerequisite, forbid the
153
+ * "cannot" conclusion, give the exact fix.
154
+ */
155
+ export function prerequisiteTakeoverInstruction(rules) {
156
+ if (rules.length === 0)
157
+ return '';
158
+ const lines = rules.map((r) => `- [${r.ecosystem}] ${r.description}\n FIX: ${r.fix}`);
159
+ return ('⚠️ BUILD PREREQUISITE MISSING — this is a project FILE/FEATURE to add, not a tool to ' +
160
+ 'install and not a capability limit. Do NOT retry the same command unchanged and do NOT ' +
161
+ 'tell the user you are unable to build. Apply the fix below, then re-run the ORIGINAL ' +
162
+ 'command:\n' +
163
+ lines.join('\n'));
164
+ }
165
+ /**
166
+ * Pre-flight checks for a project about to be BUILT. Returns failures only.
167
+ * Today: the four real Tauri blockers, guarded on the `src-tauri` marker so a
168
+ * non-Tauri project is untouched.
169
+ */
170
+ export function checkProjectPrerequisites(fs) {
171
+ const findings = [];
172
+ const hasTauri = fs.exists('src-tauri/tauri.conf.json') || fs.exists('src-tauri/Cargo.toml');
173
+ if (!hasTauri)
174
+ return findings;
175
+ // 1) build.rs must exist.
176
+ if (!fs.exists('src-tauri/build.rs')) {
177
+ findings.push({
178
+ id: 'rust-build-script-missing',
179
+ ecosystem: 'rust',
180
+ description: 'src-tauri/build.rs is missing',
181
+ fix: 'Create `src-tauri/build.rs` with `fn main() { tauri_build::build() }`.',
182
+ });
183
+ }
184
+ const cargo = fs.readFile('src-tauri/Cargo.toml');
185
+ if (cargo !== undefined) {
186
+ // 2) tauri-build major must match tauri.
187
+ const tauriDep = cargo.match(/^\s*tauri\s*=\s*\{?\s*version\s*=\s*"([^"]+)"/m);
188
+ const buildDep = cargo.match(/tauri-build\s*=\s*(?:\{[^}]*version\s*=\s*)?"([^"]+)"/m);
189
+ if (tauriDep && buildDep) {
190
+ const major = (v) => v.replace(/^[^0-9]*/, '').split('.')[0];
191
+ if (major(tauriDep[1]) !== major(buildDep[1])) {
192
+ findings.push({
193
+ id: 'tauri-build-version-mismatch',
194
+ ecosystem: 'rust',
195
+ description: `tauri-build "${buildDep[1]}" major does not match tauri "${tauriDep[1]}"`,
196
+ fix: `Set tauri-build to match tauri ${major(tauriDep[1])}.x in [build-dependencies].`,
197
+ });
198
+ }
199
+ }
200
+ // 3) custom-protocol feature must exist when tauri-build 1.x is used.
201
+ if (/tauri-build/.test(cargo) && !/^\s*custom-protocol\s*=/m.test(cargo)) {
202
+ findings.push({
203
+ id: 'cargo-feature-missing-custom-protocol',
204
+ ecosystem: 'rust',
205
+ description: 'the `custom-protocol` Cargo feature is missing',
206
+ fix: 'Add `[features]` with `custom-protocol = []` and `default = ["custom-protocol"]`.',
207
+ });
208
+ }
209
+ }
210
+ // 4) bundle.icon files must exist.
211
+ const conf = fs.readFile('src-tauri/tauri.conf.json');
212
+ if (conf !== undefined) {
213
+ try {
214
+ const parsed = JSON.parse(conf);
215
+ const icons = Array.isArray(parsed.bundle?.icon) ? parsed.bundle.icon : [];
216
+ for (const icon of icons) {
217
+ if (typeof icon === 'string' && icon && !fs.exists(icon)) {
218
+ findings.push({
219
+ id: 'icon-file-missing',
220
+ ecosystem: 'rust',
221
+ description: `bundle.icon references a missing file: ${icon}`,
222
+ fix: `Create ${icon} (a 512×512 PNG) or remove it from bundle.icon.`,
223
+ });
224
+ }
225
+ }
226
+ }
227
+ catch {
228
+ // A malformed tauri.conf.json is a different error; leave it to the build.
229
+ }
230
+ }
231
+ return findings;
232
+ }
233
+ import { existsSync, readFileSync } from 'node:fs';
234
+ import { isAbsolute, join } from 'node:path';
235
+ /** A real-filesystem {@link PrereqFs} rooted at `rootDir`. */
236
+ export function createNodePrereqFs(rootDir) {
237
+ const abs = (rel) => (isAbsolute(rel) ? rel : join(rootDir, rel));
238
+ return {
239
+ exists: (rel) => {
240
+ try {
241
+ return existsSync(abs(rel));
242
+ }
243
+ catch {
244
+ return false;
245
+ }
246
+ },
247
+ readFile: (rel) => {
248
+ try {
249
+ const p = abs(rel);
250
+ return existsSync(p) ? readFileSync(p, 'utf-8') : undefined;
251
+ }
252
+ catch {
253
+ return undefined;
254
+ }
255
+ },
256
+ };
257
+ }
258
+ /** Format pre-flight findings as a prerequisite instruction, or '' when clean. */
259
+ export function formatPreflightFindings(findings) {
260
+ if (findings.length === 0)
261
+ return '';
262
+ const lines = findings.map((f) => `- [${f.ecosystem}] ${f.description}\n FIX: ${f.fix}`);
263
+ return ('⚠️ PROJECT PREREQUISITES MISSING (pre-flight) — check these BEFORE building; do not ' +
264
+ 'discover them one failed build at a time:\n' +
265
+ lines.join('\n'));
266
+ }
267
+ //# sourceMappingURL=build-prerequisites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-prerequisites.js","sourceRoot":"","sources":["../../src/learning/build-prerequisites.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Intent-aware escalation for BARE continuations.
3
+ *
4
+ * WHY THIS EXISTS (2026-10-04). Routing is decided per message, which is right
5
+ * for a fresh ask — but a conversation's next turn is often just `yes`, `do it`
6
+ * or `go ahead`. Those carry no routing signal of their own: `analyzeTaskProfile`
7
+ * reads them as a trivial ask, so the follow-up to a real software task gets
8
+ * scored as small talk and can be sent to a weak/cheap model even though it is
9
+ * the continuation of complex code work.
10
+ *
11
+ * This module lets a caller (the chat REPL, `answerOnce`, the loop executor)
12
+ * recognise that case and hand the router the RECENT SOFTWARE ASK as the routing
13
+ * text instead of the bare continuation. The ANSWER still uses the user's own
14
+ * message — only the routing decision is escalated, and only when the
15
+ * conversation really was software work.
16
+ *
17
+ * Deliberately conservative: it fires only on a short, unambiguous affirmation,
18
+ * and only when a recent user turn was a software ask. Everything else routes
19
+ * exactly as before, so a genuine "thanks" or a fresh question is untouched.
20
+ */
21
+ /** A minimal turn shape — matches chat history ({ role, content }). */
22
+ export interface ContinuationTurn {
23
+ role: string;
24
+ content: string;
25
+ }
26
+ /**
27
+ * Is this message a bare continuation that names no task of its own?
28
+ * Pure; never throws.
29
+ */
30
+ export declare function isBareContinuation(message: string): boolean;
31
+ /**
32
+ * The routing text for a turn: the PREVIOUS SOFTWARE ASK when this message is a
33
+ * bare continuation of it, otherwise `null` (the caller keeps its own message).
34
+ *
35
+ * Considers only the MOST RECENT user turn — the one the continuation most
36
+ * plausibly refers to. Deliberately NOT a search further back: resurrecting an
37
+ * old code ask after the conversation has moved on (to chit-chat or writing)
38
+ * would escalate a turn that is no longer about that work. Returns `null` when
39
+ * the message is not a bare continuation, when there is no prior user turn, or
40
+ * when the previous ask was not software work.
41
+ */
42
+ export declare function continuationSoftwareText(message: string, history: readonly ContinuationTurn[] | undefined): string | null;
43
+ //# sourceMappingURL=continuation-intent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-intent.d.ts","sourceRoot":"","sources":["../../src/learning/continuation-intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA8BH,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GAC/C,MAAM,GAAG,IAAI,CAaf"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Intent-aware escalation for BARE continuations.
3
+ *
4
+ * WHY THIS EXISTS (2026-10-04). Routing is decided per message, which is right
5
+ * for a fresh ask — but a conversation's next turn is often just `yes`, `do it`
6
+ * or `go ahead`. Those carry no routing signal of their own: `analyzeTaskProfile`
7
+ * reads them as a trivial ask, so the follow-up to a real software task gets
8
+ * scored as small talk and can be sent to a weak/cheap model even though it is
9
+ * the continuation of complex code work.
10
+ *
11
+ * This module lets a caller (the chat REPL, `answerOnce`, the loop executor)
12
+ * recognise that case and hand the router the RECENT SOFTWARE ASK as the routing
13
+ * text instead of the bare continuation. The ANSWER still uses the user's own
14
+ * message — only the routing decision is escalated, and only when the
15
+ * conversation really was software work.
16
+ *
17
+ * Deliberately conservative: it fires only on a short, unambiguous affirmation,
18
+ * and only when a recent user turn was a software ask. Everything else routes
19
+ * exactly as before, so a genuine "thanks" or a fresh question is untouched.
20
+ */
21
+ import { analyzeTaskProfile } from './auto-router.js';
22
+ /**
23
+ * Intents that mean "this is code work". The router's `analyzeTaskProfile`
24
+ * defaults a non-creative ask to `coding`, so this is the union of the explicit
25
+ * software intents; `creative` and `chat` are deliberately excluded.
26
+ */
27
+ const SOFTWARE_INTENTS = new Set([
28
+ 'coding',
29
+ 'debugging',
30
+ 'verification',
31
+ 'migration',
32
+ 'architecture',
33
+ 'security',
34
+ 'planning',
35
+ ]);
36
+ /**
37
+ * A short, unambiguous affirmation/continuation that names no new task. Kept
38
+ * tight on purpose: a message with ANY task content ("yes, but make it red")
39
+ * is not a bare continuation and must route on its own text.
40
+ */
41
+ const BARE_CONTINUATION_RE = /^(?:yes|yep|yeah|yup|ok|okay|sure|go|go ahead|do it|proceed|continue|please do|fix it|make it so|sounds good|go on|carry on|keep going|and|then)\.?$/i;
42
+ /** Longest message still treated as a bare continuation (chars). */
43
+ const MAX_BARE_LEN = 40;
44
+ /**
45
+ * Is this message a bare continuation that names no task of its own?
46
+ * Pure; never throws.
47
+ */
48
+ export function isBareContinuation(message) {
49
+ const m = (message ?? '').trim();
50
+ if (!m || m.length > MAX_BARE_LEN)
51
+ return false;
52
+ return BARE_CONTINUATION_RE.test(m);
53
+ }
54
+ /**
55
+ * The routing text for a turn: the PREVIOUS SOFTWARE ASK when this message is a
56
+ * bare continuation of it, otherwise `null` (the caller keeps its own message).
57
+ *
58
+ * Considers only the MOST RECENT user turn — the one the continuation most
59
+ * plausibly refers to. Deliberately NOT a search further back: resurrecting an
60
+ * old code ask after the conversation has moved on (to chit-chat or writing)
61
+ * would escalate a turn that is no longer about that work. Returns `null` when
62
+ * the message is not a bare continuation, when there is no prior user turn, or
63
+ * when the previous ask was not software work.
64
+ */
65
+ export function continuationSoftwareText(message, history) {
66
+ if (!isBareContinuation(message))
67
+ return null;
68
+ const lastUser = [...(history ?? [])]
69
+ .reverse()
70
+ .find((h) => h && h.role === 'user' && typeof h.content === 'string');
71
+ if (!lastUser)
72
+ return null;
73
+ try {
74
+ const profile = analyzeTaskProfile(lastUser.content);
75
+ return SOFTWARE_INTENTS.has(profile.intent) ? lastUser.content : null;
76
+ }
77
+ catch {
78
+ // A classifier failure must never break routing.
79
+ return null;
80
+ }
81
+ }
82
+ //# sourceMappingURL=continuation-intent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-intent.js","sourceRoot":"","sources":["../../src/learning/continuation-intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,QAAQ;IACR,WAAW;IACX,cAAc;IACd,WAAW;IACX,cAAc;IACd,UAAU;IACV,UAAU;CACX,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,oBAAoB,GACxB,uJAAuJ,CAAC;AAE1J,oEAAoE;AACpE,MAAM,YAAY,GAAG,EAAE,CAAC;AAQxB;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,YAAY;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,OAAgD;IAEhD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SAClC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -20,6 +20,7 @@
20
20
  * | `adjust-temperature` | Repetitive or hallucinated output | Lower temperature to 0.2 for more deterministic output |
21
21
  * | `retry-tool` | Tool call failed with retryable error | Retry the same call after a brief delay |
22
22
  * | `alternative-approach` | Persistent failures across strategies | Ask the LLM for a fundamentally different strategy, then re-execute |
23
+ * | `shrink-scope` | WEAK-MODEL path (escalation is a no-op) | Re-ask for the SMALLEST single unit, so a model that cannot hold the whole task still moves the work forward |
23
24
  * | `skip-step` | Budget exhausted or non-repairable | Gracefully skip the failing step |
24
25
  *
25
26
  * ## Error Classification
@@ -38,7 +39,7 @@ import type { AgentContext, AgentResult, LLMCallFn } from '../agents/agent.js';
38
39
  /** Categories of errors that the repair system can classify */
39
40
  export type ErrorCategory = 'llm-error' | 'provider-error' | 'process-error' | 'injection-blocked' | 'context-limit' | 'budget-exhausted' | 'unknown';
40
41
  /** Repair strategies that can be applied */
41
- export type RepairStrategy = 're-prompt' | 'switch-model' | 'adjust-temperature' | 'retry-tool' | 'alternative-approach' | 'skip-step';
42
+ export type RepairStrategy = 're-prompt' | 'switch-model' | 'adjust-temperature' | 'retry-tool' | 'alternative-approach' | 'shrink-scope' | 'skip-step';
42
43
  /** Mode of operation for the repair loop */
43
44
  export type RepairMode = 'auto' | 'prompt' | 'off';
44
45
  /** Result of a single repair attempt */
@@ -74,6 +75,18 @@ export interface ErrorRepairOptions {
74
75
  * When false, retry-tool and alternative-approach strategies are skipped
75
76
  * because they would hit the same rate-limited provider. */
76
77
  isLLMAvailable?: () => boolean;
78
+ /**
79
+ * WEAK-MODEL CLOSE-THE-LOOP mode. Set by the orchestrator when model
80
+ * escalation is a NO-OP — every stronger candidate is unavailable/blocked, so
81
+ * the task can only ever run on the weak model in use.
82
+ *
83
+ * Re-prompting such a model repeats the same failure; the fix is to ask it
84
+ * for LESS. This switches the ladder to a bounded, non-repeating sequence
85
+ * (see `selectStrategy`) whose second step shrinks the ask to a single unit,
86
+ * so the run makes progress instead of dead-ending. Off by default — a
87
+ * healthy pipeline keeps the ordinary per-category ladder unchanged.
88
+ */
89
+ weakModel?: boolean;
77
90
  }
78
91
  /**
79
92
  * Classify an error string into a category.
@@ -152,6 +165,15 @@ export declare class ErrorRepairEngine {
152
165
  /** Reset the repair budget (e.g., for a new pipeline) */
153
166
  reset(): void;
154
167
  }
168
+ /**
169
+ * Build the NARROWED goal for a `shrink-scope` attempt (weak-model path).
170
+ *
171
+ * The whole point is to make the ask fit the model: one unit, explicitly, with
172
+ * permission to stop. It names the FIRST declared artifact when the caller
173
+ * supplied one and otherwise says "one file (or one function)" — it never
174
+ * invents a filename, and it never asks for a summary instead of the work.
175
+ */
176
+ export declare function shrinkScopeGoal(context: AgentContext): string;
155
177
  /**
156
178
  * Format a repair result for display in verbose mode.
157
179
  */
@@ -1 +1 @@
1
- {"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/E,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,SAAS,CAAC;AAEd,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,sBAAsB,GACtB,WAAW,CAAC;AAEhB,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;iEAE6D;IAC7D,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;CAChC;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CAmF7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAc7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAqDhB;AAID;;GAEG;AACH,qBAAa,YAAY;IACvB,wDAAwD;IACxD,OAAO,CAAC,SAAS,CAAK;IACtB,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,kBAAkB;IAClB,OAAO,CAAC,IAAI,CAAa;IACzB,2BAA2B;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAS;gBAEb,UAAU,SAAI,EAAE,IAAI,GAAE,UAAmB;IAMrD,2CAA2C;IAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMlC,4CAA4C;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,iDAAiD;IACjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC,4CAA4C;IAC5C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,2CAA2C;IAC3C,KAAK,IAAI,IAAI;IAKb,qCAAqC;IACrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAInC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAKjF;AAID;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,SAAgB,OAAO,EAAE,kBAAkB,CAAC;IAC5C,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,uEAAuE;IAChE,qBAAqB,SAAK;gBAErB,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAKrD;;;;;;;;;OASG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,GACrE,OAAO,CAAC,WAAW,CAAC;IA2NvB,yDAAyD;IACzD,KAAK,IAAI,IAAI;CAGd;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAIR"}
1
+ {"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  * | `adjust-temperature` | Repetitive or hallucinated output | Lower temperature to 0.2 for more deterministic output |
21
21
  * | `retry-tool` | Tool call failed with retryable error | Retry the same call after a brief delay |
22
22
  * | `alternative-approach` | Persistent failures across strategies | Ask the LLM for a fundamentally different strategy, then re-execute |
23
+ * | `shrink-scope` | WEAK-MODEL path (escalation is a no-op) | Re-ask for the SMALLEST single unit, so a model that cannot hold the whole task still moves the work forward |
23
24
  * | `skip-step` | Budget exhausted or non-repairable | Gracefully skip the failing step |
24
25
  *
25
26
  * ## Error Classification
@@ -138,6 +139,25 @@ export function isRepairable(category) {
138
139
  * Determine the best repair strategy for a given error category.
139
140
  */
140
141
  export function selectStrategy(category, attemptNumber, options) {
142
+ // ── WEAK-MODEL CLOSE-THE-LOOP LADDER ────────────────────────────────────
143
+ // When ONLY a weak model is available, the per-category ladder below is a
144
+ // trap: its 2nd/3rd steps (switch-model / alternative-approach) assume a
145
+ // stronger model exists to switch TO, and re-prompting the same weak model
146
+ // repeats the identical failure. So the ladder is replaced by a bounded,
147
+ // predictable sequence whose every step is a DIFFERENT kind of attempt:
148
+ // 1. `re-prompt` — cheap, honest first move: give it the failure once;
149
+ // 2. `shrink-scope` — ask for the SMALLEST single unit. This is the step
150
+ // that turns a stuck loop around: a model that cannot hold the whole
151
+ // task can still produce one correct file, which is real progress;
152
+ // 3. `skip-step` — end honestly (the durable hand-off records what is
153
+ // still missing, so the next run continues instead of re-deriving).
154
+ if (options.weakModel) {
155
+ if (attemptNumber === 1)
156
+ return 're-prompt';
157
+ if (attemptNumber === 2)
158
+ return 'shrink-scope';
159
+ return 'skip-step';
160
+ }
141
161
  switch (category) {
142
162
  case 'llm-error':
143
163
  // First attempt: re-prompt. Second: switch model or adjust temperature.
@@ -470,6 +490,20 @@ export class ErrorRepairEngine {
470
490
  result = await executeFn(altContext, callLLM);
471
491
  break;
472
492
  }
493
+ case 'shrink-scope': {
494
+ // WEAK-MODEL CLOSE-THE-LOOP: the model cannot hold the whole task,
495
+ // so ask for the smallest single unit instead of repeating the full
496
+ // ask. `context.metadata.expectedFiles` (set by the orchestrator
497
+ // from the task's declared artifacts) names the FIRST file to
498
+ // produce, so the narrowed ask is concrete rather than a vague
499
+ // "do less" — and never invents a file the task did not declare.
500
+ if (this.options.verbose) {
501
+ logger.info(` ✂️ Repair attempt ${attemptNumber}: reducing scope to the smallest single unit`);
502
+ }
503
+ context = { ...context, goal: shrinkScopeGoal(context) };
504
+ result = await executeFn(context, callLLM);
505
+ break;
506
+ }
473
507
  default:
474
508
  result = { success: false, summary: `Unknown strategy: ${strategy}`, error: originalError };
475
509
  }
@@ -503,6 +537,30 @@ export class ErrorRepairEngine {
503
537
  this.budget.reset();
504
538
  }
505
539
  }
540
+ /**
541
+ * Build the NARROWED goal for a `shrink-scope` attempt (weak-model path).
542
+ *
543
+ * The whole point is to make the ask fit the model: one unit, explicitly, with
544
+ * permission to stop. It names the FIRST declared artifact when the caller
545
+ * supplied one and otherwise says "one file (or one function)" — it never
546
+ * invents a filename, and it never asks for a summary instead of the work.
547
+ */
548
+ export function shrinkScopeGoal(context) {
549
+ const declared = context.metadata?.expectedFiles;
550
+ const first = Array.isArray(declared)
551
+ ? declared.find((f) => typeof f === 'string' && f.trim().length > 0)
552
+ : undefined;
553
+ return [
554
+ context.goal,
555
+ '',
556
+ '[SCOPE REDUCTION — WEAK MODEL]',
557
+ 'This task is larger than the model in use can hold reliably, so deliver only the',
558
+ 'SMALLEST single unit you can complete CORRECTLY, then stop:',
559
+ first ? ` • produce exactly this file: ${first}` : ' • one file (or one function) only',
560
+ 'Write it to disk, then stop. Do NOT attempt the remaining files or steps — a later',
561
+ 'step continues from here. One correct unit is worth more than partial work on many.',
562
+ ].join('\n');
563
+ }
506
564
  // ─── Format Helpers ─────────────────────────────────────────────────────────
507
565
  /**
508
566
  * Format a repair result for display in verbose mode.
@@ -1 +1 @@
1
- {"version":3,"file":"error-repair.js","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-repair.js","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}