instar 1.3.790 → 1.3.791
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/monitoring/AgentWorktreeReaper.d.ts +19 -0
- package/dist/monitoring/AgentWorktreeReaper.d.ts.map +1 -1
- package/dist/monitoring/AgentWorktreeReaper.js +46 -0
- package/dist/monitoring/AgentWorktreeReaper.js.map +1 -1
- package/dist/monitoring/agentWorktreeGit.d.ts.map +1 -1
- package/dist/monitoring/agentWorktreeGit.js +29 -0
- package/dist/monitoring/agentWorktreeGit.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.791.md +21 -0
- package/upgrades/side-effects/reaper-toctou-fix.md +19 -0
|
@@ -86,6 +86,16 @@ export interface AgentWorktreeReaperDeps {
|
|
|
86
86
|
/** True when the worktree is in use: a live session/index lock OR a running
|
|
87
87
|
* process whose cwd is inside it. The real "don't yank it" signal. */
|
|
88
88
|
isInUse: (path: string) => boolean;
|
|
89
|
+
/** The worktree's LIVE currently-checked-out branch, read at RECLAIM time to close
|
|
90
|
+
* the enumerate→reclaim TOCTOU: `info.branch` is captured at enumeration, but a
|
|
91
|
+
* builder may `git checkout -b <new-unmerged>` before the reaper reaches the
|
|
92
|
+
* delete — and `isMerged(info)` would still check the STALE (merged) branch.
|
|
93
|
+
* Production: SafeGitExecutor `rev-parse --abbrev-ref HEAD` on the path. */
|
|
94
|
+
currentBranch: (path: string) => string | null;
|
|
95
|
+
/** Optional belt-and-suspenders: true when a `.instar-build-active` marker file sits
|
|
96
|
+
* at the worktree root — an in-flight builder's explicit "don't reap me" claim.
|
|
97
|
+
* Production: fs.existsSync(path/.instar-build-active). */
|
|
98
|
+
hasActiveBuildMarker?: (path: string) => boolean;
|
|
89
99
|
/** Remove the worktree (git worktree remove). Only called when killsEnabled. */
|
|
90
100
|
removeWorktree: (path: string) => void;
|
|
91
101
|
now?: () => number;
|
|
@@ -121,6 +131,15 @@ export declare class AgentWorktreeReaper extends EventEmitter {
|
|
|
121
131
|
reaped: string[];
|
|
122
132
|
dryRun: boolean;
|
|
123
133
|
}>;
|
|
134
|
+
/**
|
|
135
|
+
* Re-check the LIVE worktree state at RECLAIM time (after enumeration) to close the
|
|
136
|
+
* TOCTOU. Returns a KEEP reason string if it raced (a builder changed the branch /
|
|
137
|
+
* dirtied it / took it in-use / dropped a build marker since evaluation), else null
|
|
138
|
+
* (safe to reclaim). Fail-closed: any thrown signal → keep('reclaim-recheck-error').
|
|
139
|
+
* Order mirrors evaluate(): the marker + branch identity first (the load-bearing
|
|
140
|
+
* TOCTOU checks), then the protect-gates re-confirmed against the STILL-CURRENT branch.
|
|
141
|
+
*/
|
|
142
|
+
private reclaimRaceGuard;
|
|
124
143
|
/** True when this path's removal has failed >= the configured cap (breaker open).
|
|
125
144
|
* cap 0 disables the brake (never trips). */
|
|
126
145
|
private breakerTripped;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentWorktreeReaper.d.ts","sourceRoot":"","sources":["../../src/monitoring/AgentWorktreeReaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAClC;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,oCAAoC,EAAE,yBAQlD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,aAAa,EAAE,MAAM,YAAY,EAAE,CAAC;IACpC,sEAAsE;IACtE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,uEAAuE;IACvE,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC;IAC1C;2EACuE;IACvE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,gFAAgF;IAChF,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,cAAc,CAAK;IAC3B;8FAC0F;IAC1F,OAAO,CAAC,eAAe,CAA6B;IACpD,qEAAqE;IACrE,OAAO,CAAC,cAAc,CAAqB;gBAE/B,IAAI,EAAE,uBAAuB,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAOnF,KAAK,IAAI,IAAI;IAiBb,IAAI,IAAI,IAAI;IAKZ,OAAO,KAAK,YAAY,GAEvB;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB;IAWhD,6EAA6E;IACvE,IAAI,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentWorktreeReaper.d.ts","sourceRoot":"","sources":["../../src/monitoring/AgentWorktreeReaper.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,18 @@ export class AgentWorktreeReaper extends EventEmitter {
|
|
|
146
146
|
if (!this.killsEnabled) {
|
|
147
147
|
continue;
|
|
148
148
|
} // dry-run: classify, do not delete
|
|
149
|
+
// EXEC-TIME RE-VALIDATION (close the enumerate→reclaim TOCTOU): `info` was
|
|
150
|
+
// captured by listWorktrees() at enumeration; a builder may have checked out a
|
|
151
|
+
// new UNMERGED branch since, yet isMerged(info) checks the STALE branch. Re-read
|
|
152
|
+
// the LIVE state right before the irreversible delete; on any race, ABORT this
|
|
153
|
+
// reap (keep) — strictly FEWER reaps, never more (a pure safety tightening).
|
|
154
|
+
const raceReason = this.reclaimRaceGuard(info);
|
|
155
|
+
if (raceReason) {
|
|
156
|
+
evaln.verdict = 'keep';
|
|
157
|
+
evaln.reason = raceReason;
|
|
158
|
+
this.emit('reclaim-raced', { path: info.path, reason: raceReason, evaluatedBranch: info.branch });
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
149
161
|
try {
|
|
150
162
|
this.deps.removeWorktree(info.path);
|
|
151
163
|
reaped.push(info.path);
|
|
@@ -171,6 +183,40 @@ export class AgentWorktreeReaper extends EventEmitter {
|
|
|
171
183
|
}
|
|
172
184
|
return { ts: this.now(), evaluations, reaped, dryRun: !this.killsEnabled };
|
|
173
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Re-check the LIVE worktree state at RECLAIM time (after enumeration) to close the
|
|
188
|
+
* TOCTOU. Returns a KEEP reason string if it raced (a builder changed the branch /
|
|
189
|
+
* dirtied it / took it in-use / dropped a build marker since evaluation), else null
|
|
190
|
+
* (safe to reclaim). Fail-closed: any thrown signal → keep('reclaim-recheck-error').
|
|
191
|
+
* Order mirrors evaluate(): the marker + branch identity first (the load-bearing
|
|
192
|
+
* TOCTOU checks), then the protect-gates re-confirmed against the STILL-CURRENT branch.
|
|
193
|
+
*/
|
|
194
|
+
reclaimRaceGuard(info) {
|
|
195
|
+
try {
|
|
196
|
+
if (this.deps.hasActiveBuildMarker?.(info.path))
|
|
197
|
+
return 'raced-build-active-marker';
|
|
198
|
+
// The load-bearing check: has the checked-out branch changed since enumeration?
|
|
199
|
+
// If so, isMerged(info) (which reads info.branch) is stale and must NOT authorize a delete.
|
|
200
|
+
const liveBranch = this.deps.currentBranch(info.path);
|
|
201
|
+
if (liveBranch !== info.branch)
|
|
202
|
+
return 'raced-changed-since-eval';
|
|
203
|
+
if (this.deps.isInUse(info.path))
|
|
204
|
+
return 'raced-now-in-use';
|
|
205
|
+
if (!this.deps.isClean(info.path))
|
|
206
|
+
return 'raced-now-dirty';
|
|
207
|
+
// Branch unchanged + clean + idle → info.branch is still current, so re-confirming
|
|
208
|
+
// isMerged(info) is valid. (Belt: main may have moved, un-merging it.)
|
|
209
|
+
if (!this.deps.isMerged(info))
|
|
210
|
+
return 'raced-now-unmerged';
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// @silent-fallback-ok: NOT silent — returns a KEEP reason that is surfaced in the
|
|
215
|
+
// worktree's verdict/reason (and the reclaim-raced event). Any thrown re-check
|
|
216
|
+
// signal → keep, the delete-safe direction. Never a swallowed reap.
|
|
217
|
+
return 'reclaim-recheck-error';
|
|
218
|
+
}
|
|
219
|
+
}
|
|
174
220
|
/** True when this path's removal has failed >= the configured cap (breaker open).
|
|
175
221
|
* cap 0 disables the brake (never trips). */
|
|
176
222
|
breakerTripped(path) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentWorktreeReaper.js","sourceRoot":"","sources":["../../src/monitoring/AgentWorktreeReaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmC3C,MAAM,CAAC,MAAM,oCAAoC,GAA8B;IAC7E,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAChC,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAClC,eAAe,EAAE,EAAE;IACnB,yBAAyB,EAAE,CAAC;IAC5B,gBAAgB,EAAE,IAAI;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentWorktreeReaper.js","sourceRoot":"","sources":["../../src/monitoring/AgentWorktreeReaper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentWorktreeGit.d.ts","sourceRoot":"","sources":["../../src/monitoring/agentWorktreeGit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,uBAAuB,EAAgB,MAAM,0BAA0B,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAIpD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAgB9D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAU1G;AAED;mFACmF;AACnF,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAanE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBjH;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;mEAG+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"agentWorktreeGit.d.ts","sourceRoot":"","sources":["../../src/monitoring/agentWorktreeGit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,uBAAuB,EAAgB,MAAM,0BAA0B,CAAC;AAEtF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAIpD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAgB9D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAU1G;AAED;mFACmF;AACnF,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAanE;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBjH;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;mEAG+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,uBAAuB,CA0K1B"}
|
|
@@ -304,6 +304,35 @@ export function makeAgentWorktreeReaperDeps(opts) {
|
|
|
304
304
|
catch { /* ignore */ }
|
|
305
305
|
return false;
|
|
306
306
|
},
|
|
307
|
+
currentBranch: (p) => {
|
|
308
|
+
// The LIVE checked-out branch, read at RECLAIM time to close the enumerate→reclaim
|
|
309
|
+
// TOCTOU. Format matches listWorktrees' info.branch (short name, no refs/heads/).
|
|
310
|
+
// FAIL-CLOSED: any error → null, which cannot equal a real info.branch, so the
|
|
311
|
+
// reclaimRaceGuard KEEPS (never reap on an unreadable live branch).
|
|
312
|
+
try {
|
|
313
|
+
const b = (readGit(['-C', p, 'rev-parse', '--abbrev-ref', 'HEAD'], p) ?? '').trim();
|
|
314
|
+
return b && b !== 'HEAD' ? b : null; // 'HEAD' = detached → null
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
// @silent-fallback-ok: fail-closed — an unreadable live branch returns null,
|
|
318
|
+
// which can never equal a real info.branch, so the reclaim guard KEEPS (never
|
|
319
|
+
// reaps on an uncertain branch). The delete-safe direction, not a swallowed bug.
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
hasActiveBuildMarker: (p) => {
|
|
324
|
+
// Belt-and-suspenders: an in-flight builder's explicit "don't reap me" claim.
|
|
325
|
+
// FAIL-CLOSED: an error reading the marker is treated as PRESENT (KEEP), the
|
|
326
|
+
// deletion-safe direction.
|
|
327
|
+
try {
|
|
328
|
+
return fs.existsSync(path.join(p, '.instar-build-active'));
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
// @silent-fallback-ok: fail-closed — an fs error reading the marker is treated
|
|
332
|
+
// as PRESENT (KEEP), the delete-safe direction. Not a swallowed bug.
|
|
333
|
+
return true;
|
|
334
|
+
}
|
|
335
|
+
},
|
|
307
336
|
removeWorktree: (p) => {
|
|
308
337
|
// Deliberately NOT --force: the non-forced form refuses to remove a worktree
|
|
309
338
|
// with uncommitted changes or a lock, so it can never destroy in-flight work.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentWorktreeGit.js","sourceRoot":"","sources":["../../src/monitoring/agentWorktreeGit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentWorktreeGit.js","sourceRoot":"","sources":["../../src/monitoring/agentWorktreeGit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-09T09:59:52.299Z",
|
|
5
|
+
"instarVersion": "1.3.791",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
- **The stale-worktree reaper no longer reaps a worktree that a builder started using between the reaper's check and its delete (AgentWorktreeReaper TOCTOU fix).** The reaper enumerates all worktrees, captures each one's branch, then reaps up to N of them in a later loop. A build worktree whose branch was merged at enumeration but which a builder then `git checkout -b`'d onto a NEW unmerged branch would still be judged "merged" against the STALE branch and deleted mid-build (this happened once tonight). The reaper now RE-READS each worktree's live state — current branch, clean, in-use, merged — immediately before the irreversible delete, and ABORTS (keeps) on any change since evaluation. It is a pure safety tightening: strictly FEWER reaps, never more; fail-closed on any unreadable signal.
|
|
9
|
+
- **New belt-and-suspenders claim:** a `.instar-build-active` marker file at a worktree root is now honored as "in use" — an in-flight builder can drop it to be certain the reaper leaves the worktree alone.
|
|
10
|
+
|
|
11
|
+
## What to Tell Your User
|
|
12
|
+
|
|
13
|
+
If your agent's background cleanup ever removed a worktree while a build was actively using it, that race is closed — the cleanup now double-checks the live state right before deleting and backs off if anything changed. Nothing to enable; it lands with the release. It only ever makes the cleanup MORE cautious, never less.
|
|
14
|
+
|
|
15
|
+
## Summary of New Capabilities
|
|
16
|
+
|
|
17
|
+
- None user-facing — a safety hardening of the AgentWorktreeReaper. Two new injected signals (`currentBranch`, `hasActiveBuildMarker`) power an execution-time re-validation that closes the enumerate→reclaim time-of-check-to-time-of-use window. No config, no gate (a pure tightening, always on).
|
|
18
|
+
|
|
19
|
+
## Evidence
|
|
20
|
+
|
|
21
|
+
`tests/unit/agent-worktree-reaper.test.ts` — 6 new cases pin the guard: branch-changed-since-eval → keep; went-dirty → keep; became-in-use → keep; build-marker-present → keep; still-unchanged → reaps (happy path unchanged); currentBranch-read-error (null) → keep (fail-closed). All 53 reaper tests pass, including the real-git end-to-end reclaim test. The change is delete-safe by construction — every new branch of the guard resolves toward KEEP.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Side-Effects Review — AgentWorktreeReaper TOCTOU fix
|
|
2
|
+
|
|
3
|
+
**Slug:** reaper-toctou-fix · **Tier:** 1 (small, pure safety tightening) · **Author:** echo · 2026-07-09
|
|
4
|
+
|
|
5
|
+
## Phase 1 — Principle check (signal vs authority)
|
|
6
|
+
The AgentWorktreeReaper IS a decision authority (it deletes worktrees). This change does NOT add new brittle blocking authority — it adds MORE signal re-checks (live branch/clean/in-use/merged + a build marker) BEFORE the existing authority acts, and only ever moves the verdict toward KEEP. It feeds the existing delete-authority with fresher signals; it never blocks anything new. Compliant — strictly safer.
|
|
7
|
+
|
|
8
|
+
## Phase 4 — Side-effects review (all 8)
|
|
9
|
+
1. **Over-block** — Could KEEP a genuinely-reapable worktree if a signal transiently flips (a momentary lock, a slow git read). Harmless + self-correcting: KEEP means "not deleted this pass"; it's re-evaluated next pass. No data loss, ever. This is the intended safe direction.
|
|
10
|
+
2. **Under-block** — Residual: a builder that checks out the SAME branch name with NEW commits between eval and reclaim → currentBranch matches, but the isMerged RE-CHECK against the current branch catches the new (unmerged) commits → keep. A micro-window between the currentBranch read and `git worktree remove` remains, but `removeWorktree` is NON-forced (refuses a dirty/locked worktree) — a second, independent guard on the actual delete. Acceptable.
|
|
11
|
+
3. **Level-of-abstraction fit** — Correct layer. The reaper owns the reap decision; the re-validation belongs exactly at its reclaim point (not a higher/lower layer). No smarter existing gate to feed.
|
|
12
|
+
4. **Signal vs authority** — See Phase 1. The change adds signals to make an existing authority more conservative. No new brittle authority. Ref docs/signal-vs-authority.md.
|
|
13
|
+
5. **Interactions** — Runs AFTER the per-path reclaim-failure breaker and the maxReapsPerPass cap, immediately BEFORE removeWorktree. Does not shadow or double-fire with them. Adds one `reclaim-raced` event (observability). The mutated evaluation (reap-eligible→keep on race) is the same object already pushed to `evaluations`, so the reap-log/pass event reports the honest raced verdict.
|
|
14
|
+
6. **External surfaces** — No API/other-agent/other-user surface change. The verdict/reap-log gains new `raced-*` reasons (pure observability). New OPTIONAL file convention: a `.instar-build-active` marker a builder may drop at a worktree root to claim it; absence = today's behavior.
|
|
15
|
+
7. **Multi-machine posture** — MACHINE-LOCAL BY DESIGN. Each machine's reaper operates only on ITS OWN `.worktrees/` (worktrees are physical checkouts on one disk); currentBranch (local git) and the marker (local fs) are inherently local. No replication needed or wanted — a worktree cannot exist on two machines.
|
|
16
|
+
8. **Rollback cost** — Trivial. Additive change (2 injected deps + 1 guard method + the re-validation call). No config, no migration, no persisted state. Back-out = revert the commit.
|
|
17
|
+
|
|
18
|
+
## Phase 5 — Second-pass (inline; this fork cannot spawn a subagent)
|
|
19
|
+
Independent adversarial re-read: (a) Could the guard ever make the reaper MORE aggressive? No — every branch of `reclaimRaceGuard` returns a KEEP reason or null; it can only subtract reaps. (b) Could a throw in the guard cause a reap? No — the guard's try/catch returns `reclaim-recheck-error` (KEEP) on any throw. (c) Does the null-branch fail-closed hold? Yes — a null live branch ≠ a non-null info.branch (info.branch is always non-null at reclaim, since evaluate keeps on !info.branch) → raced → keep; test pins this. (d) Marker fail-closed: an fs error reading the marker returns true (KEEP). **Concur with the review** — the change is delete-safe by construction; no concern raised.
|