zelari-code 1.15.0 → 1.17.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 (56) hide show
  1. package/README.md +3 -1
  2. package/dist/cli/app.js +7 -1
  3. package/dist/cli/app.js.map +1 -1
  4. package/dist/cli/components/StatusBar.js +5 -1
  5. package/dist/cli/components/StatusBar.js.map +1 -1
  6. package/dist/cli/councilDispatcher.js +3 -0
  7. package/dist/cli/councilDispatcher.js.map +1 -1
  8. package/dist/cli/hooks/chatStats.js +20 -2
  9. package/dist/cli/hooks/chatStats.js.map +1 -1
  10. package/dist/cli/hooks/conversationContext.js +5 -2
  11. package/dist/cli/hooks/conversationContext.js.map +1 -1
  12. package/dist/cli/hooks/historyCompaction.js +8 -1
  13. package/dist/cli/hooks/historyCompaction.js.map +1 -1
  14. package/dist/cli/hooks/useChatTurn.js +236 -60
  15. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  16. package/dist/cli/hooks/useSlashDispatch.js +42 -0
  17. package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
  18. package/dist/cli/main.bundled.js +2385 -846
  19. package/dist/cli/main.bundled.js.map +4 -4
  20. package/dist/cli/main.js +47 -0
  21. package/dist/cli/main.js.map +1 -1
  22. package/dist/cli/mcp/mcpManager.js +11 -1
  23. package/dist/cli/mcp/mcpManager.js.map +1 -1
  24. package/dist/cli/mcp/mcpPresets.js +77 -0
  25. package/dist/cli/mcp/mcpPresets.js.map +1 -0
  26. package/dist/cli/memory/fileBackend.js +11 -2
  27. package/dist/cli/memory/fileBackend.js.map +1 -1
  28. package/dist/cli/runHeadless.js +61 -4
  29. package/dist/cli/runHeadless.js.map +1 -1
  30. package/dist/cli/slashCommands.js +54 -1
  31. package/dist/cli/slashCommands.js.map +1 -1
  32. package/dist/cli/slashHandlers/cache.js +28 -0
  33. package/dist/cli/slashHandlers/cache.js.map +1 -0
  34. package/dist/cli/slashHandlers/state.js +83 -0
  35. package/dist/cli/slashHandlers/state.js.map +1 -0
  36. package/dist/cli/state/commitHelpers.js +62 -0
  37. package/dist/cli/state/commitHelpers.js.map +1 -0
  38. package/dist/cli/state/fileStateStore.js +262 -0
  39. package/dist/cli/state/fileStateStore.js.map +1 -0
  40. package/dist/cli/state/promptCacheStats.js +56 -0
  41. package/dist/cli/state/promptCacheStats.js.map +1 -0
  42. package/dist/cli/state/restoreState.js +70 -0
  43. package/dist/cli/state/restoreState.js.map +1 -0
  44. package/dist/cli/toolRegistry.js +8 -0
  45. package/dist/cli/toolRegistry.js.map +1 -1
  46. package/dist/cli/tools/askUser.js +71 -0
  47. package/dist/cli/tools/askUser.js.map +1 -0
  48. package/dist/cli/utils/doctor.js +19 -0
  49. package/dist/cli/utils/doctor.js.map +1 -1
  50. package/dist/cli/workspace/composeContext.js +210 -0
  51. package/dist/cli/workspace/composeContext.js.map +1 -0
  52. package/dist/cli/workspace/workspaceSummary.js +58 -31
  53. package/dist/cli/workspace/workspaceSummary.js.map +1 -1
  54. package/dist/cli/zelariMission.js +135 -18
  55. package/dist/cli/zelariMission.js.map +1 -1
  56. package/package.json +2 -2
@@ -17,20 +17,28 @@ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
17
17
  import { join, relative } from "node:path";
18
18
  import { classifyTaskScope, extractTaskScope, loadNfrSpec, } from "@zelari/core/council";
19
19
  import { projectName, resolveWorkspaceRoot } from "./paths.js";
20
+ /** Injected whenever plan/design vault context is present. */
21
+ export const EPISTEMIC_BANNER = [
22
+ "# EPISTEMIC RULES (harness)",
23
+ "- **Product source of truth** = real project files (source tree, package.json, README), not `.zelari/docs`.",
24
+ "- Artifacts under `.zelari/` (plan, docs, risks, ADR) are **UNVERIFIED DESIGN HYPOTHESES** until implemented and verified on disk.",
25
+ "- Prefer read_file / list_files on the product tree over treating council docs as law.",
26
+ "- Do not invent paths, stack, or features that package.json / the tree contradict.",
27
+ ].join("\n");
20
28
  /**
21
29
  * Build a markdown workspace summary for the council system prompt.
22
30
  *
23
31
  * @param projectRoot defaults to process.cwd()
24
32
  */
25
33
  export function buildWorkspaceSummary(projectRoot = process.cwd(), options = {}) {
26
- const { maxEntries = 30 } = options;
34
+ const { maxEntries = 30, maxChars = 3500, maxDeps = 24, maxScripts = 16 } = options;
27
35
  const name = safeProjectName(projectRoot);
28
36
  const parts = [
29
37
  `# Project: ${name}`,
30
38
  `Working directory: ${projectRoot}`,
31
39
  ];
32
40
  // Tech stack from package.json (if present).
33
- const stack = readTechStack(projectRoot);
41
+ const stack = readTechStack(projectRoot, maxDeps);
34
42
  if (stack) {
35
43
  parts.push("", "## Tech stack (from package.json)", stack);
36
44
  }
@@ -40,11 +48,17 @@ export function buildWorkspaceSummary(projectRoot = process.cwd(), options = {})
40
48
  parts.push("", "## Top-level files & directories", tree.join("\n"));
41
49
  }
42
50
  // Build scripts (if present) — tells the council how to run/test/build.
43
- const scripts = readBuildScripts(projectRoot);
51
+ const scripts = readBuildScripts(projectRoot, maxScripts);
44
52
  if (scripts) {
45
53
  parts.push("", "## npm scripts", scripts);
46
54
  }
47
- return parts.join("\n");
55
+ let out = parts.join("\n");
56
+ if (out.length > maxChars) {
57
+ out =
58
+ out.slice(0, maxChars) +
59
+ `\n\n… [workspace summary truncated at ${maxChars} chars]`;
60
+ }
61
+ return out;
48
62
  }
49
63
  /** Max tasks listed individually in the plan summary (rest is counted). */
50
64
  const PLAN_SUMMARY_MAX_TASKS = 15;
@@ -81,8 +95,10 @@ export function buildPlanSummary(projectRoot = process.cwd(), options) {
81
95
  const milestones = Array.isArray(plan.milestones) ? plan.milestones : [];
82
96
  if (phases.length === 0 && tasks.length === 0 && milestones.length === 0)
83
97
  return null;
98
+ const maxChars = options?.maxChars ?? 2800;
84
99
  const parts = [
85
- "# Project Plan (created by /council lives in .zelari/)",
100
+ "# Plan ops (DRAFT — .zelari/plan.json)",
101
+ "_This is operational task list from design, not product law. Ground every change in the real source tree._",
86
102
  ];
87
103
  // Open (pending/in_progress/blocked) tasks first; done tasks are counted only.
88
104
  const open = tasks.filter((t) => t.status !== "done");
@@ -141,9 +157,9 @@ export function buildPlanSummary(projectRoot = process.cwd(), options) {
141
157
  }
142
158
  for (const phase of [...phases].sort((a, b) => (a.order ?? 0) - (b.order ?? 0))) {
143
159
  const phaseTasks = scopedOpen.filter((t) => t.phaseId === phase.id);
160
+ // Ops only: phase name — do NOT inject free-text phase descriptions
161
+ // (they re-saturate context with design prose).
144
162
  parts.push("", `## ${phase.order ?? "?"}. ${phase.name ?? phase.id}`);
145
- if (phase.description)
146
- parts.push(phase.description);
147
163
  for (const t of phaseTasks.slice(0, PLAN_SUMMARY_MAX_TASKS)) {
148
164
  parts.push(formatTaskLine(t));
149
165
  }
@@ -167,15 +183,19 @@ export function buildPlanSummary(projectRoot = process.cwd(), options) {
167
183
  parts.push(`- ${m.name ?? m.id}${m.targetVersion ? ` (target: ${m.targetVersion})` : ""}`);
168
184
  }
169
185
  }
170
- // v0.7.4: point the agent at ONE concrete task so "implement the plan"
171
- // starts immediately instead of asking the user which task to pick.
172
- // First in_progress wins (finish what's started); else highest priority.
186
+ // Suggested next task (hypothesis) not a hard mandate.
173
187
  const next = pickNextTask(scopedOpen.length > 0 ? scopedOpen : open);
174
188
  if (next) {
175
- parts.push("", "**Next task to work on:**", `- ${next.name ?? next.id} (${next.status ?? "pending"}/${next.priority ?? "medium"}) → .zelari/plan-tasks/${next.id}.md`);
189
+ parts.push("", "**Suggested next task (hypothesis verify against product tree):**", `- ${next.name ?? next.id} (${next.status ?? "pending"}/${next.priority ?? "medium"}) → .zelari/plan-tasks/${next.id}.md`);
190
+ }
191
+ parts.push("", `${tasks.length} task(s) total — ${open.length} open, ${done} done.`, "If implementing: ground fileRefs in the real tree first; work one task; do not treat design docs as shipped features.");
192
+ let out = parts.join("\n");
193
+ if (out.length > maxChars) {
194
+ out =
195
+ out.slice(0, maxChars) +
196
+ `\n\n… [plan ops truncated at ${maxChars} chars — read .zelari/plan.json for full list]`;
176
197
  }
177
- parts.push("", `${tasks.length} task(s) total — ${open.length} open, ${done} done.`, "When asked to implement the plan (or a task), read the task file(s) above with read_file first, then work ONE task at a time.");
178
- return parts.join("\n");
198
+ return out;
179
199
  }
180
200
  /** Priority rank for next-task selection (higher = more urgent). */
181
201
  const PRIORITY_RANK = {
@@ -205,9 +225,9 @@ export function buildZelariReadHint(projectRoot = process.cwd()) {
205
225
  if (!existsSync(planPath))
206
226
  return "";
207
227
  return [
208
- "# Council workspace detected (.zelari/)",
209
- "This project has a council workspace: .zelari/plan.json holds the plan (phases, tasks, milestones) and .zelari/plan-tasks/ holds one detail file per task.",
210
- "Before working on the plan, use list_files on .zelari/ and read_file on .zelari/plan.json (and the relevant task files) to load the current state.",
228
+ "# Council workspace detected (.zelari/) — DRAFT vault",
229
+ "`.zelari/plan.json` and `.zelari/docs/` hold **design hypotheses**, not verified product state.",
230
+ "Product truth is the source tree + package.json. Use list_files/read_file on product paths first; open `.zelari/` only when you need plan task details.",
211
231
  ].join("\n");
212
232
  }
213
233
  function safeProjectName(root) {
@@ -229,31 +249,38 @@ function readPackageJson(projectRoot) {
229
249
  return null;
230
250
  }
231
251
  }
232
- /** Markdown bullet list of runtime + dev deps. */
233
- function readTechStack(projectRoot) {
252
+ /** Markdown bullet list of runtime + dev deps (capped). */
253
+ function readTechStack(projectRoot, maxDeps = 24) {
234
254
  const pkg = readPackageJson(projectRoot);
235
255
  if (!pkg)
236
256
  return null;
237
- const fmt = (entries) => entries && Object.keys(entries).length > 0
238
- ? Object.entries(entries)
239
- .sort(([a], [b]) => a.localeCompare(b))
240
- .map(([k, v]) => `- ${k} \`${v}\``)
241
- .join("\n")
242
- : "_none_";
257
+ const fmt = (entries) => {
258
+ if (!entries || Object.keys(entries).length === 0)
259
+ return "_none_";
260
+ const all = Object.entries(entries).sort(([a], [b]) => a.localeCompare(b));
261
+ const slice = all.slice(0, maxDeps);
262
+ const lines = slice.map(([k, v]) => `- ${k} \`${v}\``);
263
+ if (all.length > maxDeps) {
264
+ lines.push(`- … (+${all.length - maxDeps} more deps omitted)`);
265
+ }
266
+ return lines.join("\n");
267
+ };
243
268
  return `**Runtime:**\n${fmt(pkg.dependencies)}\n\n**Dev:**\n${fmt(pkg.devDependencies)}`;
244
269
  }
245
- /** Markdown bullet list of npm scripts (name: command). */
246
- function readBuildScripts(projectRoot) {
270
+ /** Markdown bullet list of npm scripts (name: command), capped. */
271
+ function readBuildScripts(projectRoot, maxScripts = 16) {
247
272
  const pkg = readPackageJson(projectRoot);
248
273
  if (!pkg?.scripts)
249
274
  return null;
250
- const entries = Object.entries(pkg.scripts);
275
+ const entries = Object.entries(pkg.scripts).sort(([a], [b]) => a.localeCompare(b));
251
276
  if (entries.length === 0)
252
277
  return null;
253
- return entries
254
- .sort(([a], [b]) => a.localeCompare(b))
255
- .map(([k, v]) => `- \`${k}\`: ${v}`)
256
- .join("\n");
278
+ const slice = entries.slice(0, maxScripts);
279
+ const lines = slice.map(([k, v]) => `- \`${k}\`: ${v}`);
280
+ if (entries.length > maxScripts) {
281
+ lines.push(`- … (+${entries.length - maxScripts} more scripts omitted)`);
282
+ }
283
+ return lines.join("\n");
257
284
  }
258
285
  /** Shallow listing of top-level entries + one level of subdirectories. */
259
286
  function listShallow(projectRoot, maxEntries) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceSummary.js","sourceRoot":"","sources":["../../../src/cli/workspace/workspaceSummary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceSummary.js","sourceRoot":"","sources":["../../../src/cli/workspace/workspaceSummary.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,14 @@ import { promises as fs } from 'node:fs';
15
15
  import * as path from 'node:path';
16
16
  import { formatMemoryHits } from './memory/fileBackend.js';
17
17
  import { createCheckpoint } from './checkpoint/checkpointManager.js';
18
- const DEFAULT_MAX_ITER = 10;
18
+ import { getStateStore } from './state/fileStateStore.js';
19
+ import { discoveriesFromOutcome, tryStateCommit } from './state/commitHelpers.js';
20
+ /**
21
+ * Default budget for **implementation** slices only.
22
+ * Design-phase (when the brief asks for it) is free and does not consume this.
23
+ * Override via `ZELARI_MISSION_MAX_ITER`.
24
+ */
25
+ const DEFAULT_MAX_ITER = 6;
19
26
  const DEFAULT_MAX_STALL = 2;
20
27
  export function resolveMaxIterations(env = process.env) {
21
28
  const raw = env.ZELARI_MISSION_MAX_ITER;
@@ -106,12 +113,21 @@ export async function runZelariMission(userMessage, brief, deps) {
106
113
  };
107
114
  await deps.memory.init(deps.projectRoot);
108
115
  await writeMissionState(deps.projectRoot, state);
116
+ const stateStore = deps.stateStore ?? (await getStateStore(deps.projectRoot, deps.env ?? process.env));
117
+ try {
118
+ await stateStore.init(deps.projectRoot);
119
+ }
120
+ catch {
121
+ // fail-open
122
+ }
109
123
  // Safety net: snapshot the working tree before the mission mutates files,
110
124
  // so a bad run can be rolled back atomically (opt out: ZELARI_CHECKPOINT=0).
111
125
  // Best-effort — a non-git project or a git hiccup just skips the checkpoint.
126
+ let missionCheckpointId;
112
127
  if ((deps.env ?? process.env).ZELARI_CHECKPOINT !== '0') {
113
128
  const cp = await createCheckpoint(deps.projectRoot, `zelari mission ${missionId}`);
114
129
  if (cp.ok) {
130
+ missionCheckpointId = cp.value.id;
115
131
  deps.emit(`[zelari] checkpoint ${cp.value.id} creato — se la missione va storta ripristina con \`/rollback ${cp.value.id}\`.`);
116
132
  }
117
133
  }
@@ -119,41 +135,141 @@ export async function runZelariMission(userMessage, brief, deps) {
119
135
  // Consecutive implementation iterations that wrote 0 project files. Reset on
120
136
  // any real write. Drives the `stalled` early-out (see resolveMaxStall).
121
137
  let noWriteStreak = 0;
122
- for (let i = 1; i <= maxIter; i++) {
123
- state.iteration = i;
124
- const runMode = i === 1 && designFirst ? 'design-phase' : 'implementation';
138
+ // Wall-clock step counter (design + impl) for state.iteration / logging.
139
+ let step = 0;
140
+ // Implementation slices only this is what maxIter budgets.
141
+ let implStep = 0;
142
+ // One free design-phase pass when the brief asks for it (does not burn budget).
143
+ let pendingDesign = designFirst;
144
+ while (true) {
145
+ const runMode = pendingDesign ? 'design-phase' : 'implementation';
146
+ if (runMode === 'implementation') {
147
+ if (implStep >= maxIter)
148
+ break;
149
+ implStep++;
150
+ }
151
+ step++;
152
+ state.iteration = step;
125
153
  const hits = await deps.memory.search(`${brief.deliverableThisMission} ${userMessage}`, {
126
154
  limit: 8,
127
155
  metadataFilter: { projectRoot: deps.projectRoot },
128
156
  });
129
- const ragContext = formatMemoryHits(hits);
130
- const slicePrompt = buildSlicePrompt(brief, userMessage, runMode, i);
131
- deps.emit(`[zelari] iterazione ${i}/${maxIter} · ${runMode} · slice ${brief.sliceMvp.id}`);
157
+ // Memory (soft RAG) + durable HEAD materialization (verified + progress).
158
+ // lastGoodCommitId is retained for resume/oracle; next-slice context uses HEAD
159
+ // so progress soft-commits are visible immediately.
160
+ let durableBlock = '';
161
+ try {
162
+ durableBlock = await stateStore.materializeContext();
163
+ }
164
+ catch {
165
+ durableBlock = '';
166
+ }
167
+ const memBlock = formatMemoryHits(hits);
168
+ const ragContext = [durableBlock, memBlock].filter(Boolean).join('\n\n');
169
+ // buildSlicePrompt uses iteration>1 for "fix remaining failures" — that
170
+ // should track implementation attempts, not free design steps.
171
+ const promptIter = runMode === 'implementation' ? implStep : 1;
172
+ const slicePrompt = buildSlicePrompt(brief, userMessage, runMode, promptIter);
173
+ const implementerRetry = runMode === 'implementation' && implStep > 1;
174
+ if (runMode === 'design-phase') {
175
+ deps.emit(`[zelari] design-phase (fuori budget) · step ${step} · slice ${brief.sliceMvp.id}`);
176
+ }
177
+ else if (implementerRetry) {
178
+ deps.emit(`[zelari] implementazione ${implStep}/${maxIter} · step ${step} · ` +
179
+ `roster ridotto (Minosse+Lucifero) · slice ${brief.sliceMvp.id}`);
180
+ }
181
+ else {
182
+ deps.emit(`[zelari] implementazione ${implStep}/${maxIter} · step ${step} · ` +
183
+ `council completo · slice ${brief.sliceMvp.id}`);
184
+ }
132
185
  let result;
133
186
  try {
134
- result = await deps.runSlice({ userMessage: slicePrompt, runMode, ragContext, iteration: i });
187
+ result = await deps.runSlice({
188
+ userMessage: slicePrompt,
189
+ runMode,
190
+ ragContext,
191
+ iteration: step,
192
+ implementationIndex: runMode === 'implementation' ? implStep : undefined,
193
+ implementerRetry,
194
+ });
135
195
  }
136
196
  catch (err) {
137
197
  state.status = 'error';
138
198
  state.updatedAt = now().toISOString();
139
199
  await writeMissionState(deps.projectRoot, state);
140
- deps.emit(`[zelari] errore all'iterazione ${i}: ${err instanceof Error ? err.message : String(err)}`);
200
+ deps.emit(`[zelari] errore allo step ${step}: ${err instanceof Error ? err.message : String(err)}`);
141
201
  return state;
142
202
  }
143
203
  await deps.memory.add(JSON.stringify({
144
- iteration: i,
204
+ iteration: step,
205
+ implStep: runMode === 'implementation' ? implStep : 0,
145
206
  runMode,
146
207
  completionOk: result.completionOk,
147
208
  synthesis: result.synthesisText?.slice(0, 2000) ?? '',
148
- }), { projectRoot: deps.projectRoot, missionId, sliceId: brief.sliceMvp.id, source: 'council', iteration: i });
209
+ }), {
210
+ projectRoot: deps.projectRoot,
211
+ missionId,
212
+ sliceId: brief.sliceMvp.id,
213
+ source: 'council',
214
+ iteration: step,
215
+ });
149
216
  state.lastCompletionOk = result.completionOk;
150
217
  state.updatedAt = now().toISOString();
151
- // Success only when an IMPLEMENTATION slice completes a design-phase run
152
- // never writes completion.json, so it always advances the loop.
153
- if (result.completionOk && runMode === 'implementation') {
218
+ // Design is free: clear the flag and continue into implementation budget.
219
+ if (runMode === 'design-phase') {
220
+ pendingDesign = false;
221
+ await writeMissionState(deps.projectRoot, state);
222
+ continue;
223
+ }
224
+ // Durable accumulation: verified success → hard commit; progress with
225
+ // writes → soft progress commit so the next slice inherits discoveries.
226
+ const wrote = typeof result.writeCount === 'number' && result.writeCount > 0;
227
+ if (result.completionOk || wrote) {
228
+ const hard = result.completionOk === true;
229
+ const commitRes = await tryStateCommit({
230
+ projectRoot: deps.projectRoot,
231
+ store: stateStore,
232
+ env: deps.env,
233
+ mode: 'zelari',
234
+ layer: hard
235
+ ? `mission:impl-${implStep}`
236
+ : `mission:progress-${implStep}`,
237
+ label: hard
238
+ ? `zelari ${brief.sliceMvp.id} impl ${implStep} verified`
239
+ : `zelari ${brief.sliceMvp.id} progress impl ${implStep}`,
240
+ sessionId: missionId,
241
+ verification: { ok: hard, ran: result.ran },
242
+ force: !hard,
243
+ withCheckpoint: hard,
244
+ discoveries: discoveriesFromOutcome({
245
+ stepId: `${missionId}-${step}`,
246
+ synthesis: result.synthesisText,
247
+ writeCount: result.writeCount,
248
+ note: hard
249
+ ? `Implementation slice ${implStep} completed (verified)`
250
+ : `Progress slice ${implStep} (${result.writeCount} writes, not yet complete)`,
251
+ }),
252
+ });
253
+ if (commitRes.ok && commitRes.meta?.id) {
254
+ // Only advance lastGoodCommitId on verified commits (Palmer: oracle PASS).
255
+ if (hard) {
256
+ state.lastGoodCommitId = commitRes.meta.id;
257
+ if (commitRes.checkpointId) {
258
+ missionCheckpointId = commitRes.checkpointId;
259
+ }
260
+ }
261
+ deps.emit(`[zelari] state commit ${commitRes.meta.id}` +
262
+ ` (${hard ? 'verified' : 'progress'} layer mission:${hard ? 'impl' : 'progress'}-${implStep})`);
263
+ }
264
+ else if (commitRes.error) {
265
+ deps.emit(`[zelari] state commit skipped: ${commitRes.error}`);
266
+ }
267
+ }
268
+ // Success only when an IMPLEMENTATION slice completes.
269
+ if (result.completionOk) {
154
270
  state.status = 'success';
155
271
  await writeMissionState(deps.projectRoot, state);
156
- deps.emit(`[zelari] ✓ missione completata — slice MVP verde all'iterazione ${i}.`);
272
+ deps.emit(`[zelari] ✓ missione completata — slice MVP verde all'implementazione ${implStep}/${maxIter} (step ${step}).`);
157
273
  return state;
158
274
  }
159
275
  // Stall detection: an implementation slice that wrote 0 files made no
@@ -161,7 +277,7 @@ export async function runZelariMission(userMessage, brief, deps) {
161
277
  // synthesis claims done but nothing is written). Bail early with an
162
278
  // actionable message instead of burning the whole iteration budget on
163
279
  // identical no-op runs. Only counts when the driver reports writeCount.
164
- if (runMode === 'implementation' && typeof result.writeCount === 'number') {
280
+ if (typeof result.writeCount === 'number') {
165
281
  if (result.writeCount === 0)
166
282
  noWriteStreak++;
167
283
  else
@@ -182,8 +298,9 @@ export async function runZelariMission(userMessage, brief, deps) {
182
298
  state.status = 'stopped';
183
299
  state.updatedAt = now().toISOString();
184
300
  await writeMissionState(deps.projectRoot, state);
185
- deps.emit(`[zelari] fermata dopo ${maxIter} iterazioni senza completamento verde. ` +
186
- 'Stato salvato in .zelari/mission-state.json');
301
+ deps.emit(`[zelari] fermata dopo ${maxIter} implementazioni senza completamento verde` +
302
+ (designFirst ? ' (design-phase esclusa dal budget)' : '') +
303
+ '. Stato salvato in .zelari/mission-state.json');
187
304
  return state;
188
305
  }
189
306
  //# sourceMappingURL=zelariMission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zelariMission.js","sourceRoot":"","sources":["../../src/cli/zelariMission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zelariMission.js","sourceRoot":"","sources":["../../src/cli/zelariMission.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zelari-code",
3
- "version": "1.15.0",
3
+ "version": "1.17.0",
4
4
  "description": "Zelari Code — AI Council coding agent CLI. Multi-agent orchestration (Caronte, Nettuno, Gerione, Plutone, Minosse, Lucifero) with slash commands, provider-agnostic LLM streaming, and self-update.",
5
5
  "author": "Anathema Studio <https://anathema-studio.com/>",
6
6
  "license": "MIT",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@testing-library/react": "^16.3.2",
53
- "@zelari/core": "1.15.0",
53
+ "@zelari/core": "1.17.0",
54
54
  "@types/node": "^25.3.0",
55
55
  "@types/react": "^19.0.10",
56
56
  "esbuild": "^0.25.0",