@cleocode/core 2026.8.2 → 2026.8.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.
- package/dist/check/pr-gate.d.ts.map +1 -1
- package/dist/check/pr-gate.js +9 -0
- package/dist/check/pr-gate.js.map +1 -1
- package/dist/docs/export-document.js +66 -16
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/index.d.ts +2 -0
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +1 -0
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/superseded-store.d.ts +101 -0
- package/dist/doctor/superseded-store.d.ts.map +1 -0
- package/dist/doctor/superseded-store.js +156 -0
- package/dist/doctor/superseded-store.js.map +1 -0
- package/dist/hooks/registry.d.ts +2 -2
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/registry.js +5 -0
- package/dist/hooks/registry.js.map +1 -1
- package/dist/hooks/types.d.ts +59 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.d.ts +12 -0
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +16 -0
- package/dist/init/scaffold-workflows.js.map +1 -1
- package/dist/init/upgrade-workflows.d.ts.map +1 -1
- package/dist/init/upgrade-workflows.js +16 -0
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +16 -1
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/llm/credentials.d.ts +16 -1
- package/dist/llm/credentials.d.ts.map +1 -1
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/cross-provider-selector.d.ts +25 -0
- package/dist/llm/cross-provider-selector.d.ts.map +1 -1
- package/dist/llm/cross-provider-selector.js +76 -3
- package/dist/llm/cross-provider-selector.js.map +1 -1
- package/dist/llm/local-inference-probe.d.ts +101 -0
- package/dist/llm/local-inference-probe.d.ts.map +1 -0
- package/dist/llm/local-inference-probe.js +174 -0
- package/dist/llm/local-inference-probe.js.map +1 -0
- package/dist/llm/plugin-facade.js +199 -21
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/role-executor.d.ts.map +1 -1
- package/dist/llm/role-executor.js +95 -9
- package/dist/llm/role-executor.js.map +1 -1
- package/dist/llm/role-resolver.d.ts +10 -0
- package/dist/llm/role-resolver.d.ts.map +1 -1
- package/dist/llm/role-resolver.js +92 -1
- package/dist/llm/role-resolver.js.map +1 -1
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +2 -0
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/memory/brain-search.d.ts +109 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +149 -37
- package/dist/memory/brain-search.js.map +1 -1
- package/dist/memory/brain-stub-prune.d.ts +109 -0
- package/dist/memory/brain-stub-prune.d.ts.map +1 -0
- package/dist/memory/brain-stub-prune.js +155 -0
- package/dist/memory/brain-stub-prune.js.map +1 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +61 -3
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +28 -0
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/context.d.ts.map +1 -1
- package/dist/nexus/context.js +3 -3
- package/dist/nexus/context.js.map +1 -1
- package/dist/nexus/impact.d.ts.map +1 -1
- package/dist/nexus/impact.js +3 -3
- package/dist/nexus/impact.js.map +1 -1
- package/dist/nexus/symbol-miss.d.ts +132 -0
- package/dist/nexus/symbol-miss.d.ts.map +1 -0
- package/dist/nexus/symbol-miss.js +168 -0
- package/dist/nexus/symbol-miss.js.map +1 -0
- package/dist/orchestrate/spawn-ops.d.ts +21 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +39 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestrate/worker-verify.d.ts.map +1 -1
- package/dist/orchestrate/worker-verify.js +22 -0
- package/dist/orchestrate/worker-verify.js.map +1 -1
- package/dist/release/changesets-aggregator.d.ts.map +1 -1
- package/dist/release/changesets-aggregator.js +15 -1
- package/dist/release/changesets-aggregator.js.map +1 -1
- package/dist/release/open.d.ts +29 -2
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +48 -11
- package/dist/release/open.js.map +1 -1
- package/dist/resources/governor.d.ts +12 -2
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +12 -3
- package/dist/resources/governor.js.map +1 -1
- package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
- package/dist/scaffold/ensure-dirs.js +14 -2
- package/dist/scaffold/ensure-dirs.js.map +1 -1
- package/dist/scaffold/project-detection.d.ts.map +1 -1
- package/dist/scaffold/project-detection.js +2 -1
- package/dist/scaffold/project-detection.js.map +1 -1
- package/dist/selfimprove/draft-pr.d.ts +14 -1
- package/dist/selfimprove/draft-pr.d.ts.map +1 -1
- package/dist/selfimprove/draft-pr.js.map +1 -1
- package/dist/selfimprove/fix-gen.d.ts +0 -21
- package/dist/selfimprove/fix-gen.d.ts.map +1 -1
- package/dist/selfimprove/fix-gen.js +276 -76
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/selfimprove/run-loop.d.ts.map +1 -1
- package/dist/selfimprove/run-loop.js +50 -19
- package/dist/selfimprove/run-loop.js.map +1 -1
- package/dist/selfimprove/scenarios/dhq-replay-find/golden.json +114 -4
- package/dist/selfimprove/scenarios/dhq-replay-find/scenario.json +3 -3
- package/dist/sentient/dream-cycle.d.ts +20 -19
- package/dist/sentient/dream-cycle.d.ts.map +1 -1
- package/dist/sentient/dream-cycle.js +322 -11
- package/dist/sentient/dream-cycle.js.map +1 -1
- package/dist/sentient/dream-watermark.d.ts +134 -0
- package/dist/sentient/dream-watermark.d.ts.map +1 -0
- package/dist/sentient/dream-watermark.js +156 -0
- package/dist/sentient/dream-watermark.js.map +1 -0
- package/dist/sentient/state.d.ts +17 -0
- package/dist/sentient/state.d.ts.map +1 -1
- package/dist/sentient/state.js +22 -3
- package/dist/sentient/state.js.map +1 -1
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +79 -2
- package/dist/sentient/tick.js.map +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +5 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +6 -3
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/store/checkpoint-git-dir.d.ts +95 -0
- package/dist/store/checkpoint-git-dir.d.ts.map +1 -0
- package/dist/store/checkpoint-git-dir.js +111 -0
- package/dist/store/checkpoint-git-dir.js.map +1 -0
- package/dist/store/git-checkpoint.d.ts.map +1 -1
- package/dist/store/git-checkpoint.js +6 -5
- package/dist/store/git-checkpoint.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +2 -1
- package/dist/system/health.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +40 -4
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/collection.d.ts +51 -0
- package/dist/tasks/collection.d.ts.map +1 -0
- package/dist/tasks/collection.js +81 -0
- package/dist/tasks/collection.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +8 -3
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +17 -0
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/find.d.ts +50 -0
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +63 -2
- package/dist/tasks/find.js.map +1 -1
- package/dist/tasks/heavy-tool-env.d.ts +112 -0
- package/dist/tasks/heavy-tool-env.d.ts.map +1 -0
- package/dist/tasks/heavy-tool-env.js +133 -0
- package/dist/tasks/heavy-tool-env.js.map +1 -0
- package/dist/tasks/index.d.ts +2 -0
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -0
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +9 -3
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +1 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +83 -0
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +82 -12
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +79 -17
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +55 -22
- package/templates/workflows/release-prepare.yml.tmpl +73 -16
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
import { randomUUID } from 'node:crypto';
|
|
51
51
|
import { z } from 'zod';
|
|
52
52
|
import { IMPLICIT_FALLBACK_MODEL, resolveAnthropicForRole } from '../llm/role-resolver.js';
|
|
53
|
+
import { adaptiveClusterMinSize, nextWatermark, resolveLookbackMs, selectUnconsolidated, } from './dream-watermark.js';
|
|
53
54
|
// ---------------------------------------------------------------------------
|
|
54
55
|
// Constants
|
|
55
56
|
// ---------------------------------------------------------------------------
|
|
@@ -73,6 +74,17 @@ export const DREAM_CLUSTER_MIN_SIZE = 5;
|
|
|
73
74
|
* Prevents runaway LLM cost on large observation sets.
|
|
74
75
|
*/
|
|
75
76
|
export const DREAM_MAX_CLUSTERS = 10;
|
|
77
|
+
/**
|
|
78
|
+
* Upper bound on the provider-liveness probe issued while resolving a dream
|
|
79
|
+
* client (T12082).
|
|
80
|
+
*
|
|
81
|
+
* A provider with a dead credential does not fail fast — the transport retries
|
|
82
|
+
* with backoff, so an unbounded probe blocks the entire consolidation pass
|
|
83
|
+
* behind a chain that will never succeed. Background work must degrade, not
|
|
84
|
+
* hang: a provider that cannot answer a 16-token ping in this window is not
|
|
85
|
+
* usable for consolidation regardless of what it eventually returns.
|
|
86
|
+
*/
|
|
87
|
+
export const DREAM_PROBE_TIMEOUT_MS = 20_000;
|
|
76
88
|
/**
|
|
77
89
|
* Jaccard similarity threshold above which two observations are placed in
|
|
78
90
|
* the same cluster. Value in [0, 1]. Higher = tighter clusters.
|
|
@@ -297,10 +309,125 @@ Extract durable knowledge from these observations. Return empty array if nothing
|
|
|
297
309
|
* @returns `{ client, model }` or `null` when no usable credential exists.
|
|
298
310
|
*/
|
|
299
311
|
async function resolveDreamLlm(projectRoot) {
|
|
300
|
-
|
|
301
|
-
|
|
312
|
+
// Preferred: a real Anthropic client, which supports the structured-output
|
|
313
|
+
// `messages.parse` path.
|
|
314
|
+
const anthropic = await resolveAnthropicForRole('consolidation', { projectRoot });
|
|
315
|
+
if (anthropic)
|
|
316
|
+
return { client: anthropic.client, model: anthropic.model };
|
|
317
|
+
// T12081: fall back to ANY resolvable provider via `executeForRole`.
|
|
318
|
+
//
|
|
319
|
+
// `resolveAnthropicForRole` returns null for every non-anthropic provider, so
|
|
320
|
+
// a project whose `consolidation` role resolves to openai, gemini or a local
|
|
321
|
+
// Ollama endpoint could not run the dream cycle at all — it reported "no
|
|
322
|
+
// usable Anthropic client" and skipped. A provider-specific chokepoint inside
|
|
323
|
+
// an otherwise provider-agnostic system, and the reason the dream cycle was
|
|
324
|
+
// dead on a machine that had working LOCAL inference available the whole time.
|
|
325
|
+
//
|
|
326
|
+
// `executeForRole` is the existing provider-agnostic path (resolve → unseal →
|
|
327
|
+
// ModelRunner.buildTransportFromCredential → complete). Wrapping it in the
|
|
328
|
+
// `messages.create` shape lets the plain-call extractor run unchanged: it
|
|
329
|
+
// already asks for `{content: [{type:'text', text}]}`, which is what this
|
|
330
|
+
// returns.
|
|
331
|
+
try {
|
|
332
|
+
const { executeForRole } = await import('../llm/role-executor.js');
|
|
333
|
+
// Bounded: a provider whose credential is dead answers with retries, not
|
|
334
|
+
// with an error. Left unbounded this probe stalls the whole consolidation
|
|
335
|
+
// pass behind a chain that is never going to succeed — observed here as a
|
|
336
|
+
// dream cycle that ran for over ten minutes without reaching step one.
|
|
337
|
+
// A ping that cannot answer in DREAM_PROBE_TIMEOUT_MS is not a usable
|
|
338
|
+
// provider for background work, whatever it eventually returns.
|
|
339
|
+
const probe = await executeForRole('consolidation', 'ping', 'ping', {
|
|
340
|
+
projectRoot,
|
|
341
|
+
maxTokens: 16,
|
|
342
|
+
signal: AbortSignal.timeout(DREAM_PROBE_TIMEOUT_MS),
|
|
343
|
+
});
|
|
344
|
+
// A null probe means the resolved provider has no usable credential. Do NOT
|
|
345
|
+
// return here — the local tier below is the whole point of having one.
|
|
346
|
+
if (probe) {
|
|
347
|
+
const client = {
|
|
348
|
+
messages: {
|
|
349
|
+
create: async (body) => {
|
|
350
|
+
const userContent = body.messages
|
|
351
|
+
.filter((m) => m.role === 'user')
|
|
352
|
+
.map((m) => m.content)
|
|
353
|
+
.join('\n\n');
|
|
354
|
+
const result = await executeForRole('consolidation', body.system ?? '', userContent, {
|
|
355
|
+
projectRoot,
|
|
356
|
+
});
|
|
357
|
+
return { content: [{ type: 'text', text: result?.content ?? '' }] };
|
|
358
|
+
},
|
|
359
|
+
},
|
|
360
|
+
};
|
|
361
|
+
return { client, model: probe.model };
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
catch {
|
|
365
|
+
// fall through to the local tier
|
|
366
|
+
}
|
|
367
|
+
// T12082: last tier — a reachable LOCAL inference server.
|
|
368
|
+
//
|
|
369
|
+
// The auxiliary fallback chain exists so background work does not fail
|
|
370
|
+
// silently when the primary provider is unavailable, but its default chain
|
|
371
|
+
// (anthropic → openrouter → groq) is entirely cloud. When every cloud
|
|
372
|
+
// credential is unusable the chain is exhausted and consolidation simply
|
|
373
|
+
// stops — which is what happened here while an Ollama server sat running with
|
|
374
|
+
// models loaded, one HTTP request away.
|
|
375
|
+
//
|
|
376
|
+
// A consolidation pass is exactly the workload that should degrade to a small
|
|
377
|
+
// local model rather than stop: not latency-critical, not user-facing, and a
|
|
378
|
+
// shallow synthesis is worth more than none. Detection is a 300 ms loopback
|
|
379
|
+
// probe, so this costs nothing when no server is present.
|
|
380
|
+
try {
|
|
381
|
+
const { detectLocalInference } = await import('../llm/local-inference-probe.js');
|
|
382
|
+
const local = await detectLocalInference();
|
|
383
|
+
const model = local?.models[0];
|
|
384
|
+
if (!local || model === undefined)
|
|
385
|
+
return null;
|
|
386
|
+
const { ModelRunner } = await import('../llm/model-runner.js');
|
|
387
|
+
const transport = ModelRunner.buildTransportFromCredential('openai', {
|
|
388
|
+
provider: 'openai',
|
|
389
|
+
label: `${local.name}-autodetected`,
|
|
390
|
+
// Local servers accept any bearer value; the field is required by the
|
|
391
|
+
// transport contract, not by the endpoint.
|
|
392
|
+
token: 'local',
|
|
393
|
+
authType: 'api_key',
|
|
394
|
+
expiresAt: null,
|
|
395
|
+
refreshToken: null,
|
|
396
|
+
extraHeaders: {},
|
|
397
|
+
// The compat form: this shim speaks `chat_completions`.
|
|
398
|
+
baseUrl: local.openAiBaseUrl,
|
|
399
|
+
awsProfile: null,
|
|
400
|
+
}, 'chat_completions');
|
|
401
|
+
const client = {
|
|
402
|
+
messages: {
|
|
403
|
+
create: async (body) => {
|
|
404
|
+
const response = await transport.complete({
|
|
405
|
+
model,
|
|
406
|
+
maxTokens: body.max_tokens,
|
|
407
|
+
...(body.system !== undefined ? { system: body.system } : {}),
|
|
408
|
+
messages: body.messages.map((m) => ({
|
|
409
|
+
role: m.role,
|
|
410
|
+
content: m.content,
|
|
411
|
+
})),
|
|
412
|
+
});
|
|
413
|
+
return {
|
|
414
|
+
content: [
|
|
415
|
+
{
|
|
416
|
+
type: 'text',
|
|
417
|
+
text: Array.isArray(response.content)
|
|
418
|
+
? response.content.map((c) => c.text ?? '').join('')
|
|
419
|
+
: String(response.content ?? ''),
|
|
420
|
+
},
|
|
421
|
+
],
|
|
422
|
+
};
|
|
423
|
+
},
|
|
424
|
+
},
|
|
425
|
+
};
|
|
426
|
+
return { client, model };
|
|
427
|
+
}
|
|
428
|
+
catch {
|
|
302
429
|
return null;
|
|
303
|
-
|
|
430
|
+
}
|
|
304
431
|
}
|
|
305
432
|
/**
|
|
306
433
|
* Build the `zodOutputFormat` helper (lazy dynamic import matching llm-extraction.ts).
|
|
@@ -383,7 +510,11 @@ async function synthesiseCluster(client, model, cluster) {
|
|
|
383
510
|
const userPrompt = buildDreamUserPrompt(cluster);
|
|
384
511
|
try {
|
|
385
512
|
const format = await buildZodFormat(DreamSynthesisResponseSchema);
|
|
386
|
-
|
|
513
|
+
// T12081: the provider-agnostic shim implements `create` only. Guard on
|
|
514
|
+
// `parse` rather than letting an undefined call throw into the catch-all,
|
|
515
|
+
// which would silently yield zero memories for every non-anthropic provider.
|
|
516
|
+
const hasParse = typeof client.messages.parse === 'function';
|
|
517
|
+
if (format && hasParse) {
|
|
387
518
|
const messages = client.messages;
|
|
388
519
|
const response = await messages.parse({
|
|
389
520
|
model,
|
|
@@ -469,6 +600,85 @@ async function resolveDefaultVerifyAndStore() {
|
|
|
469
600
|
// ---------------------------------------------------------------------------
|
|
470
601
|
// Public API
|
|
471
602
|
// ---------------------------------------------------------------------------
|
|
603
|
+
/**
|
|
604
|
+
* Why anthropic was excluded from provider selection, when it was.
|
|
605
|
+
*
|
|
606
|
+
* T12078: the interesting case is `skipped-consent`. CLEO deliberately will not
|
|
607
|
+
* import another tool's credential without opt-in, so the `claude-code` seeder
|
|
608
|
+
* refuses to read `~/.claude/.credentials.json` until
|
|
609
|
+
* `auth.claudeCodeConsentGiven` is set. That is correct security design — but
|
|
610
|
+
* it is invisible at the point of failure, and its symptom is identical to
|
|
611
|
+
* "you have no credentials": the stored anthropic entries simply age out (here:
|
|
612
|
+
* 2026-05-18 and 2026-07-12), refresh fails, the selector drops anthropic, and
|
|
613
|
+
* every LLM-dependent feature dies quietly while a perfectly valid token sits
|
|
614
|
+
* in a file CLEO has chosen not to read.
|
|
615
|
+
*
|
|
616
|
+
* Naming the consent flag turns a multi-hour investigation into one command.
|
|
617
|
+
*
|
|
618
|
+
* @returns a remedy sentence; never throws.
|
|
619
|
+
*
|
|
620
|
+
* @task T12078
|
|
621
|
+
*/
|
|
622
|
+
async function describeAnthropicExclusion() {
|
|
623
|
+
try {
|
|
624
|
+
const { getCredentialPool } = await import('../llm/credential-pool.js');
|
|
625
|
+
const pool = getCredentialPool();
|
|
626
|
+
// Seeder status is populated by a seed pass; in a fresh process it is empty
|
|
627
|
+
// until one runs. A non-forced seed honours the 60s cache, so this is cheap
|
|
628
|
+
// and idempotent on the error path.
|
|
629
|
+
await pool.seed().catch(() => undefined);
|
|
630
|
+
const status = await pool.getSeederStatus();
|
|
631
|
+
// 'claude-code' below is a credential SEEDER id, not a model literal — the
|
|
632
|
+
// chokepoint rule's pattern cannot tell the two apart, hence the opt-out.
|
|
633
|
+
const claudeCode = status.find((s) => s.sourceId === 'claude-code'); // llm-resolve-allowed: seeder id, not a model
|
|
634
|
+
if (claudeCode?.lastResult === 'skipped-consent') {
|
|
635
|
+
return ('Anthropic was excluded because its stored credentials are expired and the ' +
|
|
636
|
+
'claude-code seeder is gated on consent (lastResult=skipped-consent), so the ' +
|
|
637
|
+
'valid token in ~/.claude/.credentials.json is never imported. Fix with ' +
|
|
638
|
+
'EITHER `cleo config set auth.claudeCodeConsentGiven true` (authorise CLEO to ' +
|
|
639
|
+
'read Claude Code credentials) OR `cleo login anthropic`.');
|
|
640
|
+
}
|
|
641
|
+
return ('Either configure llm.roles.consolidation for anthropic, or restore an ' +
|
|
642
|
+
'anthropic credential (`cleo login anthropic`) so the cross-provider ' +
|
|
643
|
+
'selector stops excluding it.');
|
|
644
|
+
}
|
|
645
|
+
catch {
|
|
646
|
+
return 'Run `cleo login anthropic` to restore an anthropic credential.';
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* One-line explanation of why {@link resolveDreamLlm} produced no client.
|
|
651
|
+
*
|
|
652
|
+
* Distinguishes "the role resolved to a provider this path cannot use" from
|
|
653
|
+
* "no credential at all", because the remedies are different: the first needs
|
|
654
|
+
* a role/config change or a provider-agnostic runner, the second needs a
|
|
655
|
+
* login.
|
|
656
|
+
*
|
|
657
|
+
* Never throws — diagnostics must not break the caller's error path.
|
|
658
|
+
*
|
|
659
|
+
* @param projectRoot - project root used for resolution.
|
|
660
|
+
* @returns a human-readable reason, always non-empty.
|
|
661
|
+
*
|
|
662
|
+
* @task T12078
|
|
663
|
+
*/
|
|
664
|
+
async function describeDreamLlmResolution(projectRoot) {
|
|
665
|
+
try {
|
|
666
|
+
const { resolveLLMForRole } = await import('../llm/role-resolver.js');
|
|
667
|
+
const llm = await resolveLLMForRole('consolidation', { projectRoot });
|
|
668
|
+
if (llm.provider !== 'anthropic') {
|
|
669
|
+
const why = await describeAnthropicExclusion();
|
|
670
|
+
return (`The 'consolidation' role resolved to provider '${llm.provider}' (model ` +
|
|
671
|
+
`'${llm.model}'), but this path requires anthropic. ${why}`);
|
|
672
|
+
}
|
|
673
|
+
if (!llm.sealedCredential) {
|
|
674
|
+
return 'Resolved provider anthropic, but no usable credential — run `cleo login anthropic`.';
|
|
675
|
+
}
|
|
676
|
+
return 'Resolved provider anthropic with a credential, but no client was constructed.';
|
|
677
|
+
}
|
|
678
|
+
catch (err) {
|
|
679
|
+
return `LLM resolution failed: ${err instanceof Error ? err.message : String(err)}`;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
472
682
|
/**
|
|
473
683
|
* Run one full dream cycle.
|
|
474
684
|
*
|
|
@@ -488,6 +698,62 @@ async function resolveDefaultVerifyAndStore() {
|
|
|
488
698
|
*
|
|
489
699
|
* @task T1680
|
|
490
700
|
*/
|
|
701
|
+
/**
|
|
702
|
+
* Read the consolidation watermark from sentient state (T12088).
|
|
703
|
+
*
|
|
704
|
+
* Never throws — an unreadable state file yields `null`, which means "no
|
|
705
|
+
* watermark", i.e. fall back to the nominal lookback. Degrading to the previous
|
|
706
|
+
* fixed-window behaviour is correct; refusing to consolidate would not be.
|
|
707
|
+
*
|
|
708
|
+
* @param statePath - path to the sentient state file.
|
|
709
|
+
* @param options - dream options (test seam: `dreamWatermark`).
|
|
710
|
+
* @returns ISO timestamp already consolidated, or `null`.
|
|
711
|
+
*
|
|
712
|
+
* @task T12088
|
|
713
|
+
*/
|
|
714
|
+
async function readDreamWatermark(statePath, options) {
|
|
715
|
+
if (options.dreamWatermark !== undefined)
|
|
716
|
+
return options.dreamWatermark;
|
|
717
|
+
try {
|
|
718
|
+
const { readSentientState } = await import('./state.js');
|
|
719
|
+
const state = (await readSentientState(statePath));
|
|
720
|
+
return state.dreamWatermark ?? null;
|
|
721
|
+
}
|
|
722
|
+
catch {
|
|
723
|
+
return null;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* Persist the consolidation watermark into sentient state (T12088).
|
|
728
|
+
*
|
|
729
|
+
* A `null` watermark (empty batch) is a no-op: an empty pass must not advance
|
|
730
|
+
* progress past material it never read.
|
|
731
|
+
*
|
|
732
|
+
* Never throws — losing a watermark write costs one redundant pass, whereas
|
|
733
|
+
* throwing here would discard a completed consolidation.
|
|
734
|
+
*
|
|
735
|
+
* @param statePath - path to the sentient state file.
|
|
736
|
+
* @param watermark - newest processed `createdAt`, or `null`.
|
|
737
|
+
* @param options - dream options (test seam: `onWatermarkWrite`).
|
|
738
|
+
*
|
|
739
|
+
* @task T12088
|
|
740
|
+
*/
|
|
741
|
+
async function writeDreamWatermark(statePath, watermark, options) {
|
|
742
|
+
if (watermark === null)
|
|
743
|
+
return;
|
|
744
|
+
if (options.onWatermarkWrite) {
|
|
745
|
+
options.onWatermarkWrite(watermark);
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
try {
|
|
749
|
+
const { readSentientState, writeSentientState } = await import('./state.js');
|
|
750
|
+
const state = await readSentientState(statePath);
|
|
751
|
+
await writeSentientState(statePath, { ...state, dreamWatermark: watermark });
|
|
752
|
+
}
|
|
753
|
+
catch {
|
|
754
|
+
// Non-fatal: the next pass simply re-reads this window.
|
|
755
|
+
}
|
|
756
|
+
}
|
|
491
757
|
export async function runDreamCycle(options) {
|
|
492
758
|
const { projectRoot, statePath } = options;
|
|
493
759
|
const runId = randomUUID().slice(0, 8);
|
|
@@ -536,24 +802,61 @@ export async function runDreamCycle(options) {
|
|
|
536
802
|
model = resolved?.model ?? DREAM_DEFAULT_MODEL;
|
|
537
803
|
}
|
|
538
804
|
if (!client) {
|
|
805
|
+
// T12078: report WHY, not a guess.
|
|
806
|
+
//
|
|
807
|
+
// This message used to assert "No LLM API key found (checked
|
|
808
|
+
// ANTHROPIC_API_KEY, ~/.claude/.credentials.json, ~/.cleo/config.json)".
|
|
809
|
+
// That was frequently false, and its falseness hid a real outage: on this
|
|
810
|
+
// machine a VALID Anthropic OAuth token sat in
|
|
811
|
+
// `~/.claude/.credentials.json` while the dream cycle reported no key at
|
|
812
|
+
// all. The actual chain was:
|
|
813
|
+
//
|
|
814
|
+
// • CLEO's own credential store held two Anthropic OAuth entries, both
|
|
815
|
+
// long expired (2026-05-18, 2026-07-12), whose refresh failed;
|
|
816
|
+
// • `cross-provider-selector` therefore EXCLUDED anthropic and resolved
|
|
817
|
+
// the `consolidation` role to openai/gpt-5.5-pro;
|
|
818
|
+
// • `resolveAnthropicForRole` returns null for any non-anthropic
|
|
819
|
+
// provider, so this path saw `client === null`.
|
|
820
|
+
//
|
|
821
|
+
// Three different causes — no credential, an expired one, or a role
|
|
822
|
+
// resolved to a provider this Anthropic-only path cannot use — all
|
|
823
|
+
// collapsed into one message that named only the first. Naming the
|
|
824
|
+
// resolved provider is what makes the difference visible.
|
|
825
|
+
const resolvedProvider = await describeDreamLlmResolution(projectRoot);
|
|
539
826
|
return {
|
|
540
827
|
kind: 'no-api-key',
|
|
541
|
-
detail:
|
|
828
|
+
detail: `Dream cycle skipped — no usable Anthropic client. ${resolvedProvider}`,
|
|
542
829
|
};
|
|
543
830
|
}
|
|
544
|
-
// Step 3: collect observations.
|
|
545
|
-
|
|
831
|
+
// Step 3: collect observations — INCREMENTALLY (T12088).
|
|
832
|
+
//
|
|
833
|
+
// The window was previously a fixed `now - 24h` with no record of what had
|
|
834
|
+
// already been consolidated, so every run re-clustered and re-sent the same
|
|
835
|
+
// material (measured: 25 → 28 → 30 → 36 → 37 across consecutive runs), while
|
|
836
|
+
// anything that aged past 24 h was consolidated NEVER rather than later.
|
|
837
|
+
//
|
|
838
|
+
// The watermark WIDENS the window when the daemon has been off and never
|
|
839
|
+
// narrows it below the nominal lookback — clustering still needs context.
|
|
840
|
+
const nominalLookbackMs = options.lookbackMs ?? DREAM_LOOKBACK_MS;
|
|
841
|
+
const watermark = await readDreamWatermark(statePath, options);
|
|
842
|
+
const lookbackMs = resolveLookbackMs(watermark, nominalLookbackMs);
|
|
546
843
|
const collect = options.collectObservations ?? defaultCollectObservations;
|
|
547
|
-
let
|
|
844
|
+
let collected;
|
|
548
845
|
try {
|
|
549
|
-
|
|
846
|
+
collected = await collect(projectRoot, lookbackMs);
|
|
550
847
|
}
|
|
551
848
|
catch (err) {
|
|
552
849
|
const message = err instanceof Error ? err.message : String(err);
|
|
553
850
|
digest.warnings.push(`collection error: ${message}`);
|
|
554
|
-
|
|
851
|
+
collected = [];
|
|
555
852
|
}
|
|
853
|
+
// Synthesis targets only what is genuinely new; the wider set above still
|
|
854
|
+
// informed clustering context.
|
|
855
|
+
const observations = selectUnconsolidated(collected, watermark);
|
|
556
856
|
digest.observationsCollected = observations.length;
|
|
857
|
+
if (collected.length !== observations.length) {
|
|
858
|
+
digest.warnings.push(`incremental: ${collected.length - observations.length} observation(s) already consolidated (watermark ${watermark ?? 'none'})`);
|
|
859
|
+
}
|
|
557
860
|
if (observations.length === 0) {
|
|
558
861
|
return {
|
|
559
862
|
kind: 'no-observations',
|
|
@@ -571,7 +874,11 @@ export async function runDreamCycle(options) {
|
|
|
571
874
|
};
|
|
572
875
|
}
|
|
573
876
|
// Step 5 + 6: synthesise eligible clusters, store memories.
|
|
574
|
-
|
|
877
|
+
//
|
|
878
|
+
// T12088: the minimum scales with the corpus. A fixed 5 meant a freshly
|
|
879
|
+
// dropped-in CLEO — which never has 5 similar observations — completed with
|
|
880
|
+
// `memoriesStored: 0` indefinitely, i.e. it could not begin learning at all.
|
|
881
|
+
const clusterMinSize = options.clusterMinSize ?? adaptiveClusterMinSize(observations.length);
|
|
575
882
|
const maxClusters = options.maxClusters ?? DREAM_MAX_CLUSTERS;
|
|
576
883
|
const minImportance = options.minImportance ?? DREAM_MIN_IMPORTANCE;
|
|
577
884
|
const eligibleClusters = clusters
|
|
@@ -630,6 +937,10 @@ export async function runDreamCycle(options) {
|
|
|
630
937
|
const message = err instanceof Error ? err.message : String(err);
|
|
631
938
|
digest.warnings.push(`digest observation write error: ${message}`);
|
|
632
939
|
}
|
|
940
|
+
// T12088: advance the watermark so the NEXT pass starts where this one ended.
|
|
941
|
+
// Written only on the completed path — a pass that errored out must be able to
|
|
942
|
+
// re-read the same material rather than skip it.
|
|
943
|
+
await writeDreamWatermark(statePath, nextWatermark(observations), options);
|
|
633
944
|
return {
|
|
634
945
|
kind: 'completed',
|
|
635
946
|
detail: `dream cycle completed: ${digest.memoriesStored} memories stored/merged ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dream-cycle.js","sourceRoot":"","sources":["../../src/sentient/dream-cycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dream-cycle.js","sourceRoot":"","sources":["../../src/sentient/dream-cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Incremental + adaptive consolidation policy for the dream cycle (T12088).
|
|
3
|
+
*
|
|
4
|
+
* ## What was fixed
|
|
5
|
+
*
|
|
6
|
+
* The collector was a fixed window with no memory of its own progress:
|
|
7
|
+
*
|
|
8
|
+
* ```sql
|
|
9
|
+
* WHERE created_at >= (now - 24h) ORDER BY created_at ASC LIMIT 2000
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Three consequences, all observed live on 2026-08-06:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Every run redid the previous run's work.** Consecutive cycles collected
|
|
15
|
+
* 25 → 28 → 30 → 36 → 37 observations — the same material re-clustered and
|
|
16
|
+
* re-sent to the LLM each time. Dedup at the storage gate hid it, so the
|
|
17
|
+
* waste was invisible while consuming the entire LLM budget of every pass.
|
|
18
|
+
*
|
|
19
|
+
* 2. **Anything older than the window was consolidated NEVER.** Not "later" —
|
|
20
|
+
* never. The sentient loop was dead for three months; every observation from
|
|
21
|
+
* that period aged out of the 24 h window unread and became permanently
|
|
22
|
+
* invisible to consolidation. A memory system whose intake silently expires
|
|
23
|
+
* is not an "ever-growing memory".
|
|
24
|
+
*
|
|
25
|
+
* 3. **A fixed `clusterMinSize: 5` meant a new project could not learn.** A
|
|
26
|
+
* freshly dropped-in CLEO has a handful of observations, never 5 similar
|
|
27
|
+
* ones, so the cycle completed with `memoriesStored: 0` indefinitely. The
|
|
28
|
+
* goal is that CLEO learns "like an infant to expert"; the threshold was set
|
|
29
|
+
* for the expert end and blocked the infant end entirely.
|
|
30
|
+
*
|
|
31
|
+
* ## The policy
|
|
32
|
+
*
|
|
33
|
+
* - **Watermark.** Consolidation records the newest `createdAt` it processed.
|
|
34
|
+
* The next run starts there, so work is never repeated.
|
|
35
|
+
* - **The watermark widens, never narrows.** When it is older than the nominal
|
|
36
|
+
* lookback (daemon was off), the window reaches back to it instead of
|
|
37
|
+
* clamping to `now - 24h`. A gap is caught up, not dropped.
|
|
38
|
+
* - **First run has no watermark**, so it uses the nominal lookback — existing
|
|
39
|
+
* behaviour, unchanged.
|
|
40
|
+
* - **Adaptive minimum cluster size** scales with how much the project has
|
|
41
|
+
* actually observed, so a young project consolidates pairs while a mature one
|
|
42
|
+
* still demands real repetition before promoting a memory.
|
|
43
|
+
*
|
|
44
|
+
* @task T12088
|
|
45
|
+
*/
|
|
46
|
+
/** Nominal lookback when no watermark exists yet (24 h). */
|
|
47
|
+
export declare const DEFAULT_NOMINAL_LOOKBACK_MS: number;
|
|
48
|
+
/**
|
|
49
|
+
* Hard ceiling on how far back a catch-up pass will reach (30 days).
|
|
50
|
+
*
|
|
51
|
+
* Without a bound, a watermark from months ago would pull an entire corpus into
|
|
52
|
+
* one pass and spend the whole LLM budget on the first tick after a long
|
|
53
|
+
* outage. Older material belongs to an explicit backfill, not a background tick.
|
|
54
|
+
*/
|
|
55
|
+
export declare const MAX_CATCHUP_LOOKBACK_MS: number;
|
|
56
|
+
/** Smallest cluster the adaptive policy will ever synthesise. */
|
|
57
|
+
export declare const MIN_ADAPTIVE_CLUSTER_SIZE = 2;
|
|
58
|
+
/** Largest cluster minimum the adaptive policy will ever demand. */
|
|
59
|
+
export declare const MAX_ADAPTIVE_CLUSTER_SIZE = 5;
|
|
60
|
+
/**
|
|
61
|
+
* Observations per unit of required cluster size.
|
|
62
|
+
*
|
|
63
|
+
* At 20 observations the minimum is 2 (a young project can pair things up); by
|
|
64
|
+
* 50 it reaches the mature default of 5, where a memory must be backed by real
|
|
65
|
+
* repetition.
|
|
66
|
+
*/
|
|
67
|
+
export declare const ADAPTIVE_CLUSTER_DIVISOR = 10;
|
|
68
|
+
/**
|
|
69
|
+
* Resolve the effective lookback for this pass.
|
|
70
|
+
*
|
|
71
|
+
* @param watermark - ISO timestamp of the newest observation already
|
|
72
|
+
* consolidated, or `null` on a first run.
|
|
73
|
+
* @param nominalMs - the configured window (default 24 h).
|
|
74
|
+
* @param nowMs - current time in ms (injected for determinism in tests).
|
|
75
|
+
* @returns the lookback to use, always ≥ `nominalMs` and ≤
|
|
76
|
+
* {@link MAX_CATCHUP_LOOKBACK_MS}.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* // Daemon off for 5 days → widen to 5 days rather than losing 4 of them.
|
|
81
|
+
* resolveLookbackMs('2026-08-01T00:00:00Z', DAY, Date.parse('2026-08-06T00:00:00Z'));
|
|
82
|
+
* // → 5 * DAY
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @task T12088
|
|
86
|
+
*/
|
|
87
|
+
export declare function resolveLookbackMs(watermark: string | null, nominalMs?: number, nowMs?: number): number;
|
|
88
|
+
/**
|
|
89
|
+
* Minimum cluster size appropriate to the size of the observation corpus.
|
|
90
|
+
*
|
|
91
|
+
* @param totalObservations - how many observations exist in the window.
|
|
92
|
+
* @returns a value in `[MIN_ADAPTIVE_CLUSTER_SIZE, MAX_ADAPTIVE_CLUSTER_SIZE]`.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* adaptiveClusterMinSize(6); // → 2 (a young project can still learn)
|
|
97
|
+
* adaptiveClusterMinSize(30); // → 3
|
|
98
|
+
* adaptiveClusterMinSize(500); // → 5 (mature: demand real repetition)
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @task T12088
|
|
102
|
+
*/
|
|
103
|
+
export declare function adaptiveClusterMinSize(totalObservations: number): number;
|
|
104
|
+
/**
|
|
105
|
+
* Drop observations at or before the watermark.
|
|
106
|
+
*
|
|
107
|
+
* Applied AFTER collection so the widened window still supplies clustering
|
|
108
|
+
* context, while synthesis effort concentrates on what is genuinely new. The
|
|
109
|
+
* comparison is on the ISO `createdAt` string, which sorts lexicographically
|
|
110
|
+
* for a fixed format — the same ordering the collector's `ORDER BY` relies on.
|
|
111
|
+
*
|
|
112
|
+
* @param observations - collected observations, any order.
|
|
113
|
+
* @param watermark - ISO timestamp already consolidated, or `null`.
|
|
114
|
+
* @returns observations strictly newer than the watermark.
|
|
115
|
+
*
|
|
116
|
+
* @task T12088
|
|
117
|
+
*/
|
|
118
|
+
export declare function selectUnconsolidated<T extends {
|
|
119
|
+
createdAt: string;
|
|
120
|
+
}>(observations: readonly T[], watermark: string | null): T[];
|
|
121
|
+
/**
|
|
122
|
+
* The newest `createdAt` in a batch — the watermark to persist after a pass.
|
|
123
|
+
*
|
|
124
|
+
* @param observations - observations processed in this pass.
|
|
125
|
+
* @returns the max ISO timestamp, or `null` for an empty batch, leaving any
|
|
126
|
+
* existing watermark untouched so a no-op pass cannot advance progress past
|
|
127
|
+
* material it never read.
|
|
128
|
+
*
|
|
129
|
+
* @task T12088
|
|
130
|
+
*/
|
|
131
|
+
export declare function nextWatermark(observations: readonly {
|
|
132
|
+
createdAt: string;
|
|
133
|
+
}[]): string | null;
|
|
134
|
+
//# sourceMappingURL=dream-watermark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dream-watermark.d.ts","sourceRoot":"","sources":["../../src/sentient/dream-watermark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,QAAsB,CAAC;AAE/D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAEhE,iEAAiE;AACjE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,SAAS,GAAE,MAAoC,EAC/C,KAAK,GAAE,MAAmB,GACzB,MAAM,CAUR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAClE,YAAY,EAAE,SAAS,CAAC,EAAE,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,CAAC,EAAE,CAGL;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAM3F"}
|