@cleocode/core 2026.9.20 → 2026.9.22
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/adapters/discovery.d.ts.map +1 -1
- package/dist/adapters/discovery.js +3 -10
- package/dist/adapters/discovery.js.map +1 -1
- package/dist/adrs/link-pipeline.js +2 -2
- package/dist/adrs/link-pipeline.js.map +1 -1
- package/dist/adrs/parse.js +3 -3
- package/dist/adrs/parse.js.map +1 -1
- package/dist/agents/invoke-meta-agent.d.ts.map +1 -1
- package/dist/agents/invoke-meta-agent.js +8 -4
- package/dist/agents/invoke-meta-agent.js.map +1 -1
- package/dist/agents/scaffold.d.ts.map +1 -1
- package/dist/agents/scaffold.js +0 -1
- package/dist/agents/scaffold.js.map +1 -1
- package/dist/bootstrap.d.ts +5 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +45 -21
- package/dist/bootstrap.js.map +1 -1
- package/dist/cloud/crypto.d.ts +47 -0
- package/dist/cloud/crypto.d.ts.map +1 -0
- package/dist/cloud/crypto.js +223 -0
- package/dist/cloud/crypto.js.map +1 -0
- package/dist/cloud/http.d.ts +52 -0
- package/dist/cloud/http.d.ts.map +1 -0
- package/dist/cloud/http.js +98 -0
- package/dist/cloud/http.js.map +1 -0
- package/dist/cloud/index.d.ts +19 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +19 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/journal.d.ts +169 -0
- package/dist/cloud/journal.d.ts.map +1 -0
- package/dist/cloud/journal.js +428 -0
- package/dist/cloud/journal.js.map +1 -0
- package/dist/cloud/keys.d.ts +213 -0
- package/dist/cloud/keys.d.ts.map +1 -0
- package/dist/cloud/keys.js +362 -0
- package/dist/cloud/keys.js.map +1 -0
- package/dist/cloud/manifest-check.d.ts +36 -0
- package/dist/cloud/manifest-check.d.ts.map +1 -0
- package/dist/cloud/manifest-check.js +70 -0
- package/dist/cloud/manifest-check.js.map +1 -0
- package/dist/cloud/projects.d.ts +13 -0
- package/dist/cloud/projects.d.ts.map +1 -0
- package/dist/cloud/projects.js +11 -0
- package/dist/cloud/projects.js.map +1 -0
- package/dist/cloud/signing.d.ts +105 -0
- package/dist/cloud/signing.d.ts.map +1 -0
- package/dist/cloud/signing.js +117 -0
- package/dist/cloud/signing.js.map +1 -0
- package/dist/cloud/streams.d.ts +6 -0
- package/dist/cloud/streams.d.ts.map +1 -0
- package/dist/cloud/streams.js +5 -0
- package/dist/cloud/streams.js.map +1 -0
- package/dist/decide/audit.d.ts +131 -0
- package/dist/decide/audit.d.ts.map +1 -0
- package/dist/decide/audit.js +98 -0
- package/dist/decide/audit.js.map +1 -0
- package/dist/decide/budget.d.ts +91 -0
- package/dist/decide/budget.d.ts.map +1 -0
- package/dist/decide/budget.js +194 -0
- package/dist/decide/budget.js.map +1 -0
- package/dist/decide/cache.d.ts +49 -0
- package/dist/decide/cache.d.ts.map +1 -0
- package/dist/decide/cache.js +87 -0
- package/dist/decide/cache.js.map +1 -0
- package/dist/decide/client.d.ts +103 -0
- package/dist/decide/client.d.ts.map +1 -0
- package/dist/decide/client.js +262 -0
- package/dist/decide/client.js.map +1 -0
- package/dist/decide/credentials.d.ts +159 -0
- package/dist/decide/credentials.d.ts.map +1 -0
- package/dist/decide/credentials.js +383 -0
- package/dist/decide/credentials.js.map +1 -0
- package/dist/decide/index.d.ts +18 -0
- package/dist/decide/index.d.ts.map +1 -0
- package/dist/decide/index.js +18 -0
- package/dist/decide/index.js.map +1 -0
- package/dist/decide/jev-wire.d.ts +155 -0
- package/dist/decide/jev-wire.d.ts.map +1 -0
- package/dist/decide/jev-wire.js +420 -0
- package/dist/decide/jev-wire.js.map +1 -0
- package/dist/decide/operations.d.ts +152 -0
- package/dist/decide/operations.d.ts.map +1 -0
- package/dist/decide/operations.js +199 -0
- package/dist/decide/operations.js.map +1 -0
- package/dist/decide/provider.d.ts +90 -0
- package/dist/decide/provider.d.ts.map +1 -0
- package/dist/decide/provider.js +43 -0
- package/dist/decide/provider.js.map +1 -0
- package/dist/decide/site.d.ts +148 -0
- package/dist/decide/site.d.ts.map +1 -0
- package/dist/decide/site.js +181 -0
- package/dist/decide/site.js.map +1 -0
- package/dist/decide/transport.d.ts +67 -0
- package/dist/decide/transport.d.ts.map +1 -0
- package/dist/decide/transport.js +350 -0
- package/dist/decide/transport.js.map +1 -0
- package/dist/dispatch/mutate-projection.d.ts.map +1 -1
- package/dist/dispatch/mutate-projection.js +5 -0
- package/dist/dispatch/mutate-projection.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +25 -9
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/export-document.js +5963 -2406
- package/dist/docs/export-document.js.map +3 -3
- package/dist/docs/index.d.ts +2 -2
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -1
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/projection.d.ts.map +1 -1
- package/dist/docs/projection.js +2 -3
- package/dist/docs/projection.js.map +1 -1
- package/dist/docs/publish-pr.d.ts +69 -1
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +112 -10
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/doctor/db-substrate.d.ts +13 -8
- package/dist/doctor/db-substrate.d.ts.map +1 -1
- package/dist/doctor/db-substrate.js +39 -26
- package/dist/doctor/db-substrate.js.map +1 -1
- 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/knowledge.d.ts +16 -1
- package/dist/doctor/knowledge.d.ts.map +1 -1
- package/dist/doctor/knowledge.js +58 -32
- package/dist/doctor/knowledge.js.map +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
- package/dist/doctor/nexus-schema-residency.js +3 -0
- package/dist/doctor/nexus-schema-residency.js.map +1 -1
- package/dist/doctor/project-identity.d.ts +44 -1
- package/dist/doctor/project-identity.d.ts.map +1 -1
- package/dist/doctor/project-identity.js +237 -10
- package/dist/doctor/project-identity.js.map +1 -1
- package/dist/doctor/projects.d.ts +170 -0
- package/dist/doctor/projects.d.ts.map +1 -0
- package/dist/doctor/projects.js +1075 -0
- package/dist/doctor/projects.js.map +1 -0
- package/dist/doctor/twin-collapse.d.ts +97 -0
- package/dist/doctor/twin-collapse.d.ts.map +1 -0
- package/dist/doctor/twin-collapse.js +168 -0
- package/dist/doctor/twin-collapse.js.map +1 -0
- package/dist/doctor/worktree-orphans.d.ts.map +1 -1
- package/dist/doctor/worktree-orphans.js +13 -29
- package/dist/doctor/worktree-orphans.js.map +1 -1
- package/dist/doctor/worktree-stores.d.ts +128 -0
- package/dist/doctor/worktree-stores.d.ts.map +1 -0
- package/dist/doctor/worktree-stores.js +374 -0
- package/dist/doctor/worktree-stores.js.map +1 -0
- package/dist/engine/engine-ops.d.ts +36 -6
- package/dist/engine/engine-ops.d.ts.map +1 -1
- package/dist/engine/engine-ops.js +115 -14
- package/dist/engine/engine-ops.js.map +1 -1
- package/dist/error-catalog.d.ts.map +1 -1
- package/dist/error-catalog.js +21 -0
- package/dist/error-catalog.js.map +1 -1
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +40 -0
- package/dist/error-registry.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +1 -1
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +32 -19
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/git/bounded-git.d.ts +170 -0
- package/dist/git/bounded-git.d.ts.map +1 -0
- package/dist/git/bounded-git.js +371 -0
- package/dist/git/bounded-git.js.map +1 -0
- package/dist/git/work-tree.d.ts +20 -0
- package/dist/git/work-tree.d.ts.map +1 -1
- package/dist/git/work-tree.js +20 -2
- package/dist/git/work-tree.js.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts +11 -26
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +18 -47
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/hooks/payload-schemas.d.ts +2 -2
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/init/engine-ops.d.ts.map +1 -1
- package/dist/init/engine-ops.js +23 -1
- package/dist/init/engine-ops.js.map +1 -1
- package/dist/init.d.ts +158 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +578 -53
- package/dist/init.js.map +1 -1
- package/dist/inject/index.d.ts.map +1 -1
- package/dist/inject/index.js +8 -3
- package/dist/inject/index.js.map +1 -1
- package/dist/injection.d.ts +55 -0
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +102 -6
- package/dist/injection.js.map +1 -1
- package/dist/internal.d.ts +11 -7
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +9 -5
- package/dist/internal.js.map +1 -1
- package/dist/issue/diagnostics.d.ts.map +1 -1
- package/dist/issue/diagnostics.js +2 -1
- package/dist/issue/diagnostics.js.map +1 -1
- package/dist/lib/concurrency.d.ts +25 -0
- package/dist/lib/concurrency.d.ts.map +1 -0
- package/dist/lib/concurrency.js +43 -0
- package/dist/lib/concurrency.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lifecycle/engine-ops.d.ts.map +1 -1
- package/dist/lifecycle/engine-ops.js +4 -2
- package/dist/lifecycle/engine-ops.js.map +1 -1
- package/dist/lifecycle/stage-guidance.d.ts +5 -0
- package/dist/lifecycle/stage-guidance.d.ts.map +1 -1
- package/dist/lifecycle/stage-guidance.js +14 -4
- package/dist/lifecycle/stage-guidance.js.map +1 -1
- package/dist/llm/catalog-cache.d.ts +3 -2
- package/dist/llm/catalog-cache.d.ts.map +1 -1
- package/dist/llm/catalog-cache.js +5 -5
- package/dist/llm/catalog-cache.js.map +1 -1
- package/dist/llm/credentials.d.ts +4 -4
- package/dist/llm/credentials.js +6 -6
- package/dist/llm/credentials.js.map +1 -1
- package/dist/llm/plugin-facade.js +4400 -1801
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/llm/stable-device-id.d.ts.map +1 -1
- package/dist/llm/stable-device-id.js +3 -5
- package/dist/llm/stable-device-id.js.map +1 -1
- package/dist/memory/attention.js +31 -31
- package/dist/memory/attention.js.map +1 -1
- package/dist/memory/decision-contradiction.d.ts +152 -0
- package/dist/memory/decision-contradiction.d.ts.map +1 -0
- package/dist/memory/decision-contradiction.js +273 -0
- package/dist/memory/decision-contradiction.js.map +1 -0
- package/dist/memory/decisions.d.ts +42 -11
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +153 -56
- package/dist/memory/decisions.js.map +1 -1
- package/dist/memory/dialectic-evaluator.d.ts +7 -0
- package/dist/memory/dialectic-evaluator.d.ts.map +1 -1
- package/dist/memory/dialectic-evaluator.js +23 -8
- package/dist/memory/dialectic-evaluator.js.map +1 -1
- package/dist/memory/dispatch-trace-format.d.ts +39 -0
- package/dist/memory/dispatch-trace-format.d.ts.map +1 -0
- package/dist/memory/dispatch-trace-format.js +54 -0
- package/dist/memory/dispatch-trace-format.js.map +1 -0
- package/dist/memory/dispatch-trace.d.ts.map +1 -1
- package/dist/memory/dispatch-trace.js +1 -27
- package/dist/memory/dispatch-trace.js.map +1 -1
- package/dist/memory/engine-compat.d.ts +2 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +1 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/memory/import-from-provider.js +3 -3
- package/dist/memory/import-from-provider.js.map +1 -1
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts +96 -0
- package/dist/memory/observation-type-decision.d.ts.map +1 -0
- package/dist/memory/observation-type-decision.js +218 -0
- package/dist/memory/observation-type-decision.js.map +1 -0
- package/dist/memory/redaction.js +2 -0
- package/dist/memory/redaction.js.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts +9 -2
- package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
- package/dist/memory/retrieval/build-retrieval-bundle.js +42 -11
- package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
- package/dist/memory/retrieval/get-current-session-id.d.ts +5 -0
- package/dist/memory/retrieval/get-current-session-id.d.ts.map +1 -1
- package/dist/memory/retrieval/get-current-session-id.js +7 -2
- package/dist/memory/retrieval/get-current-session-id.js.map +1 -1
- package/dist/memory/retrieval/observe.d.ts.map +1 -1
- package/dist/memory/retrieval/observe.js +30 -29
- package/dist/memory/retrieval/observe.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +38 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +136 -48
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-projection.d.ts +76 -0
- package/dist/nexus/assessment-projection.d.ts.map +1 -0
- package/dist/nexus/assessment-projection.js +143 -0
- package/dist/nexus/assessment-projection.js.map +1 -0
- package/dist/nexus/assessment-store.d.ts +14 -2
- package/dist/nexus/assessment-store.d.ts.map +1 -1
- package/dist/nexus/assessment-store.js +21 -3
- package/dist/nexus/assessment-store.js.map +1 -1
- package/dist/nexus/checkout-nonce.d.ts +48 -0
- package/dist/nexus/checkout-nonce.d.ts.map +1 -0
- package/dist/nexus/checkout-nonce.js +84 -0
- package/dist/nexus/checkout-nonce.js.map +1 -0
- package/dist/nexus/devices.d.ts +93 -0
- package/dist/nexus/devices.d.ts.map +1 -0
- package/dist/nexus/devices.js +141 -0
- package/dist/nexus/devices.js.map +1 -0
- package/dist/nexus/freshness.d.ts.map +1 -1
- package/dist/nexus/freshness.js +25 -6
- package/dist/nexus/freshness.js.map +1 -1
- package/dist/nexus/git-state.d.ts +225 -0
- package/dist/nexus/git-state.d.ts.map +1 -0
- package/dist/nexus/git-state.js +677 -0
- package/dist/nexus/git-state.js.map +1 -0
- package/dist/nexus/graph-manifest.d.ts +20 -4
- package/dist/nexus/graph-manifest.d.ts.map +1 -1
- package/dist/nexus/graph-manifest.js +40 -5
- package/dist/nexus/graph-manifest.js.map +1 -1
- package/dist/nexus/identity.d.ts +68 -23
- package/dist/nexus/identity.d.ts.map +1 -1
- package/dist/nexus/identity.js +99 -22
- package/dist/nexus/identity.js.map +1 -1
- package/dist/nexus/index.d.ts +5 -2
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +10 -4
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/knowledge.d.ts +5 -0
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +40 -5
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/legacy-alias.d.ts +60 -0
- package/dist/nexus/legacy-alias.d.ts.map +1 -0
- package/dist/nexus/legacy-alias.js +68 -0
- package/dist/nexus/legacy-alias.js.map +1 -0
- package/dist/nexus/migrate-json-to-sqlite.js +2 -2
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -1
- package/dist/nexus/ops.d.ts +1 -0
- package/dist/nexus/ops.d.ts.map +1 -1
- package/dist/nexus/path-map.d.ts +264 -20
- package/dist/nexus/path-map.d.ts.map +1 -1
- package/dist/nexus/path-map.js +580 -44
- package/dist/nexus/path-map.js.map +1 -1
- package/dist/nexus/projects-clean.d.ts +9 -1
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +126 -14
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/projects-scan.d.ts +56 -1
- package/dist/nexus/projects-scan.d.ts.map +1 -1
- package/dist/nexus/projects-scan.js +144 -3
- package/dist/nexus/projects-scan.js.map +1 -1
- package/dist/nexus/registry-hygiene.d.ts +18 -2
- package/dist/nexus/registry-hygiene.d.ts.map +1 -1
- package/dist/nexus/registry-hygiene.js +37 -11
- package/dist/nexus/registry-hygiene.js.map +1 -1
- package/dist/nexus/registry-roots.d.ts +47 -0
- package/dist/nexus/registry-roots.d.ts.map +1 -0
- package/dist/nexus/registry-roots.js +79 -0
- package/dist/nexus/registry-roots.js.map +1 -0
- package/dist/nexus/registry.d.ts +50 -9
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +311 -156
- package/dist/nexus/registry.js.map +1 -1
- package/dist/nexus/stored-roots.d.ts +171 -0
- package/dist/nexus/stored-roots.d.ts.map +1 -0
- package/dist/nexus/stored-roots.js +253 -0
- package/dist/nexus/stored-roots.js.map +1 -0
- package/dist/nexus/transfer.d.ts.map +1 -1
- package/dist/nexus/transfer.js +3 -0
- package/dist/nexus/transfer.js.map +1 -1
- package/dist/nexus/user-profile-hygiene.d.ts +168 -0
- package/dist/nexus/user-profile-hygiene.d.ts.map +1 -0
- package/dist/nexus/user-profile-hygiene.js +305 -0
- package/dist/nexus/user-profile-hygiene.js.map +1 -0
- package/dist/nexus/user-profile.d.ts +53 -2
- package/dist/nexus/user-profile.d.ts.map +1 -1
- package/dist/nexus/user-profile.js +106 -4
- package/dist/nexus/user-profile.js.map +1 -1
- package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
- package/dist/orchestrate/lifecycle-ops.js +4 -1
- package/dist/orchestrate/lifecycle-ops.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +5 -1
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +5 -2
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts +7 -2
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +17 -6
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts +12 -0
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +157 -71
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/bootstrap.d.ts.map +1 -1
- package/dist/orchestration/bootstrap.js +4 -2
- package/dist/orchestration/bootstrap.js.map +1 -1
- package/dist/orchestration/classify-readiness.d.ts +37 -1
- package/dist/orchestration/classify-readiness.d.ts.map +1 -1
- package/dist/orchestration/classify-readiness.js +48 -19
- package/dist/orchestration/classify-readiness.js.map +1 -1
- package/dist/orchestration/index.d.ts +4 -2
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +6 -4
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lead-rollup.d.ts +8 -5
- package/dist/orchestration/lead-rollup.d.ts.map +1 -1
- package/dist/orchestration/lead-rollup.js +32 -15
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +88 -0
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -0
- package/dist/orchestration/owner-decision-readiness.js +152 -0
- package/dist/orchestration/owner-decision-readiness.js.map +1 -0
- package/dist/orchestration/parallel.d.ts.map +1 -1
- package/dist/orchestration/parallel.js +10 -17
- package/dist/orchestration/parallel.js.map +1 -1
- package/dist/orchestration/psyche-memory-budget.d.ts +105 -0
- package/dist/orchestration/psyche-memory-budget.d.ts.map +1 -0
- package/dist/orchestration/psyche-memory-budget.js +383 -0
- package/dist/orchestration/psyche-memory-budget.js.map +1 -0
- package/dist/orchestration/spawn-prompt.d.ts +16 -2
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +144 -181
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +7 -0
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +1 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/orchestration/status.d.ts +8 -3
- package/dist/orchestration/status.d.ts.map +1 -1
- package/dist/orchestration/status.js +9 -6
- package/dist/orchestration/status.js.map +1 -1
- package/dist/orchestration/wave-topic.d.ts +54 -0
- package/dist/orchestration/wave-topic.d.ts.map +1 -0
- package/dist/orchestration/wave-topic.js +68 -0
- package/dist/orchestration/wave-topic.js.map +1 -0
- package/dist/orchestration/waves.d.ts +47 -8
- package/dist/orchestration/waves.d.ts.map +1 -1
- package/dist/orchestration/waves.js +152 -43
- package/dist/orchestration/waves.js.map +1 -1
- package/dist/paths.d.ts +24 -8
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +135 -71
- package/dist/paths.js.map +1 -1
- package/dist/phases/index.d.ts.map +1 -1
- package/dist/phases/index.js +6 -2
- package/dist/phases/index.js.map +1 -1
- package/dist/platform.d.ts +6 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +8 -19
- package/dist/platform.js.map +1 -1
- package/dist/project-info.d.ts +18 -0
- package/dist/project-info.d.ts.map +1 -1
- package/dist/project-info.js +29 -1
- package/dist/project-info.js.map +1 -1
- package/dist/project-lifecycle.d.ts +91 -32
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +639 -75
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/project-scope.d.ts +104 -4
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +263 -13
- package/dist/project-scope.js.map +1 -1
- package/dist/project-tombstone.d.ts +111 -0
- package/dist/project-tombstone.d.ts.map +1 -0
- package/dist/project-tombstone.js +220 -0
- package/dist/project-tombstone.js.map +1 -0
- package/dist/release/artifacts.d.ts.map +1 -1
- package/dist/release/artifacts.js +14 -9
- package/dist/release/artifacts.js.map +1 -1
- package/dist/release/ci-evidence.d.ts +233 -0
- package/dist/release/ci-evidence.d.ts.map +1 -0
- package/dist/release/ci-evidence.js +668 -0
- package/dist/release/ci-evidence.js.map +1 -0
- package/dist/release/engine-ops.d.ts.map +1 -1
- package/dist/release/engine-ops.js +3 -3
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/release/github-pr.d.ts +30 -0
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +40 -0
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +11 -7
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +38 -0
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +79 -15
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +3 -2
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/release-manifest.d.ts +2 -1
- package/dist/release/release-manifest.d.ts.map +1 -1
- package/dist/release/release-manifest.js +6 -5
- package/dist/release/release-manifest.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts +4 -0
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +57 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/resources/spawn-wrapper.d.ts +8 -1
- package/dist/resources/spawn-wrapper.d.ts.map +1 -1
- package/dist/resources/spawn-wrapper.js +42 -5
- package/dist/resources/spawn-wrapper.js.map +1 -1
- package/dist/routing/build-command-groups.d.ts.map +1 -1
- package/dist/routing/build-command-groups.js +1 -0
- package/dist/routing/build-command-groups.js.map +1 -1
- package/dist/sagas/index.d.ts +1 -1
- package/dist/sagas/index.d.ts.map +1 -1
- package/dist/sagas/index.js +1 -1
- package/dist/sagas/index.js.map +1 -1
- package/dist/sagas/reconcile.d.ts +24 -4
- package/dist/sagas/reconcile.d.ts.map +1 -1
- package/dist/sagas/reconcile.js +226 -100
- package/dist/sagas/reconcile.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +31 -1
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +2 -8
- package/dist/scaffold/project-identity.d.ts.map +1 -1
- package/dist/scaffold/project-identity.js +5 -21
- package/dist/scaffold/project-identity.js.map +1 -1
- package/dist/security/input-sanitization.d.ts +9 -1
- package/dist/security/input-sanitization.d.ts.map +1 -1
- package/dist/security/input-sanitization.js +20 -3
- package/dist/security/input-sanitization.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +4409 -1810
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sentient/propose-tick.d.ts.map +1 -1
- package/dist/sentient/propose-tick.js +4 -2
- package/dist/sentient/propose-tick.js.map +1 -1
- package/dist/sequence/index.d.ts.map +1 -1
- package/dist/sequence/index.js +6 -23
- package/dist/sequence/index.js.map +1 -1
- package/dist/session/engine-ops.d.ts +15 -0
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +146 -22
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/assumptions.d.ts.map +1 -1
- package/dist/sessions/assumptions.js +7 -4
- package/dist/sessions/assumptions.js.map +1 -1
- package/dist/sessions/briefing.d.ts +23 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +59 -9
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/decisions.d.ts +38 -3
- package/dist/sessions/decisions.d.ts.map +1 -1
- package/dist/sessions/decisions.js +235 -21
- package/dist/sessions/decisions.js.map +1 -1
- package/dist/sessions/drift-watchdog.d.ts.map +1 -1
- package/dist/sessions/drift-watchdog.js +8 -5
- package/dist/sessions/drift-watchdog.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +89 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +97 -1
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/sessions/index.d.ts +2 -2
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +34 -5
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/session-drift.d.ts.map +1 -1
- package/dist/sessions/session-drift.js +4 -3
- package/dist/sessions/session-drift.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.d.ts +26 -0
- package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -0
- package/dist/sessions/session-end-snapshot-entry.js +59 -0
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -0
- package/dist/sessions/session-end-snapshot.d.ts +114 -0
- package/dist/sessions/session-end-snapshot.d.ts.map +1 -0
- package/dist/sessions/session-end-snapshot.js +446 -0
- package/dist/sessions/session-end-snapshot.js.map +1 -0
- package/dist/sessions/session-manifest-mirror.d.ts.map +1 -1
- package/dist/sessions/session-manifest-mirror.js +10 -17
- package/dist/sessions/session-manifest-mirror.js.map +1 -1
- package/dist/sessions/session-switch.d.ts.map +1 -1
- package/dist/sessions/session-switch.js +5 -3
- package/dist/sessions/session-switch.js.map +1 -1
- package/dist/sessions/snapshot.d.ts.map +1 -1
- package/dist/sessions/snapshot.js +5 -4
- package/dist/sessions/snapshot.js.map +1 -1
- package/dist/sessions/terminal-identity.d.ts +169 -0
- package/dist/sessions/terminal-identity.d.ts.map +1 -0
- package/dist/sessions/terminal-identity.js +273 -0
- package/dist/sessions/terminal-identity.js.map +1 -0
- package/dist/setup/sections/verification.d.ts +1 -1
- package/dist/setup/sections/verification.d.ts.map +1 -1
- package/dist/setup/sections/verification.js +11 -15
- package/dist/setup/sections/verification.js.map +1 -1
- package/dist/skills/discovery.d.ts +20 -3
- package/dist/skills/discovery.d.ts.map +1 -1
- package/dist/skills/discovery.js +41 -4
- package/dist/skills/discovery.js.map +1 -1
- package/dist/skills/dispatch.d.ts +5 -2
- package/dist/skills/dispatch.d.ts.map +1 -1
- package/dist/skills/dispatch.js +5 -2
- package/dist/skills/dispatch.js.map +1 -1
- package/dist/skills/doctor.d.ts.map +1 -1
- package/dist/skills/doctor.js +5 -1
- package/dist/skills/doctor.js.map +1 -1
- package/dist/skills/federated-search.js +2 -2
- package/dist/skills/federated-search.js.map +1 -1
- package/dist/skills/index.d.ts +3 -3
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/migration.d.ts +5 -5
- package/dist/skills/migration.d.ts.map +1 -1
- package/dist/skills/migration.js +7 -9
- package/dist/skills/migration.js.map +1 -1
- package/dist/skills/orchestrator/startup.d.ts.map +1 -1
- package/dist/skills/orchestrator/startup.js +14 -7
- package/dist/skills/orchestrator/startup.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +267 -0
- package/dist/skills/prune-bundled.d.ts.map +1 -0
- package/dist/skills/prune-bundled.js +536 -0
- package/dist/skills/prune-bundled.js.map +1 -0
- package/dist/skills/skill-paths.d.ts +30 -3
- package/dist/skills/skill-paths.d.ts.map +1 -1
- package/dist/skills/skill-paths.js +28 -9
- package/dist/skills/skill-paths.js.map +1 -1
- package/dist/skills/skill-root.d.ts +60 -11
- package/dist/skills/skill-root.d.ts.map +1 -1
- package/dist/skills/skill-root.js +100 -14
- package/dist/skills/skill-root.js.map +1 -1
- package/dist/skills/skills-guard.js +5 -5
- package/dist/skills/skills-guard.js.map +1 -1
- package/dist/skills/types.d.ts +32 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +17 -34
- package/dist/skills/types.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts +51 -2
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +89 -26
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +80 -79
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/spawn/index.d.ts +2 -2
- package/dist/spawn/index.d.ts.map +1 -1
- package/dist/spawn/index.js +1 -1
- package/dist/spawn/index.js.map +1 -1
- package/dist/spawn/worktree-lock-holder.d.ts +37 -0
- package/dist/spawn/worktree-lock-holder.d.ts.map +1 -0
- package/dist/spawn/worktree-lock-holder.js +41 -0
- package/dist/spawn/worktree-lock-holder.js.map +1 -0
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +4 -2
- package/dist/stats/index.js.map +1 -1
- package/dist/sticky/convert.d.ts.map +1 -1
- package/dist/sticky/convert.js +16 -4
- package/dist/sticky/convert.js.map +1 -1
- package/dist/store/attachment-store.d.ts +14 -0
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +11 -1
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/backup-inspect.d.ts +7 -3
- package/dist/store/backup-inspect.d.ts.map +1 -1
- package/dist/store/backup-inspect.js +18 -7
- package/dist/store/backup-inspect.js.map +1 -1
- package/dist/store/backup-sidecar.d.ts +60 -0
- package/dist/store/backup-sidecar.d.ts.map +1 -0
- package/dist/store/backup-sidecar.js +96 -0
- package/dist/store/backup-sidecar.js.map +1 -0
- package/dist/store/data-accessor.d.ts +1 -1
- package/dist/store/data-accessor.d.ts.map +1 -1
- package/dist/store/data-accessor.js +6 -6
- package/dist/store/data-accessor.js.map +1 -1
- package/dist/store/data-safety-central.d.ts +13 -4
- package/dist/store/data-safety-central.d.ts.map +1 -1
- package/dist/store/data-safety-central.js +31 -4
- package/dist/store/data-safety-central.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +10 -0
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.d.ts.map +1 -1
- package/dist/store/exodus/__fixtures__/representative-fixture.js +4 -0
- package/dist/store/exodus/__fixtures__/representative-fixture.js.map +1 -1
- package/dist/store/exodus/migrate.js +1 -1
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/reconcile.js +1 -1
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +4 -3
- package/dist/store/exodus/runtime-targets.d.ts.map +1 -1
- package/dist/store/exodus/runtime-targets.js +4 -3
- package/dist/store/exodus/runtime-targets.js.map +1 -1
- package/dist/store/import-logging.d.ts.map +1 -1
- package/dist/store/import-logging.js +5 -4
- package/dist/store/import-logging.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -1
- package/dist/store/legacy-tasks-lineage.js +2 -7
- package/dist/store/legacy-tasks-lineage.js.map +1 -1
- package/dist/store/lock.d.ts +1 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +1 -0
- package/dist/store/lock.js.map +1 -1
- package/dist/store/memory-accessor.d.ts +8 -3
- package/dist/store/memory-accessor.d.ts.map +1 -1
- package/dist/store/memory-accessor.js +29 -13
- package/dist/store/memory-accessor.js.map +1 -1
- package/dist/store/memory-sqlite.d.ts.map +1 -1
- package/dist/store/memory-sqlite.js +5 -0
- package/dist/store/memory-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +11 -6
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts +13 -8
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +75 -31
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +2 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/portable-bundle.d.ts.map +1 -1
- package/dist/store/portable-bundle.js +7 -3
- package/dist/store/portable-bundle.js.map +1 -1
- package/dist/store/pre-repair-snapshot.d.ts +77 -0
- package/dist/store/pre-repair-snapshot.d.ts.map +1 -0
- package/dist/store/pre-repair-snapshot.js +122 -0
- package/dist/store/pre-repair-snapshot.js.map +1 -0
- package/dist/store/regenerators.d.ts +2 -1
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +17 -3
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/relocated-store-guard.d.ts +71 -0
- package/dist/store/relocated-store-guard.d.ts.map +1 -0
- package/dist/store/relocated-store-guard.js +138 -0
- package/dist/store/relocated-store-guard.js.map +1 -0
- package/dist/store/safety-data-accessor.d.ts +2 -2
- package/dist/store/safety-data-accessor.d.ts.map +1 -1
- package/dist/store/safety-data-accessor.js +2 -2
- package/dist/store/safety-data-accessor.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +2 -2
- package/dist/store/schema/audit.d.ts +5 -5
- package/dist/store/schema/background-jobs.d.ts +1 -1
- package/dist/store/schema/cleo-global/models-catalog.d.ts +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +686 -0
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +175 -7
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/cleo-global/skills.d.ts +2 -2
- package/dist/store/schema/cleo-project/audit.d.ts +5 -5
- package/dist/store/schema/cleo-project/docs.d.ts +3 -3
- package/dist/store/schema/cleo-project/lifecycle.d.ts +3 -3
- package/dist/store/schema/cleo-project/provenance-commits.d.ts +2 -2
- package/dist/store/schema/cleo-project/provenance-rest.d.ts +3 -3
- package/dist/store/schema/cleo-project/tasks-core-batch2.d.ts +1 -1
- package/dist/store/schema/cleo-project/tasks-core.d.ts +6 -6
- package/dist/store/schema/cleo-shared/brain.d.ts +26 -26
- package/dist/store/schema/lifecycle.d.ts +3 -3
- package/dist/store/schema/manifest.d.ts +1 -1
- package/dist/store/schema/memory-schema.d.ts +26 -26
- package/dist/store/schema/nexus-schema.d.ts +696 -2
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +175 -19
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/schema/provenance/releases.d.ts +1 -1
- package/dist/store/schema/skills-schema.d.ts +2 -2
- package/dist/store/schema/tasks.d.ts +5 -5
- package/dist/store/session-binding-schema.d.ts +132 -0
- package/dist/store/session-binding-schema.d.ts.map +1 -0
- package/dist/store/session-binding-schema.js +53 -0
- package/dist/store/session-binding-schema.js.map +1 -0
- package/dist/store/session-store.d.ts +262 -4
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +486 -26
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/skills-db.d.ts +17 -0
- package/dist/store/skills-db.d.ts.map +1 -1
- package/dist/store/skills-db.js +30 -0
- package/dist/store/skills-db.js.map +1 -1
- package/dist/store/snapshot-gate.d.ts +239 -0
- package/dist/store/snapshot-gate.d.ts.map +1 -0
- package/dist/store/snapshot-gate.js +401 -0
- package/dist/store/snapshot-gate.js.map +1 -0
- package/dist/store/split-brain-import.js +2 -2
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +55 -13
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +414 -106
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +15 -0
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +73 -4
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.d.ts +15 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +75 -5
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/store-write-guard.d.ts +28 -0
- package/dist/store/store-write-guard.d.ts.map +1 -0
- package/dist/store/store-write-guard.js +50 -0
- package/dist/store/store-write-guard.js.map +1 -0
- package/dist/store/table-classification.d.ts +143 -0
- package/dist/store/table-classification.d.ts.map +1 -0
- package/dist/store/table-classification.js +1866 -0
- package/dist/store/table-classification.js.map +1 -0
- package/dist/store/task-version.d.ts +72 -0
- package/dist/store/task-version.d.ts.map +1 -0
- package/dist/store/task-version.js +93 -0
- package/dist/store/task-version.js.map +1 -0
- package/dist/store/tasks-schema.d.ts +1 -0
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/tasks-schema.js +13 -0
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/store/tasks-sqlite.d.ts +10 -3
- package/dist/store/tasks-sqlite.d.ts.map +1 -1
- package/dist/store/tasks-sqlite.js +12 -3
- package/dist/store/tasks-sqlite.js.map +1 -1
- package/dist/store/twin-collapse.d.ts +320 -0
- package/dist/store/twin-collapse.d.ts.map +1 -0
- package/dist/store/twin-collapse.js +931 -0
- package/dist/store/twin-collapse.js.map +1 -0
- package/dist/store/umbrella-data-accessor.d.ts +2 -2
- package/dist/store/umbrella-data-accessor.d.ts.map +1 -1
- package/dist/store/umbrella-data-accessor.js +2 -2
- package/dist/store/umbrella-data-accessor.js.map +1 -1
- package/dist/store/validation-schemas.d.ts +63 -63
- package/dist/store/worktree-isolation-guard.d.ts +46 -24
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +71 -50
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +3 -67
- package/dist/system/backup.js.map +1 -1
- package/dist/system/cleo-link.d.ts +163 -0
- package/dist/system/cleo-link.d.ts.map +1 -0
- package/dist/system/cleo-link.js +246 -0
- package/dist/system/cleo-link.js.map +1 -0
- package/dist/system/dependencies.d.ts.map +1 -1
- package/dist/system/dependencies.js +3 -6
- package/dist/system/dependencies.js.map +1 -1
- package/dist/system/global-delivery.d.ts +205 -0
- package/dist/system/global-delivery.d.ts.map +1 -0
- package/dist/system/global-delivery.js +320 -0
- package/dist/system/global-delivery.js.map +1 -0
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +29 -6
- package/dist/system/health.js.map +1 -1
- package/dist/system/inject-generate.d.ts.map +1 -1
- package/dist/system/inject-generate.js +4 -4
- package/dist/system/inject-generate.js.map +1 -1
- package/dist/system/project-health.d.ts.map +1 -1
- package/dist/system/project-health.js +1 -20
- package/dist/system/project-health.js.map +1 -1
- package/dist/system/runtime.d.ts.map +1 -1
- package/dist/system/runtime.js +2 -12
- package/dist/system/runtime.js.map +1 -1
- package/dist/system/safestop.d.ts.map +1 -1
- package/dist/system/safestop.js +5 -2
- package/dist/system/safestop.js.map +1 -1
- package/dist/system/skill-fixtures.d.ts +200 -0
- package/dist/system/skill-fixtures.d.ts.map +1 -0
- package/dist/system/skill-fixtures.js +331 -0
- package/dist/system/skill-fixtures.js.map +1 -0
- package/dist/task-work/index.d.ts +6 -0
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +6 -3
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +4 -2
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +218 -0
- package/dist/tasks/affected-packages.d.ts.map +1 -0
- package/dist/tasks/affected-packages.js +496 -0
- package/dist/tasks/affected-packages.js.map +1 -0
- package/dist/tasks/affected-scope.d.ts +59 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -0
- package/dist/tasks/affected-scope.js +81 -0
- package/dist/tasks/affected-scope.js.map +1 -0
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +7 -2
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/change-set.d.ts +175 -0
- package/dist/tasks/change-set.d.ts.map +1 -0
- package/dist/tasks/change-set.js +753 -0
- package/dist/tasks/change-set.js.map +1 -0
- package/dist/tasks/complete.d.ts +10 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +59 -5
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +106 -0
- package/dist/tasks/component-pr.d.ts.map +1 -0
- package/dist/tasks/component-pr.js +190 -0
- package/dist/tasks/component-pr.js.map +1 -0
- package/dist/tasks/done-plan.d.ts +123 -0
- package/dist/tasks/done-plan.d.ts.map +1 -0
- package/dist/tasks/done-plan.js +696 -0
- package/dist/tasks/done-plan.js.map +1 -0
- package/dist/tasks/done-record.d.ts +127 -0
- package/dist/tasks/done-record.d.ts.map +1 -0
- package/dist/tasks/done-record.js +302 -0
- package/dist/tasks/done-record.js.map +1 -0
- package/dist/tasks/duplicate-detector.d.ts +68 -11
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +314 -58
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/evidence-paths.d.ts +78 -0
- package/dist/tasks/evidence-paths.d.ts.map +1 -0
- package/dist/tasks/evidence-paths.js +150 -0
- package/dist/tasks/evidence-paths.js.map +1 -0
- package/dist/tasks/evidence.d.ts +101 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +278 -31
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +5 -0
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +25 -21
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-result-cache.d.ts +205 -0
- package/dist/tasks/gate-result-cache.d.ts.map +1 -0
- package/dist/tasks/gate-result-cache.js +285 -0
- package/dist/tasks/gate-result-cache.js.map +1 -0
- package/dist/tasks/gate-runner.d.ts +126 -3
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +483 -28
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/session-scope.d.ts +3 -1
- package/dist/tasks/session-scope.d.ts.map +1 -1
- package/dist/tasks/session-scope.js +18 -3
- package/dist/tasks/session-scope.js.map +1 -1
- package/dist/tasks/task-next.d.ts +4 -0
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +32 -28
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +23 -6
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +146 -8
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/tool-vacuity.d.ts +71 -0
- package/dist/tasks/tool-vacuity.d.ts.map +1 -0
- package/dist/tasks/tool-vacuity.js +334 -0
- package/dist/tasks/tool-vacuity.js.map +1 -0
- package/dist/tasks/update.d.ts +8 -0
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +159 -78
- package/dist/tasks/update.js.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +18 -2
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +20 -2
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +64 -4
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/doctor/index.d.ts +1 -1
- package/dist/validation/doctor/index.d.ts.map +1 -1
- package/dist/validation/doctor/index.js +1 -1
- package/dist/validation/doctor/index.js.map +1 -1
- package/dist/validation/doctor/utils.d.ts.map +1 -1
- package/dist/validation/doctor/utils.js +7 -2
- package/dist/validation/doctor/utils.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +24 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +272 -98
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +9 -3
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +5 -2
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/migrations/drizzle-cleo-global/20260927000000_t12469-project-locations/migration.sql +121 -0
- package/migrations/drizzle-cleo-global/20260927010000_t12543-user-profile-project-scope/migration.sql +23 -0
- package/migrations/drizzle-cleo-global/20260928010000_t12470-location-candidates/migration.sql +72 -0
- package/migrations/drizzle-cleo-global/20260928020000_t12510-nexus-devices/migration.sql +34 -0
- package/migrations/drizzle-cleo-global/20260928030000_t12511-project-git-state/migration.sql +62 -0
- package/migrations/drizzle-cleo-project/20260927000000_t12499-session-terminal-bindings/migration.sql +34 -0
- package/migrations/drizzle-cleo-project/20260928000000_t12500-binding-provider-flag/migration.sql +15 -0
- package/package.json +23 -13
- package/schemas/config.schema.json +54 -0
- package/schemas/project-context.schema.json +51 -3
- package/schemas/project-info.schema.json +28 -1
- package/templates/CLEO-INJECTION.md +40 -332
- package/templates/CLEO-REFERENCE.md +303 -0
- package/templates/workflows/README.md +36 -14
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* |------|---------|
|
|
14
14
|
* | 0 | Minimal: task metadata + return-format contract + evidence-gate commands |
|
|
15
15
|
* | 1 | Standard (DEFAULT): tier 0 + CLEO-INJECTION.md embed + stage-specific guidance + quality-gate commands + absolute paths + session linkage |
|
|
16
|
-
* | 2 | Full: tier 1 + ct-cleo + ct-orchestrator skill excerpts + SUBAGENT-PROTOCOL-BLOCK + anti-pattern reference |
|
|
16
|
+
* | 2 | Full: tier 1 + CLEO-REFERENCE.md embed + ct-cleo + ct-orchestrator skill excerpts + SUBAGENT-PROTOCOL-BLOCK + anti-pattern reference |
|
|
17
17
|
*
|
|
18
18
|
* ## Protocol phases (RCASD-IVTR+C)
|
|
19
19
|
*
|
|
@@ -40,9 +40,12 @@
|
|
|
40
40
|
import { existsSync, readFileSync } from 'node:fs';
|
|
41
41
|
import { dirname, join, resolve } from 'node:path';
|
|
42
42
|
import { fileURLToPath } from 'node:url';
|
|
43
|
+
import { getProviderAskTool } from '@cleocode/caamp';
|
|
43
44
|
import { normalizeSlug } from '../docs/slug-normalize.js';
|
|
44
|
-
import {
|
|
45
|
-
import { resolveSkillPath } from '../skills/skill-paths.js';
|
|
45
|
+
import { provisionIsolatedShell } from '../sdk/isolation.js';
|
|
46
|
+
import { resolveSkillLocation, resolveSkillPath } from '../skills/skill-paths.js';
|
|
47
|
+
import { buildBudgetedPsycheMemoryBlock, relevanceContextFromTask, } from './psyche-memory-budget.js';
|
|
48
|
+
import { coordinationTopic, waveTopic as waveTopicName } from './wave-topic.js';
|
|
46
49
|
/**
|
|
47
50
|
* Locate `packages/core/templates/CLEO-INJECTION.md` at runtime.
|
|
48
51
|
*
|
|
@@ -62,15 +65,18 @@ import { resolveSkillPath } from '../skills/skill-paths.js';
|
|
|
62
65
|
* Returns the absolute path to CLEO-INJECTION.md, or `null` if no layout
|
|
63
66
|
* contains the file. The cached string in {@link loadCleoInjection} degrades
|
|
64
67
|
* gracefully on `null`.
|
|
68
|
+
*
|
|
69
|
+
* @param fileName - Template file name; `CLEO-REFERENCE.md` locates the
|
|
70
|
+
* on-demand reference that ships beside the core (T12580).
|
|
65
71
|
*/
|
|
66
|
-
function locateCleoInjectionTemplate() {
|
|
72
|
+
function locateCleoInjectionTemplate(fileName = 'CLEO-INJECTION.md') {
|
|
67
73
|
const thisFile = fileURLToPath(import.meta.url);
|
|
68
74
|
const candidates = [];
|
|
69
75
|
// Layout 1 + 2: walk up from this file until we find a `templates/` sibling
|
|
70
76
|
// of our own package (or hit filesystem root).
|
|
71
77
|
let dir = dirname(thisFile);
|
|
72
78
|
for (let i = 0; i < 8; i++) {
|
|
73
|
-
const direct = join(dir, 'templates',
|
|
79
|
+
const direct = join(dir, 'templates', fileName);
|
|
74
80
|
if (existsSync(direct))
|
|
75
81
|
return direct;
|
|
76
82
|
candidates.push(direct);
|
|
@@ -83,7 +89,7 @@ function locateCleoInjectionTemplate() {
|
|
|
83
89
|
// few ancestor directories of the bundle.
|
|
84
90
|
let baseDir = dirname(thisFile);
|
|
85
91
|
for (let i = 0; i < 8; i++) {
|
|
86
|
-
const nm = join(baseDir, 'node_modules', '@cleocode', 'core', 'templates',
|
|
92
|
+
const nm = join(baseDir, 'node_modules', '@cleocode', 'core', 'templates', fileName);
|
|
87
93
|
if (existsSync(nm))
|
|
88
94
|
return nm;
|
|
89
95
|
const parent = resolve(baseDir, '..');
|
|
@@ -145,6 +151,7 @@ export const ALL_SPAWN_PROTOCOL_PHASES = [
|
|
|
145
151
|
];
|
|
146
152
|
const CACHE = {
|
|
147
153
|
cleoInjection: null,
|
|
154
|
+
cleoReference: null,
|
|
148
155
|
ctCleoExcerpt: null,
|
|
149
156
|
ctOrchestratorExcerpt: null,
|
|
150
157
|
ctLeadExcerpt: null,
|
|
@@ -158,6 +165,7 @@ const CACHE = {
|
|
|
158
165
|
*/
|
|
159
166
|
export function resetSpawnPromptCache() {
|
|
160
167
|
CACHE.cleoInjection = null;
|
|
168
|
+
CACHE.cleoReference = null;
|
|
161
169
|
CACHE.ctCleoExcerpt = null;
|
|
162
170
|
CACHE.ctOrchestratorExcerpt = null;
|
|
163
171
|
CACHE.ctLeadExcerpt = null;
|
|
@@ -186,30 +194,57 @@ function loadCleoInjection() {
|
|
|
186
194
|
}
|
|
187
195
|
return null;
|
|
188
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Load the on-demand protocol reference (`CLEO-REFERENCE.md`) that ships
|
|
199
|
+
* beside CLEO-INJECTION.md. Returns `null` when absent so tier-2 assembly
|
|
200
|
+
* degrades to the core embed plus its `cleo briefing inject` pointers.
|
|
201
|
+
*
|
|
202
|
+
* @task T12580
|
|
203
|
+
*/
|
|
204
|
+
function loadCleoReference() {
|
|
205
|
+
if (CACHE.cleoReference !== null)
|
|
206
|
+
return CACHE.cleoReference;
|
|
207
|
+
try {
|
|
208
|
+
const templatePath = locateCleoInjectionTemplate('CLEO-REFERENCE.md');
|
|
209
|
+
if (templatePath) {
|
|
210
|
+
CACHE.cleoReference = readFileSync(templatePath, 'utf-8');
|
|
211
|
+
return CACHE.cleoReference;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
// fall-through
|
|
216
|
+
}
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
189
219
|
/**
|
|
190
220
|
* Load an excerpt from a skill's SKILL.md file.
|
|
191
221
|
*
|
|
192
222
|
* Excerpts are trimmed to the first N characters so that tier 2 prompts do
|
|
193
223
|
* not balloon. If the skill is not found (CAAMP not installed, filesystem
|
|
194
|
-
* error) returns `null` and the caller omits the excerpt.
|
|
224
|
+
* error) returns `null` and the caller omits the excerpt. A skill read from
|
|
225
|
+
* the bundled `@cleocode/skills` copy because it is not installed is prefixed
|
|
226
|
+
* with a notice saying so (T12646).
|
|
195
227
|
*/
|
|
196
228
|
function loadSkillExcerpt(skillName, maxChars, projectRoot) {
|
|
197
|
-
const
|
|
198
|
-
if (!
|
|
229
|
+
const location = resolveSkillLocation(skillName, projectRoot);
|
|
230
|
+
if (!location)
|
|
199
231
|
return null;
|
|
200
|
-
const skillFile = join(
|
|
232
|
+
const skillFile = join(location.path, 'SKILL.md');
|
|
201
233
|
if (!existsSync(skillFile))
|
|
202
234
|
return null;
|
|
235
|
+
const notice = location.origin === 'bundled'
|
|
236
|
+
? `> [${skillName} is not installed in this environment — excerpt read from the \`@cleocode/skills\` package]\n\n`
|
|
237
|
+
: '';
|
|
203
238
|
try {
|
|
204
239
|
const content = readFileSync(skillFile, 'utf-8');
|
|
205
240
|
if (content.length <= maxChars)
|
|
206
|
-
return content
|
|
241
|
+
return `${notice}${content}`;
|
|
207
242
|
// Truncate at a newline boundary for readability.
|
|
208
243
|
const sliced = content.slice(0, maxChars);
|
|
209
244
|
const lastNewline = sliced.lastIndexOf('\n');
|
|
210
245
|
return lastNewline > 0
|
|
211
|
-
? `${sliced.slice(0, lastNewline)}\n\n> [excerpt — full skill at ${skillFile}]`
|
|
212
|
-
: `${sliced}\n\n> [excerpt — full skill at ${skillFile}]`;
|
|
246
|
+
? `${notice}${sliced.slice(0, lastNewline)}\n\n> [excerpt — full skill at ${skillFile}]`
|
|
247
|
+
: `${notice}${sliced}\n\n> [excerpt — full skill at ${skillFile}]`;
|
|
213
248
|
}
|
|
214
249
|
catch {
|
|
215
250
|
return null;
|
|
@@ -248,19 +283,20 @@ function loadSubagentProtocolBlock(projectRoot) {
|
|
|
248
283
|
* Emitted when the orchestrate engine has pre-provisioned a git worktree for
|
|
249
284
|
* the task (worktree-by-default per T1140 / ADR-055). The section:
|
|
250
285
|
*
|
|
251
|
-
* - Names the
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
* -
|
|
256
|
-
*
|
|
257
|
-
* -
|
|
258
|
-
*
|
|
259
|
-
*
|
|
286
|
+
* - Names the branch and task, and states the context-isolation constraint so
|
|
287
|
+
* the agent knows it is authorized only within the worktree boundary.
|
|
288
|
+
* - Provides the `FIRST ACTION` directive and warns that each Bash tool call
|
|
289
|
+
* starts a fresh shell — cwd does NOT persist between calls (T1758).
|
|
290
|
+
* - Embeds the preamble from {@link provisionIsolatedShell} as the ONE cd
|
|
291
|
+
* guard and the only shell rendering of the worktree path (T12520). The
|
|
292
|
+
* preamble single-quotes every path, so the commands survive a path with
|
|
293
|
+
* spaces such as macOS `~/Library/Application Support/...`. Earlier versions
|
|
294
|
+
* also emitted an unquoted `WORKTREE=<path>` snippet and a bare
|
|
295
|
+
* `cd <path>` FIRST ACTION (both broke on every macOS worktree) plus a
|
|
296
|
+
* stale `/mnt/projects/cleocode` example; all three are gone.
|
|
260
297
|
*
|
|
261
|
-
* When `--no-worktree
|
|
262
|
-
* and the section is absent.
|
|
263
|
-
* section may still run on the primary worktree (backward compat).
|
|
298
|
+
* When there is no worktree (`--no-worktree`, or provisioning skipped) this
|
|
299
|
+
* function is not called and the section is absent.
|
|
264
300
|
*
|
|
265
301
|
* The `projectHash` is derived from the worktree path (second-to-last path
|
|
266
302
|
* component per the canonical XDG layout: `.../worktrees/<hash>/<taskId>`).
|
|
@@ -272,6 +308,7 @@ function loadSubagentProtocolBlock(projectRoot) {
|
|
|
272
308
|
*
|
|
273
309
|
* @task T1140 — worktree-by-default spawn prompt
|
|
274
310
|
* @task T1758 — harden tier-1 spawn prompt: cwd-reset warning + cd guard
|
|
311
|
+
* @task T12520 — quoted paths, one cd guard, no stale literal
|
|
275
312
|
*/
|
|
276
313
|
function buildWorktreeSetupBlock(worktreePath, worktreeBranch, taskId, identity = {}) {
|
|
277
314
|
// Derive projectHash from the canonical path layout:
|
|
@@ -294,58 +331,23 @@ function buildWorktreeSetupBlock(worktreePath, worktreeBranch, taskId, identity
|
|
|
294
331
|
...(identity.sessionId ? { sessionId: identity.sessionId } : {}),
|
|
295
332
|
...(identity.agentId ? { agentId: identity.agentId } : {}),
|
|
296
333
|
});
|
|
297
|
-
//
|
|
298
|
-
|
|
299
|
-
//
|
|
300
|
-
|
|
334
|
+
// T12520 — the preamble is the ONE cd guard and the only place a path is
|
|
335
|
+
// rendered as shell text; `provisionIsolatedShell` single-quotes every path,
|
|
336
|
+
// so the block stays valid under `~/Library/Application Support/...`. The
|
|
337
|
+
// prose below deliberately names no path (it would need its own quoting and
|
|
338
|
+
// would be a second, drifting copy of the guard).
|
|
301
339
|
return [
|
|
302
|
-
'## Worktree Setup (REQUIRED)
|
|
303
|
-
'',
|
|
304
|
-
`> Authorized only within \`${worktreePath}\`.`,
|
|
340
|
+
'## Worktree Setup (REQUIRED)',
|
|
305
341
|
'',
|
|
306
|
-
|
|
307
|
-
`- **Branch**: \`${worktreeBranch}\``,
|
|
308
|
-
`- **Task**: \`${taskId}\``,
|
|
342
|
+
`Authorized only within this worktree (branch \`${worktreeBranch}\`, task \`${taskId}\`). Never read or write the main checkout or any path outside the worktree in Edit/Write.`,
|
|
309
343
|
'',
|
|
310
|
-
|
|
311
|
-
'',
|
|
312
|
-
'**CRITICAL — WORKTREE ISOLATION**:',
|
|
313
|
-
'1. After initial `cd`, `pwd` must show worktree path',
|
|
314
|
-
'2. Each Bash call starts a fresh shell. Re-`cd` at start of EVERY Bash call: `cd <worktree> && <command>`',
|
|
315
|
-
`3. NEVER \`cd /mnt/projects/cleocode\`. NEVER use absolute paths outside the worktree in Edit/Write`,
|
|
316
|
-
`4. Read merged branches via your worktree (it tracks \`main\`'s latest)`,
|
|
317
|
-
'',
|
|
318
|
-
'**WARNING — cwd does NOT persist between Bash calls**:',
|
|
319
|
-
'Each Bash tool invocation starts a new shell process. Your working directory',
|
|
320
|
-
'resets to the default every call. You MUST prefix every Bash call with the',
|
|
321
|
-
'worktree cd-guard below — failure to do so is the leading cause of agents',
|
|
322
|
-
'accidentally writing files to the wrong location.',
|
|
323
|
-
'',
|
|
324
|
-
'Ready-to-use cd-guard snippet (copy-paste to start every Bash call):',
|
|
325
|
-
'```bash',
|
|
326
|
-
cdGuardSnippet,
|
|
327
|
-
'```',
|
|
344
|
+
'**FIRST ACTION**: run the block below. Each Bash call starts a new shell and cwd does NOT persist between Bash calls, so begin EVERY Bash call with its `cd ... || exit 1` line.',
|
|
328
345
|
'',
|
|
329
|
-
'Shell isolation preamble (single-source-of-truth from `provisionIsolatedShell`):',
|
|
330
346
|
'```bash',
|
|
331
347
|
isolation.preamble.trimEnd(),
|
|
332
348
|
'```',
|
|
333
349
|
'',
|
|
334
|
-
|
|
335
|
-
'',
|
|
336
|
-
'Forbidden git ops: `git checkout, git switch, git branch -b/-D, git reset --hard, git worktree add/remove, git rebase, git stash pop, git push --force`',
|
|
337
|
-
'',
|
|
338
|
-
'All commits MUST land on YOUR branch only. The orchestrator integrates via `git merge --no-ff` (ADR-062), preserving your commit SHAs and authorship.',
|
|
339
|
-
'',
|
|
340
|
-
'**BRANCH PROVENANCE (T1927)**:',
|
|
341
|
-
`The orchestrator provisioned \`${worktreeBranch}\` cleanly from the integration base.`,
|
|
342
|
-
'If you ever need to manually create a task branch (e.g. in a fallback flow), ALWAYS run:',
|
|
343
|
-
'```bash',
|
|
344
|
-
`git branch -D ${worktreeBranch} 2>/dev/null || true`,
|
|
345
|
-
`git branch ${worktreeBranch} <base-ref>`,
|
|
346
|
-
'```',
|
|
347
|
-
'NEVER use `git worktree add -b` on a branch that may already exist — it silently reuses',
|
|
348
|
-
'orphan history from prior sessions or test fixtures and will corrupt the merge on completion.',
|
|
350
|
+
`**CRITICAL — WORKTREE ISOLATION**: commit only to \`${worktreeBranch}\`; the orchestrator integrates with \`git merge --no-ff\` (ADR-062). Forbidden: \`git checkout\`, \`git switch\`, \`git branch -b/-D\`, \`git reset --hard\`, \`git worktree add/remove\`, \`git rebase\`, \`git stash pop\`, \`git push --force\`.`,
|
|
349
351
|
].join('\n');
|
|
350
352
|
}
|
|
351
353
|
/**
|
|
@@ -769,8 +771,25 @@ function buildQualityGateBlock() {
|
|
|
769
771
|
'If ANY gate fails, fix it before completing. Do not bypass. Do not `--no-verify`. Do not amend published commits.',
|
|
770
772
|
].join('\n');
|
|
771
773
|
}
|
|
774
|
+
/**
|
|
775
|
+
* Build the one-line HITL rule for a SUBAGENT (T12482).
|
|
776
|
+
*
|
|
777
|
+
* Spawned agents never ask the human: harness ask tools are unavailable to
|
|
778
|
+
* subagents (Claude Code's `AskUserQuestion` included), and the owner
|
|
779
|
+
* directive routes every decision through the orchestrator. The subagent
|
|
780
|
+
* returns `blocked` with the question + options in the manifest; the line
|
|
781
|
+
* names the tool the ORCHESTRATOR asks with, or the `hitl.request` fallback.
|
|
782
|
+
*
|
|
783
|
+
* @param type - Return-contract type word (e.g. `Implementation`).
|
|
784
|
+
* @param askProviderId - Orchestrator's CAAMP provider id, if known.
|
|
785
|
+
*/
|
|
786
|
+
function buildHitlLine(type, askProviderId) {
|
|
787
|
+
const tool = askProviderId ? getProviderAskTool(askProviderId).toolName : null;
|
|
788
|
+
const how = tool ? `asks via \`${tool}\`` : 'emits one `hitl.request` LAFS envelope';
|
|
789
|
+
return `HITL: never ask the human. Return \`${type} blocked.\` with {question, options[{label,description}], recommended} in the manifest; the orchestrator ${how}.`;
|
|
790
|
+
}
|
|
772
791
|
/** Build the return-format contract — exact strings the subagent may return. */
|
|
773
|
-
function buildReturnFormatBlock(protocol) {
|
|
792
|
+
function buildReturnFormatBlock(protocol, askProviderId) {
|
|
774
793
|
const type = protocol === 'research'
|
|
775
794
|
? 'Research'
|
|
776
795
|
: protocol === 'consensus'
|
|
@@ -806,6 +825,8 @@ function buildReturnFormatBlock(protocol) {
|
|
|
806
825
|
'1. The `pipeline_manifest` table via `cleo manifest append` (see **Manifest Protocol** below)',
|
|
807
826
|
'2. The task record itself (gates, status, notes)',
|
|
808
827
|
'3. Files committed to your branch',
|
|
828
|
+
'',
|
|
829
|
+
buildHitlLine(type, askProviderId),
|
|
809
830
|
].join('\n');
|
|
810
831
|
}
|
|
811
832
|
/**
|
|
@@ -894,7 +915,8 @@ function buildManifestProtocolBlock(taskId, protocol) {
|
|
|
894
915
|
* The legacy flat-file manifest row was removed when `pipeline_manifest`
|
|
895
916
|
* (SQLite) became the canonical manifest store (ADR-027 §6.2, T1096). Subagents append
|
|
896
917
|
* manifest entries via `cleo manifest append` — see the Manifest Protocol block
|
|
897
|
-
* rendered alongside this one.
|
|
918
|
+
* rendered alongside this one. T12482 dropped this block's restatement of that
|
|
919
|
+
* rule (the Manifest Protocol block already says it) to fund the HITL line.
|
|
898
920
|
*/
|
|
899
921
|
function buildFilePathsBlock(taskId, outputDir, rcasdDir, testRunsDir) {
|
|
900
922
|
return [
|
|
@@ -905,10 +927,6 @@ function buildFilePathsBlock(taskId, outputDir, rcasdDir, testRunsDir) {
|
|
|
905
927
|
`| Agent output directory | \`${outputDir}\` |`,
|
|
906
928
|
`| RCASD workspace (${taskId}) | \`${rcasdDir}\` |`,
|
|
907
929
|
`| Test-run captures | \`${testRunsDir}\` |`,
|
|
908
|
-
'',
|
|
909
|
-
'> Manifest entries are stored in `pipeline_manifest` (tasks.db) and MUST be',
|
|
910
|
-
'> written via `cleo manifest append` (see **Manifest Protocol**). Never',
|
|
911
|
-
'> create a flat `.jsonl` manifest file — the legacy sink was retired (ADR-027).',
|
|
912
930
|
].join('\n');
|
|
913
931
|
}
|
|
914
932
|
/** Build the session-linkage block — thread orchestrator session id to subagent. */
|
|
@@ -940,6 +958,8 @@ function buildTier0ProtocolPointer() {
|
|
|
940
958
|
'Full protocol reference: `~/.cleo/templates/CLEO-INJECTION.md` (global) or `packages/core/templates/CLEO-INJECTION.md` (source).',
|
|
941
959
|
'',
|
|
942
960
|
'Cheapest-first discovery: `cleo session status` → `cleo dash` → `cleo current` → `cleo next` → `cleo show <id>`.',
|
|
961
|
+
'',
|
|
962
|
+
'On-demand protocol sections: `cleo briefing inject --section <name>`.',
|
|
943
963
|
].join('\n');
|
|
944
964
|
}
|
|
945
965
|
/** Build the tier 1 CLEO-INJECTION embed. */
|
|
@@ -956,7 +976,32 @@ function buildTier1InjectionEmbed() {
|
|
|
956
976
|
return [
|
|
957
977
|
'## CLEO Protocol (embedded — tier 1)',
|
|
958
978
|
'',
|
|
959
|
-
'<details><summary>Click to expand
|
|
979
|
+
'<details><summary>Click to expand core protocol</summary>',
|
|
980
|
+
'',
|
|
981
|
+
content,
|
|
982
|
+
'',
|
|
983
|
+
'</details>',
|
|
984
|
+
].join('\n');
|
|
985
|
+
}
|
|
986
|
+
/**
|
|
987
|
+
* Build the tier 2 protocol-reference embed.
|
|
988
|
+
*
|
|
989
|
+
* CLEO-INJECTION.md is only the always-loaded core; its reference sections
|
|
990
|
+
* live in CLEO-REFERENCE.md. Tier-2 workers run autonomously, so they get the
|
|
991
|
+
* reference resolved in full rather than a `cleo briefing inject` round-trip
|
|
992
|
+
* per section. Emitted even when the core embed is deduplicated, because no
|
|
993
|
+
* harness auto-loads the reference.
|
|
994
|
+
*
|
|
995
|
+
* @task T12580
|
|
996
|
+
*/
|
|
997
|
+
function buildTier2ReferenceEmbed() {
|
|
998
|
+
const content = loadCleoReference();
|
|
999
|
+
if (!content)
|
|
1000
|
+
return null;
|
|
1001
|
+
return [
|
|
1002
|
+
'## CLEO Protocol Reference (embedded — tier 2)',
|
|
1003
|
+
'',
|
|
1004
|
+
'<details><summary>Click to expand on-demand reference sections</summary>',
|
|
960
1005
|
'',
|
|
961
1006
|
content,
|
|
962
1007
|
'',
|
|
@@ -1075,8 +1120,8 @@ function buildDashboardContextBlock(summary) {
|
|
|
1075
1120
|
}
|
|
1076
1121
|
function buildConduitSubscriptionBlock(config) {
|
|
1077
1122
|
const { epicId, waveId, peerId } = config;
|
|
1078
|
-
const waveTopic =
|
|
1079
|
-
const coordTopic =
|
|
1123
|
+
const waveTopic = waveTopicName(epicId, waveId);
|
|
1124
|
+
const coordTopic = coordinationTopic(epicId);
|
|
1080
1125
|
return [
|
|
1081
1126
|
'## CONDUIT Subscription (A2A Wave Coordination · T1252)',
|
|
1082
1127
|
'',
|
|
@@ -1172,114 +1217,28 @@ function buildAntiPatternBlock() {
|
|
|
1172
1217
|
* the spawned agent its user profile, peer memory, and session context.
|
|
1173
1218
|
* Mirrors the `computeBriefing` path in `briefing.ts` (M1 parity).
|
|
1174
1219
|
*
|
|
1220
|
+
* T12519: the block is budgeted. Operation receipts and dispatch traces are
|
|
1221
|
+
* excluded. The rest is ranked by relevance to `task` and capped at
|
|
1222
|
+
* `PSYCHE_MEMORY_TOKEN_BUDGET` tokens, admitting whole entries only. See
|
|
1223
|
+
* `psyche-memory-budget.ts`.
|
|
1224
|
+
*
|
|
1175
1225
|
* Called only when `tier >= 1` and `retrievalBundle` is set.
|
|
1176
|
-
* Callers MUST NOT crash if the bundle is empty
|
|
1177
|
-
* until T1147 W7 sweep ships in .132).
|
|
1226
|
+
* Callers MUST NOT crash if the bundle is empty.
|
|
1178
1227
|
*
|
|
1179
1228
|
* @param bundle - The retrieval bundle from `buildRetrievalBundle`.
|
|
1229
|
+
* @param task - The task being spawned (relevance ranking source).
|
|
1230
|
+
* @param attentionDigestLines - Pre-rendered Tier-2 attention lines (T11374).
|
|
1180
1231
|
* @returns Markdown string for the `## PSYCHE-MEMORY` section.
|
|
1181
1232
|
*
|
|
1182
1233
|
* @task T1260 PSYCHE E3
|
|
1234
|
+
* @task T12519
|
|
1183
1235
|
*/
|
|
1184
|
-
function buildPsycheMemoryBlock(bundle, attentionDigestLines) {
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
// there are no open items (the empty-attention contract: inject nothing).
|
|
1191
|
-
if (attentionDigestLines && attentionDigestLines.length > 0) {
|
|
1192
|
-
lines.push('');
|
|
1193
|
-
lines.push(...attentionDigestLines);
|
|
1194
|
-
}
|
|
1195
|
-
// -- Cold: user profile --
|
|
1196
|
-
if (bundle.cold.userProfile.length > 0) {
|
|
1197
|
-
lines.push('');
|
|
1198
|
-
lines.push('### User Profile');
|
|
1199
|
-
for (const trait of bundle.cold.userProfile) {
|
|
1200
|
-
lines.push(`- **${trait.traitKey}**: ${trait.traitValue}`);
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
// -- Cold: sigil card (Wave 8 T1148) --
|
|
1204
|
-
if (bundle.cold.sigilCard) {
|
|
1205
|
-
const s = bundle.cold.sigilCard;
|
|
1206
|
-
lines.push('');
|
|
1207
|
-
lines.push('### Active Peer Sigil');
|
|
1208
|
-
if (s.displayName)
|
|
1209
|
-
lines.push(`- **Name**: ${s.displayName}`);
|
|
1210
|
-
if (s.role)
|
|
1211
|
-
lines.push(`- **Role**: ${s.role}`);
|
|
1212
|
-
if (s.cantFile)
|
|
1213
|
-
lines.push(`- **CANT file**: ${s.cantFile}`);
|
|
1214
|
-
if (s.capabilityFlags)
|
|
1215
|
-
lines.push(`- **Capabilities**: ${s.capabilityFlags}`);
|
|
1216
|
-
}
|
|
1217
|
-
if (bundle.cold.peerInstructions) {
|
|
1218
|
-
lines.push('');
|
|
1219
|
-
lines.push('### Peer Instructions');
|
|
1220
|
-
lines.push(bundle.cold.peerInstructions);
|
|
1221
|
-
}
|
|
1222
|
-
// -- Warm: peer memory --
|
|
1223
|
-
if (bundle.warm.decisions.length > 0) {
|
|
1224
|
-
lines.push('');
|
|
1225
|
-
lines.push('### Key Decisions');
|
|
1226
|
-
for (const d of bundle.warm.decisions) {
|
|
1227
|
-
lines.push(`- [${d.id}] ${d.decision}`);
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
if (bundle.warm.peerPatterns.length > 0) {
|
|
1231
|
-
lines.push('');
|
|
1232
|
-
lines.push('### Patterns');
|
|
1233
|
-
for (const p of bundle.warm.peerPatterns) {
|
|
1234
|
-
lines.push(`- [${p.id}] ${p.pattern}`);
|
|
1235
|
-
}
|
|
1236
|
-
}
|
|
1237
|
-
if (bundle.warm.peerLearnings.length > 0) {
|
|
1238
|
-
lines.push('');
|
|
1239
|
-
lines.push('### Learnings');
|
|
1240
|
-
for (const l of bundle.warm.peerLearnings) {
|
|
1241
|
-
lines.push(`- [${l.id}] ${l.insight}`);
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
// -- Hot: session state --
|
|
1245
|
-
if (bundle.hot.sessionNarrative) {
|
|
1246
|
-
lines.push('');
|
|
1247
|
-
lines.push('### Session Narrative');
|
|
1248
|
-
lines.push(bundle.hot.sessionNarrative);
|
|
1249
|
-
}
|
|
1250
|
-
if (bundle.hot.recentObservations.length > 0) {
|
|
1251
|
-
lines.push('');
|
|
1252
|
-
lines.push('### Recent Observations');
|
|
1253
|
-
for (const o of bundle.hot.recentObservations) {
|
|
1254
|
-
lines.push(`- [${o.id}] ${o.title}`);
|
|
1255
|
-
}
|
|
1256
|
-
}
|
|
1257
|
-
if (bundle.hot.activeTasks.length > 0) {
|
|
1258
|
-
lines.push('');
|
|
1259
|
-
lines.push('### Active Tasks');
|
|
1260
|
-
for (const t of bundle.hot.activeTasks) {
|
|
1261
|
-
lines.push(`- ${t.id}: ${t.title} (${t.status})`);
|
|
1262
|
-
}
|
|
1263
|
-
}
|
|
1264
|
-
// Empty bundle notice (expected until T1147 W7 sweep ships in .132).
|
|
1265
|
-
// Tier-2 attention lines count as content — if the agent has open jots the
|
|
1266
|
-
// block is non-empty even when the retrieval bundle is bare (T11374).
|
|
1267
|
-
const hasContent = (attentionDigestLines !== undefined && attentionDigestLines.length > 0) ||
|
|
1268
|
-
bundle.cold.userProfile.length > 0 ||
|
|
1269
|
-
bundle.cold.peerInstructions ||
|
|
1270
|
-
bundle.cold.sigilCard !== undefined ||
|
|
1271
|
-
bundle.warm.decisions.length > 0 ||
|
|
1272
|
-
bundle.warm.peerPatterns.length > 0 ||
|
|
1273
|
-
bundle.warm.peerLearnings.length > 0 ||
|
|
1274
|
-
bundle.hot.sessionNarrative ||
|
|
1275
|
-
bundle.hot.recentObservations.length > 0 ||
|
|
1276
|
-
bundle.hot.activeTasks.length > 0;
|
|
1277
|
-
if (!hasContent) {
|
|
1278
|
-
lines.push('');
|
|
1279
|
-
lines.push('> No memory context available. All entries are pending the T1147 W7 sweep (.132) ' +
|
|
1280
|
-
"to promote from 'unswept-pre-T1151' to 'swept-clean'. Proceed without memory context.");
|
|
1281
|
-
}
|
|
1282
|
-
return lines.join('\n');
|
|
1236
|
+
function buildPsycheMemoryBlock(bundle, task, attentionDigestLines) {
|
|
1237
|
+
return buildBudgetedPsycheMemoryBlock({
|
|
1238
|
+
bundle,
|
|
1239
|
+
relevance: relevanceContextFromTask(task),
|
|
1240
|
+
...(attentionDigestLines !== undefined ? { attentionDigestLines } : {}),
|
|
1241
|
+
}).block;
|
|
1283
1242
|
}
|
|
1284
1243
|
// ============================================================================
|
|
1285
1244
|
// Public API
|
|
@@ -1353,7 +1312,8 @@ export function buildSpawnPrompt(input) {
|
|
|
1353
1312
|
// 9. Quality Gates — biome / build / test
|
|
1354
1313
|
authoredSections.push(buildHeader(input.task, protocol, tier));
|
|
1355
1314
|
authoredSections.push(buildTaskIdentity(input.task));
|
|
1356
|
-
|
|
1315
|
+
const askProviderId = input.askProviderId ?? (input.harnessHint === 'claude-code' ? 'claude-code' : undefined);
|
|
1316
|
+
authoredSections.push(buildReturnFormatBlock(protocol, askProviderId));
|
|
1357
1317
|
authoredSections.push(buildManifestProtocolBlock(taskId, protocol));
|
|
1358
1318
|
authoredSections.push(buildSessionBlock(input.sessionId));
|
|
1359
1319
|
// Worktree Setup (T1140) — only emitted when the engine provisioned one.
|
|
@@ -1397,7 +1357,7 @@ export function buildSpawnPrompt(input) {
|
|
|
1397
1357
|
// legacy entries; callers must not crash on an empty bundle. T11374 threads
|
|
1398
1358
|
// the Tier-2 attention digest lines into the same block (budget-bounded).
|
|
1399
1359
|
if (tier >= 1 && input.retrievalBundle) {
|
|
1400
|
-
authoredSections.push(buildPsycheMemoryBlock(input.retrievalBundle, input.attentionDigestLines));
|
|
1360
|
+
authoredSections.push(buildPsycheMemoryBlock(input.retrievalBundle, input.task, input.attentionDigestLines));
|
|
1401
1361
|
}
|
|
1402
1362
|
authoredSections.push(buildFilePathsBlock(taskId, outputDir, rcasdDir, testRunsDir));
|
|
1403
1363
|
// Task Documents (T1614) — only emitted when the task has attachments.
|
|
@@ -1446,6 +1406,9 @@ export function buildSpawnPrompt(input) {
|
|
|
1446
1406
|
else {
|
|
1447
1407
|
embeddedSections.push(buildTier1InjectionEmbed());
|
|
1448
1408
|
}
|
|
1409
|
+
const referenceEmbed = buildTier2ReferenceEmbed();
|
|
1410
|
+
if (referenceEmbed)
|
|
1411
|
+
embeddedSections.push(referenceEmbed);
|
|
1449
1412
|
embeddedSections.push(buildTierSkillExcerpts(2, input.role ?? 'orchestrator', input.projectRoot));
|
|
1450
1413
|
// The anti-patterns block is authored by us, so keep its tokens subject
|
|
1451
1414
|
// to resolution (currently there are none — but structurally it belongs
|