@cleocode/core 2026.6.19 → 2026.7.2
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/docs/export-document.js +1160 -329
- package/dist/docs/export-document.js.map +3 -3
- package/dist/llm/plugin-facade.js +1211 -383
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
- package/dist/memory/brain-writer-handlers.js +39 -0
- package/dist/memory/brain-writer-handlers.js.map +1 -1
- package/dist/orchestrate/admission.d.ts +65 -0
- package/dist/orchestrate/admission.d.ts.map +1 -0
- package/dist/orchestrate/admission.js +54 -0
- package/dist/orchestrate/admission.js.map +1 -0
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +37 -8
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +24 -0
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/resources/governor.d.ts +133 -0
- package/dist/resources/governor.d.ts.map +1 -0
- package/dist/resources/governor.js +377 -0
- package/dist/resources/governor.js.map +1 -0
- package/dist/resources/supervisor-admit.d.ts +42 -0
- package/dist/resources/supervisor-admit.d.ts.map +1 -0
- package/dist/resources/supervisor-admit.js +136 -0
- package/dist/resources/supervisor-admit.js.map +1 -0
- package/dist/selfimprove/draft-pr.d.ts +93 -9
- package/dist/selfimprove/draft-pr.d.ts.map +1 -1
- package/dist/selfimprove/draft-pr.js +164 -23
- package/dist/selfimprove/draft-pr.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +1209 -381
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/selfimprove/run-loop.d.ts +9 -1
- package/dist/selfimprove/run-loop.d.ts.map +1 -1
- package/dist/selfimprove/run-loop.js +7 -1
- package/dist/selfimprove/run-loop.js.map +1 -1
- package/dist/sentient/tick.d.ts.map +1 -1
- package/dist/sentient/tick.js +29 -0
- package/dist/sentient/tick.js.map +1 -1
- package/dist/store/agent-registry-store.d.ts.map +1 -1
- package/dist/store/agent-registry-store.js +17 -2
- package/dist/store/agent-registry-store.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +35 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +15 -0
- package/dist/store/sqlite.js.map +1 -1
- package/dist/tasks/tool-semaphore.d.ts +25 -0
- package/dist/tasks/tool-semaphore.d.ts.map +1 -1
- package/dist/tasks/tool-semaphore.js +68 -1
- package/dist/tasks/tool-semaphore.js.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-handlers.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"brain-writer-handlers.d.ts","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAOV,YAAY,EACZ,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAmClC;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0B/E"}
|
|
@@ -13,7 +13,42 @@
|
|
|
13
13
|
* @epic T10286
|
|
14
14
|
* @saga T10281
|
|
15
15
|
*/
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
import { isMainThread } from 'node:worker_threads';
|
|
16
18
|
import { getLogger } from '../logger.js';
|
|
19
|
+
/**
|
|
20
|
+
* Synchronise the writer's `CLEO_DIR` view with the op's authoritative
|
|
21
|
+
* `projectRoot` when executing inside the brain-writer worker thread.
|
|
22
|
+
*
|
|
23
|
+
* ## Why this is required (cross-thread env staleness)
|
|
24
|
+
*
|
|
25
|
+
* `worker_threads.Worker` receives a *snapshot copy* of `process.env` at spawn
|
|
26
|
+
* time; later mutations on the main thread are NOT propagated to the worker.
|
|
27
|
+
* The persistent brain-writer worker is spawned lazily on the first enqueue and
|
|
28
|
+
* then lives for the rest of the process, so its `process.env['CLEO_DIR']` is
|
|
29
|
+
* frozen to whatever value was set when it spawned.
|
|
30
|
+
*
|
|
31
|
+
* `resolveCleoDir()` gives an absolute `CLEO_DIR` override precedence over the
|
|
32
|
+
* explicitly-passed `cwd` (paths.ts step 2 > step 3). Inside the worker, that
|
|
33
|
+
* stale absolute override therefore wins over the op's `projectRoot`, so every
|
|
34
|
+
* downstream `getDb()` / `resolveCleoDir()` (e.g. the cross-db session
|
|
35
|
+
* write-guard in `observeBrain`) resolves to the WRONG `.cleo` directory —
|
|
36
|
+
* silently dropping cross-db references such as `sourceSessionId`.
|
|
37
|
+
*
|
|
38
|
+
* Each write op already carries its authoritative `projectRoot`, so on the
|
|
39
|
+
* worker thread we re-point `CLEO_DIR` to `<projectRoot>/.cleo` before
|
|
40
|
+
* dispatching — exactly mirroring the value the main thread holds. On the main
|
|
41
|
+
* thread (inline-fallback executor) we leave `process.env` untouched: its
|
|
42
|
+
* `CLEO_DIR` is already authoritative and must not be clobbered.
|
|
43
|
+
*
|
|
44
|
+
* @param projectRoot - The op's authoritative project root.
|
|
45
|
+
*/
|
|
46
|
+
function syncWorkerCleoDir(projectRoot) {
|
|
47
|
+
if (isMainThread)
|
|
48
|
+
return;
|
|
49
|
+
// Mirror the main thread's resolution: an absolute CLEO_DIR pins `.cleo`.
|
|
50
|
+
process.env['CLEO_DIR'] = join(projectRoot, '.cleo');
|
|
51
|
+
}
|
|
17
52
|
/**
|
|
18
53
|
* Dispatch a write op to its terminal handler. Throws on failure — the worker
|
|
19
54
|
* envelope code converts the throw into an `ok:false` response.
|
|
@@ -22,6 +57,10 @@ import { getLogger } from '../logger.js';
|
|
|
22
57
|
* @returns A typed `BrainWriteResult` mirroring the op's `kind`.
|
|
23
58
|
*/
|
|
24
59
|
export async function handleWriteOp(op) {
|
|
60
|
+
// Re-point CLEO_DIR to the op's project root on the worker thread so all
|
|
61
|
+
// downstream `.cleo` resolution (incl. cross-db write-guards) is consistent
|
|
62
|
+
// with the main thread regardless of the worker's stale env snapshot.
|
|
63
|
+
syncWorkerCleoDir(op.projectRoot);
|
|
25
64
|
switch (op.kind) {
|
|
26
65
|
case 'observe':
|
|
27
66
|
return handleObserve(op);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-writer-handlers.js","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"brain-writer-handlers.js","sourceRoot":"","sources":["../../src/memory/brain-writer-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent admission — Never-OOM wave/spawn gating (T12000, Epic T11992).
|
|
3
|
+
*
|
|
4
|
+
* Two surfaces share the {@link ResourceGovernor} `agent-session` class:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Advisory annotation** ({@link computeAgentAdmission}) — `orchestrate ready`
|
|
7
|
+
* and `orchestrate waves` annotate which ready tasks are admittable NOW
|
|
8
|
+
* versus deferred, so an orchestrator sizes its parallel fan-out to host
|
|
9
|
+
* capacity and retries the remainder on a later pull instead of spawning a
|
|
10
|
+
* swarm that OOMs the box. Non-destructive: the full ready set is preserved;
|
|
11
|
+
* only an additive `admission` breakdown is attached.
|
|
12
|
+
* 2. **Hard enforcement** (the spawn-execute gate in `spawn-ops.ts`) — acquires
|
|
13
|
+
* an `agent-session` grant BEFORE any worktree or process is provisioned, so
|
|
14
|
+
* a denial returns a retryable {@link RESOURCE_DEFERRED_CODE} with no partial
|
|
15
|
+
* artifacts left behind.
|
|
16
|
+
*
|
|
17
|
+
* The annotation guides; the gate enforces. In `off` mode (and on idle hosts
|
|
18
|
+
* with ample memory) both are pass-through and today's behaviour is unchanged.
|
|
19
|
+
*
|
|
20
|
+
* @task T12000
|
|
21
|
+
* @epic T11992
|
|
22
|
+
* @adr resource-governor-never-oom-architecture §3.4 (admission #1/#2)
|
|
23
|
+
*/
|
|
24
|
+
import type { ResourceSample } from '../resources/backend.js';
|
|
25
|
+
/**
|
|
26
|
+
* Additive admission breakdown attached to `ready`/`waves` envelopes. Legacy
|
|
27
|
+
* consumers ignore it; admission-aware orchestrators spawn only {@link admitted}
|
|
28
|
+
* and re-query for {@link deferred} as slots free.
|
|
29
|
+
*/
|
|
30
|
+
export interface AgentAdmission {
|
|
31
|
+
/**
|
|
32
|
+
* Currently-grantable `agent-session` slots (budget − held). A finite count
|
|
33
|
+
* in `local`/`supervisor` mode; equals the candidate count when ungated
|
|
34
|
+
* (`off` mode / unbounded budget) so the field always serializes as a number.
|
|
35
|
+
*/
|
|
36
|
+
readonly agentBudget: number;
|
|
37
|
+
/** Candidate task IDs admitted to spawn now (the first {@link agentBudget}). */
|
|
38
|
+
readonly admitted: string[];
|
|
39
|
+
/** Candidate task IDs deferred — retry on a later query as slots free. */
|
|
40
|
+
readonly deferred: string[];
|
|
41
|
+
}
|
|
42
|
+
/** Options for {@link computeAgentAdmission}. */
|
|
43
|
+
export interface AgentAdmissionOptions {
|
|
44
|
+
/** Inject a pre-taken pressure sample (tests). */
|
|
45
|
+
readonly sample?: ResourceSample;
|
|
46
|
+
/** Override CPU count (tests). */
|
|
47
|
+
readonly cpuCount?: number;
|
|
48
|
+
/** Override total RAM bytes (tests). */
|
|
49
|
+
readonly totalMemBytes?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Split an ordered list of candidate (ready) task IDs into the set admittable
|
|
53
|
+
* under the current `agent-session` budget and the deferred remainder.
|
|
54
|
+
*
|
|
55
|
+
* Ordering is preserved, so priority-sorted ready sets admit highest-priority
|
|
56
|
+
* tasks first. When the governor is ungated (`off` mode / unbounded), every
|
|
57
|
+
* candidate is admitted and `agentBudget` reflects the full count. A budget of
|
|
58
|
+
* `0` (all slots held) defers everything — the caller re-queries; the spawn
|
|
59
|
+
* gate is the hard backstop, so an over-eager retry is bounded there too.
|
|
60
|
+
*
|
|
61
|
+
* @param taskIds - Ready task IDs in the order they should be admitted.
|
|
62
|
+
* @param opts - Optional pressure/host overrides (tests).
|
|
63
|
+
*/
|
|
64
|
+
export declare function computeAgentAdmission(taskIds: readonly string[], opts?: AgentAdmissionOptions): Promise<AgentAdmission>;
|
|
65
|
+
//# sourceMappingURL=admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../src/orchestrate/admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,iDAAiD;AACjD,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,cAAc,CAAC,CAiBzB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent admission — Never-OOM wave/spawn gating (T12000, Epic T11992).
|
|
3
|
+
*
|
|
4
|
+
* Two surfaces share the {@link ResourceGovernor} `agent-session` class:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Advisory annotation** ({@link computeAgentAdmission}) — `orchestrate ready`
|
|
7
|
+
* and `orchestrate waves` annotate which ready tasks are admittable NOW
|
|
8
|
+
* versus deferred, so an orchestrator sizes its parallel fan-out to host
|
|
9
|
+
* capacity and retries the remainder on a later pull instead of spawning a
|
|
10
|
+
* swarm that OOMs the box. Non-destructive: the full ready set is preserved;
|
|
11
|
+
* only an additive `admission` breakdown is attached.
|
|
12
|
+
* 2. **Hard enforcement** (the spawn-execute gate in `spawn-ops.ts`) — acquires
|
|
13
|
+
* an `agent-session` grant BEFORE any worktree or process is provisioned, so
|
|
14
|
+
* a denial returns a retryable {@link RESOURCE_DEFERRED_CODE} with no partial
|
|
15
|
+
* artifacts left behind.
|
|
16
|
+
*
|
|
17
|
+
* The annotation guides; the gate enforces. In `off` mode (and on idle hosts
|
|
18
|
+
* with ample memory) both are pass-through and today's behaviour is unchanged.
|
|
19
|
+
*
|
|
20
|
+
* @task T12000
|
|
21
|
+
* @epic T11992
|
|
22
|
+
* @adr resource-governor-never-oom-architecture §3.4 (admission #1/#2)
|
|
23
|
+
*/
|
|
24
|
+
import { governor } from '../resources/governor.js';
|
|
25
|
+
/**
|
|
26
|
+
* Split an ordered list of candidate (ready) task IDs into the set admittable
|
|
27
|
+
* under the current `agent-session` budget and the deferred remainder.
|
|
28
|
+
*
|
|
29
|
+
* Ordering is preserved, so priority-sorted ready sets admit highest-priority
|
|
30
|
+
* tasks first. When the governor is ungated (`off` mode / unbounded), every
|
|
31
|
+
* candidate is admitted and `agentBudget` reflects the full count. A budget of
|
|
32
|
+
* `0` (all slots held) defers everything — the caller re-queries; the spawn
|
|
33
|
+
* gate is the hard backstop, so an over-eager retry is bounded there too.
|
|
34
|
+
*
|
|
35
|
+
* @param taskIds - Ready task IDs in the order they should be admitted.
|
|
36
|
+
* @param opts - Optional pressure/host overrides (tests).
|
|
37
|
+
*/
|
|
38
|
+
export async function computeAgentAdmission(taskIds, opts = {}) {
|
|
39
|
+
const budget = await governor.available('agent-session', {
|
|
40
|
+
...(opts.sample !== undefined ? { sample: opts.sample } : {}),
|
|
41
|
+
...(opts.cpuCount !== undefined ? { cpuCount: opts.cpuCount } : {}),
|
|
42
|
+
...(opts.totalMemBytes !== undefined ? { totalMemBytes: opts.totalMemBytes } : {}),
|
|
43
|
+
});
|
|
44
|
+
if (!Number.isFinite(budget)) {
|
|
45
|
+
return { agentBudget: taskIds.length, admitted: [...taskIds], deferred: [] };
|
|
46
|
+
}
|
|
47
|
+
const cap = Math.max(0, Math.floor(budget));
|
|
48
|
+
return {
|
|
49
|
+
agentBudget: cap,
|
|
50
|
+
admitted: taskIds.slice(0, cap),
|
|
51
|
+
deferred: taskIds.slice(cap),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../src/orchestrate/admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA8BpD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA0B,EAC1B,OAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE;QACvD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,OAAO;QACL,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-ops.d.ts","sourceRoot":"","sources":["../../src/orchestrate/query-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAGV,uBAAuB,EACvB,IAAI,EAEL,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAWrE,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"query-ops.d.ts","sourceRoot":"","sources":["../../src/orchestrate/query-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ import { isSagaShape } from '../sagas/enforcement.js';
|
|
|
24
24
|
import { resolveSagaMemberIds } from '../sagas/storage.js';
|
|
25
25
|
import { getTaskAccessor } from '../store/data-accessor.js';
|
|
26
26
|
import { runValidation } from '../tasks/dep-graph-validator.js';
|
|
27
|
+
import { computeAgentAdmission } from './admission.js';
|
|
27
28
|
// ---------------------------------------------------------------------------
|
|
28
29
|
// Constants
|
|
29
30
|
// ---------------------------------------------------------------------------
|
|
@@ -337,6 +338,9 @@ export async function orchestrateReady(epicId, projectRoot, opts) {
|
|
|
337
338
|
reason = 'no saga-member tasks with unmet dependencies found';
|
|
338
339
|
}
|
|
339
340
|
}
|
|
341
|
+
// T12000: annotate which ready tasks are admittable now vs deferred so
|
|
342
|
+
// orchestrators size their fan-out to host capacity (Never-OOM).
|
|
343
|
+
const admission = await computeAgentAdmission(aggregated.map((t) => t.id));
|
|
340
344
|
return {
|
|
341
345
|
success: true,
|
|
342
346
|
data: {
|
|
@@ -345,6 +349,7 @@ export async function orchestrateReady(epicId, projectRoot, opts) {
|
|
|
345
349
|
total: aggregated.length,
|
|
346
350
|
via: 'saga',
|
|
347
351
|
sagaMembers: members,
|
|
352
|
+
admission,
|
|
348
353
|
...(skippedNested.length > 0 && { sagaNestedSkipped: skippedNested }),
|
|
349
354
|
...(reason !== undefined && { reason }),
|
|
350
355
|
...(depsWarning !== undefined && { depsWarning }),
|
|
@@ -370,18 +375,23 @@ export async function orchestrateReady(epicId, projectRoot, opts) {
|
|
|
370
375
|
reason = 'no tasks with unmet dependencies found; check child task statuses';
|
|
371
376
|
}
|
|
372
377
|
}
|
|
378
|
+
const readyOut = ready.map((t) => ({
|
|
379
|
+
id: t.taskId,
|
|
380
|
+
title: t.title,
|
|
381
|
+
priority: t.priority,
|
|
382
|
+
depends: t.depends,
|
|
383
|
+
}));
|
|
384
|
+
// T12000: annotate which ready tasks are admittable now vs deferred so
|
|
385
|
+
// orchestrators size their fan-out to host capacity (Never-OOM).
|
|
386
|
+
const admission = await computeAgentAdmission(readyOut.map((t) => t.id));
|
|
373
387
|
return {
|
|
374
388
|
success: true,
|
|
375
389
|
data: {
|
|
376
390
|
epicId,
|
|
377
|
-
readyTasks:
|
|
378
|
-
|
|
379
|
-
title: t.title,
|
|
380
|
-
priority: t.priority,
|
|
381
|
-
depends: t.depends,
|
|
382
|
-
})),
|
|
383
|
-
total: ready.length,
|
|
391
|
+
readyTasks: readyOut,
|
|
392
|
+
total: readyOut.length,
|
|
384
393
|
via: 'parent',
|
|
394
|
+
admission,
|
|
385
395
|
...(reason !== undefined && { reason }),
|
|
386
396
|
...(depsWarning !== undefined && { depsWarning }),
|
|
387
397
|
},
|
|
@@ -474,9 +484,13 @@ export async function orchestrateWaves(epicId, projectRoot, _opts) {
|
|
|
474
484
|
const sagaShaped = isSagaShape(epic);
|
|
475
485
|
if (!sagaShaped) {
|
|
476
486
|
const result = await getEnrichedWaves(epicId, root, accessor);
|
|
487
|
+
// T12000: admission over the first actionable (non-completed) wave —
|
|
488
|
+
// the tasks an orchestrator would spawn next — so the fan-out is sized
|
|
489
|
+
// to host capacity (Never-OOM).
|
|
490
|
+
const admission = await computeAgentAdmission(firstActionableWaveTaskIds(result.waves));
|
|
477
491
|
return {
|
|
478
492
|
success: true,
|
|
479
|
-
data: { ...result, via: 'parent' },
|
|
493
|
+
data: { ...result, via: 'parent', admission },
|
|
480
494
|
};
|
|
481
495
|
}
|
|
482
496
|
// Saga walk: compute per-member waves and merge by index.
|
|
@@ -538,6 +552,8 @@ export async function orchestrateWaves(epicId, projectRoot, _opts) {
|
|
|
538
552
|
}
|
|
539
553
|
mergedWaves.push(merged);
|
|
540
554
|
}
|
|
555
|
+
// T12000: admission over the first actionable merged wave (Never-OOM).
|
|
556
|
+
const admission = await computeAgentAdmission(firstActionableWaveTaskIds(mergedWaves));
|
|
541
557
|
return {
|
|
542
558
|
success: true,
|
|
543
559
|
data: {
|
|
@@ -547,6 +563,7 @@ export async function orchestrateWaves(epicId, projectRoot, _opts) {
|
|
|
547
563
|
totalTasks: totalChildren,
|
|
548
564
|
via: 'saga',
|
|
549
565
|
sagaMembers: members,
|
|
566
|
+
admission,
|
|
550
567
|
...(skippedNested.length > 0 && { sagaNestedSkipped: skippedNested }),
|
|
551
568
|
},
|
|
552
569
|
};
|
|
@@ -556,6 +573,18 @@ export async function orchestrateWaves(epicId, projectRoot, _opts) {
|
|
|
556
573
|
return engineError(code, err.message);
|
|
557
574
|
}
|
|
558
575
|
}
|
|
576
|
+
/**
|
|
577
|
+
* Task IDs of the first actionable (non-completed) wave — the set an
|
|
578
|
+
* orchestrator would spawn next. Empty when every wave is complete. Used to
|
|
579
|
+
* scope the {@link AgentAdmission} annotation to the immediately-relevant fan-out
|
|
580
|
+
* rather than the entire (largely future) wave plan.
|
|
581
|
+
*
|
|
582
|
+
* @task T12000
|
|
583
|
+
*/
|
|
584
|
+
function firstActionableWaveTaskIds(waves) {
|
|
585
|
+
const actionable = waves.find((w) => w.status !== 'completed');
|
|
586
|
+
return actionable ? [...actionable.taskIds] : [];
|
|
587
|
+
}
|
|
559
588
|
/**
|
|
560
589
|
* orchestrate.context - Context usage check
|
|
561
590
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-ops.js","sourceRoot":"","sources":["../../src/orchestrate/query-ops.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-ops.js","sourceRoot":"","sources":["../../src/orchestrate/query-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-ops.d.ts","sourceRoot":"","sources":["../../src/orchestrate/spawn-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAKH,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-ops.d.ts","sourceRoot":"","sources":["../../src/orchestrate/spawn-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
import { execFileSync } from 'node:child_process';
|
|
61
61
|
import { existsSync } from 'node:fs';
|
|
62
62
|
import { join } from 'node:path';
|
|
63
|
+
import { RESOURCE_DEFERRED_CODE } from '@cleocode/contracts';
|
|
63
64
|
import { destroyWorktree, runWorktreeHooks } from '@cleocode/worktree';
|
|
64
65
|
import { findLeastLoadedAgent } from '../agents/capacity.js';
|
|
65
66
|
import { substituteCantAgentBody } from '../agents/variable-substitution.js';
|
|
@@ -71,6 +72,7 @@ import { composeSpawnPayload } from '../orchestration/spawn.js';
|
|
|
71
72
|
import { resolveEffectiveTier } from '../orchestration/tier-selector.js';
|
|
72
73
|
import { validateSpawnReadiness } from '../orchestration/validate-spawn.js';
|
|
73
74
|
import { getProjectRoot } from '../paths.js';
|
|
75
|
+
import { governor } from '../resources/governor.js';
|
|
74
76
|
import { provisionIsolatedShell } from '../sdk/isolation.js';
|
|
75
77
|
import { spawnWorktree } from '../sentient/worktree-dispatch.js';
|
|
76
78
|
import { initializeDefaultAdapters, spawnRegistry } from '../spawn/adapter-registry.js';
|
|
@@ -501,6 +503,22 @@ export async function orchestrateSpawnSelectProvider(capabilities, _projectRoot)
|
|
|
501
503
|
export async function orchestrateSpawnExecute(taskId, adapterId, protocolType, projectRoot, tier, opts = {}) {
|
|
502
504
|
const cwd = getProjectRoot(projectRoot);
|
|
503
505
|
const autoComplete = opts.autoComplete ?? true;
|
|
506
|
+
// T12000 (Never-OOM): acquire an `agent-session` grant BEFORE any worktree or
|
|
507
|
+
// process is provisioned, so a denial under memory pressure leaves NO partial
|
|
508
|
+
// artifacts behind — the orchestrator gets a structured, retryable deferral
|
|
509
|
+
// (treat like a lifecycle gate: wait `retryAfterMs`, re-spawn). Pass-through
|
|
510
|
+
// in `off` mode and on idle hosts, so single spawns are never spuriously
|
|
511
|
+
// blocked; under pressure it serialises the provisioning bursts that drive
|
|
512
|
+
// the OOM. The grant is held for the provisioning + dispatch window and
|
|
513
|
+
// released in the `finally` (point-in-time admission; lifetime process-group
|
|
514
|
+
// ownership is the supervisor-mode backend's job, T11998).
|
|
515
|
+
const admit = await governor.tryAcquire('agent-session');
|
|
516
|
+
if (admit.deferred) {
|
|
517
|
+
return engineError(RESOURCE_DEFERRED_CODE, admit.reason, {
|
|
518
|
+
exitCode: 75,
|
|
519
|
+
details: { class: admit.class, retryAfterMs: admit.retryAfterMs, taskId },
|
|
520
|
+
});
|
|
521
|
+
}
|
|
504
522
|
try {
|
|
505
523
|
// Get spawn registry
|
|
506
524
|
await initializeDefaultAdapters();
|
|
@@ -830,6 +848,12 @@ export async function orchestrateSpawnExecute(taskId, adapterId, protocolType, p
|
|
|
830
848
|
},
|
|
831
849
|
};
|
|
832
850
|
}
|
|
851
|
+
finally {
|
|
852
|
+
// Release the agent-session slot once provisioning + dispatch returns.
|
|
853
|
+
await admit.release().catch(() => {
|
|
854
|
+
/* Idempotent release — slot already reaped (e.g. stale recovery). */
|
|
855
|
+
});
|
|
856
|
+
}
|
|
833
857
|
}
|
|
834
858
|
/**
|
|
835
859
|
* orchestrate.spawn - Generate spawn prompt for a task.
|