@cleocode/core 2026.8.4 → 2026.8.6

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.
@@ -142,7 +142,7 @@ export async function writeChangesetEntry(entry, opts) {
142
142
  //
143
143
  // The reservation is consumed by `attachmentStore.put` on success (writer
144
144
  // contract). On any subsequent failure path we explicitly release with
145
- // `releaseReservedSlug(validated.id)` so retries do not see a stale claim.
145
+ // `releaseReservedSlug(validated.id, opts.projectRoot)` so retries do not see a stale claim.
146
146
  //
147
147
  // This ELIMINATES the rollback path that previously deleted
148
148
  // `.changeset/<slug>.md` after a late-bound `SlugCollisionError`. The
@@ -184,7 +184,7 @@ export async function writeChangesetEntry(entry, opts) {
184
184
  /* Already gone or unwritable — ignore. */
185
185
  }
186
186
  // Release the slug reservation so retries do not see a stale claim.
187
- releaseReservedSlug(validated.id);
187
+ releaseReservedSlug(validated.id, opts.projectRoot);
188
188
  return {
189
189
  ok: false,
190
190
  error: {
@@ -201,7 +201,7 @@ export async function writeChangesetEntry(entry, opts) {
201
201
  if (ownerId === undefined) {
202
202
  // Schema guarantees `tasks.length >= 1` so this is unreachable; included
203
203
  // for type narrowing.
204
- releaseReservedSlug(validated.id);
204
+ releaseReservedSlug(validated.id, opts.projectRoot);
205
205
  try {
206
206
  rmSync(filePath, { force: true });
207
207
  }
@@ -251,7 +251,7 @@ export async function writeChangesetEntry(entry, opts) {
251
251
  // Safe regardless of whether the chokepoint reserved it or
252
252
  // attachmentStore.put already consumed it (releaseReservedSlug is a
253
253
  // no-op on an unreserved slug).
254
- releaseReservedSlug(validated.id);
254
+ releaseReservedSlug(validated.id, opts.projectRoot);
255
255
  // T10388 — defence-in-depth: if the SSoT write throws SlugCollisionError
256
256
  // it means another process took the slug between our reserveSlug() and
257
257
  // attachmentStore.put() (cross-process race). Surface the SAME
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/changesets/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/changesets/writer.ts"],"names":[],"mappings":"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"}
@@ -158,14 +158,14 @@ export interface ReserveSlugOptions {
158
158
  *
159
159
  * @internal
160
160
  */
161
- export declare function isSlugReserved(slug: string): boolean;
161
+ export declare function isSlugReserved(slug: string, cwd?: string): boolean;
162
162
  /**
163
163
  * Mark a slug as consumed — typically called by `attachmentStore.put` after
164
164
  * a successful write so the reserved set does not grow unbounded.
165
165
  *
166
166
  * @internal
167
167
  */
168
- export declare function consumeReservedSlug(slug: string): void;
168
+ export declare function consumeReservedSlug(slug: string, cwd?: string): void;
169
169
  /**
170
170
  * Test-only escape hatch — clears the in-process reserved set + lock map.
171
171
  *
@@ -221,7 +221,7 @@ export declare function reserveSlug(kind: BuiltinDocKind | string, slug: string,
221
221
  *
222
222
  * @param slug - The slug as passed to `reserveSlug` (will be re-normalised).
223
223
  */
224
- export declare function releaseReservedSlug(slug: string): void;
224
+ export declare function releaseReservedSlug(slug: string, cwd?: string): void;
225
225
  /**
226
226
  * Params for {@link reserveSlugForDispatch} — ADR-057 uniform signature.
227
227
  *
@@ -1 +1 @@
1
- {"version":3,"file":"slug-allocator.d.ts","sourceRoot":"","sources":["../../src/docs/slug-allocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AA4DD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,IAAI,IAAI,CAG5D;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,GAAG,MAAM,EAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAsC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAID;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IACvC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAEvC"}
1
+ {"version":3,"file":"slug-allocator.d.ts","sourceRoot":"","sources":["../../src/docs/slug-allocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAiGD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,IAAI,IAAI,CAG5D;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,GAAG,MAAM,EAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAsC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAID;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IACvC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAEvC"}
@@ -116,6 +116,7 @@
116
116
  * @saga T10288
117
117
  * @adr ADR-076 §6 (slug namespace policy), ADR-083 (Cleo persona)
118
118
  */
119
+ import { getProjectRoot } from '../paths.js';
119
120
  import { deriveSlugSuggestionsForAllocator } from '../store/attachment-store.js';
120
121
  import { getDb } from '../store/sqlite.js';
121
122
  import { normalizeSlug } from './slug-normalize.js';
@@ -173,6 +174,43 @@ async function acquireSlugLock(normalizedSlug) {
173
174
  * @internal
174
175
  */
175
176
  const reservedSlugs = new Set();
177
+ /**
178
+ * Compose the reservation key for a slug within a project.
179
+ *
180
+ * T12090: the set used to be keyed by slug ALONE, which made it
181
+ * process-global. That is fine in production — one process serves one project —
182
+ * but it silently defeats test isolation: vitest reuses a worker across files,
183
+ * so a file that reserved `t123-foo` and never consumed it left that slug
184
+ * reserved for every later file in the same worker, no matter how carefully
185
+ * each set its own `CLEO_DIR`. The module even shipped a
186
+ * `_resetSlugAllocatorState_TESTING_ONLY` hook to paper over it, which only
187
+ * helps files that remember to call it.
188
+ *
189
+ * It surfaced as a macOS-ONLY failure because shard composition differs per
190
+ * platform: on `macos-latest` shard 1, `docs-memory-observation.test.ts` landed
191
+ * in a worker that had already run a file leaving a reservation behind, and it
192
+ * failed with `E_SLUG_RESERVED` against a slug it had never used. Nothing was
193
+ * wrong with the test or with macOS — the state was simply not partitioned.
194
+ *
195
+ * Keying by resolved project root makes `CLEO_DIR` isolation real, so the
196
+ * reset hook becomes a convenience rather than a correctness requirement.
197
+ *
198
+ * @param slug - already-normalised slug.
199
+ * @param cwd - caller cwd; resolved to a project root for the key.
200
+ * @task T12090
201
+ */
202
+ function reservationKey(slug, cwd) {
203
+ let root;
204
+ try {
205
+ root = getProjectRoot(cwd);
206
+ }
207
+ catch {
208
+ // An unresolvable root must not make two projects collide, and must not
209
+ // throw out of a bookkeeping helper. Fall back to the literal cwd.
210
+ root = cwd ?? '<unresolved>';
211
+ }
212
+ return `${root}\u0000${slug}`;
213
+ }
176
214
  /**
177
215
  * Check whether the allocator has reserved `slug` in this process.
178
216
  *
@@ -180,8 +218,8 @@ const reservedSlugs = new Set();
180
218
  *
181
219
  * @internal
182
220
  */
183
- export function isSlugReserved(slug) {
184
- return reservedSlugs.has(normalizeSlug(slug));
221
+ export function isSlugReserved(slug, cwd) {
222
+ return reservedSlugs.has(reservationKey(normalizeSlug(slug), cwd));
185
223
  }
186
224
  /**
187
225
  * Mark a slug as consumed — typically called by `attachmentStore.put` after
@@ -189,8 +227,8 @@ export function isSlugReserved(slug) {
189
227
  *
190
228
  * @internal
191
229
  */
192
- export function consumeReservedSlug(slug) {
193
- reservedSlugs.delete(normalizeSlug(slug));
230
+ export function consumeReservedSlug(slug, cwd) {
231
+ reservedSlugs.delete(reservationKey(normalizeSlug(slug), cwd));
194
232
  }
195
233
  /**
196
234
  * Test-only escape hatch — clears the in-process reserved set + lock map.
@@ -252,7 +290,7 @@ export async function reserveSlug(kind, slug, opts) {
252
290
  try {
253
291
  // Same-process check first — another in-flight reservation already
254
292
  // claimed this slug.
255
- if (reservedSlugs.has(normalizedSlug)) {
293
+ if (reservedSlugs.has(reservationKey(normalizedSlug, opts?.cwd))) {
256
294
  const db = await getDb(opts?.cwd);
257
295
  const suggestions = await deriveSlugSuggestionsForAllocator(db, normalizedSlug);
258
296
  return { ok: false, code: 'E_SLUG_RESERVED', suggestions };
@@ -271,7 +309,7 @@ export async function reserveSlug(kind, slug, opts) {
271
309
  return { ok: false, code: 'E_SLUG_RESERVED', suggestions };
272
310
  }
273
311
  // Free — reserve it for the imminent `put`.
274
- reservedSlugs.add(normalizedSlug);
312
+ reservedSlugs.add(reservationKey(normalizedSlug, opts?.cwd));
275
313
  return { ok: true, normalizedSlug };
276
314
  }
277
315
  finally {
@@ -286,8 +324,8 @@ export async function reserveSlug(kind, slug, opts) {
286
324
  *
287
325
  * @param slug - The slug as passed to `reserveSlug` (will be re-normalised).
288
326
  */
289
- export function releaseReservedSlug(slug) {
290
- reservedSlugs.delete(normalizeSlug(slug));
327
+ export function releaseReservedSlug(slug, cwd) {
328
+ reservedSlugs.delete(reservationKey(normalizeSlug(slug), cwd));
291
329
  }
292
330
  /**
293
331
  * Dispatch entry-point wrapper around {@link reserveSlug} conforming to the
@@ -1 +1 @@
1
- {"version":3,"file":"slug-allocator.js","sourceRoot":"","sources":["../../src/docs/slug-allocator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slug-allocator.js","sourceRoot":"","sources":["../../src/docs/slug-allocator.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,9 @@ export interface SupersededStoreEntry {
50
50
  readonly modifiedAt: string;
51
51
  /**
52
52
  * Rows found in the superseded file's own task table, if it has one.
53
- * `null` when the file has no such table or could not be read.
53
+ * `null` when the file has no such table or could not be read. A 0-byte
54
+ * file yields `0`, never `null` — an empty file holds zero rows by
55
+ * definition (T12099).
54
56
  */
55
57
  readonly rowsInSuperseded: number | null;
56
58
  /** Rows found in the LIVE store's prefixed table. */
@@ -1 +1 @@
1
- {"version":3,"file":"superseded-store.d.ts","sourceRoot":"","sources":["../../src/doctor/superseded-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAgBD,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAiC7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAyDnF"}
1
+ {"version":3,"file":"superseded-store.d.ts","sourceRoot":"","sources":["../../src/doctor/superseded-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAgBD,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAiC7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAuEnF"}
@@ -120,7 +120,11 @@ export function scanSupersededStores(projectRoot) {
120
120
  // risk advising removal of something still being written.
121
121
  if (stat.mtimeMs >= liveMtimeMs)
122
122
  continue;
123
- const rowsInSuperseded = countRows(path, bareTable);
123
+ // A 0-byte file holds zero rows BY DEFINITION — bypass countRows, which
124
+ // would return null (nothing to open) and manufacture the "unknown number
125
+ // of rows" corruption signal this check exists to kill (T12099). `null`
126
+ // remains reserved for a NONZERO file that could not be read.
127
+ const rowsInSuperseded = stat.size === 0 ? 0 : countRows(path, bareTable);
124
128
  const rowsInLive = countRows(liveStorePath, liveTable);
125
129
  // `rowsInSuperseded === 0` must be EXPLICIT, never `?? 0`. `null` means the
126
130
  // file could not be read — corrupt, locked, truncated, or not SQLite — and
@@ -128,17 +132,29 @@ export function scanSupersededStores(projectRoot) {
128
132
  // recommend archiving precisely the file whose contents are unknown, which
129
133
  // is the one case where being wrong loses data.
130
134
  const safeToArchive = (rowsInLive ?? 0) > 0 && rowsInSuperseded === 0;
131
- const reason = safeToArchive
132
- ? `superseded by ${LIVE_STORE_FILENAME}: ${rowsInSuperseded ?? 0} rows in ${file}#${bareTable} ` +
133
- `vs ${rowsInLive} in ${LIVE_STORE_FILENAME}#${liveTable}. Last written ` +
134
- `${stat.mtime.toISOString().slice(0, 10)}, while ${LIVE_STORE_FILENAME} was written ` +
135
- `${new Date(liveMtimeMs).toISOString().slice(0, 10)}. Its name is the one the docs and ` +
136
- `\`cleo restore backup --file tasks.db\` still say, and snapshots are named ` +
137
- `\`tasks-<ts>.db\` even though they snapshot ${LIVE_STORE_FILENAME} — so this file reads ` +
138
- `as a truncated live DB when it is simply the pre-migration one.`
139
- : `predates ${LIVE_STORE_FILENAME} but still holds ${rowsInSuperseded ?? 'an unknown number of'} ` +
140
- `rows in ${bareTable} (live ${liveTable}: ${rowsInLive ?? 'unreadable'}). NOT recommended for ` +
141
- `removal — reconcile the contents first.`;
135
+ let reason;
136
+ if (stat.size === 0 && safeToArchive) {
137
+ reason =
138
+ `${file} is 0 bytes — an empty file holds zero rows by definition, so there is ` +
139
+ `nothing to reconcile. The live store ${LIVE_STORE_FILENAME}#${liveTable} holds ` +
140
+ `${rowsInLive} rows. Safe to archive.`;
141
+ }
142
+ else if (safeToArchive) {
143
+ reason =
144
+ `superseded by ${LIVE_STORE_FILENAME}: ${rowsInSuperseded ?? 0} rows in ${file}#${bareTable} ` +
145
+ `vs ${rowsInLive} in ${LIVE_STORE_FILENAME}#${liveTable}. Last written ` +
146
+ `${stat.mtime.toISOString().slice(0, 10)}, while ${LIVE_STORE_FILENAME} was written ` +
147
+ `${new Date(liveMtimeMs).toISOString().slice(0, 10)}. Its name is the one the docs and ` +
148
+ `\`cleo restore backup --file tasks.db\` still say, and snapshots are named ` +
149
+ `\`tasks-<ts>.db\` even though they snapshot ${LIVE_STORE_FILENAME} — so this file reads ` +
150
+ `as a truncated live DB when it is simply the pre-migration one.`;
151
+ }
152
+ else {
153
+ reason =
154
+ `predates ${LIVE_STORE_FILENAME} but still holds ${rowsInSuperseded ?? 'an unknown number of'} ` +
155
+ `rows in ${bareTable} (live ${liveTable}: ${rowsInLive ?? 'unreadable'}). NOT recommended for ` +
156
+ `removal — reconcile the contents first.`;
157
+ }
142
158
  entries.push({
143
159
  path,
144
160
  name: file,
@@ -1 +1 @@
1
- {"version":3,"file":"superseded-store.js","sourceRoot":"","sources":["../../src/doctor/superseded-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"superseded-store.js","sourceRoot":"","sources":["../../src/doctor/superseded-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/llm/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAkBnF;AAiFD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,SAAS,EAAE,MAAM,EACjB,cAAc,UAAO,GACpB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkChC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/llm/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwBH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAkBnF;AAiFD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,SAAS,EAAE,MAAM,EACjB,cAAc,UAAO,GACpB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkChC"}
@@ -8,11 +8,22 @@
8
8
  * @epic T1386
9
9
  */
10
10
  import { getEncoding } from 'js-tiktoken';
11
- const _enc = getEncoding('cl100k_base');
11
+ /**
12
+ * Lazily-built cl100k_base encoder.
13
+ *
14
+ * T12076: this was `const _enc = getEncoding('cl100k_base')` at MODULE SCOPE.
15
+ * `getEncoding` parses the BPE vocabulary, measured at 156 ms, and this module is
16
+ * reachable from the `@cleocode/core` barrel — so every `cleo` invocation built a
17
+ * tokenizer table before doing anything, including commands that never count a
18
+ * token. Deferring to first use keeps the surrounding API synchronous (the static
19
+ * import stays; only the table build moves) while removing the cost from startup.
20
+ */
21
+ let _enc = null;
12
22
  /**
13
23
  * Estimate token count for a string using tiktoken cl100k_base.
14
24
  */
15
25
  function estimateTokens(text) {
26
+ _enc ??= getEncoding('cl100k_base');
16
27
  return _enc.encode(text).length;
17
28
  }
18
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/llm/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/llm/conversation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Machine-wide memory guard audit + repair (T12097).
3
+ *
4
+ * ## The gap this closes
5
+ *
6
+ * T12096 put a hard ceiling on tools CLEO spawns. It binds `tool:test` evidence
7
+ * runs and nothing else. An agent that simply types
8
+ *
9
+ * pnpm test npx vitest run cargo test
10
+ *
11
+ * never touches CLEO, so no CLEO-side bound applies. On 2026-08-10 that path
12
+ * drove `app.slice` to 48.1 GiB against a `MemoryHigh` of exactly 48 GiB; the
13
+ * kernel reclaimed hard, thrashed 7.7 GiB of zram, and the desktop locked up.
14
+ * Notably there was NO OOM kill — a throttle-and-thrash freeze logs nothing at
15
+ * all, which is why repeated OOM hunts found nothing.
16
+ *
17
+ * ## Why cgroups, and not environment variables
18
+ *
19
+ * The obvious mitigation — exporting `NODE_OPTIONS` / `VITEST_MAX_WORKERS` from
20
+ * a shell profile — has a fatal property: **environment variables only bind
21
+ * shells started after the edit.** Measured the same day: the five heaviest
22
+ * terminal tabs had all started BEFORE the profile was written, so none of them
23
+ * carried the caps, and the worst reached 37.3 GiB on its own.
24
+ *
25
+ * A cgroup limit on the enclosing slice has the opposite property. It is
26
+ * enforced by the kernel, applies the instant it is set to processes that are
27
+ * ALREADY running, and cannot be opted out of by a child process choosing its
28
+ * own flags. It is the only layer that satisfies "the bound survives a shell
29
+ * that was already open".
30
+ *
31
+ * ## What this module does
32
+ *
33
+ * Audits the guard and reports what is missing, with the numbers that justify
34
+ * each verdict. It is deliberately advisory-by-default: writing memory limits
35
+ * for a user's whole desktop session is the operator's decision, so
36
+ * {@link buildMemoryGuardFixCommands} returns the commands rather than running
37
+ * them, and the CLI runs them only under an explicit `--fix`.
38
+ *
39
+ * Linux/systemd only. Everywhere else the audit reports `supported: false`
40
+ * rather than inventing a verdict it cannot substantiate.
41
+ *
42
+ * @task T12097
43
+ * @see ADR-013 §9, `resources/spawn-wrapper.ts` (per-spawn scope limits)
44
+ */
45
+ /**
46
+ * Fraction of total RAM above which the throttle should engage.
47
+ *
48
+ * 0.72 of 62.5 GiB ≈ 45 GiB, leaving ~17 GiB for the compositor, browser and
49
+ * the rest of the session. The freeze happened with this at 0.77 (48/62.5),
50
+ * which left too little for the desktop to stay responsive while the kernel
51
+ * reclaimed inside the slice.
52
+ */
53
+ export declare const MEMORY_HIGH_FRACTION = 0.72;
54
+ /**
55
+ * Fraction of total RAM at which the kernel kills inside the slice instead of
56
+ * letting the machine thrash.
57
+ *
58
+ * A cgroup-scoped kill loses one agent's work. Exhausting the machine loses
59
+ * every session plus whatever the desktop was holding, so the hard wall is
60
+ * worth having even though it is never meant to be reached.
61
+ */
62
+ export declare const MEMORY_MAX_FRACTION = 0.9;
63
+ /** Slice that holds terminal tabs and everything an agent spawns in them. */
64
+ export declare const GUARDED_SLICE = "app.slice";
65
+ /** One finding from the audit. */
66
+ export interface MemoryGuardFinding {
67
+ /** Stable identifier, e.g. `memory-high-unset`. */
68
+ readonly id: string;
69
+ /** `ok` needs no action; `warn` is advisory; `fail` means unbounded. */
70
+ readonly severity: 'ok' | 'warn' | 'fail';
71
+ /** One-line statement of the finding. */
72
+ readonly summary: string;
73
+ /** The measurement behind the verdict, printed verbatim. */
74
+ readonly evidence: string;
75
+ }
76
+ /** Result of {@link auditMemoryGuard}. */
77
+ export interface MemoryGuardAudit {
78
+ /** False on non-Linux or when cgroup v2 is unavailable. */
79
+ readonly supported: boolean;
80
+ /** Total machine RAM in GiB, rounded to one decimal. */
81
+ readonly totalRamGib: number;
82
+ /** Current `MemoryHigh` in GiB, or `null` when unset/`infinity`. */
83
+ readonly memoryHighGib: number | null;
84
+ /** Current `MemoryMax` in GiB, or `null` when unset/`infinity`. */
85
+ readonly memoryMaxGib: number | null;
86
+ /** Recommended `MemoryHigh` in GiB for this machine. */
87
+ readonly recommendedHighGib: number;
88
+ /** Recommended `MemoryMax` in GiB for this machine. */
89
+ readonly recommendedMaxGib: number;
90
+ /** Findings, worst first. */
91
+ readonly findings: readonly MemoryGuardFinding[];
92
+ /** True when nothing is at `fail`. */
93
+ readonly guarded: boolean;
94
+ }
95
+ /**
96
+ * Audit the machine's memory guard.
97
+ *
98
+ * Read-only. Never throws — an unreadable cgroup yields `supported: false`
99
+ * rather than a wrong verdict.
100
+ *
101
+ * @param opts - injectable measurements for deterministic tests.
102
+ * @returns the audit.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * const a = auditMemoryGuard();
107
+ * if (!a.guarded) for (const f of a.findings) console.error(f.summary);
108
+ * ```
109
+ *
110
+ * @task T12097
111
+ */
112
+ export declare function auditMemoryGuard(opts?: {
113
+ totalRamBytes?: number;
114
+ cgroupDir?: string;
115
+ platform?: NodeJS.Platform;
116
+ }): MemoryGuardAudit;
117
+ /**
118
+ * The commands that would apply the recommended guard.
119
+ *
120
+ * Returned rather than executed so the operator can read them first — these
121
+ * change memory limits for their entire desktop session, and
122
+ * `systemctl set-property` persists a drop-in under `~/.config/systemd/`.
123
+ *
124
+ * @param audit - a prior {@link auditMemoryGuard} result.
125
+ * @returns argv arrays, in order. Empty when nothing needs changing.
126
+ *
127
+ * @task T12097
128
+ */
129
+ export declare function buildMemoryGuardFixCommands(audit: MemoryGuardAudit): readonly string[][];
130
+ //# sourceMappingURL=memory-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-guard.d.ts","sourceRoot":"","sources":["../../src/resources/memory-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAKH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,6EAA6E;AAC7E,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,wDAAwD;IACxD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AA0BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAAO,GACpF,gBAAgB,CAyFlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,MAAM,EAAE,EAAE,CAuBxF"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Machine-wide memory guard audit + repair (T12097).
3
+ *
4
+ * ## The gap this closes
5
+ *
6
+ * T12096 put a hard ceiling on tools CLEO spawns. It binds `tool:test` evidence
7
+ * runs and nothing else. An agent that simply types
8
+ *
9
+ * pnpm test npx vitest run cargo test
10
+ *
11
+ * never touches CLEO, so no CLEO-side bound applies. On 2026-08-10 that path
12
+ * drove `app.slice` to 48.1 GiB against a `MemoryHigh` of exactly 48 GiB; the
13
+ * kernel reclaimed hard, thrashed 7.7 GiB of zram, and the desktop locked up.
14
+ * Notably there was NO OOM kill — a throttle-and-thrash freeze logs nothing at
15
+ * all, which is why repeated OOM hunts found nothing.
16
+ *
17
+ * ## Why cgroups, and not environment variables
18
+ *
19
+ * The obvious mitigation — exporting `NODE_OPTIONS` / `VITEST_MAX_WORKERS` from
20
+ * a shell profile — has a fatal property: **environment variables only bind
21
+ * shells started after the edit.** Measured the same day: the five heaviest
22
+ * terminal tabs had all started BEFORE the profile was written, so none of them
23
+ * carried the caps, and the worst reached 37.3 GiB on its own.
24
+ *
25
+ * A cgroup limit on the enclosing slice has the opposite property. It is
26
+ * enforced by the kernel, applies the instant it is set to processes that are
27
+ * ALREADY running, and cannot be opted out of by a child process choosing its
28
+ * own flags. It is the only layer that satisfies "the bound survives a shell
29
+ * that was already open".
30
+ *
31
+ * ## What this module does
32
+ *
33
+ * Audits the guard and reports what is missing, with the numbers that justify
34
+ * each verdict. It is deliberately advisory-by-default: writing memory limits
35
+ * for a user's whole desktop session is the operator's decision, so
36
+ * {@link buildMemoryGuardFixCommands} returns the commands rather than running
37
+ * them, and the CLI runs them only under an explicit `--fix`.
38
+ *
39
+ * Linux/systemd only. Everywhere else the audit reports `supported: false`
40
+ * rather than inventing a verdict it cannot substantiate.
41
+ *
42
+ * @task T12097
43
+ * @see ADR-013 §9, `resources/spawn-wrapper.ts` (per-spawn scope limits)
44
+ */
45
+ import { existsSync, readFileSync } from 'node:fs';
46
+ import { totalmem } from 'node:os';
47
+ /**
48
+ * Fraction of total RAM above which the throttle should engage.
49
+ *
50
+ * 0.72 of 62.5 GiB ≈ 45 GiB, leaving ~17 GiB for the compositor, browser and
51
+ * the rest of the session. The freeze happened with this at 0.77 (48/62.5),
52
+ * which left too little for the desktop to stay responsive while the kernel
53
+ * reclaimed inside the slice.
54
+ */
55
+ export const MEMORY_HIGH_FRACTION = 0.72;
56
+ /**
57
+ * Fraction of total RAM at which the kernel kills inside the slice instead of
58
+ * letting the machine thrash.
59
+ *
60
+ * A cgroup-scoped kill loses one agent's work. Exhausting the machine loses
61
+ * every session plus whatever the desktop was holding, so the hard wall is
62
+ * worth having even though it is never meant to be reached.
63
+ */
64
+ export const MEMORY_MAX_FRACTION = 0.9;
65
+ /** Slice that holds terminal tabs and everything an agent spawns in them. */
66
+ export const GUARDED_SLICE = 'app.slice';
67
+ /** cgroup v2 path for the guarded slice under the user manager. */
68
+ function guardedSliceCgroupPath(uid = process.getuid?.() ?? 1000) {
69
+ return `/sys/fs/cgroup/user.slice/user-${uid}.slice/user@${uid}.service/${GUARDED_SLICE}`;
70
+ }
71
+ /**
72
+ * Read a cgroup memory knob in GiB.
73
+ *
74
+ * @param dir - cgroup directory.
75
+ * @param file - knob filename (`memory.high` / `memory.max`).
76
+ * @returns GiB, or `null` when absent, unreadable, or `max` (no limit).
77
+ */
78
+ function readLimitGib(dir, file) {
79
+ try {
80
+ const raw = readFileSync(`${dir}/${file}`, 'utf8').trim();
81
+ if (raw === 'max' || raw === '')
82
+ return null;
83
+ const bytes = Number(raw);
84
+ if (!Number.isFinite(bytes) || bytes <= 0)
85
+ return null;
86
+ return Number((bytes / 1024 ** 3).toFixed(1));
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ }
92
+ /**
93
+ * Audit the machine's memory guard.
94
+ *
95
+ * Read-only. Never throws — an unreadable cgroup yields `supported: false`
96
+ * rather than a wrong verdict.
97
+ *
98
+ * @param opts - injectable measurements for deterministic tests.
99
+ * @returns the audit.
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * const a = auditMemoryGuard();
104
+ * if (!a.guarded) for (const f of a.findings) console.error(f.summary);
105
+ * ```
106
+ *
107
+ * @task T12097
108
+ */
109
+ export function auditMemoryGuard(opts = {}) {
110
+ const platform = opts.platform ?? process.platform;
111
+ const totalBytes = opts.totalRamBytes ?? totalmem();
112
+ const totalRamGib = Number((totalBytes / 1024 ** 3).toFixed(1));
113
+ const recommendedHighGib = Math.floor(totalRamGib * MEMORY_HIGH_FRACTION);
114
+ const recommendedMaxGib = Math.floor(totalRamGib * MEMORY_MAX_FRACTION);
115
+ const dir = opts.cgroupDir ?? guardedSliceCgroupPath();
116
+ const supported = platform === 'linux' && existsSync(dir);
117
+ if (!supported) {
118
+ return {
119
+ supported: false,
120
+ totalRamGib,
121
+ memoryHighGib: null,
122
+ memoryMaxGib: null,
123
+ recommendedHighGib,
124
+ recommendedMaxGib,
125
+ findings: [
126
+ {
127
+ id: 'unsupported',
128
+ severity: 'warn',
129
+ summary: `Cannot audit the memory guard on this system — ${GUARDED_SLICE} cgroup not found.`,
130
+ evidence: `platform=${platform} cgroupDir=${dir} exists=${existsSync(dir)}`,
131
+ },
132
+ ],
133
+ guarded: false,
134
+ };
135
+ }
136
+ const memoryHighGib = readLimitGib(dir, 'memory.high');
137
+ const memoryMaxGib = readLimitGib(dir, 'memory.max');
138
+ const findings = [];
139
+ if (memoryHighGib === null) {
140
+ findings.push({
141
+ id: 'memory-high-unset',
142
+ severity: 'fail',
143
+ summary: `${GUARDED_SLICE} has no MemoryHigh — a runaway test run can consume the whole machine and freeze the desktop.`,
144
+ evidence: `memory.high=max, total=${totalRamGib} GiB, recommended=${recommendedHighGib} GiB`,
145
+ });
146
+ }
147
+ else if (memoryHighGib > recommendedHighGib) {
148
+ findings.push({
149
+ id: 'memory-high-too-permissive',
150
+ severity: 'warn',
151
+ summary: `${GUARDED_SLICE} MemoryHigh leaves too little for the desktop; it will still thrash before throttling helps.`,
152
+ evidence: `memory.high=${memoryHighGib} GiB of ${totalRamGib} GiB total ` +
153
+ `(recommended ≤ ${recommendedHighGib} GiB, i.e. ${Math.round(MEMORY_HIGH_FRACTION * 100)}%). ` +
154
+ `Measured 2026-08-10: the slice peaked at 48.1 GiB against MemoryHigh=48 GiB and the session locked up.`,
155
+ });
156
+ }
157
+ else {
158
+ findings.push({
159
+ id: 'memory-high-ok',
160
+ severity: 'ok',
161
+ summary: `${GUARDED_SLICE} MemoryHigh is set and leaves headroom for the desktop.`,
162
+ evidence: `memory.high=${memoryHighGib} GiB of ${totalRamGib} GiB (≤ ${recommendedHighGib} GiB recommended)`,
163
+ });
164
+ }
165
+ if (memoryMaxGib === null) {
166
+ findings.push({
167
+ id: 'memory-max-unset',
168
+ severity: 'warn',
169
+ summary: `${GUARDED_SLICE} has no MemoryMax — without a hard wall the kernel thrashes instead of killing one offender.`,
170
+ evidence: `memory.max=max, recommended=${recommendedMaxGib} GiB`,
171
+ });
172
+ }
173
+ else {
174
+ findings.push({
175
+ id: 'memory-max-ok',
176
+ severity: 'ok',
177
+ summary: `${GUARDED_SLICE} MemoryMax is set — the kernel kills inside the slice rather than exhausting the machine.`,
178
+ evidence: `memory.max=${memoryMaxGib} GiB of ${totalRamGib} GiB`,
179
+ });
180
+ }
181
+ const order = { fail: 0, warn: 1, ok: 2 };
182
+ findings.sort((a, b) => order[a.severity] - order[b.severity]);
183
+ return {
184
+ supported: true,
185
+ totalRamGib,
186
+ memoryHighGib,
187
+ memoryMaxGib,
188
+ recommendedHighGib,
189
+ recommendedMaxGib,
190
+ findings,
191
+ guarded: !findings.some((f) => f.severity === 'fail'),
192
+ };
193
+ }
194
+ /**
195
+ * The commands that would apply the recommended guard.
196
+ *
197
+ * Returned rather than executed so the operator can read them first — these
198
+ * change memory limits for their entire desktop session, and
199
+ * `systemctl set-property` persists a drop-in under `~/.config/systemd/`.
200
+ *
201
+ * @param audit - a prior {@link auditMemoryGuard} result.
202
+ * @returns argv arrays, in order. Empty when nothing needs changing.
203
+ *
204
+ * @task T12097
205
+ */
206
+ export function buildMemoryGuardFixCommands(audit) {
207
+ if (!audit.supported)
208
+ return [];
209
+ const cmds = [];
210
+ const needsHigh = audit.memoryHighGib === null || audit.memoryHighGib > audit.recommendedHighGib;
211
+ if (needsHigh) {
212
+ cmds.push([
213
+ 'systemctl',
214
+ '--user',
215
+ 'set-property',
216
+ GUARDED_SLICE,
217
+ `MemoryHigh=${audit.recommendedHighGib}G`,
218
+ ]);
219
+ }
220
+ if (audit.memoryMaxGib === null) {
221
+ cmds.push([
222
+ 'systemctl',
223
+ '--user',
224
+ 'set-property',
225
+ GUARDED_SLICE,
226
+ `MemoryMax=${audit.recommendedMaxGib}G`,
227
+ ]);
228
+ }
229
+ return cmds;
230
+ }
231
+ //# sourceMappingURL=memory-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-guard.js","sourceRoot":"","sources":["../../src/resources/memory-guard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-store.d.ts","sourceRoot":"","sources":["../../src/store/attachment-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment-store.d.ts","sourceRoot":"","sources":["../../src/store/attachment-store.ts"],"names":[],"mappings":"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"}
@@ -404,12 +404,16 @@ export function createAttachmentStore() {
404
404
  // env var also lets tests exercise the assert path explicitly.
405
405
  if (slug !== undefined && process.env['CLEO_STRICT_SLUG_ALLOCATOR'] === '1') {
406
406
  const { isSlugReserved, consumeReservedSlug } = await import('../docs/slug-allocator.js');
407
- if (!isSlugReserved(slug)) {
407
+ // T12090: pass `cwd` so the reservation lookup is scoped to THIS
408
+ // project. Without it the check consults a process-global set and a
409
+ // sibling project (or a sibling test file in the same vitest worker)
410
+ // can satisfy or steal a reservation that was never ours.
411
+ if (!isSlugReserved(slug, cwd)) {
408
412
  throw new SlugNotReservedByAllocatorError(slug);
409
413
  }
410
414
  // Consume the reservation now so retries do NOT re-trip the
411
415
  // assert and the in-process Set does not grow unbounded.
412
- consumeReservedSlug(slug);
416
+ consumeReservedSlug(slug, cwd);
413
417
  }
414
418
  // Pre-check slug collision OUTSIDE the BEGIN IMMEDIATE window so the
415
419
  // caller receives SlugCollisionError without leaving a half-written
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-store.js","sourceRoot":"","sources":["../../src/store/attachment-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment-store.js","sourceRoot":"","sources":["../../src/store/attachment-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/core",
3
- "version": "2026.8.4",
3
+ "version": "2026.8.6",
4
4
  "description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -456,16 +456,16 @@
456
456
  "write-file-atomic": "^7.0.1",
457
457
  "yaml": "^2.8.3",
458
458
  "zod": "^4.3.6",
459
- "@cleocode/adapters": "2026.8.4",
460
- "@cleocode/agents": "2026.8.4",
461
- "@cleocode/caamp": "2026.8.4",
462
- "@cleocode/lafs": "2026.8.4",
463
- "@cleocode/contracts": "2026.8.4",
464
- "@cleocode/git-shim": "2026.8.4",
465
- "@cleocode/nexus": "2026.8.4",
466
- "@cleocode/paths": "2026.8.4",
467
- "@cleocode/skills": "2026.8.4",
468
- "@cleocode/worktree": "2026.8.4"
459
+ "@cleocode/adapters": "2026.8.6",
460
+ "@cleocode/contracts": "2026.8.6",
461
+ "@cleocode/caamp": "2026.8.6",
462
+ "@cleocode/git-shim": "2026.8.6",
463
+ "@cleocode/agents": "2026.8.6",
464
+ "@cleocode/lafs": "2026.8.6",
465
+ "@cleocode/skills": "2026.8.6",
466
+ "@cleocode/nexus": "2026.8.6",
467
+ "@cleocode/paths": "2026.8.6",
468
+ "@cleocode/worktree": "2026.8.6"
469
469
  },
470
470
  "engines": {
471
471
  "node": ">=24.16.0"
@@ -491,7 +491,7 @@
491
491
  "@types/proper-lockfile": "^4.1.4",
492
492
  "@types/tar": "^6.1.13",
493
493
  "@types/write-file-atomic": "^4.0.3",
494
- "@cleocode/utils": "2026.8.4"
494
+ "@cleocode/utils": "2026.8.6"
495
495
  },
496
496
  "repository": {
497
497
  "type": "git",
@@ -500,7 +500,7 @@
500
500
  },
501
501
  "optionalDependencies": {
502
502
  "llmtxt": "^2026.5.15",
503
- "@cleocode/studio": "^2026.8.4"
503
+ "@cleocode/studio": "^2026.8.6"
504
504
  },
505
505
  "scripts": {
506
506
  "build": "tsc && node scripts/copy-selfimprove-fixtures.mjs",
@@ -67,6 +67,13 @@ permissions:
67
67
  contents: write
68
68
  pull-requests: write
69
69
  id-token: write
70
+ # T12094: `actions: write` is required to CREATE a workflow_dispatch event.
71
+ # Without it the "Trigger CI for the bump-PR" step gets
72
+ # HTTP 403: Resource not accessible by integration
73
+ # and the bump-PR opens with no checks — the exact failure this step exists to
74
+ # prevent. Measured on the v2026.8.5 dispatch, which is why the step warns
75
+ # instead of failing: the release still completed and told us precisely why.
76
+ actions: write
70
77
 
71
78
  # R-207: concurrent prepare runs against the same version queue rather than
72
79
  # collide. cancel-in-progress=false preserves in-flight work.
@@ -429,6 +436,40 @@ jobs:
429
436
  --body-file /tmp/bump-pr-body.md
430
437
  timeout-minutes: 5
431
438
 
439
+ # R-205(g) / T12094: trigger CI for the bump-PR.
440
+ #
441
+ # GitHub deliberately does NOT run workflows for events caused by
442
+ # GITHUB_TOKEN, so the `git push` and `gh pr create` above produce NO
443
+ # checks. Branch protection on `main` requires the `CI` context, so the
444
+ # bump-PR could never become mergeable — both previous releases needed a
445
+ # human to push a commit to the branch just to wake CI up.
446
+ #
447
+ # Dispatching CI against the branch produces check runs on the branch-tip
448
+ # SHA, which IS the PR head commit, so protection is satisfied. A
449
+ # workflow_dispatch run is itself GITHUB_TOKEN-initiated, but explicit
450
+ # dispatch is exempt from the recursion guard — that is the whole point of
451
+ # the trigger existing.
452
+ - name: Trigger CI for the bump-PR
453
+ run: |
454
+ BRANCH="${{ steps.branch.outputs.name }}"
455
+ # The worktree-napi prebuild must be dispatched too. CI's "Worktree NAPI
456
+ # Prebuild Gate" looks for a prebuild run on this branch's SHA, and a
457
+ # run created by the GITHUB_TOKEN pull_request event comes back with
458
+ # conclusion `action_required` — queued pending human approval — which
459
+ # the gate reads as a failure. An explicit dispatch is not gated on
460
+ # approval, so it produces a real result.
461
+ if gh workflow run worktree-napi-prebuild.yml --ref "$BRANCH" 2>/dev/null; then
462
+ echo "Dispatched worktree-napi prebuild for $BRANCH."
463
+ else
464
+ echo "::warning::Could not dispatch worktree-napi-prebuild.yml for $BRANCH; the NAPI gate may block the bump-PR pending approval."
465
+ fi
466
+ if gh workflow run ci.yml --ref "$BRANCH"; then
467
+ echo "Dispatched CI for $BRANCH."
468
+ else
469
+ echo "::warning::Could not dispatch ci.yml for $BRANCH. The bump-PR will have no checks and cannot merge until CI is started (push any commit to the branch, or re-run: gh workflow run ci.yml --ref $BRANCH)."
470
+ fi
471
+ timeout-minutes: 3
472
+
432
473
  # R-209(c): emit recovery hint into the job summary artifact.
433
474
  - name: Emit recovery hint to job summary
434
475
  if: always()