zelari-code 2.24.0 → 2.26.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 (53) hide show
  1. package/dist/cli/ast/tools.js +1 -1
  2. package/dist/cli/ast/tools.js.map +1 -1
  3. package/dist/cli/budget/budgetRuntime.js +4 -1
  4. package/dist/cli/budget/budgetRuntime.js.map +1 -1
  5. package/dist/cli/gauntlet/policy.js +2 -0
  6. package/dist/cli/gauntlet/policy.js.map +1 -1
  7. package/dist/cli/gitOps.js +22 -0
  8. package/dist/cli/gitOps.js.map +1 -1
  9. package/dist/cli/headless/runOneTurn.js +2 -2
  10. package/dist/cli/headless/runOneTurn.js.map +1 -1
  11. package/dist/cli/hooks/conversationContext.js +1 -1
  12. package/dist/cli/hooks/conversationContext.js.map +1 -1
  13. package/dist/cli/hooks/useChatTurn.js +4 -4
  14. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  15. package/dist/cli/kraken/delegationPolicy.js +1 -1
  16. package/dist/cli/kraken/turnRuntime.js +3 -0
  17. package/dist/cli/kraken/turnRuntime.js.map +1 -1
  18. package/dist/cli/lsp/tools.js +1 -1
  19. package/dist/cli/lsp/tools.js.map +1 -1
  20. package/dist/cli/main.bundled.js +8319 -7628
  21. package/dist/cli/main.bundled.js.map +4 -4
  22. package/dist/cli/missionSlice.js +4 -4
  23. package/dist/cli/missionSlice.js.map +1 -1
  24. package/dist/cli/phase.js +4 -1
  25. package/dist/cli/phase.js.map +1 -1
  26. package/dist/cli/runHeadless.js +1 -1
  27. package/dist/cli/runHeadless.js.map +1 -1
  28. package/dist/cli/safety/astGate.js +190 -0
  29. package/dist/cli/safety/astGate.js.map +1 -0
  30. package/dist/cli/safety/resourceClaims.js +3 -1
  31. package/dist/cli/safety/resourceClaims.js.map +1 -1
  32. package/dist/cli/sessionSpine.js +45 -0
  33. package/dist/cli/sessionSpine.js.map +1 -1
  34. package/dist/cli/spineFileEvents.js +124 -0
  35. package/dist/cli/spineFileEvents.js.map +1 -0
  36. package/dist/cli/toolRegistry.js +41 -15
  37. package/dist/cli/toolRegistry.js.map +1 -1
  38. package/dist/cli/tools/krakenRadio.js.map +1 -1
  39. package/dist/cli/tools/planTaskTools.js +73 -4
  40. package/dist/cli/tools/planTaskTools.js.map +1 -1
  41. package/dist/cli/workspace/planStore.js +19 -0
  42. package/dist/cli/workspace/planStore.js.map +1 -1
  43. package/dist/cli/workspace/stubs.js +3 -0
  44. package/dist/cli/workspace/stubs.js.map +1 -1
  45. package/dist/cli/workspace/taskOverlap.js +78 -0
  46. package/dist/cli/workspace/taskOverlap.js.map +1 -0
  47. package/dist/cli/workspace/taskStaleness.js +100 -0
  48. package/dist/cli/workspace/taskStaleness.js.map +1 -0
  49. package/dist/cli/workspace/taskTouchGuard.js +181 -0
  50. package/dist/cli/workspace/taskTouchGuard.js.map +1 -0
  51. package/dist/cli/zelariMission.js +1 -1
  52. package/dist/cli/zelariMission.js.map +1 -1
  53. package/package.json +3 -2
@@ -0,0 +1,78 @@
1
+ /**
2
+ * taskOverlap — advisory overlap guard (t60, plan P1.5).
3
+ *
4
+ * Pure helpers that detect declared-files overlap between a candidate task
5
+ * and OTHER `in_progress` tasks in .zelari/plan.json. The guard is
6
+ * advisory-only and NEVER blocks a call: writer serialization stays the
7
+ * lead's policy — this module just strengthens the signal (one radio event
8
+ * `task_overlap` + an advisory note + the `overlap` flag on the task).
9
+ *
10
+ * Glob vocabulary matches taskTouchGuard (t58): exact root-relative path,
11
+ * directory subtree (dir followed by double-star), extension suffix
12
+ * (star-dot-ext at any depth). Excluded subtrees (.zelari, node_modules,
13
+ * dist, build) never overlap — plan.json churn is by design.
14
+ *
15
+ * @since v2.26.0 (t60)
16
+ */
17
+ import { matchTaskFiles } from './taskTouchGuard.js';
18
+ const EXCLUDED_DIR_PREFIXES = ['.zelari/', 'node_modules/', 'dist/', 'build/'];
19
+ function normalizePattern(raw) {
20
+ return raw.trim().replace(/\\/g, '/').replace(/^\.\//, '').replace(/^\*\*\//, '');
21
+ }
22
+ /** Excluded subtrees and empty patterns never participate in overlap. */
23
+ function isActivePattern(raw) {
24
+ const n = normalizePattern(raw);
25
+ if (!n)
26
+ return false;
27
+ return !EXCLUDED_DIR_PREFIXES.some((p) => n === p.slice(0, -1) || n.startsWith(p));
28
+ }
29
+ /**
30
+ * First candidate glob that intersects any of `others` (exact, subtree or
31
+ * suffix semantics, checked in both directions), or null when disjoint.
32
+ */
33
+ export function globsIntersect(candidate, others) {
34
+ const cands = candidate.filter(isActivePattern);
35
+ const other = others.filter(isActivePattern);
36
+ for (const c of cands) {
37
+ for (const o of other) {
38
+ const nc = normalizePattern(c);
39
+ const no = normalizePattern(o);
40
+ if (nc === no)
41
+ return c;
42
+ if (matchTaskFiles([c], no))
43
+ return c;
44
+ if (matchTaskFiles([o], nc))
45
+ return c;
46
+ }
47
+ }
48
+ return null;
49
+ }
50
+ /**
51
+ * All in_progress tasks (excluding `excludeId`) whose declared files
52
+ * intersect `candidateFiles`. Deterministic: store order, first contested
53
+ * glob per pair. Completed / cancelled / pending tasks never count.
54
+ */
55
+ export function findOverlappingTasks(candidateFiles, tasks, excludeId) {
56
+ if (!candidateFiles || candidateFiles.length === 0)
57
+ return [];
58
+ const hits = [];
59
+ for (const t of tasks) {
60
+ if (t.id === excludeId)
61
+ continue;
62
+ if (t.status !== 'in_progress')
63
+ continue;
64
+ if (!t.files || t.files.length === 0)
65
+ continue;
66
+ const contested = globsIntersect(candidateFiles, t.files);
67
+ if (contested)
68
+ hits.push({ task: t, contested });
69
+ }
70
+ return hits;
71
+ }
72
+ /** Advisory note line appended to the flagged task (kept short, t60). */
73
+ export function overlapNoteLine(hits) {
74
+ const pairs = hits.map((h) => `${h.task.id} (${h.contested})`).join(', ');
75
+ return (`Overlap advisory (t60): files intersect in_progress task(s) ${pairs}. ` +
76
+ 'Advisory only — writer serialization stays the lead policy.');
77
+ }
78
+ //# sourceMappingURL=taskOverlap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskOverlap.js","sourceRoot":"","sources":["../../../src/cli/workspace/taskOverlap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * taskStaleness — session-start staleness sweep (t59, plan P1.5).
3
+ *
4
+ * At session bootstrap (same seam as the t58 TaskTouchGuard — the parent
5
+ * tool-registry factory, fire-and-forget) every `completed` task that
6
+ * declares `files` and has a `completedAt` OLDER than the stale threshold
7
+ * (default 24h, env `ZELARI_TASK_STALE_HOURS`) is checked against
8
+ * `gitLogSince`: if commits landed after `completedAt` touching the
9
+ * declared pathspecs, the task is flagged:
10
+ * - flags.push('stale') + appendNote on the plan task (withPlanStore);
11
+ * - one `task_stale` radio event (agent `task-guard`).
12
+ *
13
+ * Idempotent: tasks already flagged 'stale' are skipped (clearing the flag
14
+ * re-enables the signal). Silent skip when the root is not a git repo.
15
+ *
16
+ * Advisory-only per ADR 0023: unknown never blocks anything — the sweep is
17
+ * total fail-open and must never break a session start.
18
+ *
19
+ * @since v2.26.0 (t59)
20
+ */
21
+ import { existsSync } from 'node:fs';
22
+ import { appendKrakenRadio } from '../tools/krakenRadio.js';
23
+ import { gitLogSince, isGitRepo } from '../gitOps.js';
24
+ import { PLAN_NOTES_MAX, planJsonPathFor, withPlanStore } from './planStore.js';
25
+ export const TASK_STALE_HOURS_DEFAULT = 24;
26
+ /** Resolve the stale threshold from ZELARI_TASK_STALE_HOURS (default 24h). */
27
+ export function taskStaleHours() {
28
+ const raw = process.env.ZELARI_TASK_STALE_HOURS;
29
+ if (raw === undefined || raw.trim() === '')
30
+ return TASK_STALE_HOURS_DEFAULT;
31
+ const n = Number(raw);
32
+ if (!Number.isFinite(n) || n < 0)
33
+ return TASK_STALE_HOURS_DEFAULT;
34
+ return n;
35
+ }
36
+ /**
37
+ * Run the staleness sweep. Returns reports for newly-flagged tasks.
38
+ * Never throws; on any failure returns what it has (or empty).
39
+ */
40
+ export async function runTaskStalenessCheck(opts) {
41
+ const root = opts.projectRoot;
42
+ const nowMs = (opts.now ?? Date.now)();
43
+ try {
44
+ if (!existsSync(planJsonPathFor(root)))
45
+ return [];
46
+ if (!(await isGitRepo(root)))
47
+ return [];
48
+ const hours = opts.hoursOverride ?? taskStaleHours();
49
+ const cutoff = nowMs - hours * 3_600_000;
50
+ const tasks = await withPlanStore(root, (store) => store.tasks);
51
+ const reports = [];
52
+ for (const task of tasks) {
53
+ if (task.status !== 'completed' || !task.files?.length || !task.completedAt)
54
+ continue;
55
+ if (Array.isArray(task.flags) && task.flags.includes('stale'))
56
+ continue;
57
+ const doneAt = Date.parse(task.completedAt);
58
+ if (!Number.isFinite(doneAt) || doneAt >= cutoff)
59
+ continue;
60
+ const commits = await gitLogSince(root, task.completedAt, task.files);
61
+ if (commits.length === 0)
62
+ continue;
63
+ reports.push({ taskId: task.id, commits });
64
+ appendKrakenRadio(root, opts.sessionId, {
65
+ kind: 'task_stale',
66
+ agent: 'task-guard',
67
+ description: `completed task ${task.id} declared files changed by later commits`,
68
+ contestedFile: task.files[0],
69
+ ok: true,
70
+ detail: `${task.title} — ${commits.length} later commit(s), newest: ${commits[0]}`,
71
+ });
72
+ }
73
+ if (reports.length > 0) {
74
+ try {
75
+ await withPlanStore(root, (store) => {
76
+ const stamp = new Date(nowMs).toISOString();
77
+ for (const report of reports) {
78
+ const live = store.tasks.find((t) => t.id === report.taskId);
79
+ if (!live)
80
+ continue;
81
+ const flags = Array.isArray(live.flags) ? [...live.flags] : [];
82
+ if (!flags.includes('stale'))
83
+ live.flags = [...flags, 'stale'];
84
+ const note = `[task-guard ${stamp}] stale: ${report.commits.length} commit(s) landed after completion on declared files`;
85
+ live.notes = `${live.notes ? `${live.notes}\n` : ''}${note}`.slice(0, PLAN_NOTES_MAX);
86
+ }
87
+ });
88
+ }
89
+ catch {
90
+ // flag/note are best-effort; the radio events already went out
91
+ }
92
+ }
93
+ return reports;
94
+ }
95
+ catch {
96
+ // fail-open (missing/corrupt plan.json, git failures, radio io, …)
97
+ return [];
98
+ }
99
+ }
100
+ //# sourceMappingURL=taskStaleness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskStaleness.js","sourceRoot":"","sources":["../../../src/cli/workspace/taskStaleness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * taskTouchGuard — declared-vs-observed hygiene guard (t58, plan P1.5).
3
+ *
4
+ * Watches post-result write events (t57 ToolRegistry post-result seam) and
5
+ * flags `completed` tasks whose declared `files` globs are touched by a
6
+ * LATER session (cross-session rule: sessionStartedAt > completedAt, so the
7
+ * session that completes a task never auto-flags itself).
8
+ *
9
+ * On a match (best-effort, total fail-open — this code must never break a
10
+ * tool call):
11
+ * - one `task_reopened` radio event per task per session
12
+ * (`.zelari/radio/<sessionId>.jsonl`, agent `task-guard`);
13
+ * - flags.push('reopened') + an appendNote on the plan task, through
14
+ * withPlanStore so the shared workspace mutex keeps it consistent with
15
+ * concurrent `task_update` calls.
16
+ *
17
+ * Supported glob vocabulary (documented, minimal — no new deps):
18
+ * - exact root-relative path: src/cli/foo.ts
19
+ * - directory subtree (recursive): src followed by double-star
20
+ * - extension suffix (any depth): *.ts (leading double-star prefix also ok)
21
+ *
22
+ * Excluded, never matched: .zelari, node_modules, dist, build subtrees
23
+ * (plan.json itself changes constantly by design).
24
+ *
25
+ * @since v2.26.0 (t58)
26
+ */
27
+ import { existsSync } from 'node:fs';
28
+ import path from 'node:path';
29
+ import { appendKrakenRadio } from '../tools/krakenRadio.js';
30
+ import { PLAN_NOTES_MAX, planJsonPathFor, withPlanStore } from './planStore.js';
31
+ /** Native mutating tools (catalog names) + MCP filesystem variants. */
32
+ const NATIVE_WRITE_TOOLS = new Set([
33
+ 'write_file',
34
+ 'edit',
35
+ 'edit_file',
36
+ 'apply_diff',
37
+ ]);
38
+ const MCP_FS_WRITE_RE = /^mcp_filesystem_(write_file|edit_file|move_file|create_directory)$/;
39
+ const EXCLUDED_DIR_PREFIXES = ['.zelari/', 'node_modules/', 'dist/', 'build/'];
40
+ export function isMutatingToolName(name) {
41
+ return NATIVE_WRITE_TOOLS.has(name) || MCP_FS_WRITE_RE.test(name);
42
+ }
43
+ /**
44
+ * Normalize a tool-supplied path to a root-relative POSIX path.
45
+ * Absolute paths outside `projectRoot` (and Windows drive crossings) → null.
46
+ */
47
+ export function toPosixRel(projectRoot, p) {
48
+ const raw = p.trim().replace(/\\/g, '/');
49
+ if (raw.startsWith('/') || /^[a-zA-Z]:\//.test(raw)) {
50
+ let rel;
51
+ try {
52
+ rel = path.relative(projectRoot, p);
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ if (!rel || rel.startsWith('..') || path.isAbsolute(rel))
58
+ return null;
59
+ return rel.replace(/\\/g, '/');
60
+ }
61
+ return raw.replace(/^\.\//, '');
62
+ }
63
+ /** Pull the mutated path out of a mutating tool's args (MCP uses `file_path`). */
64
+ export function extractWriteTarget(toolName, toolInput) {
65
+ if (!isMutatingToolName(toolName))
66
+ return null;
67
+ const args = (toolInput ?? {});
68
+ for (const key of ['path', 'file_path', 'source', 'destination']) {
69
+ const v = args[key];
70
+ if (typeof v === 'string' && v.trim())
71
+ return v.trim();
72
+ }
73
+ return null;
74
+ }
75
+ function normalizePattern(raw) {
76
+ return raw.replace(/\\/g, '/').replace(/^\.\//, '').replace(/^\*\*\//, '');
77
+ }
78
+ /**
79
+ * Match a root-relative path against declared task globs.
80
+ * Excluded dirs (.zelari, node_modules, dist, build) never match.
81
+ */
82
+ export function matchTaskFiles(patterns, relPath) {
83
+ if (EXCLUDED_DIR_PREFIXES.some((p) => relPath.startsWith(p)))
84
+ return false;
85
+ for (const raw of patterns) {
86
+ const pat = normalizePattern(raw);
87
+ if (!pat)
88
+ continue;
89
+ if (pat === relPath)
90
+ return true;
91
+ if (pat.endsWith('/**')) {
92
+ if (relPath.startsWith(pat.slice(0, -2)))
93
+ return true;
94
+ }
95
+ else if (pat.includes('*')) {
96
+ const star = pat.indexOf('*');
97
+ const suffix = pat.slice(star + 1);
98
+ if (suffix && !suffix.includes('*') && relPath.endsWith(suffix))
99
+ return true;
100
+ }
101
+ }
102
+ return false;
103
+ }
104
+ /**
105
+ * Build the t57 listener. Every inspection is chained onto an internal
106
+ * promise queue so tests (and shutdown paths) can drain() it; the listener
107
+ * itself stays synchronous and never throws (total fail-open).
108
+ */
109
+ export function createTaskTouchGuard(opts) {
110
+ const root = opts.projectRoot;
111
+ const sessionId = opts.sessionId;
112
+ const sessionStartedAt = (opts.now ?? Date.now)();
113
+ const flagged = new Set();
114
+ let chain = Promise.resolve();
115
+ const listener = (event) => {
116
+ try {
117
+ if (!event.ok)
118
+ return;
119
+ const target = extractWriteTarget(event.toolName, event.toolInput);
120
+ if (!target)
121
+ return;
122
+ const rel = toPosixRel(root, target);
123
+ if (!rel)
124
+ return;
125
+ chain = chain.then(() => inspectWrite(rel)).catch(() => undefined);
126
+ }
127
+ catch {
128
+ // fail-open: the guard must never break a tool result
129
+ }
130
+ };
131
+ listener.drain = () => chain;
132
+ return listener;
133
+ async function inspectWrite(rel) {
134
+ try {
135
+ const planPath = planJsonPathFor(root);
136
+ if (!existsSync(planPath))
137
+ return;
138
+ const tasks = await withPlanStore(root, (store) => store.tasks);
139
+ for (const task of tasks) {
140
+ if (task.status !== 'completed' || !task.files?.length || !task.completedAt)
141
+ continue;
142
+ if (flagged.has(task.id))
143
+ continue;
144
+ const doneAt = Date.parse(task.completedAt);
145
+ if (!Number.isFinite(doneAt) || sessionStartedAt <= doneAt)
146
+ continue;
147
+ if (!matchTaskFiles(task.files, rel))
148
+ continue;
149
+ flagged.add(task.id);
150
+ appendKrakenRadio(root, sessionId, {
151
+ kind: 'task_reopened',
152
+ agent: 'task-guard',
153
+ description: `completed task ${task.id} file touched after completion`,
154
+ contestedFile: rel,
155
+ ok: true,
156
+ detail: `${task.title} — ${rel}`,
157
+ });
158
+ try {
159
+ await withPlanStore(root, (store) => {
160
+ const live = store.tasks.find((t) => t.id === task.id);
161
+ if (!live)
162
+ return;
163
+ const flags = Array.isArray(live.flags) ? [...live.flags] : [];
164
+ if (!flags.includes('reopened'))
165
+ live.flags = [...flags, 'reopened'];
166
+ const stamp = new Date(sessionStartedAt).toISOString();
167
+ const note = `[task-guard ${stamp}] ${rel} modified after completion (reopened)`;
168
+ live.notes = `${live.notes ? `${live.notes}\n` : ''}${note}`.slice(0, PLAN_NOTES_MAX);
169
+ });
170
+ }
171
+ catch {
172
+ // flag/note are best-effort; the radio event already went out
173
+ }
174
+ }
175
+ }
176
+ catch {
177
+ // fail-open (missing/corrupt plan.json, radio io, …)
178
+ }
179
+ }
180
+ }
181
+ //# sourceMappingURL=taskTouchGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskTouchGuard.js","sourceRoot":"","sources":["../../../src/cli/workspace/taskTouchGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGhF,uEAAuE;AACvE,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,YAAY;IACZ,MAAM;IACN,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,oEAAoE,CAAC;AAE7F,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAgB/E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,CAAS;IACvD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,SAAkB;IACrE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;IAC1D,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAA2B,EAAE,OAAe;IACzE,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA2B;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC/C,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO;YACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC,CAAC;IACF,QAAQ,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;IAC7B,OAAO,QAAQ,CAAC;IAEhB,KAAK,UAAU,YAAY,CAAC,GAAW;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YAClC,MAAM,KAAK,GAAe,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,SAAS;gBACtF,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,gBAAgB,IAAI,MAAM;oBAAE,SAAS;gBACrE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;oBAAE,SAAS;gBAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE;oBACjC,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,kBAAkB,IAAI,CAAC,EAAE,gCAAgC;oBACtE,aAAa,EAAE,GAAG;oBAClB,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,MAAM,GAAG,EAAE;iBACjC,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;wBACvD,IAAI,CAAC,IAAI;4BAAE,OAAO;wBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;4BAAE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,CAAC;wBACrE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;wBACvD,MAAM,IAAI,GAAG,eAAe,KAAK,KAAK,GAAG,uCAAuC,CAAC;wBACjF,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;oBACxF,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -131,7 +131,7 @@ function buildSlicePrompt(brief, userMessage, runMode, iteration) {
131
131
  : '';
132
132
  return (`${userMessage}\n\n[Zelari mission] Implement the MVP slice: ` +
133
133
  `${brief.deliverableThisMission}.${fix} ` +
134
- 'You MUST create or modify the real project files with write_file / edit_file — ' +
134
+ 'You MUST create or modify the real project files with write_file / edit — ' +
135
135
  'not just describe them in prose. A run that claims completion without writing ' +
136
136
  'any file is a failed run and will not be accepted.');
137
137
  }
@@ -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": "2.24.0",
3
+ "version": "2.26.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": "Apache-2.0",
@@ -53,6 +53,7 @@
53
53
  "evolve:propose": "node --experimental-strip-types tools/eval/runEvolvePropose.ts",
54
54
  "evolve:decide": "node --experimental-strip-types tools/eval/runEvolveDecide.ts",
55
55
  "evolve:validate": "node --experimental-strip-types tools/eval/runEvolveValidate.ts",
56
+ "edit:bench": "node --experimental-strip-types tools/eval/runEditBench.ts",
56
57
  "test:eval": "vitest run tools/eval",
57
58
  "test:memory": "vitest run packages/core/src/memory/scoring.test.ts tests/unit/core-agentHarness-memory.test.ts tests/unit/cli-sqliteMemoryV2.test.ts tests/unit/cli-memorySemantic.test.ts tests/unit/cli-memoryMigration.test.ts tests/unit/cli-memoryMcp.test.ts tests/unit/cli-memoryJsonApi.test.ts tests/unit/cli-memoryCommands.test.ts tests/unit/cli-memoryPerformance.test.ts tests/unit/cli-kraken-sharedMemory.test.ts tests/unit/cli-semantic.test.ts tools/eval/memoryMetrics.test.ts"
58
59
  },
@@ -65,7 +66,7 @@
65
66
  },
66
67
  "devDependencies": {
67
68
  "@testing-library/react": "^16.3.2",
68
- "@zelari/core": "2.24.0",
69
+ "@zelari/core": "2.26.0",
69
70
  "@types/node": "^25.3.0",
70
71
  "@types/react": "^19.0.10",
71
72
  "esbuild": "^0.25.0",