@cleocode/core 2026.9.3 → 2026.9.4

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 (41) hide show
  1. package/dist/dispatch/suggested-next.d.ts.map +1 -1
  2. package/dist/dispatch/suggested-next.js +7 -1
  3. package/dist/dispatch/suggested-next.js.map +1 -1
  4. package/dist/docs/export-document.js +84 -0
  5. package/dist/docs/export-document.js.map +2 -2
  6. package/dist/hygiene/validate-spawn-readiness.d.ts +88 -4
  7. package/dist/hygiene/validate-spawn-readiness.d.ts.map +1 -1
  8. package/dist/hygiene/validate-spawn-readiness.js +138 -16
  9. package/dist/hygiene/validate-spawn-readiness.js.map +1 -1
  10. package/dist/injection.d.ts.map +1 -1
  11. package/dist/injection.js +10 -2
  12. package/dist/injection.js.map +1 -1
  13. package/dist/internal.d.ts +1 -1
  14. package/dist/internal.d.ts.map +1 -1
  15. package/dist/internal.js +1 -1
  16. package/dist/internal.js.map +1 -1
  17. package/dist/llm/plugin-facade.js +84 -0
  18. package/dist/llm/plugin-facade.js.map +2 -2
  19. package/dist/release/open.d.ts +11 -18
  20. package/dist/release/open.d.ts.map +1 -1
  21. package/dist/release/open.js +135 -7
  22. package/dist/release/open.js.map +1 -1
  23. package/dist/selfimprove/fix-gen.js +84 -0
  24. package/dist/selfimprove/fix-gen.js.map +2 -2
  25. package/dist/setup/sections/brain.d.ts +1 -1
  26. package/dist/setup/sections/brain.js +1 -1
  27. package/dist/system/bridge-mode.d.ts +1 -1
  28. package/dist/system/bridge-mode.js +1 -1
  29. package/dist/tasks/index.d.ts +1 -1
  30. package/dist/tasks/index.d.ts.map +1 -1
  31. package/dist/tasks/index.js +1 -1
  32. package/dist/tasks/index.js.map +1 -1
  33. package/dist/tasks/tool-cache.d.ts +134 -9
  34. package/dist/tasks/tool-cache.d.ts.map +1 -1
  35. package/dist/tasks/tool-cache.js +188 -68
  36. package/dist/tasks/tool-cache.js.map +1 -1
  37. package/package.json +13 -13
  38. package/templates/CLEO-INJECTION.md +6 -6
  39. package/templates/workflows/release-prepare.yml.tmpl +67 -2
  40. package/templates/workflows/release-publish.yml.tmpl +1 -1
  41. package/templates/workflows/release-rollback.yml.tmpl +18 -2
@@ -31,8 +31,8 @@
31
31
  */
32
32
  import { execFileSync, spawn } from 'node:child_process';
33
33
  import { createHash } from 'node:crypto';
34
- import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, writeFileSync, } from 'node:fs';
35
- import { join } from 'node:path';
34
+ import { existsSync, mkdirSync, readdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync, } from 'node:fs';
35
+ import { join, resolve } from 'node:path';
36
36
  import { ExitCode } from '@cleocode/contracts';
37
37
  import { CleoError } from '../errors.js';
38
38
  import { withLock } from '../store/lock.js';
@@ -156,30 +156,152 @@ export function resolveSpawnTimeoutMs(canonical, env = process.env) {
156
156
  // ---------------------------------------------------------------------------
157
157
  // Cache key derivation
158
158
  // ---------------------------------------------------------------------------
159
+ /**
160
+ * The fields that establish WHICH RUN a cache entry describes.
161
+ *
162
+ * This list is the single source of truth for three things that must agree
163
+ * and previously did not, because each was maintained by hand:
164
+ *
165
+ * 1. what {@link computeCacheKey} hashes,
166
+ * 2. what {@link readCacheEntry} requires before serving an entry,
167
+ * 3. what `runToolCached` requires before persisting one.
168
+ *
169
+ * ## Why this exists rather than a fourth guard clause
170
+ *
171
+ * Three defects in three releases, each invisible to the detector written for
172
+ * the one before it:
173
+ *
174
+ * | | gh#1380 (2026.9.2) | gh#1404 (2026.9.3) | gh#1419 (this) |
175
+ * |---|---|---|---|
176
+ * | signature | `exitCode: null` | real code, `head: null` | well-formed, genuinely succeeded |
177
+ * | wrong how | never ran | key cannot rotate | ran, on the wrong tree |
178
+ * | detector | all-null | real code + null head | neither matches |
179
+ *
180
+ * Each fix added one `if` naming one field, to two separate guards — the read
181
+ * path and the write path — that encode the same rule in different code with
182
+ * nothing asserting they agree. A fourth defect means a fourth pair of `if`s,
183
+ * and the pair for defect five is the one somebody edits only half of.
184
+ *
185
+ * The recurring mistake is not any of the three fields. It is that a field
186
+ * could be added to {@link ToolCacheEntry} without being added to the key:
187
+ * `executionRoot` was threaded all the way through execution by T12112 and
188
+ * never reached `computeCacheKey`, so the tool correctly ran in worktree A
189
+ * and its result was then served to worktree B under an identical key. The
190
+ * execution half of that fix landed; the caching half did not.
191
+ *
192
+ * Deriving all three consumers from this one array makes that specific
193
+ * mistake unavailable: a field added here is keyed, required on read, and
194
+ * required on write, together or not at all.
195
+ *
196
+ * ## What is deliberately NOT here
197
+ *
198
+ * `exitCode` is a RESULT, not an identity — it is what the run produced, not
199
+ * which run it was. It has its own non-null requirement in
200
+ * {@link isEntryUsable} (gh#1380: an unknown outcome must never be cached).
201
+ * Putting it here would key the cache on its own answer.
202
+ *
203
+ * @task T12190 (gh#1419)
204
+ */
205
+ export const TOOL_RUN_IDENTITY_FIELDS = [
206
+ 'canonical',
207
+ 'cmd',
208
+ 'args',
209
+ 'head',
210
+ 'dirtyFingerprint',
211
+ 'executionRoot',
212
+ ];
213
+ /**
214
+ * Normalise an execution root to a stable, comparable absolute path.
215
+ *
216
+ * Symlinks are resolved so that two spellings of one directory produce one
217
+ * key — the safe direction, since collapsing an alias can only merge entries
218
+ * that genuinely describe the same tree, while failing to collapse it would
219
+ * split one tree's cache across spellings. A path that cannot be resolved
220
+ * (it has been deleted) falls back to lexical resolution rather than
221
+ * throwing: callers of {@link computeCacheKey} must be able to compute the
222
+ * key of a run whose directory is already gone, precisely so
223
+ * {@link readCacheEntry} can then refuse it.
224
+ *
225
+ * @task T12190 (gh#1419)
226
+ */
227
+ function normalizeExecutionRoot(executionRoot) {
228
+ try {
229
+ return realpathSync(executionRoot);
230
+ }
231
+ catch {
232
+ return resolve(executionRoot);
233
+ }
234
+ }
159
235
  /**
160
236
  * Compute the cache key for a resolved tool command + repo state.
161
237
  *
162
- * Key includes:
163
- * - Canonical tool name
164
- * - Resolved command + args (sensitive to project-context updates)
165
- * - Git HEAD sha (so a new commit invalidates everything)
166
- * - Dirty-tree fingerprint (so an uncommitted edit invalidates everything)
238
+ * The key covers exactly {@link TOOL_RUN_IDENTITY_FIELDS} — canonical tool
239
+ * name, resolved command and args, git HEAD, dirty-tree fingerprint, and the
240
+ * normalised execution root. Fields are projected in the order that array
241
+ * declares, so the hashed payload is a function of the array and adding a
242
+ * field there changes every key by construction.
243
+ *
244
+ * `executionRoot` is a REQUIRED parameter, deliberately. A defaulted one
245
+ * would let every callsite that was not updated keep computing the old,
246
+ * colliding key while the type-checker reported success — which is the exact
247
+ * shape of the defect this fixes, since `executionRoot` already existed and
248
+ * already reached this function's caller.
167
249
  *
168
250
  * Using `createHash('sha256')` makes the key collision-resistant and bounded
169
- * to 64 hex chars regardless of input size.
251
+ * to 32 hex chars regardless of input size.
170
252
  *
171
253
  * @task T1534
254
+ * @task T12190 (gh#1419)
172
255
  */
173
- export function computeCacheKey(command, head, dirtyFingerprint) {
174
- const payload = JSON.stringify({
256
+ export function computeCacheKey(command, head, dirtyFingerprint, executionRoot) {
257
+ const identity = {
175
258
  canonical: command.canonical,
176
259
  cmd: command.cmd,
177
260
  args: command.args,
178
261
  head,
179
262
  dirtyFingerprint,
180
- });
263
+ executionRoot: normalizeExecutionRoot(executionRoot),
264
+ };
265
+ // Projected through TOOL_RUN_IDENTITY_FIELDS rather than written as an
266
+ // object literal: the literal is what drifted from the entry shape before.
267
+ const payload = JSON.stringify(TOOL_RUN_IDENTITY_FIELDS.map((f) => identity[f]));
181
268
  return createHash('sha256').update(payload).digest('hex').slice(0, 32);
182
269
  }
270
+ /**
271
+ * Whether a cache entry may be SERVED or PERSISTED as a real result.
272
+ *
273
+ * One predicate, used by both {@link readCacheEntry} and the persist guard in
274
+ * `runToolCached`, so the two cannot drift apart. Two rules:
275
+ *
276
+ * 1. every field in {@link TOOL_RUN_IDENTITY_FIELDS} is present and
277
+ * non-null — an entry that cannot say which run it describes is not
278
+ * evidence of anything;
279
+ * 2. `exitCode` is non-null — a run that produced no exit code records that
280
+ * we do not know what happened, and an unknown must never be cached
281
+ * (gh#1380).
282
+ *
283
+ * Rule 1 subsumes gh#1404's `head === null` clause without naming `head`:
284
+ * when the tool runs off a non-git root both git fields are null on EVERY
285
+ * run, so the key is a function of the command alone and nothing a developer
286
+ * does to the source can rotate it. That is not a cache, it is a hardcoded
287
+ * answer with a filename — and unlike gh#1380 it holds a real exit code,
288
+ * which can be a PASS. A poisoned red is investigated within minutes; nobody
289
+ * debugs a passing gate.
290
+ *
291
+ * The cost is stated rather than hidden: a project whose CLEO root is not a
292
+ * git checkout gets no tool-result caching at all. Such projects are not
293
+ * getting valid caching today — they are getting one answer forever.
294
+ *
295
+ * @task T12190 (gh#1419)
296
+ */
297
+ export function isEntryUsable(entry) {
298
+ for (const field of TOOL_RUN_IDENTITY_FIELDS) {
299
+ const value = entry[field];
300
+ if (value === null || value === undefined)
301
+ return false;
302
+ }
303
+ return entry.exitCode !== null && entry.exitCode !== undefined;
304
+ }
183
305
  /**
184
306
  * Maximum bytes retained from a child's stdout / stderr stream during
185
307
  * spawn. The tool-evidence atom only needs the trailing 512 bytes for
@@ -467,47 +589,37 @@ export function readCacheEntry(projectRoot, key) {
467
589
  return null;
468
590
  try {
469
591
  const parsed = JSON.parse(readFileSync(path, 'utf-8'));
470
- if (parsed.schemaVersion !== 1 || parsed.key !== key)
592
+ // Schema gate. Bumped to 2 by gh#1419; every entry written before
593
+ // `executionRoot` was part of a run's identity is refused here, on this
594
+ // one line. gh#1380 and gh#1404 each needed exactly this and each
595
+ // reimplemented it as a bespoke null-check on their own field, while this
596
+ // counter sat unused at 1 through both.
597
+ if (parsed.schemaVersion !== 2 || parsed.key !== key)
471
598
  return null;
472
599
  // A placeholder written by `runToolCached` to satisfy proper-lockfile's
473
600
  // "file must exist" requirement. It carries no real result — treat as
474
- // a miss until the lock holder writes the entry.
601
+ // a miss until the lock holder writes the entry. Checked before the
602
+ // identity gate below because a placeholder legitimately has none.
475
603
  if (parsed.pending === true)
476
604
  return null;
477
- // gh#1380: an entry whose run produced no exit code is not a result — it
478
- // records that we do not know what happened. Refusing it on READ as well
479
- // as declining to write it retires the entries already persisted by
480
- // <= 2026.9.1, which cannot clean themselves up: when the tool ran off a
481
- // non-git root, `head` and `dirtyFingerprint` are both null, they are part
482
- // of the cache key, and a key that cannot change can never be invalidated
483
- // by a commit or an edit. One signal-killed run would otherwise serve a
484
- // cached "binary missing" forever, without ever spawning again — a
485
- // permanent red that no amount of correct work clears.
486
- if (parsed.exitCode === null || parsed.exitCode === undefined)
605
+ // The identity + result gate (gh#1380, gh#1404, gh#1419), derived from
606
+ // TOOL_RUN_IDENTITY_FIELDS rather than written out field by field, and
607
+ // shared verbatim with the persist guard in `runToolCached`.
608
+ if (!isEntryUsable(parsed))
487
609
  return null;
488
- // gh#1404: an entry whose `head` is null was keyed on the command ALONE —
489
- // `computeCacheKey` hashes {canonical, cmd, args, head, dirtyFingerprint},
490
- // so with both git fields null nothing a developer does to the SOURCE can
491
- // change the key. Editing does not. Committing does not. Only editing the
492
- // tool command itself does, which is a config change, not a code change.
493
- //
494
- // That is not a cache; it is a hardcoded answer with a filename. And
495
- // unlike gh#1380's `exitCode: null` — which fails closed and is therefore
496
- // loud — this holds a REAL exit code of either sign. A cached PASS is not
497
- // self-announcing: nobody debugs a passing gate.
610
+ // gh#1419: refuse a hit whose originating tree is GONE.
498
611
  //
499
- // Measured 2026-09-14 on a project whose CLEO root sits ABOVE its git root
500
- // (a supported layout — the repo was a subdirectory, so both fields were
501
- // null for EVERY run, always): four entries, all `exitCode: 0`, the `test`
502
- // one recording `122 files / 2557 tests` from 2026-08-07 against a suite
503
- // that is now 856 files / 13,621 tests. It had stayed inert only because
504
- // the tool command was later rewritten, changing `args` and therefore the
505
- // key. Revert that command and `tool:test` returns 0 without spawning.
612
+ // Keying on `executionRoot` stops one live worktree from being served
613
+ // another live worktree's result. It does not address the worse case the
614
+ // field survey actually found: 8 entries produced in worktrees that had
615
+ // since been deleted, all `exitCode: 0`, all still servable. A stale
616
+ // result is merely wrong; a result whose tree no longer exists is
617
+ // UNFALSIFIABLE — there is nowhere left to go and check what ran.
506
618
  //
507
- // Refused on READ as well as declining to write, because entries already
508
- // on disk in every consumer's `.cleo/cache/evidence/` cannot rotate
509
- // themselves out — that is the defect itself.
510
- if (parsed.head === null || parsed.head === undefined)
619
+ // This is the one rule that is genuinely read-only. At write time the
620
+ // directory exists by construction, so it cannot live in `isEntryUsable`
621
+ // alongside the rules both paths share.
622
+ if (!existsSync(parsed.executionRoot))
511
623
  return null;
512
624
  return parsed;
513
625
  }
@@ -574,7 +686,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
574
686
  const bypassCache = opts.bypassCache ?? process.env['CLEO_EVIDENCE_FRESH'] === '1';
575
687
  const head = await captureHead(executionRoot);
576
688
  const dirtyFingerprint = await captureDirtyFingerprint(executionRoot);
577
- const key = computeCacheKey(command, head, dirtyFingerprint);
689
+ const key = computeCacheKey(command, head, dirtyFingerprint, executionRoot);
578
690
  // Fast path — fresh cache hit
579
691
  if (!bypassCache) {
580
692
  const existing = readCacheEntry(projectRoot, key);
@@ -609,7 +721,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
609
721
  ensureCacheDir(projectRoot);
610
722
  const cachePath = cacheEntryPath(projectRoot, key);
611
723
  if (!existsSync(cachePath)) {
612
- writeFileSync(cachePath, JSON.stringify({ schemaVersion: 1, key, pending: true }), 'utf-8');
724
+ writeFileSync(cachePath, JSON.stringify({ schemaVersion: 2, key, pending: true }), 'utf-8');
613
725
  }
614
726
  const releaseSemaphore = opts.skipGlobalSemaphore
615
727
  ? undefined
@@ -664,7 +776,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
664
776
  lockBusy: false,
665
777
  executionRoot,
666
778
  entry: {
667
- schemaVersion: 1,
779
+ schemaVersion: 2,
668
780
  key,
669
781
  canonical: command.canonical,
670
782
  displayName: command.displayName,
@@ -673,6 +785,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
673
785
  source: command.source,
674
786
  head,
675
787
  dirtyFingerprint,
788
+ executionRoot,
676
789
  exitCode: null,
677
790
  signal: result.signal,
678
791
  stdoutTail: '',
@@ -683,7 +796,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
683
796
  };
684
797
  }
685
798
  const entry = {
686
- schemaVersion: 1,
799
+ schemaVersion: 2,
687
800
  key,
688
801
  canonical: command.canonical,
689
802
  displayName: command.displayName,
@@ -692,6 +805,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
692
805
  source: command.source,
693
806
  head,
694
807
  dirtyFingerprint,
808
+ executionRoot,
695
809
  exitCode: result.exitCode,
696
810
  signal: result.signal,
697
811
  stdoutTail: tailString(result.stdout, tailBytes),
@@ -699,27 +813,32 @@ export async function runToolCached(command, projectRoot, opts = {}) {
699
813
  durationMs,
700
814
  capturedAt: new Date().toISOString(),
701
815
  };
702
- // gh#1380: `exitCode === null` means the process produced no exit code —
703
- // it was killed by a signal, or never started. Either way we do not know
704
- // whether the tool would have passed, and an unknown must never be
705
- // cached. The `timedOut` branch above already returns without writing
706
- // for exactly this reason; a signal kill that is NOT a CLEO timeout —
707
- // the memory-scope OOM in gh#1381 — had no equivalent guard and fell
708
- // through to here.
709
- // gh#1380: `exitCode === null` means we do not know what happened.
710
- // gh#1404: `head === null` means the key cannot rotate, so whatever is
711
- // stored becomes permanent regardless of any later source change.
816
+ // Persist only a usable entry. `isEntryUsable` is the SAME predicate
817
+ // `readCacheEntry` applies, which is the point: these two guards used
818
+ // to be independent transcriptions of one rule — `exitCode !== null
819
+ // && head !== null`, written out twice — so a field added to one had
820
+ // to be remembered into the other. gh#1380 and gh#1404 each edited
821
+ // both, and nothing checked that they still agreed.
712
822
  //
713
- // The second costs a project whose CLEO root is not a git checkout all
714
- // tool-result caching. That is the right trade and worth stating
715
- // rather than hiding: such projects are not getting valid caching
716
- // today, they are getting ONE answer forever. A slow correct answer
717
- // beats a fast fabricated one.
823
+ // What the shared predicate refuses, and why none of it is an
824
+ // overcorrection:
825
+ // - unknown outcome (`exitCode: null`) — a signal kill, or a
826
+ // failure to start. The `timedOut` branch above already returns
827
+ // without writing for this reason; an OOM kill that is not a CLEO
828
+ // timeout (gh#1381) had no equivalent guard and fell through here.
829
+ // - unrotatable key (`head: null`) — costs a non-git CLEO root all
830
+ // caching. Stated rather than hidden: those projects are not
831
+ // getting valid caching today, they are getting ONE answer
832
+ // forever, and a slow correct answer beats a fast fabricated one.
833
+ // - unattributable run (`executionRoot` absent) — cannot occur on
834
+ // this path, and is required here anyway so that read and write
835
+ // stay ONE rule rather than two that happen to match today.
718
836
  //
719
- // Deliberately narrow. A guard that also refused, say, non-zero exits
720
- // would trade a fabricated pass for a permanent cache miss on healthy
721
- // projects — the same overcorrection pointed the other way.
722
- if (entry.exitCode !== null && entry.head !== null) {
837
+ // Deliberately narrow in the other direction too: refusing, say, all
838
+ // non-zero exits would trade a fabricated pass for a permanent cache
839
+ // miss on healthy projects — the same overcorrection pointed the
840
+ // other way.
841
+ if (isEntryUsable(entry)) {
723
842
  writeCacheEntry(projectRoot, entry);
724
843
  }
725
844
  return {
@@ -757,7 +876,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
757
876
  lockBusy: true,
758
877
  executionRoot,
759
878
  entry: {
760
- schemaVersion: 1,
879
+ schemaVersion: 2,
761
880
  key,
762
881
  canonical: command.canonical,
763
882
  displayName: command.displayName,
@@ -766,6 +885,7 @@ export async function runToolCached(command, projectRoot, opts = {}) {
766
885
  source: command.source,
767
886
  head,
768
887
  dirtyFingerprint,
888
+ executionRoot,
769
889
  exitCode: null,
770
890
  stdoutTail: '',
771
891
  stderrTail: '',
@@ -1 +1 @@
1
- {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/tasks/tool-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/tasks/tool-cache.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.9.3",
3
+ "version": "2026.9.4",
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.9.3",
460
- "@cleocode/caamp": "2026.9.3",
461
- "@cleocode/agents": "2026.9.3",
462
- "@cleocode/contracts": "2026.9.3",
463
- "@cleocode/git-shim": "2026.9.3",
464
- "@cleocode/nexus": "2026.9.3",
465
- "@cleocode/lafs": "2026.9.3",
466
- "@cleocode/paths": "2026.9.3",
467
- "@cleocode/skills": "2026.9.3",
468
- "@cleocode/worktree": "2026.9.3"
459
+ "@cleocode/agents": "2026.9.4",
460
+ "@cleocode/adapters": "2026.9.4",
461
+ "@cleocode/git-shim": "2026.9.4",
462
+ "@cleocode/caamp": "2026.9.4",
463
+ "@cleocode/contracts": "2026.9.4",
464
+ "@cleocode/lafs": "2026.9.4",
465
+ "@cleocode/paths": "2026.9.4",
466
+ "@cleocode/skills": "2026.9.4",
467
+ "@cleocode/worktree": "2026.9.4",
468
+ "@cleocode/nexus": "2026.9.4"
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.9.3"
494
+ "@cleocode/utils": "2026.9.4"
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.9.3"
503
+ "@cleocode/studio": "^2026.9.4"
504
504
  },
505
505
  "scripts": {
506
506
  "build": "tsc && node scripts/copy-selfimprove-fixtures.mjs",
@@ -31,7 +31,7 @@ If you find yourself reading a markdown file for orientation, STOP. Run `cleo br
31
31
  4. `cleo next` — what to work on (~300 tokens)
32
32
  5. `cleo focus {id}` — **preferred orient call** — single envelope with identity + scope + blockers + ready wave + docs + brain context (≤ 1 500 tokens, replaces 8 calls)
33
33
  6. `cleo show {id} --full` — the full task record (~400 tokens). Bare `cleo show {id}` is an MVI projection, NOT the full record — see the `_withheld` note under Task Discovery before you act on a field's absence.
34
- 7. `cleo orchestrate start --epic TXXX` — for epics with ≥ 5 children (~300 tokens, auto-inits LOOM)
34
+ 7. `cleo orchestrate start <epicId>` — for epics with ≥ 5 children (~300 tokens, auto-inits LOOM)
35
35
  <!-- /CLEO-INJECTION:section=session-start -->
36
36
 
37
37
  <!-- CLEO-INJECTION:section=work-loop -->
@@ -53,7 +53,7 @@ If you find yourself reading a markdown file for orientation, STOP. Run `cleo br
53
53
  | You just ran `cleo complete <id>` for a non-trivial task | Run `cleo memory observe "..." --title "..."` with what you learned |
54
54
  | Task acceptance criterion contains "test" | Propose an `AcceptanceGate` with `kind:"test"` via `cleo req add` |
55
55
  | Session token budget ≈ 80% consumed | Run `cleo session end --note "..."` and hand off |
56
- | Multiple related tasks ready in parallel | Run `cleo orchestrate ready --epic <id>` for the wave set |
56
+ | Multiple related tasks ready in parallel | Run `cleo orchestrate ready <epicId>` for the wave set |
57
57
  | About to call `cleo complete` | First: check gates via `cleo show <id>` → run tests → then complete |
58
58
  | Writing a canonical doc (spec/adr/research/handoff/note/llm-readme) | Use `cleo docs add --type <kind> --slug <kebab-handle>` — NEVER raw fs write to `.cleo/adrs/`, `.cleo/research/`, `.cleo/agent-outputs/`, or `docs/` |
59
59
  | Reading an ADR/spec/research note/handoff | `cleo docs fetch <slug>` — never grep the filesystem for canonical docs |
@@ -145,7 +145,7 @@ CLEO has **three distinct relationship systems**. Do not conflate them.
145
145
  | LLM status | `cleo memory llm-status` | 50 |
146
146
  | Ground-truth promote | `cleo memory verify <id>` (owner only) | 50 |
147
147
 
148
- Memory context: `cleo memory digest --brief` gives a live project memory summary (default mode). Legacy file mode: set `brain.memoryBridge.mode = "file"` in config to restore `@.cleo/memory-bridge.md` injection.
148
+ Memory context: `cleo memory digest` gives a live project memory summary (this is the default mode; there is no `--brief` flag). Legacy file mode: set `brain.memoryBridge.mode = "file"` in config to restore `@.cleo/memory-bridge.md` injection.
149
149
  <!-- /CLEO-INJECTION:section=memory -->
150
150
 
151
151
  <!-- CLEO-INJECTION:section=data-location -->
@@ -215,7 +215,7 @@ silently substituting `git grep`.
215
215
  | Goal | Command |
216
216
  |------|---------|
217
217
  | Initialize epic pipeline | `cleo orchestrate start <epicId>` (auto-inits LOOM research stage) |
218
- | Get parallel-safe wave | `cleo orchestrate ready --epic <id>` |
218
+ | Get parallel-safe wave | `cleo orchestrate ready <epicId>` |
219
219
  | Get spawn prompt for a task | `cleo orchestrate spawn <taskId>` |
220
220
  | Spawn without worktree (opt-out) | `cleo orchestrate spawn <taskId> --no-worktree` |
221
221
  | Multi-agent IVTR loop | `cleo orchestrate ivtr <taskId> --start` |
@@ -276,7 +276,7 @@ Typed `RenderableEnvelope<T>` from `@cleocode/contracts`. `envelope.data.kind`
276
276
  | Suppress stderr | `--quiet` | `cleo add-batch --file f.json --parent T1 --quiet --output id` |
277
277
  | Force full record | `--full` | `cleo show T123 --full` |
278
278
 
279
- **READ and MUTATE envelopes NEST DIFFERENTLY — the most-guessed-wrong pointer shape.** Mutation envelopes are FLAT (`/data/created/0`); read envelopes nest the record, so `cleo show` needs `/data/task/status`, NEVER `/data/status`. `--field` resolves `description`/`acceptance`/`verification` transparently even under the default projection — no `--full` needed. An unresolvable pointer is a typed `E_FIELD_NOT_FOUND` listing every valid pointer for that op; read it rather than guessing again. `cleo verify`'s own response is SELF-CONFIRMING (it returns the full `verification` object) — do not re-read to check it; if you must, use `--field /data/task/verification`, never `--field /data/task` (MVI-projected, and it made six verified tasks look like no-op writes). Mutate ops (`add`, `add-batch`, `update`, `complete`, `delete`) return `{count, created[], updated[], deleted[], ids[]}` by default (T9931). Use contract-backed paths: `/data/created/0` for create/add-batch, `/data/updated/0` for update/complete, `/data/deleted/0` for delete, and `/data/count` for counts. `ids[]` is a deprecated compatibility alias; opt back to full record via `--full`. Anti-patterns (REJECTED): `cleo show … | tail -1 | jq …`, `cleo list … | jq -r '.data.tasks[].id'`, `cleo add 'X' 2>&1 | grep -oE 'T[0-9]+'`.
279
+ **READ and MUTATE envelopes NEST DIFFERENTLY — the most-guessed-wrong pointer shape.** Mutation envelopes are FLAT (`/data/created/0`); read envelopes nest the record, so `cleo show` needs `/data/task/status`, NEVER `/data/status`. `--field` resolves `description`/`acceptance`/`verification` transparently even under the default projection — no `--full` needed. An unresolvable pointer is a typed `E_FIELD_NOT_FOUND` listing every valid pointer for that op; read it rather than guessing again. `cleo verify`'s own response is SELF-CONFIRMING (it returns the full `verification` object) — do not re-read to check it; if you must, use `--field /data/verification` — `verify` is a MUTATE and its record is FLAT, so the nested `/data/task/...` spelling cannot resolve (gh#1420). Mutate ops (`add`, `add-batch`, `update`, `complete`, `delete`) return `{count, created[], updated[], deleted[], ids[]}` by default (T9931). Use contract-backed paths: `/data/created/0` for create/add-batch, `/data/updated/0` for update/complete, `/data/deleted/0` for delete, and `/data/count` for counts. `ids[]` is a deprecated compatibility alias; opt back to full record via `--full`. Anti-patterns (REJECTED): `cleo show … | tail -1 | jq …`, `cleo list … | jq -r '.data.tasks[].id'`, `cleo add 'X' 2>&1 | grep -oE 'T[0-9]+'`.
280
280
  <!-- /CLEO-INJECTION:section=output-contract -->
281
281
 
282
282
  <!-- CLEO-INJECTION:section=error-handling -->
@@ -420,7 +420,7 @@ Architectural decisions belong in the BRAIN decision-store (`.cleo/brain.db` →
420
420
 
421
421
  **Legacy fallback (last resort only):** `grep -r "D0xx" .cleo/adrs/` then `grep -r "D0xx" .cleo/agent-outputs/`. These are legacy sources being migrated to the decision-store. Prefer BRAIN decisions when available.
422
422
 
423
- Check outcome status (pending/accepted/superseded) and fetch sibling decisions from same epic via `cleo memory decision-find --epic <epicId>`.
423
+ Check outcome status (pending/accepted/superseded). `decision-find` has **no epic filter** — it searches by QUERY text only, so scope it with the epic id as the query (`cleo memory decision-find "<epicId>"`) and read `source_table`/`source_rowid` to confirm provenance.
424
424
 
425
425
  Budget: 3 JIT calls per task phase. More = task is underspecified.
426
426
  <!-- /CLEO-INJECTION:section=memory-jit -->