@cleocode/core 2026.8.3 → 2026.8.5

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 (38) hide show
  1. package/dist/changesets/writer.js +4 -4
  2. package/dist/changesets/writer.js.map +1 -1
  3. package/dist/docs/slug-allocator.d.ts +3 -3
  4. package/dist/docs/slug-allocator.d.ts.map +1 -1
  5. package/dist/docs/slug-allocator.js +46 -8
  6. package/dist/docs/slug-allocator.js.map +1 -1
  7. package/dist/doctor/index.d.ts +2 -0
  8. package/dist/doctor/index.d.ts.map +1 -1
  9. package/dist/doctor/index.js +1 -0
  10. package/dist/doctor/index.js.map +1 -1
  11. package/dist/doctor/superseded-store.d.ts +101 -0
  12. package/dist/doctor/superseded-store.d.ts.map +1 -0
  13. package/dist/doctor/superseded-store.js +156 -0
  14. package/dist/doctor/superseded-store.js.map +1 -0
  15. package/dist/llm/conversation.d.ts.map +1 -1
  16. package/dist/llm/conversation.js +12 -1
  17. package/dist/llm/conversation.js.map +1 -1
  18. package/dist/resources/memory-guard.d.ts +130 -0
  19. package/dist/resources/memory-guard.d.ts.map +1 -0
  20. package/dist/resources/memory-guard.js +231 -0
  21. package/dist/resources/memory-guard.js.map +1 -0
  22. package/dist/store/attachment-store.d.ts.map +1 -1
  23. package/dist/store/attachment-store.js +6 -2
  24. package/dist/store/attachment-store.js.map +1 -1
  25. package/dist/tasks/heavy-tool-env.d.ts +112 -0
  26. package/dist/tasks/heavy-tool-env.d.ts.map +1 -0
  27. package/dist/tasks/heavy-tool-env.js +133 -0
  28. package/dist/tasks/heavy-tool-env.js.map +1 -0
  29. package/dist/tasks/index.d.ts +2 -0
  30. package/dist/tasks/index.d.ts.map +1 -1
  31. package/dist/tasks/index.js +1 -0
  32. package/dist/tasks/index.js.map +1 -1
  33. package/dist/tasks/tool-cache.d.ts.map +1 -1
  34. package/dist/tasks/tool-cache.js +9 -3
  35. package/dist/tasks/tool-cache.js.map +1 -1
  36. package/package.json +13 -13
  37. package/templates/CLEO-INJECTION.md +18 -0
  38. package/templates/workflows/release-prepare.yml.tmpl +23 -0
@@ -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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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Hard memory ceiling injected into every heavy tool CLEO spawns (T12096).
3
+ *
4
+ * ## Why a cap at the spawn point, and not just a semaphore
5
+ *
6
+ * T12091 bounded how many `tool:test` INVOCATIONS run at once. It counts an
7
+ * entire process tree as one slot — and in a workspace, one invocation is not
8
+ * one test run. Measured 2026-08-09 in `/mnt/projects/PepsVida`:
9
+ *
10
+ * cleo verify T1046 --gate testsPassed --evidence tool:test
11
+ * └─ npm test
12
+ * └─ pnpm -r --if-present run test ← fans out
13
+ * └─ concurrent vitest in {apps,lib}/* (15 packages have tests)
14
+ *
15
+ * CLEO's semaphore saw ONE slot in use. The project has 15 packages with a
16
+ * `test` script and **none of its three vitest configs cap `maxWorkers` or
17
+ * heap** — the memory-safe SSoT and its lint gate live in cleocode and protect
18
+ * only cleocode. So a single evidence atom could expand to 15 concurrent
19
+ * unbounded fork pools on a 62 GiB machine.
20
+ *
21
+ * A consuming project cannot be relied on to configure this. CLEO is the one
22
+ * spawning the process, so CLEO sets the ceiling — and the child inherits it
23
+ * whether or not the project has ever heard of `vitest.memory-safe.ts`.
24
+ *
25
+ * ## The three levers (each verified against the installed tool, not assumed)
26
+ *
27
+ * | Variable | Effect | Verified by |
28
+ * |---|---|---|
29
+ * | `NODE_OPTIONS=--max-old-space-size=N` | Heap ceiling for EVERY node process in the tree, inherited | node docs; appended, never clobbered |
30
+ * | `VITEST_MAX_WORKERS=N` | `if (process.env.VITEST_MAX_WORKERS) resolved.maxWorkers = parseInt(...)` — overrides the resolved config, so it binds projects that set their own | read out of vitest 4.1.4 `dist/chunks/coverage.*.js` |
31
+ * | `npm_config_workspace_concurrency=N` | Bounds `pnpm -r` fan-out across workspace packages | `npm_config_workspace_concurrency=1 pnpm config get workspace-concurrency` → `1` |
32
+ *
33
+ * Together these bound the product the semaphore could not see:
34
+ * `packages in flight × workers per run × heap per worker`.
35
+ *
36
+ * Applied ONLY to `test` / `build`. Capping `lint` or `typecheck` would
37
+ * serialise cheap single-process work for no benefit.
38
+ *
39
+ * A project that genuinely wants more can set any of these itself — an existing
40
+ * value is always respected, because a deliberate setting beats our default.
41
+ *
42
+ * @task T12096
43
+ */
44
+ import type { CanonicalTool } from './tool-resolver.js';
45
+ /**
46
+ * Heap ceiling per node process, in MiB.
47
+ *
48
+ * Matches `FORK_HEAP_MB` in `vitest.memory-safe.ts`. A worker that needs more
49
+ * than 4 GiB of JS heap for a unit test has a leak, and the whole point is to
50
+ * make that fail loudly in one worker rather than take the machine down.
51
+ */
52
+ export declare const HEAVY_TOOL_HEAP_MB = 4096;
53
+ /** RAM assumed consumable per concurrent worker, in GiB, when sizing the pool. */
54
+ export declare const GIB_PER_WORKER = 6;
55
+ /** Never grant more than this many workers, however large the machine. */
56
+ export declare const MAX_HEAVY_WORKERS = 6;
57
+ /** Never grant fewer than this many — one worker must always be able to run. */
58
+ export declare const MIN_HEAVY_WORKERS = 1;
59
+ /**
60
+ * Workspace packages allowed to run their test/build script concurrently.
61
+ *
62
+ * Deliberately 1. The fan-out is the multiplier the semaphore was blind to, and
63
+ * a serialised workspace sweep is slower but finishes; a parallel one on a
64
+ * memory-bound box does not finish at all.
65
+ */
66
+ export declare const WORKSPACE_CONCURRENCY = 1;
67
+ /** Environment overlay to merge into a heavy tool's spawn env. */
68
+ export type HeavyToolEnv = Readonly<Record<string, string>>;
69
+ /**
70
+ * Worker count this machine can hold, given {@link GIB_PER_WORKER}.
71
+ *
72
+ * @param totalRamGib - total RAM in GiB; defaults to a live reading.
73
+ * @returns a value in `[MIN_HEAVY_WORKERS, MAX_HEAVY_WORKERS]`.
74
+ */
75
+ export declare function heavyToolWorkers(totalRamGib?: number): number;
76
+ /**
77
+ * Append `--max-old-space-size` to an existing `NODE_OPTIONS`, or create it.
78
+ *
79
+ * Never clobbers: a project may legitimately set `--experimental-*` flags there,
80
+ * and dropping them would break the very command we are trying to run. An
81
+ * existing `--max-old-space-size` is left alone — an explicit choice outranks
82
+ * our default.
83
+ *
84
+ * @param existing - current `NODE_OPTIONS`, if any.
85
+ * @param heapMb - ceiling to apply.
86
+ * @returns the merged value.
87
+ */
88
+ export declare function mergeNodeOptions(existing: string | undefined, heapMb: number): string;
89
+ /**
90
+ * Build the environment overlay for a heavy tool spawn.
91
+ *
92
+ * Returns an empty object for non-heavy tools, so the caller can merge
93
+ * unconditionally.
94
+ *
95
+ * @param canonical - the canonical tool about to be spawned.
96
+ * @param env - the environment the child would otherwise inherit.
97
+ * @param totalRamGib - total RAM in GiB; injectable for deterministic tests.
98
+ * @returns variables to overlay; existing deliberate values are preserved.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * const overlay = heavyToolEnv('test', process.env, 62);
103
+ * // { NODE_OPTIONS: '--max-old-space-size=4096',
104
+ * // VITEST_MAX_WORKERS: '6',
105
+ * // npm_config_workspace_concurrency: '1' }
106
+ * heavyToolEnv('lint', process.env, 62); // → {}
107
+ * ```
108
+ *
109
+ * @task T12096
110
+ */
111
+ export declare function heavyToolEnv(canonical: CanonicalTool, env?: NodeJS.ProcessEnv, totalRamGib?: number): HeavyToolEnv;
112
+ //# sourceMappingURL=heavy-tool-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heavy-tool-env.d.ts","sourceRoot":"","sources":["../../src/tasks/heavy-tool-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,kFAAkF;AAClF,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,GAAE,MAA+B,GAAG,MAAM,CAGrF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKrF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,aAAa,EACxB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,WAAW,GAAE,MAA+B,GAC3C,YAAY,CAgBd"}