@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/tasks/tool-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/tasks/tool-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,OAAO;IACP,MAAM;IACN,WAAW;IACX,OAAO;IACP,eAAe;IACf;;;;;;;;OAQG;IACH,mBAAmB;CACX,CAAC;AAsDX,8EAA8E;AAC9E,uEAAuE;AACvE,kEAAkE;AAClE,wDAAwD;AACxD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,mBAAmB,GAAkC;IACzD,eAAe;IACf,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;IACpB,SAAS,EAAE,MAAM;IACjB,WAAW;IACX,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;IACtB,UAAU,EAAE,OAAO;IACnB,UAAU;IACV,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,gBAAgB;IAChB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,WAAW;IACpB,mBAAmB;IACnB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,OAAO;IACpB,aAAa,EAAE,OAAO;CACvB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,uBAAuB,GAA2C;IACtE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;IAC5B,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;IAC7C,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC;AAWD;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAsE;IAC3F,IAAI,EAAE;QACJ,+EAA+E;QAC/E,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACpC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;QAC7C,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;QACnD,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;QACpD,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QACtC,eAAe,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAChD,wEAAwE;QACxE,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACjC,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QAC/C,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QAC3C,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;QACvC,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QACrC,eAAe,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/C,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACtC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QACxC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;QAChE,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QACxC,eAAe,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAClD,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,EAAE,EAAE;QACF,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAC9C,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;QAC3C,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QACrE,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QAChD,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;QAC3C,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;QAClD,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACpC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;QACxC,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACvC,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QACzC,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QACtC,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACpC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;QACxC,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,GAAG,EAAE;QACH,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACzC,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;QAC7C,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACrC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE;QACzC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACrC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QAC3C,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,GAAG,EAAE;QACH,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;QACpC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;QAC7C,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;IACD,OAAO,EAAE;QACP,mBAAmB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;KACrE;CACF,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAEvB;IACF,IAAI,EAAE;QACJ,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE;QAC9E,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,YAAY;gBACZ,aAAa;gBACb,WAAW;gBACX,cAAc;gBACd,eAAe;gBACf,gBAAgB;gBAChB,kBAAkB;gBAClB,mBAAmB;gBACnB,gBAAgB;aACjB;YACD,IAAI,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC7C;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,gBAAgB,CACvB,SAAwB,EACxB,WAAmB,EACnB,WAAwB;IAExB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAI9E,CAAC;QACF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,WAAmB,EACnB,OAAuB,EAAE;IAEzB,6BAA6B;IAC7B,MAAM,SAAS,GAA0B,eAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC/F,CAAC,CAAE,QAA0B;QAC7B,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EACJ,kBAAkB,QAAQ,4BAA4B;gBACtD,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACjC,mBAAmB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACjF,QAAQ,EAAE,gBAAgB;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,KAAK,QAAQ,CAAC;IAEvC,qCAAqC;IACrC,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IAEpD,MAAM,KAAK,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE;oBACP,SAAS;oBACT,WAAW,EAAE,QAAQ;oBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB;iBACrD;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,WAAW,GACf,IAAI,CAAC,mBAAmB;QACvB,gBAAgB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAA6B;QACnE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAExC,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EACJ,SAAS,QAAQ,8CAA8C,WAAW,KAAK;gBAC/E,qKAAqK;gBACrK,uEAAuE;YACzE,QAAQ,EAAE,oBAAoB;SAC/B,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,2CAA2C;IAC3C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EACJ,SAAS,QAAQ,2CAA2C,SAAS,aAAa;gBAClF,qCAAqC,SAAS,mCAAmC;gBACjF,sDAAsD,WAAW,mBAAmB;gBACpF,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qCAAqC;gBACvE,GAAG,SAAS,mEAAmE;YACjF,QAAQ,EAAE,uBAAuB;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,SAAS;YACT,WAAW,EAAE,QAAQ;YACrB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACnB,MAAM,EAAE,kBAAkB;YAC1B,WAAW;SACZ;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,WAAmB;IACnD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzF,IAAI,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,MAAM,CAAC;IACpF,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpC,IAAI,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAmC,EAAE,IAAc;IAC3E,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,MAAM,GAAY,GAAG,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAChF,MAAM,GAAI,MAAkC,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxF,OAAO,MAAiC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -18,18 +18,27 @@
|
|
|
18
18
|
*
|
|
19
19
|
* Defaults (configurable via env):
|
|
20
20
|
*
|
|
21
|
-
* | Tool | Default
|
|
22
|
-
*
|
|
23
|
-
* | test, build |
|
|
24
|
-
* | lint, typecheck| max(2, cpus/2)
|
|
25
|
-
* | audit | max(2, cpus/2)
|
|
26
|
-
* | security-scan | max(2, cpus/2)
|
|
21
|
+
* | Tool | Default | Binding constraint |
|
|
22
|
+
* |----------------|----------------------------------|---------------------------|
|
|
23
|
+
* | test, build | min(RAM/24GiB, cpus/4), min 1 | MEMORY (each run forks) |
|
|
24
|
+
* | lint, typecheck| max(2, cpus/2) | CPU (single-process) |
|
|
25
|
+
* | audit | max(2, cpus/2) | network-bound, small RAM |
|
|
26
|
+
* | security-scan | max(2, cpus/2) | network-bound, small RAM |
|
|
27
|
+
*
|
|
28
|
+
* T12091: `test`/`build` were `max(1, cpus/4)` — 6 slots on a 24-core box. Since
|
|
29
|
+
* each `pnpm run test` is itself allowed 6 vitest forks × 4 GiB, the two bounds
|
|
30
|
+
* composed to 144 GiB of permitted heap on 62 GiB of RAM. Neither layer was
|
|
31
|
+
* individually violated, which is exactly why the machine froze without any
|
|
32
|
+
* guard firing. Heavy tools are now bounded by the dimension that actually
|
|
33
|
+
* limits them — see {@link defaultMaxConcurrent}.
|
|
27
34
|
*
|
|
28
35
|
* Override via `CLEO_TOOL_CONCURRENCY_<CANONICAL>` (e.g.
|
|
29
36
|
* `CLEO_TOOL_CONCURRENCY_TEST=2`). Set to `0` or a negative number to
|
|
30
|
-
* disable the limit for that tool
|
|
37
|
+
* disable the limit for that tool — which also disables the RAM bound, so it is
|
|
38
|
+
* the one setting that can still oversubscribe the machine.
|
|
31
39
|
*
|
|
32
40
|
* @task T1534
|
|
41
|
+
* @task T12091
|
|
33
42
|
* @adr ADR-061
|
|
34
43
|
*/
|
|
35
44
|
import type { ResourceSample } from '../resources/backend.js';
|
|
@@ -76,6 +85,17 @@ export interface AcquireSlotOptions {
|
|
|
76
85
|
* @internal
|
|
77
86
|
*/
|
|
78
87
|
cpuCount?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Override `os.totalmem()` (in GiB) for tests.
|
|
90
|
+
*
|
|
91
|
+
* T12091 made the heavy-tool budget RAM-derived, which would otherwise make
|
|
92
|
+
* the slot count depend on whatever host the suite runs on — a 16 GiB CI
|
|
93
|
+
* runner and a 62 GiB workstation resolve different budgets for identical
|
|
94
|
+
* inputs. Injecting it keeps semaphore behaviour deterministic.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
totalRamGib?: number;
|
|
79
99
|
/**
|
|
80
100
|
* Memory-pressure sample used to scale the effective slot count for the
|
|
81
101
|
* pressure-sensitive `test`/`build` tools (T12001, Epic T11992). When
|
|
@@ -88,13 +108,63 @@ export interface AcquireSlotOptions {
|
|
|
88
108
|
pressureSample?: ResourceSample | null;
|
|
89
109
|
}
|
|
90
110
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
111
|
+
* Worst-case resident footprint of ONE `tool:test` / `tool:build` invocation,
|
|
112
|
+
* in GiB.
|
|
113
|
+
*
|
|
114
|
+
* This is not a guess. `vitest.memory-safe.ts` permits
|
|
115
|
+
* `MEMORY_SAFE_MAX_WORKERS` forks (up to 6) each capped at `FORK_HEAP_MB`
|
|
116
|
+
* (4096), so a single `pnpm run test` may legitimately hold ~24 GiB before any
|
|
117
|
+
* guard fires. Keep this in step with that file if either bound changes.
|
|
118
|
+
*
|
|
119
|
+
* @task T12091
|
|
120
|
+
*/
|
|
121
|
+
export declare const HEAVY_TOOL_FOOTPRINT_GIB = 24;
|
|
122
|
+
/**
|
|
123
|
+
* Compute the default max-concurrency for a canonical tool.
|
|
124
|
+
*
|
|
125
|
+
* ## Why this is RAM-derived, not core-derived (T12091)
|
|
126
|
+
*
|
|
127
|
+
* This returned `floor(cpus / 4)` for `test`/`build`, which on a 24-core box is
|
|
128
|
+
* **6 concurrent full test suites**. Each of those is itself allowed 6 vitest
|
|
129
|
+
* forks × a 4 GiB heap cap, so the composed permission was
|
|
130
|
+
*
|
|
131
|
+
* 6 runs × 6 forks × 4 GiB = 144 GiB
|
|
132
|
+
*
|
|
133
|
+
* on a 62 GiB machine. Both layers were individually "bounded" and their
|
|
134
|
+
* composition was 2.3× the hardware — which is precisely how this box froze
|
|
135
|
+
* repeatedly: no single guard was violated. The per-invocation cap (T12087) and
|
|
136
|
+
* this cross-invocation cap were written independently and never multiplied out.
|
|
137
|
+
*
|
|
138
|
+
* The dimensional error is the root of it: what limits a test run is MEMORY, and
|
|
139
|
+
* core count says nothing about memory. A 24-core/16 GiB VM got the same 6 slots
|
|
140
|
+
* as a 24-core/256 GiB server. So heavy tools now divide TOTAL RAM by
|
|
141
|
+
* {@link HEAVY_TOOL_FOOTPRINT_GIB} and are additionally capped by cores, never
|
|
142
|
+
* exceeding what the machine can actually hold.
|
|
143
|
+
*
|
|
144
|
+
* Reactive pressure scaling ({@link pressureScaleSlots}) is not a substitute:
|
|
145
|
+
* PSI `some avg10` is a ten-second average, and a fork fleet can exhaust RAM
|
|
146
|
+
* faster than that window can report it. Admission has to be right up front.
|
|
147
|
+
*
|
|
148
|
+
* Light tools (lint, typecheck, audit, security-scan) are single-process and
|
|
149
|
+
* short, and keep the core-derived half-of-cores budget.
|
|
150
|
+
*
|
|
151
|
+
* @param canonical - the canonical tool class.
|
|
152
|
+
* @param cpuCount - logical cores available.
|
|
153
|
+
* @param totalRamGib - total machine RAM in GiB; defaults to a live reading.
|
|
154
|
+
* @returns the machine-wide slot count, always ≥ 1.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* // 24 cores, 62 GiB → floor(62/24) = 2 (was 6, permitting 144 GiB of heap)
|
|
159
|
+
* defaultMaxConcurrent('test', 24, 62); // → 2
|
|
160
|
+
* // 24 cores, 16 GiB → 1: one suite is already more than this box can hold
|
|
161
|
+
* defaultMaxConcurrent('test', 24, 16); // → 1
|
|
162
|
+
* ```
|
|
94
163
|
*
|
|
95
164
|
* @task T1534
|
|
165
|
+
* @task T12091
|
|
96
166
|
*/
|
|
97
|
-
export declare function defaultMaxConcurrent(canonical: CanonicalTool, cpuCount: number): number;
|
|
167
|
+
export declare function defaultMaxConcurrent(canonical: CanonicalTool, cpuCount: number, totalRamGib?: number): number;
|
|
98
168
|
/**
|
|
99
169
|
* Resolve the active per-tool concurrency limit, honouring the
|
|
100
170
|
* `CLEO_TOOL_CONCURRENCY_<CANONICAL>` env override when set. A value of
|
|
@@ -104,7 +174,7 @@ export declare function defaultMaxConcurrent(canonical: CanonicalTool, cpuCount:
|
|
|
104
174
|
*
|
|
105
175
|
* @task T1534
|
|
106
176
|
*/
|
|
107
|
-
export declare function resolveMaxConcurrent(canonical: CanonicalTool, cpuCount?: number): number;
|
|
177
|
+
export declare function resolveMaxConcurrent(canonical: CanonicalTool, cpuCount?: number, totalRamGib?: number): number;
|
|
108
178
|
/**
|
|
109
179
|
* Scale a static slot budget down under memory pressure (T12001 · choke-point
|
|
110
180
|
* #6). Mirrors the governor's `test-run` budget: halve when `some avg10` exceeds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-semaphore.d.ts","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-semaphore.d.ts","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAA+B,GAC3C,MAAM,CAiBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,aAAa,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAeR;AAWD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EACtB,UAAU,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GACnE,MAAM,CAQR;AA4BD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAE7D;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,aAAa,EACxB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,aAAa,CAAC,CA+ExB"}
|
|
@@ -18,22 +18,31 @@
|
|
|
18
18
|
*
|
|
19
19
|
* Defaults (configurable via env):
|
|
20
20
|
*
|
|
21
|
-
* | Tool | Default
|
|
22
|
-
*
|
|
23
|
-
* | test, build |
|
|
24
|
-
* | lint, typecheck| max(2, cpus/2)
|
|
25
|
-
* | audit | max(2, cpus/2)
|
|
26
|
-
* | security-scan | max(2, cpus/2)
|
|
21
|
+
* | Tool | Default | Binding constraint |
|
|
22
|
+
* |----------------|----------------------------------|---------------------------|
|
|
23
|
+
* | test, build | min(RAM/24GiB, cpus/4), min 1 | MEMORY (each run forks) |
|
|
24
|
+
* | lint, typecheck| max(2, cpus/2) | CPU (single-process) |
|
|
25
|
+
* | audit | max(2, cpus/2) | network-bound, small RAM |
|
|
26
|
+
* | security-scan | max(2, cpus/2) | network-bound, small RAM |
|
|
27
|
+
*
|
|
28
|
+
* T12091: `test`/`build` were `max(1, cpus/4)` — 6 slots on a 24-core box. Since
|
|
29
|
+
* each `pnpm run test` is itself allowed 6 vitest forks × 4 GiB, the two bounds
|
|
30
|
+
* composed to 144 GiB of permitted heap on 62 GiB of RAM. Neither layer was
|
|
31
|
+
* individually violated, which is exactly why the machine froze without any
|
|
32
|
+
* guard firing. Heavy tools are now bounded by the dimension that actually
|
|
33
|
+
* limits them — see {@link defaultMaxConcurrent}.
|
|
27
34
|
*
|
|
28
35
|
* Override via `CLEO_TOOL_CONCURRENCY_<CANONICAL>` (e.g.
|
|
29
36
|
* `CLEO_TOOL_CONCURRENCY_TEST=2`). Set to `0` or a negative number to
|
|
30
|
-
* disable the limit for that tool
|
|
37
|
+
* disable the limit for that tool — which also disables the RAM bound, so it is
|
|
38
|
+
* the one setting that can still oversubscribe the machine.
|
|
31
39
|
*
|
|
32
40
|
* @task T1534
|
|
41
|
+
* @task T12091
|
|
33
42
|
* @adr ADR-061
|
|
34
43
|
*/
|
|
35
44
|
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
36
|
-
import { availableParallelism } from 'node:os';
|
|
45
|
+
import { availableParallelism, totalmem } from 'node:os';
|
|
37
46
|
import { join } from 'node:path';
|
|
38
47
|
import lockfile from 'proper-lockfile';
|
|
39
48
|
import { getCleoHome } from '../paths.js';
|
|
@@ -42,18 +51,71 @@ import { ResourceMonitor } from '../resources/monitor.js';
|
|
|
42
51
|
// Concurrency-limit defaults + override resolution
|
|
43
52
|
// ---------------------------------------------------------------------------
|
|
44
53
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
54
|
+
* Worst-case resident footprint of ONE `tool:test` / `tool:build` invocation,
|
|
55
|
+
* in GiB.
|
|
56
|
+
*
|
|
57
|
+
* This is not a guess. `vitest.memory-safe.ts` permits
|
|
58
|
+
* `MEMORY_SAFE_MAX_WORKERS` forks (up to 6) each capped at `FORK_HEAP_MB`
|
|
59
|
+
* (4096), so a single `pnpm run test` may legitimately hold ~24 GiB before any
|
|
60
|
+
* guard fires. Keep this in step with that file if either bound changes.
|
|
61
|
+
*
|
|
62
|
+
* @task T12091
|
|
63
|
+
*/
|
|
64
|
+
export const HEAVY_TOOL_FOOTPRINT_GIB = 24;
|
|
65
|
+
/**
|
|
66
|
+
* Compute the default max-concurrency for a canonical tool.
|
|
67
|
+
*
|
|
68
|
+
* ## Why this is RAM-derived, not core-derived (T12091)
|
|
69
|
+
*
|
|
70
|
+
* This returned `floor(cpus / 4)` for `test`/`build`, which on a 24-core box is
|
|
71
|
+
* **6 concurrent full test suites**. Each of those is itself allowed 6 vitest
|
|
72
|
+
* forks × a 4 GiB heap cap, so the composed permission was
|
|
73
|
+
*
|
|
74
|
+
* 6 runs × 6 forks × 4 GiB = 144 GiB
|
|
75
|
+
*
|
|
76
|
+
* on a 62 GiB machine. Both layers were individually "bounded" and their
|
|
77
|
+
* composition was 2.3× the hardware — which is precisely how this box froze
|
|
78
|
+
* repeatedly: no single guard was violated. The per-invocation cap (T12087) and
|
|
79
|
+
* this cross-invocation cap were written independently and never multiplied out.
|
|
80
|
+
*
|
|
81
|
+
* The dimensional error is the root of it: what limits a test run is MEMORY, and
|
|
82
|
+
* core count says nothing about memory. A 24-core/16 GiB VM got the same 6 slots
|
|
83
|
+
* as a 24-core/256 GiB server. So heavy tools now divide TOTAL RAM by
|
|
84
|
+
* {@link HEAVY_TOOL_FOOTPRINT_GIB} and are additionally capped by cores, never
|
|
85
|
+
* exceeding what the machine can actually hold.
|
|
86
|
+
*
|
|
87
|
+
* Reactive pressure scaling ({@link pressureScaleSlots}) is not a substitute:
|
|
88
|
+
* PSI `some avg10` is a ten-second average, and a fork fleet can exhaust RAM
|
|
89
|
+
* faster than that window can report it. Admission has to be right up front.
|
|
90
|
+
*
|
|
91
|
+
* Light tools (lint, typecheck, audit, security-scan) are single-process and
|
|
92
|
+
* short, and keep the core-derived half-of-cores budget.
|
|
93
|
+
*
|
|
94
|
+
* @param canonical - the canonical tool class.
|
|
95
|
+
* @param cpuCount - logical cores available.
|
|
96
|
+
* @param totalRamGib - total machine RAM in GiB; defaults to a live reading.
|
|
97
|
+
* @returns the machine-wide slot count, always ≥ 1.
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```ts
|
|
101
|
+
* // 24 cores, 62 GiB → floor(62/24) = 2 (was 6, permitting 144 GiB of heap)
|
|
102
|
+
* defaultMaxConcurrent('test', 24, 62); // → 2
|
|
103
|
+
* // 24 cores, 16 GiB → 1: one suite is already more than this box can hold
|
|
104
|
+
* defaultMaxConcurrent('test', 24, 16); // → 1
|
|
105
|
+
* ```
|
|
48
106
|
*
|
|
49
107
|
* @task T1534
|
|
108
|
+
* @task T12091
|
|
50
109
|
*/
|
|
51
|
-
export function defaultMaxConcurrent(canonical, cpuCount) {
|
|
110
|
+
export function defaultMaxConcurrent(canonical, cpuCount, totalRamGib = totalmem() / 1024 ** 3) {
|
|
52
111
|
const cpus = Math.max(1, cpuCount);
|
|
53
112
|
switch (canonical) {
|
|
54
113
|
case 'test':
|
|
55
|
-
case 'build':
|
|
56
|
-
|
|
114
|
+
case 'build': {
|
|
115
|
+
const byRam = Math.floor(totalRamGib / HEAVY_TOOL_FOOTPRINT_GIB);
|
|
116
|
+
const byCpu = Math.floor(cpus / 4);
|
|
117
|
+
return Math.max(1, Math.min(byRam, byCpu));
|
|
118
|
+
}
|
|
57
119
|
case 'lint':
|
|
58
120
|
case 'typecheck':
|
|
59
121
|
case 'audit':
|
|
@@ -72,7 +134,7 @@ export function defaultMaxConcurrent(canonical, cpuCount) {
|
|
|
72
134
|
*
|
|
73
135
|
* @task T1534
|
|
74
136
|
*/
|
|
75
|
-
export function resolveMaxConcurrent(canonical, cpuCount) {
|
|
137
|
+
export function resolveMaxConcurrent(canonical, cpuCount, totalRamGib) {
|
|
76
138
|
const envKey = `CLEO_TOOL_CONCURRENCY_${canonical.toUpperCase().replace(/-/g, '_')}`;
|
|
77
139
|
const raw = process.env[envKey];
|
|
78
140
|
if (raw !== undefined && raw !== '') {
|
|
@@ -83,7 +145,7 @@ export function resolveMaxConcurrent(canonical, cpuCount) {
|
|
|
83
145
|
return parsed;
|
|
84
146
|
}
|
|
85
147
|
}
|
|
86
|
-
return defaultMaxConcurrent(canonical, cpuCount ?? availableParallelism());
|
|
148
|
+
return defaultMaxConcurrent(canonical, cpuCount ?? availableParallelism(), totalRamGib ?? totalmem() / 1024 ** 3);
|
|
87
149
|
}
|
|
88
150
|
/**
|
|
89
151
|
* Whether a canonical tool's slot budget shrinks under memory pressure.
|
|
@@ -197,7 +259,7 @@ const NOOP_RELEASE = async () => {
|
|
|
197
259
|
* @task T1534
|
|
198
260
|
*/
|
|
199
261
|
export async function acquireGlobalSlot(canonical, opts = {}) {
|
|
200
|
-
const max = resolveMaxConcurrent(canonical, opts.cpuCount);
|
|
262
|
+
const max = resolveMaxConcurrent(canonical, opts.cpuCount, opts.totalRamGib);
|
|
201
263
|
if (!Number.isFinite(max) || max <= 0) {
|
|
202
264
|
return NOOP_RELEASE;
|
|
203
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-semaphore.js","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-semaphore.js","sourceRoot":"","sources":["../../src/tasks/tool-semaphore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/core",
|
|
3
|
-
"version": "2026.8.
|
|
3
|
+
"version": "2026.8.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.8.
|
|
460
|
-
"@cleocode/agents": "2026.8.
|
|
461
|
-
"@cleocode/
|
|
462
|
-
"@cleocode/
|
|
463
|
-
"@cleocode/
|
|
464
|
-
"@cleocode/
|
|
465
|
-
"@cleocode/nexus": "2026.8.
|
|
466
|
-
"@cleocode/
|
|
467
|
-
"@cleocode/
|
|
468
|
-
"@cleocode/
|
|
459
|
+
"@cleocode/adapters": "2026.8.4",
|
|
460
|
+
"@cleocode/agents": "2026.8.4",
|
|
461
|
+
"@cleocode/caamp": "2026.8.4",
|
|
462
|
+
"@cleocode/lafs": "2026.8.4",
|
|
463
|
+
"@cleocode/contracts": "2026.8.4",
|
|
464
|
+
"@cleocode/git-shim": "2026.8.4",
|
|
465
|
+
"@cleocode/nexus": "2026.8.4",
|
|
466
|
+
"@cleocode/paths": "2026.8.4",
|
|
467
|
+
"@cleocode/skills": "2026.8.4",
|
|
468
|
+
"@cleocode/worktree": "2026.8.4"
|
|
469
469
|
},
|
|
470
470
|
"engines": {
|
|
471
471
|
"node": ">=24.16.0"
|
|
@@ -491,7 +491,7 @@
|
|
|
491
491
|
"@types/proper-lockfile": "^4.1.4",
|
|
492
492
|
"@types/tar": "^6.1.13",
|
|
493
493
|
"@types/write-file-atomic": "^4.0.3",
|
|
494
|
-
"@cleocode/utils": "2026.8.
|
|
494
|
+
"@cleocode/utils": "2026.8.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.8.
|
|
503
|
+
"@cleocode/studio": "^2026.8.4"
|
|
504
504
|
},
|
|
505
505
|
"scripts": {
|
|
506
506
|
"build": "tsc && node scripts/copy-selfimprove-fixtures.mjs",
|
|
@@ -127,7 +127,7 @@ CLEO has **three distinct relationship systems**. Do not conflate them.
|
|
|
127
127
|
|------|---------|
|
|
128
128
|
| Check session | `cleo session status` |
|
|
129
129
|
| Resume context | `cleo briefing` |
|
|
130
|
-
| Start session | `cleo session start --scope global` |
|
|
130
|
+
| Start session | `cleo session start --scope global --name "<what you are doing>"` (both flags are REQUIRED) |
|
|
131
131
|
| End session | `cleo session end --note "..."` |
|
|
132
132
|
<!-- /CLEO-INJECTION:section=session-commands -->
|
|
133
133
|
|
|
@@ -148,32 +148,65 @@ CLEO has **three distinct relationship systems**. Do not conflate them.
|
|
|
148
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.
|
|
149
149
|
<!-- /CLEO-INJECTION:section=memory -->
|
|
150
150
|
|
|
151
|
-
<!-- CLEO-INJECTION:section=
|
|
152
|
-
##
|
|
151
|
+
<!-- CLEO-INJECTION:section=data-location -->
|
|
152
|
+
## Where the data lives — never read `.cleo/*.db` directly
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
Store = **`.cleo/cleo.db`**; task rows are in PREFIXED tables (`tasks_tasks`, …).
|
|
155
|
+
Three decoys make a HEALTHY project look corrupt:
|
|
155
156
|
|
|
156
|
-
|
|
|
157
|
-
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
| Recall what the agent knows across sessions | `living-brain` | `cleo nexus brain find "<q>"` |
|
|
162
|
-
| Compare or share patterns across repos | `cross-project`| `cleo nexus compare` / `shared` |
|
|
163
|
-
| Blend code + memory + cross-repo | `hybrid` | `cleo nexus synthesize <topic>` |
|
|
164
|
-
| Index health / reindex / purge | `global-infra` | `cleo nexus admin <status|analyze|clean>` |
|
|
157
|
+
| Decoy | Reality |
|
|
158
|
+
|-------|---------|
|
|
159
|
+
| `.cleo/tasks.db`, small + months old | The pre-migration store, left under the old live name |
|
|
160
|
+
| `.cleo/backups/sqlite/tasks-<ts>.db`, ~100× bigger | Snapshots **of `cleo.db`**; `tasks-` is a legacy label |
|
|
161
|
+
| bare `tasks` table, 0 rows | Empty relic beside the populated `tasks_tasks` |
|
|
165
162
|
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
A 400 KB `tasks.db` beside 58 MB `tasks-*.db` is the NORMAL migrated layout — not
|
|
164
|
+
truncation, not rotation, not `llmtxt.db`. `cleo doctor superseded-store` proves
|
|
165
|
+
which DB is real by counting rows in both; `briefing`/`focus` read it already.
|
|
166
|
+
<!-- /CLEO-INJECTION:section=data-location -->
|
|
168
167
|
|
|
169
|
-
**Every nexus envelope returns**:
|
|
170
|
-
- `meta.scope` — confirms which scope answered
|
|
171
|
-
- `meta.projectId` — confirms which project (if applicable)
|
|
172
|
-
- `meta.suggestedNext: string[]` — chained-reasoning hints (use these before re-discovering)
|
|
173
168
|
|
|
174
|
-
|
|
169
|
+
<!-- CLEO-INJECTION:section=nexus -->
|
|
170
|
+
## Nexus — when to use which scope
|
|
175
171
|
|
|
176
|
-
|
|
172
|
+
`cleo nexus` is the code-intelligence surface over THIS repo's symbol graph.
|
|
173
|
+
Pick by intent. Every command below is verified to exist — see the gate note.
|
|
174
|
+
|
|
175
|
+
| Intent | Command |
|
|
176
|
+
|-------------------------------------------|----------------------------------|
|
|
177
|
+
| **Check the index before trusting it** | `cleo nexus status` |
|
|
178
|
+
| Blast radius before editing a symbol | `cleo nexus impact <symbol>` |
|
|
179
|
+
| Callers / callees / community of a symbol | `cleo nexus context <symbol>` |
|
|
180
|
+
| Everything about one symbol in one call | `cleo nexus full-context <symbol>` |
|
|
181
|
+
| Find a symbol by code text | `cleo nexus search-code "<text>"` |
|
|
182
|
+
| Symbols touched by a task | `cleo nexus task-symbols <taskId>` |
|
|
183
|
+
| Why does this symbol exist / who needs it | `cleo nexus why <symbol>` |
|
|
184
|
+
| Detected communities / execution flows | `cleo nexus clusters` / `flows` |
|
|
185
|
+
| Rebuild the index | `cleo nexus analyze` |
|
|
186
|
+
|
|
187
|
+
**FIRST CALL IS `cleo nexus status`.** It returns `nodeCount`, `lastIndexedAt`
|
|
188
|
+
and `staleFileCount`. The index is NOT auto-refreshed — a symbol added after
|
|
189
|
+
the last `analyze` run is simply absent, and a lookup for it returns
|
|
190
|
+
`E_NOT_FOUND` that reads identically to "no such symbol". If `staleFileCount`
|
|
191
|
+
is a large fraction of `fileCount`, run `cleo nexus analyze` or treat
|
|
192
|
+
`git grep` as the ground truth and SAY SO in your response.
|
|
193
|
+
|
|
194
|
+
`E_NOT_FOUND` from `impact`/`context` now reports the index size, its median
|
|
195
|
+
entry age, and the repair command. Read it — do not infer that nexus is broken.
|
|
196
|
+
|
|
197
|
+
**Project resolution**: `--project-id` > `--path` > `cwd`.
|
|
198
|
+
Default ID = `base64url(path).slice(0,32)`.
|
|
199
|
+
|
|
200
|
+
**Rule**: BEFORE editing any symbol, run `cleo nexus impact <symbol>`.
|
|
201
|
+
HIGH/CRITICAL = stop and warn. If the index is stale, say that instead of
|
|
202
|
+
silently substituting `git grep`.
|
|
203
|
+
|
|
204
|
+
> Commands named here are asserted against the live CLI by
|
|
205
|
+
> `scripts/lint-injection-commands.mjs` (T12069). Five commands previously
|
|
206
|
+
> listed in this section — `nexus report`, `nexus brain find`, `nexus compare`,
|
|
207
|
+
> `nexus shared`, `nexus synthesize`, plus `nexus admin` — never existed; the
|
|
208
|
+
> gate exists so a protocol that every agent is told to follow can no longer
|
|
209
|
+
> drift from the binary.
|
|
177
210
|
<!-- /CLEO-INJECTION:section=nexus -->
|
|
178
211
|
|
|
179
212
|
<!-- CLEO-INJECTION:section=orchestration -->
|
|
@@ -372,7 +405,7 @@ Every spawn prompt contains these required sections — orchestrators can progra
|
|
|
372
405
|
## Rules
|
|
373
406
|
|
|
374
407
|
- No time estimates — use `small`, `medium`, `large` sizing
|
|
375
|
-
- Token budget: avoid `cleo list` without `--parent
|
|
408
|
+
- Token budget: avoid `cleo list` without `--parent`; get usage from `cleo <command> --help` (there is no top-level help command)
|
|
376
409
|
- Do not read full task details for tasks you won't work on
|
|
377
410
|
<!-- /CLEO-INJECTION:section=rules -->
|
|
378
411
|
|