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.
- package/dist/cli/ast/tools.js +1 -1
- package/dist/cli/ast/tools.js.map +1 -1
- package/dist/cli/budget/budgetRuntime.js +4 -1
- package/dist/cli/budget/budgetRuntime.js.map +1 -1
- package/dist/cli/gauntlet/policy.js +2 -0
- package/dist/cli/gauntlet/policy.js.map +1 -1
- package/dist/cli/gitOps.js +22 -0
- package/dist/cli/gitOps.js.map +1 -1
- package/dist/cli/headless/runOneTurn.js +2 -2
- package/dist/cli/headless/runOneTurn.js.map +1 -1
- package/dist/cli/hooks/conversationContext.js +1 -1
- package/dist/cli/hooks/conversationContext.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +4 -4
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/kraken/delegationPolicy.js +1 -1
- package/dist/cli/kraken/turnRuntime.js +3 -0
- package/dist/cli/kraken/turnRuntime.js.map +1 -1
- package/dist/cli/lsp/tools.js +1 -1
- package/dist/cli/lsp/tools.js.map +1 -1
- package/dist/cli/main.bundled.js +8319 -7628
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/missionSlice.js +4 -4
- package/dist/cli/missionSlice.js.map +1 -1
- package/dist/cli/phase.js +4 -1
- package/dist/cli/phase.js.map +1 -1
- package/dist/cli/runHeadless.js +1 -1
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/safety/astGate.js +190 -0
- package/dist/cli/safety/astGate.js.map +1 -0
- package/dist/cli/safety/resourceClaims.js +3 -1
- package/dist/cli/safety/resourceClaims.js.map +1 -1
- package/dist/cli/sessionSpine.js +45 -0
- package/dist/cli/sessionSpine.js.map +1 -1
- package/dist/cli/spineFileEvents.js +124 -0
- package/dist/cli/spineFileEvents.js.map +1 -0
- package/dist/cli/toolRegistry.js +41 -15
- package/dist/cli/toolRegistry.js.map +1 -1
- package/dist/cli/tools/krakenRadio.js.map +1 -1
- package/dist/cli/tools/planTaskTools.js +73 -4
- package/dist/cli/tools/planTaskTools.js.map +1 -1
- package/dist/cli/workspace/planStore.js +19 -0
- package/dist/cli/workspace/planStore.js.map +1 -1
- package/dist/cli/workspace/stubs.js +3 -0
- package/dist/cli/workspace/stubs.js.map +1 -1
- package/dist/cli/workspace/taskOverlap.js +78 -0
- package/dist/cli/workspace/taskOverlap.js.map +1 -0
- package/dist/cli/workspace/taskStaleness.js +100 -0
- package/dist/cli/workspace/taskStaleness.js.map +1 -0
- package/dist/cli/workspace/taskTouchGuard.js +181 -0
- package/dist/cli/workspace/taskTouchGuard.js.map +1 -0
- package/dist/cli/zelariMission.js +1 -1
- package/dist/cli/zelariMission.js.map +1 -1
- package/package.json +3 -2
package/dist/cli/sessionSpine.js
CHANGED
|
@@ -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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"}
|
package/dist/cli/toolRegistry.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* toolRegistry — default ToolRegistry for the zelari-code CLI.
|
|
3
3
|
*
|
|
4
|
-
* Wires the
|
|
5
|
-
* show_diff
|
|
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,
|
|
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
|
|
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
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
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
|
-
|
|
104
|
-
|
|
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(
|
|
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({
|
|
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,
|
|
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',
|