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
@@ -7,7 +7,10 @@ import { lastHarnessManifestHash, restoreBudgetRuntimeFromSession } from './budg
7
7
  import { resolveProfile } from '@zelari/core/runtime';
8
8
  import { buildHarnessManifest } from './harnessManifest.js';
9
9
  import { contractEventData, latestTaskContract, updateTaskContract } from './kraken/taskContract.js';
10
+ import { deriveFileEvents } from './spineFileEvents.js';
10
11
  import path from 'node:path';
12
+ /** ADR-0033 (t75): bounded callId→tool-name memory for result derivation. */
13
+ const MAX_PENDING_TOOL_NAMES = 256;
11
14
  /** Kill switch — default ON in the 2.0 alpha. */
12
15
  export function spineEnabled() {
13
16
  return process.env.ZELARI_SESSION_SPINE !== '0';
@@ -152,6 +155,8 @@ export class SessionSpineMirror {
152
155
  resourceTurnPrepared = false;
153
156
  /** 2.6 Track A: set once a task.contract has been seeded (or the log had one). */
154
157
  contractSeeded = false;
158
+ /** ADR-0033 (t75): bounded callId→tool-name map for result derivation. */
159
+ pendingToolNames = new Map();
155
160
  status = 'disabled';
156
161
  /** Seq the log continued from when adopting an existing session. */
157
162
  resumedFromSeq;
@@ -475,6 +480,39 @@ export class SessionSpineMirror {
475
480
  // 2.6.1 (plan §25): TaskContract is default-ON (opt-out ZELARI_TASK_CONTRACT=0).
476
481
  if (!this.writer || this.status === 'closed')
477
482
  return Promise.resolve(null);
483
+ // ADR-0033 (t75): tool.call → remember its tool name (bounded) so the
484
+ // paired tool.result can derive file.read/file.applied/file.rejected.
485
+ if (input.kind === 'tool.call') {
486
+ const callId = input.data?.callId;
487
+ const tool = input.data?.tool;
488
+ if (typeof callId === 'string' && typeof tool === 'string') {
489
+ if (this.pendingToolNames.size >= MAX_PENDING_TOOL_NAMES) {
490
+ const oldest = this.pendingToolNames.keys().next().value;
491
+ if (oldest !== undefined)
492
+ this.pendingToolNames.delete(oldest);
493
+ }
494
+ this.pendingToolNames.set(callId, tool);
495
+ }
496
+ }
497
+ // ADR-0033 (t75): derive compact file-lifecycle events from the tool
498
+ // result payload. They land on the SAME chain right after the
499
+ // tool.result (ordering guarantee). Undecodable payloads derive nothing
500
+ // and never break the turn (same degrade-and-stop discipline).
501
+ let derivedFileEvents = [];
502
+ if (input.kind === 'tool.result') {
503
+ const callId = input.data?.callId;
504
+ const toolName = typeof callId === 'string' ? this.pendingToolNames.get(callId) : undefined;
505
+ if (typeof callId === 'string')
506
+ this.pendingToolNames.delete(callId);
507
+ if (toolName !== undefined) {
508
+ try {
509
+ derivedFileEvents = deriveFileEvents(toolName, input.data?.output);
510
+ }
511
+ catch {
512
+ derivedFileEvents = [];
513
+ }
514
+ }
515
+ }
478
516
  // 2.6 Track B: count synchronously BEFORE enqueueing; when §10.4 says a
479
517
  // snapshot is due it lands right AFTER its tool.call on this same chain
480
518
  // (local variable — no re-entrant append racing the this.chain capture).
@@ -508,6 +546,13 @@ export class SessionSpineMirror {
508
546
  .append({ kind: 'resource.snapshot', actor: ACTOR_SYSTEM, data: { ...dueSnapshot } })
509
547
  .then(() => s));
510
548
  }
549
+ // ADR-0033 (t75): derived file events land right AFTER their tool.result
550
+ // on this same chain — envelope order is the audit order.
551
+ for (const fileEvent of derivedFileEvents) {
552
+ seq = seq.then((s) => this.writer
553
+ .append({ kind: fileEvent.kind, actor: ACTOR_AGENT, data: { ...fileEvent.data } })
554
+ .then(() => s));
555
+ }
511
556
  if (dueContract) {
512
557
  seq = seq.then(async (s) => {
513
558
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionSpine.js","sourceRoot":"","sources":["../../src/cli/sessionSpine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionSpine.js","sourceRoot":"","sources":["../../src/cli/sessionSpine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * spineFileEvents — ADR-0033 (t75): compact file-lifecycle spine events
3
+ * derived from tool results, right AFTER the matching `tool.result` lands.
4
+ *
5
+ * Kinds (additive, ADR-0021 tolerant replay; never model-surface):
6
+ * - `file.read` {path, snapshotId} ← read_file ok
7
+ * - `file.applied` {path, snapshotId | created} ← edit / write_file ok
8
+ * - `file.rejected` {path, status} ← edit WriteReject
9
+ *
10
+ * PURE and total: never touches disk, never throws, returns [] on any
11
+ * payload it cannot confidently decode (ADR-0033: no event beats a wrong
12
+ * event). The harness stringifies ok values as JSON but rejects as prose,
13
+ * so both channels are handled defensively.
14
+ */
15
+ const FILE_TOOLS = new Set(['read_file', 'write_file', 'edit']);
16
+ /** WriteReject.status channel (ADR-0033) — deterministic `edit` prose prefix. */
17
+ const EDIT_REJECT_RE = /^edit: (stale_snapshot|hunk_mismatch|parse_error|file_exists): (.+?)(?: \(|\n|$)/;
18
+ function asRecord(v) {
19
+ return v !== null && typeof v === 'object' && !Array.isArray(v)
20
+ ? v
21
+ : null;
22
+ }
23
+ function asString(v) {
24
+ return typeof v === 'string' && v.length > 0 ? v : null;
25
+ }
26
+ /**
27
+ * Structured WriteReject from a TypedResult-shaped payload ({ok:false,
28
+ * meta.reject}) or a bare WriteReject record. Never JSON-parses strings:
29
+ * the reject channel on the spine is prose, not JSON.
30
+ */
31
+ function extractReject(output) {
32
+ const rec = asRecord(output);
33
+ if (!rec)
34
+ return null;
35
+ if (rec.ok !== false)
36
+ return null;
37
+ const meta = asRecord(rec.meta);
38
+ const reject = asRecord(meta?.reject) ?? asRecord(rec.reject);
39
+ if (reject)
40
+ return reject;
41
+ return asString(rec.status) && asString(rec.path) ? rec : null;
42
+ }
43
+ /** Decode an ok value: object passthrough or defensive JSON.parse of strings. */
44
+ function decodeValue(output) {
45
+ let rec;
46
+ if (typeof output !== 'string') {
47
+ rec = asRecord(output);
48
+ }
49
+ else {
50
+ try {
51
+ rec = asRecord(JSON.parse(output));
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }
57
+ // TypedResult ok envelope → unwrap to the value payload.
58
+ if (rec && rec.ok === true)
59
+ return asRecord(rec.value);
60
+ return rec;
61
+ }
62
+ /**
63
+ * Derive the file-lifecycle events for one tool result. Unknown tools,
64
+ * non-file tools and undecodable payloads yield NO events (never crash).
65
+ */
66
+ export function deriveFileEvents(toolName, output) {
67
+ if (typeof toolName !== 'string' || !FILE_TOOLS.has(toolName))
68
+ return [];
69
+ // Structured reject channel first (TypedResult / WriteReject objects).
70
+ const reject = toolName === 'edit' ? extractReject(output) : null;
71
+ if (reject) {
72
+ const status = asString(reject.status);
73
+ const rejectPath = asString(reject.path);
74
+ return status && rejectPath
75
+ ? [{ kind: 'file.rejected', data: { path: rejectPath, status } }]
76
+ : [];
77
+ }
78
+ const rec = decodeValue(output);
79
+ if (toolName === 'edit') {
80
+ if (!rec) {
81
+ // Prose channel: the harness emits rejects as the `error` message plus
82
+ // a metaFooter — the `edit:` prefix is owned by the core (deterministic).
83
+ const m = typeof output === 'string' ? EDIT_REJECT_RE.exec(output) : null;
84
+ return m ? [{ kind: 'file.rejected', data: { path: m[2], status: m[1] } }] : [];
85
+ }
86
+ if (rec.applied !== true)
87
+ return [];
88
+ const p = asString(rec.path);
89
+ const snapshotId = asString(rec.snapshotId);
90
+ if (!p || !snapshotId)
91
+ return [];
92
+ const occurrences = typeof rec.occurrencesReplaced === 'number' && Number.isFinite(rec.occurrencesReplaced)
93
+ ? rec.occurrencesReplaced
94
+ : null;
95
+ return [
96
+ {
97
+ kind: 'file.applied',
98
+ data: { path: p, snapshotId, ...(occurrences !== null ? { occurrencesReplaced: occurrences } : {}) },
99
+ },
100
+ ];
101
+ }
102
+ if (!rec)
103
+ return [];
104
+ switch (toolName) {
105
+ case 'read_file': {
106
+ const p = asString(rec.path);
107
+ const snapshotId = asString(rec.snapshotId);
108
+ return p && snapshotId ? [{ kind: 'file.read', data: { path: p, snapshotId } }] : [];
109
+ }
110
+ case 'write_file': {
111
+ // Value-shaped payloads only (path + bytesWritten): rejects/prose never match.
112
+ const p = asString(rec.path);
113
+ if (!p || typeof rec.bytesWritten !== 'number')
114
+ return [];
115
+ // `created` rides only when the payload exposes it (write result is
116
+ // {path, bytesWritten} today — no invented telemetry).
117
+ const created = typeof rec.created === 'boolean' ? rec.created : null;
118
+ return [{ kind: 'file.applied', data: { path: p, ...(created !== null ? { created } : {}) } }];
119
+ }
120
+ default:
121
+ return [];
122
+ }
123
+ }
124
+ //# sourceMappingURL=spineFileEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spineFileEvents.js","sourceRoot":"","sources":["../../src/cli/spineFileEvents.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * toolRegistry — default ToolRegistry for the zelari-code CLI.
3
3
  *
4
- * Wires the 8 built-in tools (filesystem read/write/edit + bash + grep/list +
5
- * show_diff/apply_diff) into a ToolRegistry instance that the AgentHarness can
4
+ * Wires the built-in tools (filesystem read/write/edit + bash + grep/list +
5
+ * show_diff) into a ToolRegistry instance that the AgentHarness can
6
6
  * hand to the provider via `tools: registry.toOpenAITools()` + `toolRegistry: registry`.
7
7
  *
8
8
  * Task A1 of AnathemaCoder v3-A: enable the existing tool pipeline.
@@ -14,13 +14,16 @@
14
14
  * @see docs/plans/2026-07-01-v0-4-0-fix-audit.md (v0.4.0 scope)
15
15
  */
16
16
  import { ToolRegistry } from '@zelari/core/harness/tools/registry';
17
- import { readFileTool, writeFileTool, editFileTool, } from '@zelari/core/harness/tools/builtin/filesystem';
17
+ import { readFileTool, writeFileTool, } from '@zelari/core/harness/tools/builtin/filesystem';
18
+ import { editTool } from '@zelari/core/harness/tools/builtin/edit';
18
19
  import { createBashTool } from '@zelari/core/harness/tools/builtin/shell';
19
20
  import { grepContentTool } from '@zelari/core/harness/tools/builtin/search';
20
21
  import { listFilesTool } from '@zelari/core/harness/tools/builtin/listFiles';
21
- import { showDiffTool, applyDiffTool } from '@zelari/core/harness/tools/builtin/diff';
22
+ import { showDiffTool } from '@zelari/core/harness/tools/builtin/diff';
22
23
  import { fetchUrlTool, webSearchTool } from '@zelari/core/harness/tools/builtin/web';
23
24
  import { resolveSandboxedPath, SandboxViolationError, verifyContainment } from './safety/sandboxPath.js';
25
+ import { createTaskTouchGuard } from './workspace/taskTouchGuard.js';
26
+ import { runTaskStalenessCheck } from './workspace/taskStaleness.js';
24
27
  import { assertShellAllowed, ShellBlockedError } from './safety/shellBlocklist.js';
25
28
  import { AuditLogger } from './safety/auditLogger.js';
26
29
  import { DEFAULT_PROVIDERS, formatDiagnostics, runDiagnosticsForFile, } from './diagnostics/engine.js';
@@ -48,6 +51,8 @@ import { buildProviderStream } from './provider/resolveStream.js';
48
51
  import { getKrakenVerifierOverride } from './providerConfig.js';
49
52
  import { defaultPermissionPolicy, intersectPermissionPolicy, resolveToolPermission, } from './safety/toolPermissions.js';
50
53
  import { createDefaultLifecycleHooks, HOOKS_FAILURE_ENV, resolveHookFailureMode } from './safety/lifecycleHooks.js';
54
+ // ADR-0033 (t76): post-write AST gate with auto-revert on the write path.
55
+ import { wrapWithAstGate } from './safety/astGate.js';
51
56
  // t30 (Pilastro C): ExtensionAPI seam — extension tools ride the SAME
52
57
  // wrapWithPermissions path as builtins; onPreToolUse handlers ride the t22
53
58
  // failure semantics (resolveHookFailureMode, same env override as hooks).
@@ -83,12 +88,15 @@ export function createBuiltinToolRegistry(options = {}) {
83
88
  const audit = options.audit ?? new AuditLogger();
84
89
  const sessionId = options.sessionId ?? 'cli';
85
90
  // Wrap filesystem tools: sandbox the path argument before delegating.
86
- // Edit tools (write/edit/apply_diff) are ALSO wrapped with the diagnostics
87
- // loop: after a successful edit, a fast file-scoped checker runs on the
88
- // touched file and its errors/warnings are appended to the tool result so
89
- // the model sees compiler feedback in the same turn (opt out: ZELARI_DIAGNOSTICS=0).
91
+ // Write tools (write_file/edit) are ALSO wrapped with the AST gate
92
+ // (auto-revert on syntax-broken writes) and the diagnostics loop: after a
93
+ // successful edit, a fast file-scoped checker runs on the touched file and
94
+ // its errors/warnings are appended to the tool result so the model sees
95
+ // compiler feedback in the same turn (opt out: ZELARI_DIAGNOSTICS=0).
90
96
  // t31 (2.21 §6.6): the execute tools (bash/exec_process) share the same
91
97
  // loop post-execute, on the source paths the invocation claims.
98
+ // ADR-0033 (t77): edit_file/apply_diff left the default catalog — the
99
+ // anchored `edit` tool is the single write surface besides write_file.
92
100
  const diagnosticsOn = options.diagnostics ?? process.env.ZELARI_DIAGNOSTICS !== '0';
93
101
  const withDiag = (t) => diagnosticsOn ? wrapWithDiagnostics(t, root, options.diagnosticsRunner) : t;
94
102
  // t31 (2.21 §6.6): the EXECUTE tools (bash/exec_process) get the same
@@ -100,12 +108,13 @@ export function createBuiltinToolRegistry(options = {}) {
100
108
  const safeReadFile = wrapWithSandbox(withResultCache(readFileTool, { kind: 'stat' }), ['path'], root, audit, sessionId);
101
109
  // v2.16 (t26): write tools additionally re-verify containment (fresh
102
110
  // syscalls) immediately before execute — see wrapWithSandbox opts.verifyWrite.
103
- const safeWriteFile = withDiag(wrapWithSandbox(writeFileTool, ['path'], root, audit, sessionId, { verifyWrite: true }));
104
- const safeEditFile = withDiag(wrapWithSandbox(editFileTool, ['path'], root, audit, sessionId, { verifyWrite: true }));
111
+ // t76: the AST gate sits between sandbox (abs-path rewrite) and diagnostics
112
+ // (a reverted write surfaces as an error result, so withDiag skips it).
113
+ const safeWriteFile = withDiag(wrapWithAstGate(wrapWithSandbox(writeFileTool, ['path'], root, audit, sessionId, { verifyWrite: true }), { root }));
114
+ const safeEdit = withDiag(wrapWithAstGate(wrapWithSandbox(editTool, ['path'], root, audit, sessionId, { verifyWrite: true }), { root }));
105
115
  const safeGrepContent = wrapWithSandbox(withResultCache(grepContentTool, { kind: 'ttl' }), ['path'], root, audit, sessionId);
106
116
  const safeListFiles = wrapWithSandbox(withResultCache(listFilesTool, { kind: 'ttl' }), ['path'], root, audit, sessionId);
107
117
  const safeShowDiff = wrapWithSandbox(showDiffTool, ['path'], root, audit, sessionId);
108
- const safeApplyDiff = withDiag(wrapWithSandbox(applyDiffTool, ['path'], root, audit, sessionId, { verifyWrite: true }));
109
118
  // v2.17 (t28, Pilastro A): ONE JailSpec per registry, from the SAME root
110
119
  // decision the sandbox wrappers use (no second policy engine). The bash
111
120
  // tool is rebuilt with the osJail spawn seam so its ONLY spawn route is
@@ -170,6 +179,16 @@ export function createBuiltinToolRegistry(options = {}) {
170
179
  const gauntletParent = options.gauntletParent === true;
171
180
  const allowMutators = !readOnly && !verifyMode && !gauntletParent;
172
181
  const allowBash = (allowMutators || verifyMode) && !gauntletParent;
182
+ // t58 declared-vs-observed guard: on parent registries with mutators, flag
183
+ // completed tasks whose declared files are written by a LATER session
184
+ // (radio 'task_reopened' + plan.json flag, total fail-open — taskTouchGuard).
185
+ if (isParent && allowMutators && sessionId) {
186
+ registry.setToolResultListener(createTaskTouchGuard({ projectRoot: root, sessionId }));
187
+ // t59 session-start staleness sweep: commits landed after completedAt on
188
+ // declared files of old-enough completed tasks → flag 'stale' + radio
189
+ // 'task_stale'. Fire-and-forget, advisory-only (ADR 0023).
190
+ void runTaskStalenessCheck({ projectRoot: root, sessionId });
191
+ }
173
192
  const permPolicy = options.permissionPolicy ?? defaultPermissionPolicy();
174
193
  // P0.A layered policy engine: per-command/per-path rules for THIS agent
175
194
  // identity with global and project kept as DISTINCT layers. Default
@@ -232,8 +251,7 @@ export function createBuiltinToolRegistry(options = {}) {
232
251
  // Mutating tools — full/general only.
233
252
  if (allowMutators) {
234
253
  registry.register(withPerm(safeWriteFile));
235
- registry.register(withPerm(safeEditFile));
236
- registry.register(withPerm(safeApplyDiff));
254
+ registry.register(withPerm(safeEdit));
237
255
  }
238
256
  if (allowBash) {
239
257
  registry.register(withPerm(safeBash));
@@ -284,7 +302,11 @@ export function createBuiltinToolRegistry(options = {}) {
284
302
  profile !== 'verify' &&
285
303
  profile !== 'general';
286
304
  const planTaskToolsWrapped = (enablePlanTasks
287
- ? createPlanTaskTools({ projectRoot: root, onTaskEvent: options.onTaskEvent })
305
+ ? createPlanTaskTools({
306
+ projectRoot: root,
307
+ onTaskEvent: options.onTaskEvent,
308
+ sessionId,
309
+ })
288
310
  : []).map((t) => withPerm(t));
289
311
  for (const t of planTaskToolsWrapped) {
290
312
  registry.register(t);
@@ -298,7 +320,7 @@ export function createBuiltinToolRegistry(options = {}) {
298
320
  safeWebSearch,
299
321
  ...(observeBatchTool ? [observeBatchTool] : []),
300
322
  ...(retrieveObservationTool ? [retrieveObservationTool] : []),
301
- ...(allowMutators ? [safeWriteFile, safeEditFile, safeApplyDiff] : []),
323
+ ...(allowMutators ? [safeWriteFile, safeEdit] : []),
302
324
  ...(allowBash ? [safeBash, safeExecProcess] : []),
303
325
  ...(askUserTool ? [askUserTool] : []),
304
326
  ...(skillTool ? [skillTool] : []),
@@ -509,6 +531,10 @@ export function createBuiltinToolRegistry(options = {}) {
509
531
  const HARNESS_BUILTIN_NAMES = new Set([
510
532
  'read_file',
511
533
  'write_file',
534
+ 'edit',
535
+ // ADR-0033 t77: edit_file/apply_diff left the default catalog, but the
536
+ // harness bridge still exposes them for the deprecation cycle — keep
537
+ // skipping them here so catalog re-bridging never duplicates.
512
538
  'edit_file',
513
539
  'bash',
514
540
  'grep_content',