@pentoshi/clai 2.0.33 → 2.0.36

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 (41) hide show
  1. package/dist/agent/loop-guard.js +1 -1
  2. package/dist/agent/loop-guard.js.map +1 -1
  3. package/dist/agent/plan-tool.d.ts +1 -1
  4. package/dist/agent/plan-tool.js +31 -7
  5. package/dist/agent/plan-tool.js.map +1 -1
  6. package/dist/agent/progress.js +1 -1
  7. package/dist/agent/progress.js.map +1 -1
  8. package/dist/agent/runner.js +72 -6
  9. package/dist/agent/runner.js.map +1 -1
  10. package/dist/agent/tool-call-parser.js +5 -2
  11. package/dist/agent/tool-call-parser.js.map +1 -1
  12. package/dist/commands/update.js +1 -1
  13. package/dist/prompts/index.d.ts +1 -1
  14. package/dist/prompts/index.js +5 -3
  15. package/dist/prompts/index.js.map +1 -1
  16. package/dist/safety/classifier.js +1 -1
  17. package/dist/safety/classifier.js.map +1 -1
  18. package/dist/tools/fs.d.ts +4 -0
  19. package/dist/tools/fs.js +31 -0
  20. package/dist/tools/fs.js.map +1 -1
  21. package/dist/tools/registry.js +11 -1
  22. package/dist/tools/registry.js.map +1 -1
  23. package/dist/tui/App.js +106 -4
  24. package/dist/tui/App.js.map +1 -1
  25. package/dist/tui/components/PlanSidebar.d.ts +6 -0
  26. package/dist/tui/components/PlanSidebar.js +99 -0
  27. package/dist/tui/components/PlanSidebar.js.map +1 -0
  28. package/dist/tui/plan-sidebar-lines.d.ts +2 -0
  29. package/dist/tui/plan-sidebar-lines.js +140 -0
  30. package/dist/tui/plan-sidebar-lines.js.map +1 -0
  31. package/dist/tui/render-lines.d.ts +2 -0
  32. package/dist/tui/render-lines.js +10 -21
  33. package/dist/tui/render-lines.js.map +1 -1
  34. package/dist/ui/intro-card.js +2 -8
  35. package/dist/ui/intro-card.js.map +1 -1
  36. package/dist/ui/markdown.js +1 -0
  37. package/dist/ui/markdown.js.map +1 -1
  38. package/dist/ui/plan-pane.d.ts +0 -8
  39. package/dist/ui/plan-pane.js +0 -38
  40. package/dist/ui/plan-pane.js.map +1 -1
  41. package/package.json +1 -1
@@ -85,7 +85,7 @@ export class LoopGuard {
85
85
  // Mutating file tools deserve tool-appropriate wording. Telling a model
86
86
  // that just wrote a file to "use the results you already have" is
87
87
  // nonsensical and has caused models to assume the whole task is done.
88
- const isWrite = name === "fs.write" || name === "fs.writeMany" || name === "fs.edit";
88
+ const isWrite = name === "fs.write" || name === "fs.writeMany" || name === "fs.edit" || name === "fs.replaceLines";
89
89
  // Read-only tools get a higher threshold — they may need re-calling
90
90
  // after context compaction removes their earlier results.
91
91
  const threshold = READ_ONLY_TOOLS.has(name) ? 3 : 2;
@@ -1 +1 @@
1
- {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/agent/loop-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/agent/loop-guard.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type SessionPlan } from "../store/plan.js";
2
2
  import type { LoopGuard } from "./loop-guard.js";
3
3
  import type { SessionPolicy } from "./session-policy.js";
4
4
  import type { ToolCall } from "../types.js";
5
- /** Render the plan as a right-side pane on wide terminals, else inline. */
5
+ /** Render the portable inline form; the Ink TUI owns its responsive sidebar. */
6
6
  export declare function renderPlanForTerminal(plan: SessionPlan): string;
7
7
  export interface PlanToolResult {
8
8
  handled: boolean;
@@ -1,14 +1,10 @@
1
1
  import chalk from "chalk";
2
2
  import { createPlan, loadPlan, savePlan, markTask, } from "../store/plan.js";
3
- import { renderPlanChecklist, renderPlanSidePane } from "../ui/plan-pane.js";
3
+ import { renderPlanChecklist } from "../ui/plan-pane.js";
4
4
  import { isLumpedSingleTask } from "./tool-call-parser.js";
5
- /** Render the plan as a right-side pane on wide terminals, else inline. */
5
+ /** Render the portable inline form; the Ink TUI owns its responsive sidebar. */
6
6
  export function renderPlanForTerminal(plan) {
7
- const cols = process.stdout.columns ?? 0;
8
- const side = process.stdout.isTTY
9
- ? renderPlanSidePane(plan, cols)
10
- : undefined;
11
- return side ?? renderPlanChecklist(plan);
7
+ return renderPlanChecklist(plan);
12
8
  }
13
9
  /** Build the system-context block describing the session's active plan. */
14
10
  export function planContextMessage(plan, approved) {
@@ -82,6 +78,7 @@ export async function handlePlanTool(call, session, ctx) {
82
78
  "'install deps and run dev server to verify'. Call plan.create again with that tasks array.",
83
79
  };
84
80
  }
81
+ const existingPlan = await loadPlan(session.sessionId).catch(() => undefined);
85
82
  const plan = createPlan({
86
83
  sessionId: session.sessionId,
87
84
  goal,
@@ -89,6 +86,33 @@ export async function handlePlanTool(call, session, ctx) {
89
86
  taskTitles,
90
87
  kind,
91
88
  });
89
+ if (existingPlan) {
90
+ const mappedNewTasks = plan.tasks.map((task) => {
91
+ const match = existingPlan.tasks.find((t) => {
92
+ const t1 = t.title.trim().toLowerCase();
93
+ const t2 = task.title.trim().toLowerCase();
94
+ return (t1 === t2 ||
95
+ (t1.length > 8 && t2.length > 8 && (t1.includes(t2) || t2.includes(t1))));
96
+ });
97
+ if (match) {
98
+ return {
99
+ ...task,
100
+ state: match.state,
101
+ note: match.note,
102
+ };
103
+ }
104
+ return task;
105
+ });
106
+ const oldTasksToKeep = existingPlan.tasks.filter((oldTask) => {
107
+ return !mappedNewTasks.some((newTask) => {
108
+ const t1 = oldTask.title.trim().toLowerCase();
109
+ const t2 = newTask.title.trim().toLowerCase();
110
+ return (t1 === t2 ||
111
+ (t1.length > 8 && t2.length > 8 && (t1.includes(t2) || t2.includes(t1))));
112
+ });
113
+ });
114
+ plan.tasks = [...oldTasksToKeep, ...mappedNewTasks];
115
+ }
92
116
  await savePlan(plan).catch(() => undefined);
93
117
  // A freshly (re)created plan resets approval — the user must /implement.
94
118
  session.planApproved.value = false;
@@ -1 +1 @@
1
- {"version":3,"file":"plan-tool.js","sourceRoot":"","sources":["../../src/agent/plan-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-tool.js","sourceRoot":"","sources":["../../src/agent/plan-tool.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ export function evaluateProgress(plan, call, result) {
67
67
  };
68
68
  }
69
69
  // File edit/write goals
70
- if ((call.name === "fs.edit" || call.name === "fs.write") && ok) {
70
+ if ((call.name === "fs.edit" || call.name === "fs.replaceLines" || call.name === "fs.write") && ok) {
71
71
  return {
72
72
  madeProgress: true,
73
73
  goalSatisfied: true,
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/agent/progress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/agent/progress.ts"],"names":[],"mappings":"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"}
@@ -246,6 +246,10 @@ export async function runAgentLoop(prompt, options = {}) {
246
246
  // tasks are still pending and it never ran the work. We nudge it back to
247
247
  // executing the next task a bounded number of times before giving up.
248
248
  let prematureCompletionRetries = 0;
249
+ let runtimeVerificationRetries = 0;
250
+ let sawServerStart = false;
251
+ let sawServerTail = false;
252
+ let sawLocalHttpProbe = false;
249
253
  // Guard against a model that NARRATES intent ("let me explore the
250
254
  // directory…") but emits no tool call, so nothing runs and the turn ends
251
255
  // prematurely. On build/scaffold/plan turns where nothing has executed yet,
@@ -328,7 +332,8 @@ export async function runAgentLoop(prompt, options = {}) {
328
332
  if (loopCheck.block) {
329
333
  const isWrite = call.name === "fs.write" ||
330
334
  call.name === "fs.writeMany" ||
331
- call.name === "fs.edit";
335
+ call.name === "fs.edit" ||
336
+ call.name === "fs.replaceLines";
332
337
  const reason = `${call.name} was already called with the same arguments — ${isWrite ? "moving on" : "forcing summary"}`;
333
338
  writeNotice("warn", reason, chalk.yellow(` ⚠ ${reason}\n`));
334
339
  const result = { ok: false, output: reason, exitCode: 1 };
@@ -863,7 +868,11 @@ export async function runAgentLoop(prompt, options = {}) {
863
868
  // payload — a truncated tool-call JSON fails to parse and leaks a
864
869
  // broken (and syntactically invalid) file. 8k was too small for a
865
870
  // full component, so allow more room for the visible tool call.
866
- maxTokens: config.thinking?.enabled ? 16_384 : 12_288,
871
+ // Code-generation calls frequently contain an entire source file
872
+ // inside JSON. A 12k visible-token ceiling cut otherwise valid
873
+ // fs.write calls in half. Keep enough output headroom for a
874
+ // substantial source file; providers with a lower limit clamp it.
875
+ maxTokens: 32_768,
867
876
  signal: options.signal,
868
877
  thinking: config.thinking,
869
878
  }, (token) => {
@@ -1061,7 +1070,7 @@ export async function runAgentLoop(prompt, options = {}) {
1061
1070
  if (looksLikeTruncatedToolCall(assistantText.visible)) {
1062
1071
  truncatedToolRetries += 1;
1063
1072
  if (truncatedToolRetries <= 3) {
1064
- writeNotice("warn", "tool call was cut off (output too long) — asking the model to retry in smaller pieces", chalk.yellow(" ⚠ tool call was cut off (output too long) — asking the model to retry in smaller pieces\n"));
1073
+ writeNotice("warn", "tool call was cut off (output too long) — asking the model to retry safely", chalk.yellow(" ⚠ tool call was cut off (output too long) — asking the model to retry safely\n"));
1065
1074
  messages.push({
1066
1075
  role: "assistant",
1067
1076
  content: assistantText.visible,
@@ -1070,8 +1079,8 @@ export async function runAgentLoop(prompt, options = {}) {
1070
1079
  role: "user",
1071
1080
  content: "Your previous tool call was cut off before it finished — the JSON was incomplete, so NOTHING ran. " +
1072
1081
  "Retry now with a COMPLETE, valid ```tool block. " +
1073
- "If it was a large fs.writeMany, split it into SMALLER batches (3-5 files per call, and keep each file's content concise) " +
1074
- "so the whole JSON fits in one response. Do NOT claim any file was written until a tool call actually succeeds.",
1082
+ "If it was fs.writeMany, split the FILE LIST into smaller batches. Do not shorten, truncate, or simplify file contents. " +
1083
+ "For one large file, retry that file alone as one complete fs.write call. Do NOT claim any file was written until a tool call actually succeeds.",
1075
1084
  });
1076
1085
  continue;
1077
1086
  }
@@ -1200,6 +1209,39 @@ export async function runAgentLoop(prompt, options = {}) {
1200
1209
  });
1201
1210
  continue;
1202
1211
  }
1212
+ // A passing build is not evidence that an app is serving requests.
1213
+ // On completed build plans, require start → logs → HTTP verification
1214
+ // before accepting the model's final claim.
1215
+ if (buildLike &&
1216
+ session.planApproved.value &&
1217
+ (!sawServerStart || !sawServerTail || !sawLocalHttpProbe) &&
1218
+ runtimeVerificationRetries < 2) {
1219
+ const runtimePlan = await loadPlan(session.sessionId).catch(() => undefined);
1220
+ const tasksFinished = Boolean(runtimePlan &&
1221
+ runtimePlan.tasks.length > 0 &&
1222
+ runtimePlan.tasks.every((task) => task.state === "done" || task.state === "skipped"));
1223
+ if (tasksFinished) {
1224
+ runtimeVerificationRetries += 1;
1225
+ messages.push({
1226
+ role: "assistant",
1227
+ content: assistantText.visible,
1228
+ });
1229
+ const missing = [
1230
+ !sawServerStart ? "shell.start" : "",
1231
+ !sawServerTail ? "shell.tail" : "",
1232
+ !sawLocalHttpProbe
1233
+ ? "a successful bounded localhost HTTP probe"
1234
+ : "",
1235
+ ].filter(Boolean);
1236
+ messages.push({
1237
+ role: "user",
1238
+ content: "Runtime verification is incomplete. Do not claim the app is running. " +
1239
+ `Missing evidence: ${missing.join(", ")}. ` +
1240
+ "Run the missing checks now. Stop the job afterward unless the user explicitly asked to keep it running, and report whether it remains running truthfully.",
1241
+ });
1242
+ continue;
1243
+ }
1244
+ }
1203
1245
  // Premature-completion guard (approved plan still has work)
1204
1246
  // If the user approved a plan and the model now gives a final answer
1205
1247
  // while tasks are still pending/in_progress — without having run the
@@ -1317,12 +1359,27 @@ export async function runAgentLoop(prompt, options = {}) {
1317
1359
  let blocked = false;
1318
1360
  let blockedResult = null;
1319
1361
  let failed = false;
1362
+ let awaitingPlanApproval = false;
1320
1363
  const recordResult = (res) => {
1321
1364
  messages.push({
1322
1365
  role: "tool",
1323
1366
  content: `Tool ${res.call.name} result (exit=${res.result.exitCode ?? 0}, ok=${res.result.ok}):\n${res.contextOutput}`,
1324
1367
  });
1325
1368
  productiveSteps += 1;
1369
+ if (res.ok && res.call.name === "shell.start")
1370
+ sawServerStart = true;
1371
+ if (res.ok && res.call.name === "shell.tail")
1372
+ sawServerTail = true;
1373
+ if (res.ok &&
1374
+ ((res.call.name === "http.fetch" &&
1375
+ /^(?:https?:\/\/)?(?:localhost|127\.0\.0\.1|\[::1\])(?::|\/|$)/i.test(String(res.call.args.url ?? ""))) ||
1376
+ (res.call.name === "shell.exec" &&
1377
+ /\bcurl\b[\s\S]*\b(?:localhost|127\.0\.0\.1|\[::1\])\b/i.test(String(res.call.args.command ?? ""))))) {
1378
+ sawLocalHttpProbe = true;
1379
+ }
1380
+ if (res.call.name === "plan.create" && res.ok) {
1381
+ awaitingPlanApproval = true;
1382
+ }
1326
1383
  if (res.lastAnswer === "Aborted.")
1327
1384
  aborted = true;
1328
1385
  else if (res.blockOrCancel) {
@@ -1334,7 +1391,7 @@ export async function runAgentLoop(prompt, options = {}) {
1334
1391
  };
1335
1392
  const groups = groupToolCallsForExecution(allCalls, isParallelSafe, PARALLEL_LIMIT);
1336
1393
  for (const group of groups) {
1337
- if (aborted || blocked || failed)
1394
+ if (aborted || blocked || failed || awaitingPlanApproval)
1338
1395
  break;
1339
1396
  if (group.length === 1) {
1340
1397
  const id = `tool-${++nextToolEventId}`;
@@ -1350,6 +1407,15 @@ export async function runAgentLoop(prompt, options = {}) {
1350
1407
  recordResult(res);
1351
1408
  }
1352
1409
  }
1410
+ // plan.create is a hard transaction boundary. Its successful handler
1411
+ // persists and displays the plan; returning immediately prevents a
1412
+ // stale pre-loop activePlan snapshot from nudging a duplicate plan and
1413
+ // prevents calls accidentally batched after plan.create from executing
1414
+ // before /implement approval.
1415
+ if (awaitingPlanApproval) {
1416
+ pendingCalls = [];
1417
+ return finishTurn("", productiveSteps);
1418
+ }
1353
1419
  if (aborted) {
1354
1420
  lastAnswer = "Aborted.";
1355
1421
  writeAbort();
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
@@ -526,6 +526,8 @@ export function inferToolFromArgs(obj) {
526
526
  return "fs.writeMany";
527
527
  if (has("calls"))
528
528
  return "tool.batch";
529
+ if (has("startLine") && has("endLine") && has("path"))
530
+ return "fs.replaceLines";
529
531
  if (has("oldText") || has("newText"))
530
532
  return "fs.edit";
531
533
  if (has("content") && has("path"))
@@ -1106,6 +1108,7 @@ export function buildWorkflowDirective() {
1106
1108
  "4. IMPLEMENT: once approved, work task by task in STRICT ORDER. For each task: call task.update {taskId, state:'in_progress'} → do the real work → VERIFY it actually succeeded (read a file you wrote, check the command's exit/output) → call task.update {taskId, state:'done'}, then move to the NEXT task. You MAY emit several tool calls in one message; they run in document order (independent read-only lookups run in parallel, while task.update and any write/command runs one at a time), and the batch STOPS if one fails. Keep every batch scoped to ONE task. A clean rhythm is: task.update in_progress + the work + task.update done together. Keep going until EVERY task is done. Do NOT claim work you didn't actually run.",
1107
1109
  "",
1108
1110
  "INITIALIZE WITH THE OFFICIAL SCAFFOLDER FIRST (do NOT hand-write build configs):",
1111
+ "- DESTINATION PATHS ARE LITERAL. If the user names an absolute destination such as `/Users/alice/Desktop`, use that exact absolute path as the shell cwd and file prefix. Never remove its leading slash or recreate it under the current project (for example, `Users/alice/Desktop` would incorrectly become `<cwd>/Users/alice/Desktop`). Resolve and state the final absolute project directory before scaffolding, create directly there, and do not scaffold in cwd then move it. If the destination is outside the approved write roots, request confirmation instead of silently falling back to cwd. Clean up only empty directories that your failed attempt created.",
1109
1112
  '- React/Vue/Svelte/vanilla → `npm create vite@latest <appname> -- --template react` (templates: react, react-ts, vue, vue-ts, svelte, vanilla). Next.js → `npx --yes create-next-app@latest <appname> --yes --eslint --no-tailwind --app --src-dir --import-alias "@/*"`. Node API → `npm init -y`.',
1110
1113
  "- GET THE TEMPLATE FLAG RIGHT. With `npm create vite@latest NAME -- --template react` the `--` IS required (it forwards --template to create-vite). With `npx create-vite@latest NAME --template react` do NOT add `--` (npx passes args straight through, so `-- --template react` makes npx DROP the flag and you silently get the WRONG, vanilla template). Pick ONE form and keep the template flag attached. After scaffolding, fs.read the generated index.html / src entry to CONFIRM you got React (a src/main.jsx + App.jsx, not a vanilla main.js/counter.js). If it's the wrong template, delete the folder and re-run with the correct command.",
1111
1114
  "- RUN SCAFFOLDERS NON-INTERACTIVELY and into a NEW SUBFOLDER (`<appname>`). Scaffolders REFUSE to run in a non-empty directory and then print 'Operation cancelled' — and the current dir frequently already has a file like .DS_Store. So scaffold into a subfolder (always works). `--yes` does NOT fix the non-empty-dir cancel; a subfolder does. NEVER background a scaffolder with `&` or pipe `yes |` into it.",
@@ -1116,12 +1119,12 @@ export function buildWorkflowDirective() {
1116
1119
  "- You may batch tool calls: emit one or several ```tool blocks in a message. They run in document order — independent READ-ONLY lookups (fs.read/list/search, dns/whois, http.fetch GET, web.search/fetch, sysinfo) run in parallel, while task.update and any write/command (fs.write*, shell.exec, pkg.install, net.scan) run one at a time. If any call fails, the rest of that batch is cancelled so you can react — so order dependent steps correctly and keep every batch scoped to ONE task. A good batch is task.update(in_progress) + the work + task.update(done) for ONE task.",
1117
1120
  "- Do NOT re-explore. Step 1 (EXPLORE) was already completed during planning. Start executing the first pending task immediately.",
1118
1121
  "- ONE task at a time, in ORDER. Do NOT skip ahead to task 3 before task 2 is done.",
1119
- "- KEEP EACH FILE SMALL ENOUGH TO WRITE IN ONE CALL. If a fs.write is reported as 'cut off (output too long)', the file was NOT fully written and is likely broken/invalid re-write it, splitting a large component into smaller files if needed. NEVER leave a half-written file and move on.",
1122
+ "- Write complete, production-quality files; never shorten code merely to fit a tool call. Prefer fs.writeMany for several normal files, fs.write for one large/new file, fs.edit for exact-text atomic changes, and fs.replaceLines only after fs.read has established precise line coordinates. If fs.writeMany is cut off, split only the FILE LIST into smaller batches. If one fs.write is cut off, retry that file alone and split the component into cohesive modules only when that improves the design. A truncated call never ran, so never move on until a complete write succeeds.",
1120
1123
  "- VERIFY each step before marking it done: after writing files, fs.read the file back and confirm it is COMPLETE and syntactically valid (balanced braces/parens/JSX tags); after an install, check it exited 0. Marking a task done without a successful, verified tool call is the worst failure.",
1121
1124
  "- VERIFY THE BUILD, not just the dev server. `vite` / `npm run dev` reports 'ready' even when your App.jsx has syntax errors (the error only shows in the browser). To actually confirm the app works, run `npm run build` (it fails on real syntax/JSX errors) and check it exits 0. Seeing 'VITE ready' is NOT proof the app renders.",
1122
1125
  "- If a tool call FAILS (error output, non-zero exit, file missing), the task is NOT done. Mark it 'failed', diagnose WHY, fix it, and retry until it succeeds.",
1123
1126
  "- NEVER claim a task is done, files were created, a dependency is installed, or a server is running unless the tool call ACTUALLY succeeded and you saw the success output. If you have not run it, say so.",
1124
- "- Start a dev server with shell.start (background job), NOT `npm run dev &` via shell.exec.",
1127
+ "- After the production build passes, start the app with shell.start (background job), NOT `npm run dev &` via shell.exec. Check readiness with shell.tail AND make one bounded local HTTP request (curl with a short timeout or http.fetch). A build passing does not prove a server is running. Never print a localhost link or say `running` unless shell.start returned a live job and the HTTP probe succeeded. Stop the job after verification unless the user explicitly asked to keep it running; if stopped, clearly say it was verified and stopped, not that it is still running. Do not spend time polling repeatedly.",
1125
1128
  "- THE DELIVERABLE IS THE WORKING FEATURE, NOT THE SCAFFOLD. After scaffolding you MUST replace the starter boilerplate (Vite's default App.jsx counter, Next's starter page, etc.) with the actual app the user asked for. If the user asked for a todo app, src/App.jsx must contain a real todo UI with state — finishing with the untouched Vite starter page is a FAILURE even if the build passes.",
1126
1129
  "",
1127
1130
  "FORBIDDEN before plan approval (/implement): you MUST NOT use fs.write, fs.writeMany, fs.edit, shell.exec, shell.start, pkg.install, or pkg.uninstall. The ONLY tool allowed before approval is plan.create (and the read/list tools for exploration). If you are nudged to 'take action' before a plan exists, your action MUST be plan.create.",