@cleocode/core 2026.10.27 → 2026.11.1-canary.3
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/README.md +2 -0
- package/binaries/README.md +30 -10
- package/dist/.source-stamp.json +4 -0
- package/dist/audit/reconstruct.d.ts.map +1 -1
- package/dist/audit/reconstruct.js +3 -13
- package/dist/audit/reconstruct.js.map +1 -1
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/nexus-cloud.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud.js +3 -3
- package/dist/cloud/nexus-cloud.js.map +1 -1
- package/dist/cloud/nexus-device.d.ts +1 -1
- package/dist/cloud/nexus-link.d.ts +18 -2
- package/dist/cloud/nexus-link.d.ts.map +1 -1
- package/dist/cloud/nexus-link.js +26 -6
- package/dist/cloud/nexus-link.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +3 -9
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/decide/sites/registry.d.ts +40 -0
- package/dist/decide/sites/registry.d.ts.map +1 -1
- package/dist/decide/sites/registry.js +38 -0
- package/dist/decide/sites/registry.js.map +1 -1
- package/dist/docs/adr-allocator.d.ts +3 -3
- package/dist/docs/adr-allocator.d.ts.map +1 -1
- package/dist/docs/adr-allocator.js +8 -5
- package/dist/docs/adr-allocator.js.map +1 -1
- package/dist/docs/blob-consolidation.d.ts.map +1 -1
- package/dist/docs/blob-consolidation.js +3 -2
- package/dist/docs/blob-consolidation.js.map +1 -1
- package/dist/docs/derive-links.d.ts +12 -0
- package/dist/docs/derive-links.d.ts.map +1 -1
- package/dist/docs/derive-links.js +19 -0
- package/dist/docs/derive-links.js.map +1 -1
- package/dist/docs/doc-name-rule.d.ts +105 -0
- package/dist/docs/doc-name-rule.d.ts.map +1 -0
- package/dist/docs/doc-name-rule.js +212 -0
- package/dist/docs/doc-name-rule.js.map +1 -0
- package/dist/docs/docs-inconsistency-detector.d.ts.map +1 -1
- package/dist/docs/docs-inconsistency-detector.js +4 -3
- package/dist/docs/docs-inconsistency-detector.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +27 -5
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +149 -17
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +45 -15
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +22 -102
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +8 -2
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/doctor.d.ts +71 -4
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +324 -23
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/duplicate-check.d.ts +138 -0
- package/dist/docs/duplicate-check.d.ts.map +1 -0
- package/dist/docs/duplicate-check.js +286 -0
- package/dist/docs/duplicate-check.js.map +1 -0
- package/dist/docs/fetch-result.d.ts.map +1 -1
- package/dist/docs/fetch-result.js +27 -0
- package/dist/docs/fetch-result.js.map +1 -1
- package/dist/docs/import/scanner.d.ts +2 -0
- package/dist/docs/import/scanner.d.ts.map +1 -1
- package/dist/docs/import/scanner.js +3 -1
- package/dist/docs/import/scanner.js.map +1 -1
- package/dist/docs/lineage.d.ts +66 -0
- package/dist/docs/lineage.d.ts.map +1 -0
- package/dist/docs/lineage.js +190 -0
- package/dist/docs/lineage.js.map +1 -0
- package/dist/docs/modernize/apply.d.ts +139 -0
- package/dist/docs/modernize/apply.d.ts.map +1 -0
- package/dist/docs/modernize/apply.js +760 -0
- package/dist/docs/modernize/apply.js.map +1 -0
- package/dist/docs/modernize/guard.d.ts +92 -0
- package/dist/docs/modernize/guard.d.ts.map +1 -0
- package/dist/docs/modernize/guard.js +214 -0
- package/dist/docs/modernize/guard.js.map +1 -0
- package/dist/docs/modernize/index.d.ts +68 -0
- package/dist/docs/modernize/index.d.ts.map +1 -0
- package/dist/docs/modernize/index.js +97 -0
- package/dist/docs/modernize/index.js.map +1 -0
- package/dist/docs/modernize/judge.d.ts +85 -0
- package/dist/docs/modernize/judge.d.ts.map +1 -0
- package/dist/docs/modernize/judge.js +186 -0
- package/dist/docs/modernize/judge.js.map +1 -0
- package/dist/docs/modernize/plan.d.ts +77 -0
- package/dist/docs/modernize/plan.d.ts.map +1 -0
- package/dist/docs/modernize/plan.js +510 -0
- package/dist/docs/modernize/plan.js.map +1 -0
- package/dist/docs/modernize/restore.d.ts +41 -0
- package/dist/docs/modernize/restore.d.ts.map +1 -0
- package/dist/docs/modernize/restore.js +103 -0
- package/dist/docs/modernize/restore.js.map +1 -0
- package/dist/docs/modernize/rules.d.ts +197 -0
- package/dist/docs/modernize/rules.d.ts.map +1 -0
- package/dist/docs/modernize/rules.js +510 -0
- package/dist/docs/modernize/rules.js.map +1 -0
- package/dist/docs/modernize/store.d.ts +64 -0
- package/dist/docs/modernize/store.d.ts.map +1 -0
- package/dist/docs/modernize/store.js +390 -0
- package/dist/docs/modernize/store.js.map +1 -0
- package/dist/docs/publications-store.d.ts +16 -2
- package/dist/docs/publications-store.d.ts.map +1 -1
- package/dist/docs/publications-store.js +23 -2
- package/dist/docs/publications-store.js.map +1 -1
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +12 -1
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/docs/rot.d.ts +94 -0
- package/dist/docs/rot.d.ts.map +1 -0
- package/dist/docs/rot.js +298 -0
- package/dist/docs/rot.js.map +1 -0
- package/dist/docs/similarity-check.d.ts +2 -0
- package/dist/docs/similarity-check.d.ts.map +1 -1
- package/dist/docs/similarity-check.js +6 -49
- package/dist/docs/similarity-check.js.map +1 -1
- package/dist/docs/slug-rename.d.ts +84 -0
- package/dist/docs/slug-rename.d.ts.map +1 -0
- package/dist/docs/slug-rename.js +166 -0
- package/dist/docs/slug-rename.js.map +1 -0
- package/dist/docs/slug-similarity.d.ts +24 -0
- package/dist/docs/slug-similarity.d.ts.map +1 -0
- package/dist/docs/slug-similarity.js +63 -0
- package/dist/docs/slug-similarity.js.map +1 -0
- package/dist/docs/wikilinks.d.ts +20 -4
- package/dist/docs/wikilinks.d.ts.map +1 -1
- package/dist/docs/wikilinks.js +52 -7
- package/dist/docs/wikilinks.js.map +1 -1
- package/dist/docs/writer-registry.d.ts.map +1 -1
- package/dist/docs/writer-registry.js +33 -0
- package/dist/docs/writer-registry.js.map +1 -1
- package/dist/doctor/type-matrix-repair.d.ts +194 -0
- package/dist/doctor/type-matrix-repair.d.ts.map +1 -0
- package/dist/doctor/type-matrix-repair.js +662 -0
- package/dist/doctor/type-matrix-repair.js.map +1 -0
- package/dist/gateway-client/generated/index.d.ts +2 -2
- package/dist/gateway-client/generated/index.d.ts.map +1 -1
- package/dist/gateway-client/generated/index.js +1 -1
- package/dist/gateway-client/generated/index.js.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.d.ts +5 -0
- package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -1
- package/dist/gateway-client/generated/namespaces.gen.js +6 -1
- package/dist/gateway-client/generated/namespaces.gen.js.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts +21 -1
- package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -1
- package/dist/gateway-client/generated/sdk.gen.js +55 -0
- package/dist/gateway-client/generated/sdk.gen.js.map +1 -1
- package/dist/gateway-client/generated/types.gen.d.ts +222 -0
- package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
- package/dist/gc/gc-subsystem.d.ts +4 -0
- package/dist/gc/gc-subsystem.d.ts.map +1 -1
- package/dist/gc/gc-subsystem.js +16 -0
- package/dist/gc/gc-subsystem.js.map +1 -1
- package/dist/git/work-tree.d.ts +48 -0
- package/dist/git/work-tree.d.ts.map +1 -1
- package/dist/git/work-tree.js +63 -1
- package/dist/git/work-tree.js.map +1 -1
- package/dist/hooks/handlers/session-hooks.d.ts +5 -4
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +5 -21
- package/dist/hooks/handlers/session-hooks.js.map +1 -1
- package/dist/internal.d.ts +5 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -1
- package/dist/internal.js.map +1 -1
- package/dist/memory/brain-doctor.d.ts.map +1 -1
- package/dist/memory/brain-doctor.js +6 -1
- package/dist/memory/brain-doctor.js.map +1 -1
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +6 -0
- package/dist/memory/engine-compat.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +24 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +43 -5
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/user-profile.d.ts +2 -1
- package/dist/nexus/user-profile.d.ts.map +1 -1
- package/dist/nexus/user-profile.js +13 -5
- package/dist/nexus/user-profile.js.map +1 -1
- package/dist/orchestrate/admission.d.ts +8 -0
- package/dist/orchestrate/admission.d.ts.map +1 -1
- package/dist/orchestrate/admission.js +3 -1
- package/dist/orchestrate/admission.js.map +1 -1
- package/dist/orchestrate/query-ops.d.ts.map +1 -1
- package/dist/orchestrate/query-ops.js +15 -4
- package/dist/orchestrate/query-ops.js.map +1 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +43 -2
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/index.d.ts +6 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +3 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -1
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/paths.d.ts +43 -1
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +51 -1
- package/dist/paths.js.map +1 -1
- package/dist/project-lifecycle.d.ts.map +1 -1
- package/dist/project-lifecycle.js +31 -0
- package/dist/project-lifecycle.js.map +1 -1
- package/dist/release/authorization.d.ts +156 -0
- package/dist/release/authorization.d.ts.map +1 -0
- package/dist/release/authorization.js +460 -0
- package/dist/release/authorization.js.map +1 -0
- package/dist/release/ci-evidence.d.ts +55 -4
- package/dist/release/ci-evidence.d.ts.map +1 -1
- package/dist/release/ci-evidence.js +251 -22
- package/dist/release/ci-evidence.js.map +1 -1
- package/dist/release/ci-run-evidence.d.ts +107 -0
- package/dist/release/ci-run-evidence.d.ts.map +1 -0
- package/dist/release/ci-run-evidence.js +234 -0
- package/dist/release/ci-run-evidence.js.map +1 -0
- package/dist/release/cut.d.ts +231 -0
- package/dist/release/cut.d.ts.map +1 -0
- package/dist/release/cut.js +775 -0
- package/dist/release/cut.js.map +1 -0
- package/dist/release/deploy-evidence.d.ts +173 -0
- package/dist/release/deploy-evidence.d.ts.map +1 -0
- package/dist/release/deploy-evidence.js +381 -0
- package/dist/release/deploy-evidence.js.map +1 -0
- package/dist/release/engine-ops.d.ts.map +1 -1
- package/dist/release/engine-ops.js +10 -4
- package/dist/release/engine-ops.js.map +1 -1
- package/dist/release/index.d.ts +3 -0
- package/dist/release/index.d.ts.map +1 -1
- package/dist/release/index.js +2 -0
- package/dist/release/index.js.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.d.ts.map +1 -1
- package/dist/release/invariants/archive-reason-invariant.js +4 -1
- package/dist/release/invariants/archive-reason-invariant.js.map +1 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +2 -6
- package/dist/release/open.js.map +1 -1
- package/dist/release/plan.d.ts +34 -2
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +30 -6
- package/dist/release/plan.js.map +1 -1
- package/dist/release/preflight-skip.d.ts +4 -19
- package/dist/release/preflight-skip.d.ts.map +1 -1
- package/dist/release/preflight-skip.js +5 -110
- package/dist/release/preflight-skip.js.map +1 -1
- package/dist/release/reconcile-latest.d.ts +29 -0
- package/dist/release/reconcile-latest.d.ts.map +1 -0
- package/dist/release/reconcile-latest.js +71 -0
- package/dist/release/reconcile-latest.js.map +1 -0
- package/dist/release/reconcile.d.ts +3 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +18 -6
- package/dist/release/reconcile.js.map +1 -1
- package/dist/release/release-published.d.ts +27 -0
- package/dist/release/release-published.d.ts.map +1 -0
- package/dist/release/release-published.js +35 -0
- package/dist/release/release-published.js.map +1 -0
- package/dist/release/tty-confirm.d.ts +23 -0
- package/dist/release/tty-confirm.d.ts.map +1 -0
- package/dist/release/tty-confirm.js +50 -0
- package/dist/release/tty-confirm.js.map +1 -0
- package/dist/remote/index.js +1 -1
- package/dist/remote/index.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +103 -1
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +200 -17
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/agent-lease.d.ts +82 -0
- package/dist/resources/agent-lease.d.ts.map +1 -0
- package/dist/resources/agent-lease.js +167 -0
- package/dist/resources/agent-lease.js.map +1 -0
- package/dist/resources/governor.d.ts +27 -1
- package/dist/resources/governor.d.ts.map +1 -1
- package/dist/resources/governor.js +88 -4
- package/dist/resources/governor.js.map +1 -1
- package/dist/resources/hook-footprint.d.ts +13 -1
- package/dist/resources/hook-footprint.d.ts.map +1 -1
- package/dist/resources/hook-footprint.js +33 -7
- package/dist/resources/hook-footprint.js.map +1 -1
- package/dist/resources/run-governed.d.ts +25 -0
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +44 -3
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/sagas/reconcile.d.ts.map +1 -1
- package/dist/sagas/reconcile.js +11 -0
- package/dist/sagas/reconcile.js.map +1 -1
- package/dist/scaffold/ensure-dirs.d.ts.map +1 -1
- package/dist/scaffold/ensure-dirs.js +8 -6
- package/dist/scaffold/ensure-dirs.js.map +1 -1
- package/dist/security/override-cap-setting.d.ts +132 -0
- package/dist/security/override-cap-setting.d.ts.map +1 -1
- package/dist/security/override-cap-setting.js +88 -10
- package/dist/security/override-cap-setting.js.map +1 -1
- package/dist/security/owner-override-authority.d.ts.map +1 -1
- package/dist/security/owner-override-authority.js +5 -1
- package/dist/security/owner-override-authority.js.map +1 -1
- package/dist/selfimprove/draft-pr.d.ts.map +1 -1
- package/dist/selfimprove/draft-pr.js +4 -1
- package/dist/selfimprove/draft-pr.js.map +1 -1
- package/dist/session/engine-ops.d.ts.map +1 -1
- package/dist/session/engine-ops.js +4 -16
- package/dist/session/engine-ops.js.map +1 -1
- package/dist/sessions/briefing.d.ts +6 -0
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +34 -0
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.js +2 -2
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -1
- package/dist/sessions/session-end-snapshot.js +4 -4
- package/dist/sessions/session-end-snapshot.js.map +1 -1
- package/dist/skills/injection/token.d.ts.map +1 -1
- package/dist/skills/injection/token.js +3 -6
- package/dist/skills/injection/token.js.map +1 -1
- package/dist/skills/orchestrator/spawn.d.ts.map +1 -1
- package/dist/skills/orchestrator/spawn.js +3 -4
- package/dist/skills/orchestrator/spawn.js.map +1 -1
- package/dist/skills/propose-patch.d.ts.map +1 -1
- package/dist/skills/propose-patch.js +4 -1
- package/dist/skills/propose-patch.js.map +1 -1
- package/dist/spawn/branch-integration.d.ts.map +1 -1
- package/dist/spawn/branch-integration.js +5 -2
- package/dist/spawn/branch-integration.js.map +1 -1
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +5 -4
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts +6 -0
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +19 -2
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/blob-ops.d.ts +1 -1
- package/dist/store/blob-ops.d.ts.map +1 -1
- package/dist/store/blob-ops.js +7 -3
- package/dist/store/blob-ops.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +15 -1
- package/dist/store/conduit-doc-history.d.ts.map +1 -1
- package/dist/store/conduit-doc-history.js +16 -10
- package/dist/store/conduit-doc-history.js.map +1 -1
- package/dist/store/db-helpers.d.ts +29 -0
- package/dist/store/db-helpers.d.ts.map +1 -1
- package/dist/store/db-helpers.js +89 -1
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/decision-adr-links.d.ts.map +1 -1
- package/dist/store/decision-adr-links.js +5 -2
- package/dist/store/decision-adr-links.js.map +1 -1
- package/dist/store/git-checkpoint.d.ts +11 -1
- package/dist/store/git-checkpoint.d.ts.map +1 -1
- package/dist/store/git-checkpoint.js +14 -3
- package/dist/store/git-checkpoint.js.map +1 -1
- package/dist/store/llmtxt-blob-adapter.d.ts.map +1 -1
- package/dist/store/llmtxt-blob-adapter.js +4 -1
- package/dist/store/llmtxt-blob-adapter.js.map +1 -1
- package/dist/store/schema/attachments.d.ts +7 -5
- package/dist/store/schema/attachments.d.ts.map +1 -1
- package/dist/store/schema/attachments.js +5 -2
- package/dist/store/schema/attachments.js.map +1 -1
- package/dist/store/session-store.d.ts.map +1 -1
- package/dist/store/session-store.js +6 -0
- package/dist/store/session-store.js.map +1 -1
- package/dist/store/sqlite-backup.d.ts +6 -1
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +9 -5
- package/dist/store/sqlite-backup.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +63 -36
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/system/backup.d.ts +29 -0
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +240 -37
- package/dist/system/backup.js.map +1 -1
- package/dist/system/dependencies.d.ts +22 -0
- package/dist/system/dependencies.d.ts.map +1 -1
- package/dist/system/dependencies.js +49 -2
- package/dist/system/dependencies.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +23 -1
- package/dist/system/health.js.map +1 -1
- package/dist/task-work/claims.d.ts.map +1 -1
- package/dist/task-work/claims.js +14 -0
- package/dist/task-work/claims.js.map +1 -1
- package/dist/task-work/index.d.ts.map +1 -1
- package/dist/task-work/index.js +22 -0
- package/dist/task-work/index.js.map +1 -1
- package/dist/tasks/ac-coverage-gate.d.ts +27 -0
- package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
- package/dist/tasks/ac-coverage-gate.js +63 -28
- package/dist/tasks/ac-coverage-gate.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +26 -30
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +27 -50
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +13 -3
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +29 -11
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +39 -20
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-gate-cmd.d.ts +33 -0
- package/dist/tasks/command-gate-cmd.d.ts.map +1 -0
- package/dist/tasks/command-gate-cmd.js +45 -0
- package/dist/tasks/command-gate-cmd.js.map +1 -0
- package/dist/tasks/complete-ci.d.ts +9 -0
- package/dist/tasks/complete-ci.d.ts.map +1 -1
- package/dist/tasks/complete-ci.js +21 -4
- package/dist/tasks/complete-ci.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +14 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/component-pr.d.ts +37 -0
- package/dist/tasks/component-pr.d.ts.map +1 -1
- package/dist/tasks/component-pr.js +106 -14
- package/dist/tasks/component-pr.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +14 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +125 -15
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +4 -0
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/engine-converters.d.ts.map +1 -1
- package/dist/tasks/engine-converters.js +2 -0
- package/dist/tasks/engine-converters.js.map +1 -1
- package/dist/tasks/evidence-tree.d.ts +28 -1
- package/dist/tasks/evidence-tree.d.ts.map +1 -1
- package/dist/tasks/evidence-tree.js +66 -2
- package/dist/tasks/evidence-tree.js.map +1 -1
- package/dist/tasks/evidence.d.ts +39 -27
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +382 -188
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-notes.d.ts +17 -0
- package/dist/tasks/gate-notes.d.ts.map +1 -1
- package/dist/tasks/gate-notes.js.map +1 -1
- package/dist/tasks/gate-preview.d.ts +7 -1
- package/dist/tasks/gate-preview.d.ts.map +1 -1
- package/dist/tasks/gate-preview.js +30 -4
- package/dist/tasks/gate-preview.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +42 -0
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +234 -94
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/manifest-scope.d.ts +115 -0
- package/dist/tasks/manifest-scope.d.ts.map +1 -0
- package/dist/tasks/manifest-scope.js +352 -0
- package/dist/tasks/manifest-scope.js.map +1 -0
- package/dist/tasks/merge-close.d.ts +376 -0
- package/dist/tasks/merge-close.d.ts.map +1 -0
- package/dist/tasks/merge-close.js +1497 -0
- package/dist/tasks/merge-close.js.map +1 -0
- package/dist/tasks/qa-run-binding.d.ts +5 -0
- package/dist/tasks/qa-run-binding.d.ts.map +1 -1
- package/dist/tasks/qa-run-binding.js +6 -1
- package/dist/tasks/qa-run-binding.js.map +1 -1
- package/dist/tasks/req.d.ts.map +1 -1
- package/dist/tasks/req.js +29 -1
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/review-verdict.d.ts +159 -0
- package/dist/tasks/review-verdict.d.ts.map +1 -0
- package/dist/tasks/review-verdict.js +442 -0
- package/dist/tasks/review-verdict.js.map +1 -0
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +22 -3
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tasks/test-report-counts.d.ts +274 -0
- package/dist/tasks/test-report-counts.d.ts.map +1 -0
- package/dist/tasks/test-report-counts.js +746 -0
- package/dist/tasks/test-report-counts.js.map +1 -0
- package/dist/tasks/test-run-binding.d.ts +20 -45
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +34 -119
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +42 -0
- package/dist/tasks/update.js.map +1 -1
- package/dist/tasks/verification-policy.d.ts +12 -0
- package/dist/tasks/verification-policy.d.ts.map +1 -1
- package/dist/tasks/verification-policy.js +13 -0
- package/dist/tasks/verification-policy.js.map +1 -1
- package/dist/tasks/workspace-resolution.d.ts +225 -0
- package/dist/tasks/workspace-resolution.d.ts.map +1 -0
- package/dist/tasks/workspace-resolution.js +497 -0
- package/dist/tasks/workspace-resolution.js.map +1 -0
- package/dist/validation/doctor/checks.d.ts +20 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +112 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +37 -3
- package/dist/validation/engine-ops.js.map +1 -1
- package/dist/validation/validate-ops.d.ts +4 -0
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/dist/validation/validate-ops.js +79 -2
- package/dist/validation/validate-ops.js.map +1 -1
- package/dist/worktree/list.d.ts +4 -21
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +14 -44
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/merged-cleanup.d.ts +63 -0
- package/dist/worktree/merged-cleanup.d.ts.map +1 -0
- package/dist/worktree/merged-cleanup.js +571 -0
- package/dist/worktree/merged-cleanup.js.map +1 -0
- package/dist/worktree/prune.d.ts +64 -2
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +151 -6
- package/dist/worktree/prune.js.map +1 -1
- package/dist/worktree/sentinel-index.d.ts +14 -0
- package/dist/worktree/sentinel-index.d.ts.map +1 -1
- package/dist/worktree/sentinel-index.js +17 -0
- package/dist/worktree/sentinel-index.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts +1 -13
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +2 -17
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/package.json +12 -12
- package/schemas/project-context.schema.json +33 -0
- package/templates/CLEO-INJECTION.md +6 -16
- package/templates/CLEO-REFERENCE.md +27 -4
- package/templates/git-hooks/legacy-hashes.json +2 -1
- package/templates/git-hooks/pre-commit +43 -11
- package/templates/workflows/release-prepare.yml.tmpl +9 -88
package/dist/worktree/prune.d.ts
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* @task T9547
|
|
22
22
|
* @epic T9515
|
|
23
23
|
*/
|
|
24
|
-
import type { EngineResult, PruneOrphanedWorktreesOpts, PruneOrphanedWorktreesResult, WorktreeInfo } from '@cleocode/contracts';
|
|
24
|
+
import type { EngineResult, EvidenceAtom, PruneOrphanedWorktreesOpts, PruneOrphanedWorktreesResult, WorktreeInfo } from '@cleocode/contracts';
|
|
25
25
|
/**
|
|
26
26
|
* Drive the orphan / merged worktree prune flow used by
|
|
27
27
|
* `cleo worktree prune --orphaned`.
|
|
@@ -50,6 +50,68 @@ import type { EngineResult, PruneOrphanedWorktreesOpts, PruneOrphanedWorktreesRe
|
|
|
50
50
|
* @returns EngineResult wrapping a {@link PruneOrphanedWorktreesResult}.
|
|
51
51
|
*/
|
|
52
52
|
export declare function pruneOrphanedWorktreesByStatus(opts: PruneOrphanedWorktreesOpts): Promise<EngineResult<PruneOrphanedWorktreesResult>>;
|
|
53
|
+
/**
|
|
54
|
+
* What one cleanup run may spend proving trees identical (T14146). Shared
|
|
55
|
+
* across every checkout the run inspects; once spent, the rest is unproven.
|
|
56
|
+
*/
|
|
57
|
+
export interface CompareBudget {
|
|
58
|
+
/** Entries (files, directories, links) still allowed. */
|
|
59
|
+
entries: number;
|
|
60
|
+
/** File bytes still allowed to be read. */
|
|
61
|
+
bytes: number;
|
|
62
|
+
}
|
|
63
|
+
/** A fresh per-run budget: 200 000 entries and 2 GiB of file bytes. */
|
|
64
|
+
export declare function newCompareBudget(): CompareBudget;
|
|
65
|
+
/**
|
|
66
|
+
* Build output a merged, clean checkout can always rebuild from its source,
|
|
67
|
+
* so losing it loses nothing (T14146): `dist/`, `.turbo/` and `coverage/`
|
|
68
|
+
* (and anything inside them), and `*.tsbuildinfo` files, only where the build
|
|
69
|
+
* writes them: the checkout root or a `packages/<name>/` root. The same name
|
|
70
|
+
* deeper down (`secrets/dist/key.pem`) is not build output and stays strict.
|
|
71
|
+
*
|
|
72
|
+
* @param rel - Path relative to the checkout root, `/`-separated.
|
|
73
|
+
* @returns Whether the path is rebuildable output.
|
|
74
|
+
*/
|
|
75
|
+
export declare function isRegenerable(rel: string): boolean;
|
|
76
|
+
/** How {@link unprovenContent} treats ignored content (T14146). */
|
|
77
|
+
export interface UnprovenContentOptions {
|
|
78
|
+
/** Shared per-run comparison budget; a fresh one when omitted. */
|
|
79
|
+
budget?: CompareBudget;
|
|
80
|
+
/** Ignored `node_modules` counts as redundant (worktrees, not repository copies). */
|
|
81
|
+
exemptNodeModules?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Ignored build output ({@link isRegenerable}) counts as redundant. Only for
|
|
84
|
+
* a checkout whose commits are merged: its source rebuilds the output.
|
|
85
|
+
*/
|
|
86
|
+
exemptRegenerable?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* What in a checkout is not proven redundant, or `null` when nothing is.
|
|
90
|
+
*
|
|
91
|
+
* Tracked changes never are; untracked content is when the main checkout
|
|
92
|
+
* holds the identical tree at the same path. Ignored content (which
|
|
93
|
+
* `--porcelain` alone never lists: an edited `.env`, an agent's nested
|
|
94
|
+
* `.claude/worktrees/x/`) is redundant only when exempted by `opts`
|
|
95
|
+
* (`node_modules`, merged build output) or when the main checkout holds the
|
|
96
|
+
* identical tree at the same path (what `.worktreeinclude` seeded, unchanged).
|
|
97
|
+
* Fail-closed: a git or read error is unproven.
|
|
98
|
+
*
|
|
99
|
+
* @param path - Checkout root.
|
|
100
|
+
* @param projectRoot - The main checkout seeded copies are compared against.
|
|
101
|
+
* @param opts - Budget and exemptions (default: `node_modules` exempt, nothing else).
|
|
102
|
+
* @returns Why the checkout must be kept, or `null`.
|
|
103
|
+
* @task T14142
|
|
104
|
+
* @task T14146
|
|
105
|
+
*/
|
|
106
|
+
export declare function unprovenContent(path: string, projectRoot: string, opts?: UnprovenContentOptions): string | null;
|
|
107
|
+
/**
|
|
108
|
+
* The owning task's recorded evidence, or `[]` when there is no task or the store is unreadable.
|
|
109
|
+
*
|
|
110
|
+
* @param projectRoot - Project root whose task store is read.
|
|
111
|
+
* @param taskId - Owning task, or `null`.
|
|
112
|
+
* @returns The task's evidence atoms.
|
|
113
|
+
*/
|
|
114
|
+
export declare function loadTaskEvidence(projectRoot: string, taskId: string | null): Promise<EvidenceAtom[]>;
|
|
53
115
|
/**
|
|
54
116
|
* Map a {@link WorktreeInfo} entry's `statusCategory` to a short human-readable
|
|
55
117
|
* reason string used in audit logs + envelope outcomes.
|
|
@@ -74,7 +136,7 @@ export declare function reasonForStatus(wt: WorktreeInfo): string;
|
|
|
74
136
|
*
|
|
75
137
|
* Never throws — failures are reported in the returned object.
|
|
76
138
|
*/
|
|
77
|
-
export declare function removeWorktreeFromDisk(wt: WorktreeInfo, projectRoot: string): {
|
|
139
|
+
export declare function removeWorktreeFromDisk(wt: Pick<WorktreeInfo, 'path' | 'branch' | 'isMerged'>, projectRoot: string): {
|
|
78
140
|
success: true;
|
|
79
141
|
branchDeleted: boolean;
|
|
80
142
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/worktree/prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/worktree/prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,0BAA0B,EAC1B,4BAA4B,EAC5B,YAAY,EACb,MAAM,qBAAqB,CAAC;AAa7B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC,CA2KrD;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAQD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMlD;AAsCD,mEAAmE;AACnE,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,qFAAqF;IACrF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,sBAA2B,GAChC,MAAM,GAAG,IAAI,CA8Bf;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,YAAY,EAAE,CAAC,CAUzB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAiBxD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC,EACtD,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwC/E"}
|
package/dist/worktree/prune.js
CHANGED
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
* @task T9547
|
|
22
22
|
* @epic T9515
|
|
23
23
|
*/
|
|
24
|
-
import {
|
|
24
|
+
import { execFileSync } from 'node:child_process';
|
|
25
|
+
import { existsSync, lstatSync, readdirSync, readFileSync, readlinkSync, } from 'node:fs';
|
|
26
|
+
import { join } from 'node:path';
|
|
25
27
|
import { engineError, engineSuccess } from '@cleocode/contracts/engine-result.js';
|
|
26
28
|
import { describeDisposalBlockers, gitSilent, guardWorktreeDisposal, napiDestroyWorktree, pruneWorktreeRegistry, } from '@cleocode/worktree';
|
|
27
29
|
import { taskEvidenceAtoms } from '../tasks/evidence-paths.js';
|
|
@@ -73,6 +75,8 @@ export async function pruneOrphanedWorktreesByStatus(opts) {
|
|
|
73
75
|
const outcomes = [];
|
|
74
76
|
const errors = [];
|
|
75
77
|
let prunedCount = 0;
|
|
78
|
+
// One comparison budget for the whole run (T14146).
|
|
79
|
+
const budget = newCompareBudget();
|
|
76
80
|
for (const wt of candidates) {
|
|
77
81
|
const reason = reasonForStatus(wt);
|
|
78
82
|
// T13700: the same guard as complete/cancel — dependents, evidence and the keep marker.
|
|
@@ -111,6 +115,24 @@ export async function pruneOrphanedWorktreesByStatus(opts) {
|
|
|
111
115
|
}
|
|
112
116
|
continue;
|
|
113
117
|
}
|
|
118
|
+
// T14142: removal is forced, so anything not proven redundant would be lost.
|
|
119
|
+
// A directory already gone holds nothing to lose.
|
|
120
|
+
const unproven = existsSync(wt.path)
|
|
121
|
+
? unprovenContent(wt.path, opts.projectRoot, { budget, exemptRegenerable: wt.isMerged })
|
|
122
|
+
: null;
|
|
123
|
+
if (unproven !== null) {
|
|
124
|
+
const error = `Worktree ${wt.path} kept: ${unproven}.`;
|
|
125
|
+
outcomes.push({
|
|
126
|
+
path: wt.path,
|
|
127
|
+
branch: wt.branch,
|
|
128
|
+
taskId: wt.taskId,
|
|
129
|
+
reason,
|
|
130
|
+
pruned: false,
|
|
131
|
+
branchDeleted: false,
|
|
132
|
+
error,
|
|
133
|
+
});
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
114
136
|
if (dryRun) {
|
|
115
137
|
outcomes.push({
|
|
116
138
|
path: wt.path,
|
|
@@ -175,11 +197,134 @@ export async function pruneOrphanedWorktreesByStatus(opts) {
|
|
|
175
197
|
dryRun,
|
|
176
198
|
});
|
|
177
199
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
200
|
+
/** A fresh per-run budget: 200 000 entries and 2 GiB of file bytes. */
|
|
201
|
+
export function newCompareBudget() {
|
|
202
|
+
return { entries: 200_000, bytes: 2 * 1024 * 1024 * 1024 };
|
|
203
|
+
}
|
|
204
|
+
/** A single file larger than this is never read to prove it identical (64 MiB). */
|
|
205
|
+
const MAX_COMPARED_FILE_BYTES = 64 * 1024 * 1024;
|
|
206
|
+
/** Output directories the build writes, at the root or in a workspace package. */
|
|
207
|
+
const REGENERABLE_DIRS = new Set(['dist', '.turbo', 'coverage']);
|
|
208
|
+
/**
|
|
209
|
+
* Build output a merged, clean checkout can always rebuild from its source,
|
|
210
|
+
* so losing it loses nothing (T14146): `dist/`, `.turbo/` and `coverage/`
|
|
211
|
+
* (and anything inside them), and `*.tsbuildinfo` files, only where the build
|
|
212
|
+
* writes them: the checkout root or a `packages/<name>/` root. The same name
|
|
213
|
+
* deeper down (`secrets/dist/key.pem`) is not build output and stays strict.
|
|
214
|
+
*
|
|
215
|
+
* @param rel - Path relative to the checkout root, `/`-separated.
|
|
216
|
+
* @returns Whether the path is rebuildable output.
|
|
217
|
+
*/
|
|
218
|
+
export function isRegenerable(rel) {
|
|
219
|
+
const parts = rel.split('/');
|
|
220
|
+
// The output's own root: `dist`, or `packages/<name>/dist`.
|
|
221
|
+
const base = parts[0] === 'packages' ? 2 : 0;
|
|
222
|
+
if (parts.length > base && REGENERABLE_DIRS.has(parts[base] ?? ''))
|
|
223
|
+
return true;
|
|
224
|
+
return parts.length === base + 1 && rel.endsWith('.tsbuildinfo');
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Whether `a` and `b` hold the same tree: same names, same file bytes, same
|
|
228
|
+
* symlink targets. Symlinks are compared, never followed. Any read error, an
|
|
229
|
+
* oversized file or a spent budget answers `false` (unproven), never throws.
|
|
230
|
+
*/
|
|
231
|
+
function sameTree(a, b, budget) {
|
|
232
|
+
const stack = [[a, b]];
|
|
233
|
+
try {
|
|
234
|
+
while (stack.length > 0) {
|
|
235
|
+
const [x, y] = stack.pop();
|
|
236
|
+
if (--budget.entries < 0)
|
|
237
|
+
return false;
|
|
238
|
+
const sx = lstatSync(x);
|
|
239
|
+
const sy = lstatSync(y);
|
|
240
|
+
if (sx.isSymbolicLink() || sy.isSymbolicLink()) {
|
|
241
|
+
if (!sx.isSymbolicLink() || !sy.isSymbolicLink() || readlinkSync(x) !== readlinkSync(y)) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else if (sx.isFile() && sy.isFile()) {
|
|
246
|
+
if (sx.size !== sy.size || sx.size > MAX_COMPARED_FILE_BYTES)
|
|
247
|
+
return false;
|
|
248
|
+
budget.bytes -= sx.size * 2;
|
|
249
|
+
if (budget.bytes < 0 || !readFileSync(x).equals(readFileSync(y)))
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
else if (sx.isDirectory() && sy.isDirectory()) {
|
|
253
|
+
const nx = readdirSync(x).sort();
|
|
254
|
+
const ny = readdirSync(y).sort();
|
|
255
|
+
if (nx.length !== ny.length || nx.some((n, i) => n !== ny[i]))
|
|
256
|
+
return false;
|
|
257
|
+
for (const n of nx)
|
|
258
|
+
stack.push([join(x, n), join(y, n)]);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* What in a checkout is not proven redundant, or `null` when nothing is.
|
|
272
|
+
*
|
|
273
|
+
* Tracked changes never are; untracked content is when the main checkout
|
|
274
|
+
* holds the identical tree at the same path. Ignored content (which
|
|
275
|
+
* `--porcelain` alone never lists: an edited `.env`, an agent's nested
|
|
276
|
+
* `.claude/worktrees/x/`) is redundant only when exempted by `opts`
|
|
277
|
+
* (`node_modules`, merged build output) or when the main checkout holds the
|
|
278
|
+
* identical tree at the same path (what `.worktreeinclude` seeded, unchanged).
|
|
279
|
+
* Fail-closed: a git or read error is unproven.
|
|
280
|
+
*
|
|
281
|
+
* @param path - Checkout root.
|
|
282
|
+
* @param projectRoot - The main checkout seeded copies are compared against.
|
|
283
|
+
* @param opts - Budget and exemptions (default: `node_modules` exempt, nothing else).
|
|
284
|
+
* @returns Why the checkout must be kept, or `null`.
|
|
285
|
+
* @task T14142
|
|
286
|
+
* @task T14146
|
|
287
|
+
*/
|
|
288
|
+
export function unprovenContent(path, projectRoot, opts = {}) {
|
|
289
|
+
const budget = opts.budget ?? newCompareBudget();
|
|
290
|
+
const exemptNodeModules = opts.exemptNodeModules !== false;
|
|
291
|
+
let out;
|
|
292
|
+
try {
|
|
293
|
+
out = execFileSync('git', ['-C', path, 'status', '--porcelain', '-z', '-uall', '--ignored=matching'], { encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'], timeout: 60_000 });
|
|
294
|
+
}
|
|
295
|
+
catch {
|
|
296
|
+
return 'git status failed';
|
|
297
|
+
}
|
|
298
|
+
for (const entry of out.split('\0').filter((e) => e.length > 0)) {
|
|
299
|
+
const code = entry.slice(0, 2);
|
|
300
|
+
const rel = entry.slice(3).replace(/\/$/, '');
|
|
301
|
+
// A tracked change is never redundant; an untracked or ignored path is
|
|
302
|
+
// when the main checkout holds the identical tree (a copied receipt).
|
|
303
|
+
if (code === '??') {
|
|
304
|
+
if (sameTree(join(path, rel), join(projectRoot, rel), budget))
|
|
305
|
+
continue;
|
|
306
|
+
return 'uncommitted or untracked changes';
|
|
307
|
+
}
|
|
308
|
+
if (code !== '!!')
|
|
309
|
+
return 'uncommitted or untracked changes';
|
|
310
|
+
if (exemptNodeModules && rel.split('/').includes('node_modules'))
|
|
311
|
+
continue;
|
|
312
|
+
if (opts.exemptRegenerable === true && isRegenerable(rel))
|
|
313
|
+
continue;
|
|
314
|
+
if (!sameTree(join(path, rel), join(projectRoot, rel), budget)) {
|
|
315
|
+
return `ignored content not in the main checkout: ${rel}`;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return null;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* The owning task's recorded evidence, or `[]` when there is no task or the store is unreadable.
|
|
322
|
+
*
|
|
323
|
+
* @param projectRoot - Project root whose task store is read.
|
|
324
|
+
* @param taskId - Owning task, or `null`.
|
|
325
|
+
* @returns The task's evidence atoms.
|
|
326
|
+
*/
|
|
327
|
+
export async function loadTaskEvidence(projectRoot, taskId) {
|
|
183
328
|
if (taskId === null)
|
|
184
329
|
return [];
|
|
185
330
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/worktree/prune.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/worktree/prune.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,20 @@ export interface SentinelWorktreeEntry {
|
|
|
68
68
|
/** Agent or operator that registered this entry (env `CLEO_AGENT_ID` ?? `'cleo'`). */
|
|
69
69
|
adoptedBy: string;
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* The task a worktree branch names: `task/T####` or `feat/T####`, optionally
|
|
73
|
+
* followed by `-<slug>` (the `task/T####-<slug>` convention). One rule for
|
|
74
|
+
* `worktree list` and `worktree adopt`, which used to disagree (T14165).
|
|
75
|
+
*
|
|
76
|
+
* @param branch - Git branch name.
|
|
77
|
+
* @returns The task ID, or null when the branch names none.
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* taskIdFromBranch('task/T14165-adopt-readback'); // 'T14165'
|
|
81
|
+
* taskIdFromBranch('main'); // null
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function taskIdFromBranch(branch: string): string | null;
|
|
71
85
|
/**
|
|
72
86
|
* Read the sentinel index from `<projectRoot>/.cleo/worktrees.json`.
|
|
73
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentinel-index.d.ts","sourceRoot":"","sources":["../../src/worktree/sentinel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,oEAAoE;AACpE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+EAA+E;IAC/E,MAAM,EAAE,sBAAsB,CAAC;IAC/B,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,qBAAqB,EAAE,CAWzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAWN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,qBAAqB,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAWT;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE"}
|
|
1
|
+
{"version":3,"file":"sentinel-index.d.ts","sourceRoot":"","sources":["../../src/worktree/sentinel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,oEAAoE;AACpE,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,+EAA+E;IAC/E,MAAM,EAAE,sBAAsB,CAAC;IAC/B,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,qBAAqB,EAAE,CAWzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,EAAE,EAChC,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAWN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,qBAAqB,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAWT;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE"}
|
|
@@ -29,6 +29,23 @@ import { getLogger } from '../logger.js';
|
|
|
29
29
|
const log = getLogger('worktree:sentinel-index');
|
|
30
30
|
/** Relative path within the project root for the sentinel index. */
|
|
31
31
|
export const WORKTREE_SENTINEL_INDEX_PATH = '.cleo/worktrees.json';
|
|
32
|
+
/**
|
|
33
|
+
* The task a worktree branch names: `task/T####` or `feat/T####`, optionally
|
|
34
|
+
* followed by `-<slug>` (the `task/T####-<slug>` convention). One rule for
|
|
35
|
+
* `worktree list` and `worktree adopt`, which used to disagree (T14165).
|
|
36
|
+
*
|
|
37
|
+
* @param branch - Git branch name.
|
|
38
|
+
* @returns The task ID, or null when the branch names none.
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* taskIdFromBranch('task/T14165-adopt-readback'); // 'T14165'
|
|
42
|
+
* taskIdFromBranch('main'); // null
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export function taskIdFromBranch(branch) {
|
|
46
|
+
const match = branch.match(/^(?:task|feat)\/(T\d+)(?:-|$)/);
|
|
47
|
+
return match ? (match[1] ?? null) : null;
|
|
48
|
+
}
|
|
32
49
|
/**
|
|
33
50
|
* Read the sentinel index from `<projectRoot>/.cleo/worktrees.json`.
|
|
34
51
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentinel-index.js","sourceRoot":"","sources":["../../src/worktree/sentinel-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sentinel-index.js","sourceRoot":"","sources":["../../src/worktree/sentinel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,GAAG,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;AAEjD,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AA8CnE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,iBAA0B;IAE1B,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,OAAgC,EAChC,iBAA0B;IAE1B,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACzD,yCAAyC,CAC1C,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,KAA4B,EAC5B,iBAA0B;IAE1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC1D,OAAO,IAAI,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,eAAe,CAAC,CAAU;IACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,CACL,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ;QAC7B,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAC/B,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;QACzD,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAC/B,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ;QAClC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,CACnC,CAAC;AACJ,CAAC"}
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
* @adr ADR-062 — git merge --no-ff integration semantics
|
|
37
37
|
*/
|
|
38
38
|
import type { AdoptWorktreeOpts, AdoptWorktreeResult, EngineResult } from '@cleocode/contracts';
|
|
39
|
+
export { taskIdFromBranch } from './sentinel-index.js';
|
|
39
40
|
export type { AdoptWorktreeOpts, AdoptWorktreeResult };
|
|
40
41
|
/**
|
|
41
42
|
* Register an externally-created worktree in the CLEO SSoT.
|
|
@@ -90,17 +91,4 @@ interface BranchFailure {
|
|
|
90
91
|
* @internal Exported for tests only.
|
|
91
92
|
*/
|
|
92
93
|
export declare function extractBranchFromWorktree(worktreePath: string): BranchSuccess | BranchFailure;
|
|
93
|
-
/**
|
|
94
|
-
* Extract a task ID from a branch name following the `task/T####` or
|
|
95
|
-
* `feat/T####` naming convention.
|
|
96
|
-
*
|
|
97
|
-
* Mirrors the same logic in `list.ts` with an extension for `feat/` branches
|
|
98
|
-
* (common for Claude Code Agent worktrees). Duplicated here to avoid a circular
|
|
99
|
-
* import between `adopt` and `list`.
|
|
100
|
-
*
|
|
101
|
-
* @param branch - Git branch name.
|
|
102
|
-
* @returns The task ID string, or null if the branch does not match.
|
|
103
|
-
* @internal Exported for tests only.
|
|
104
|
-
*/
|
|
105
|
-
export declare function taskIdFromBranch(branch: string): string | null;
|
|
106
94
|
//# sourceMappingURL=worktree-adopt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-adopt.d.ts","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EAEb,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-adopt.d.ts","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAiF5C;AA6CD,2DAA2D;AAC3D,UAAU,aAAa;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2DAA2D;AAC3D,UAAU,aAAa;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAkD7F"}
|
|
@@ -41,7 +41,8 @@ import { engineError, engineSuccess } from '@cleocode/contracts/engine-result.js
|
|
|
41
41
|
import { getLogger } from '../logger.js';
|
|
42
42
|
import { resolveOrCwd } from '../paths.js';
|
|
43
43
|
import { appendWorktreeAuditEntry, resolveWorktreeAuditActor } from './audit.js';
|
|
44
|
-
import { upsertSentinelEntry } from './sentinel-index.js';
|
|
44
|
+
import { taskIdFromBranch, upsertSentinelEntry, } from './sentinel-index.js';
|
|
45
|
+
export { taskIdFromBranch } from './sentinel-index.js';
|
|
45
46
|
const log = getLogger('worktree:adopt');
|
|
46
47
|
/**
|
|
47
48
|
* Register an externally-created worktree in the CLEO SSoT.
|
|
@@ -232,20 +233,4 @@ export function extractBranchFromWorktree(worktreePath) {
|
|
|
232
233
|
}
|
|
233
234
|
return { success: false, error: `Unrecognised HEAD content: ${headContent}` };
|
|
234
235
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Extract a task ID from a branch name following the `task/T####` or
|
|
237
|
-
* `feat/T####` naming convention.
|
|
238
|
-
*
|
|
239
|
-
* Mirrors the same logic in `list.ts` with an extension for `feat/` branches
|
|
240
|
-
* (common for Claude Code Agent worktrees). Duplicated here to avoid a circular
|
|
241
|
-
* import between `adopt` and `list`.
|
|
242
|
-
*
|
|
243
|
-
* @param branch - Git branch name.
|
|
244
|
-
* @returns The task ID string, or null if the branch does not match.
|
|
245
|
-
* @internal Exported for tests only.
|
|
246
|
-
*/
|
|
247
|
-
export function taskIdFromBranch(branch) {
|
|
248
|
-
const match = branch.match(/^(?:task|feat)\/(T\d+)/);
|
|
249
|
-
return match ? (match[1] ?? null) : null;
|
|
250
|
-
}
|
|
251
236
|
//# sourceMappingURL=worktree-adopt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-adopt.js","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"worktree-adopt.js","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.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.
|
|
3
|
+
"version": "2026.11.1-canary.3",
|
|
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",
|
|
@@ -501,16 +501,16 @@
|
|
|
501
501
|
"write-file-atomic": "^7.0.1",
|
|
502
502
|
"yaml": "^2.8.3",
|
|
503
503
|
"zod": "4.3.6",
|
|
504
|
-
"@cleocode/adapters": "2026.
|
|
505
|
-
"@cleocode/agents": "2026.
|
|
506
|
-
"@cleocode/caamp": "2026.
|
|
507
|
-
"@cleocode/contracts": "2026.
|
|
508
|
-
"@cleocode/git-shim": "2026.
|
|
509
|
-
"@cleocode/lafs": "2026.
|
|
510
|
-
"@cleocode/nexus": "2026.
|
|
511
|
-
"@cleocode/paths": "2026.
|
|
512
|
-
"@cleocode/skills": "2026.
|
|
513
|
-
"@cleocode/worktree": "2026.
|
|
504
|
+
"@cleocode/adapters": "2026.11.1-canary.3",
|
|
505
|
+
"@cleocode/agents": "2026.11.1-canary.3",
|
|
506
|
+
"@cleocode/caamp": "2026.11.1-canary.3",
|
|
507
|
+
"@cleocode/contracts": "2026.11.1-canary.3",
|
|
508
|
+
"@cleocode/git-shim": "2026.11.1-canary.3",
|
|
509
|
+
"@cleocode/lafs": "2026.11.1-canary.3",
|
|
510
|
+
"@cleocode/nexus": "2026.11.1-canary.3",
|
|
511
|
+
"@cleocode/paths": "2026.11.1-canary.3",
|
|
512
|
+
"@cleocode/skills": "2026.11.1-canary.3",
|
|
513
|
+
"@cleocode/worktree": "2026.11.1-canary.3"
|
|
514
514
|
},
|
|
515
515
|
"engines": {
|
|
516
516
|
"node": ">=24.16.0"
|
|
@@ -545,7 +545,7 @@
|
|
|
545
545
|
},
|
|
546
546
|
"optionalDependencies": {
|
|
547
547
|
"llmtxt": "^2026.5.15",
|
|
548
|
-
"@cleocode/studio": "^2026.
|
|
548
|
+
"@cleocode/studio": "^2026.11.1-canary.3"
|
|
549
549
|
},
|
|
550
550
|
"scripts": {
|
|
551
551
|
"build": "tsc && node scripts/copy-selfimprove-fixtures.mjs && node scripts/write-build-provenance.mjs",
|
|
@@ -97,6 +97,11 @@
|
|
|
97
97
|
"outputDir": {
|
|
98
98
|
"type": "string",
|
|
99
99
|
"description": "Build output directory"
|
|
100
|
+
},
|
|
101
|
+
"heavyScripts": {
|
|
102
|
+
"type": "array",
|
|
103
|
+
"items": { "type": "string" },
|
|
104
|
+
"description": "Globs, relative to the project root, of scripts that run heavy tools: `cleo run` charges them as heavy whatever their content shows (T14162)."
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
107
|
},
|
|
@@ -256,6 +261,11 @@
|
|
|
256
261
|
},
|
|
257
262
|
"uniqueItems": true,
|
|
258
263
|
"description": "Required successful checks for PR and CI evidence atoms. An object entry pins the check to the GitHub App (and workflow file) that must post it (T12634)."
|
|
264
|
+
},
|
|
265
|
+
"macosRegressionParent": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"pattern": "^T[0-9]+$",
|
|
268
|
+
"description": "Task the merge sweep files open macos-regression GitHub issues under, one task per issue (T14104). Unset: the tasks have no parent."
|
|
259
269
|
}
|
|
260
270
|
}
|
|
261
271
|
},
|
|
@@ -273,6 +283,15 @@
|
|
|
273
283
|
"type": "boolean",
|
|
274
284
|
"description": "Accept required CI green on a merged PR's merge commit as testsPassed/qaPassed evidence (ci:<pr>, D11149)."
|
|
275
285
|
},
|
|
286
|
+
"deploySatisfies": {
|
|
287
|
+
"type": "array",
|
|
288
|
+
"items": {
|
|
289
|
+
"type": "string",
|
|
290
|
+
"enum": ["implemented", "testsPassed", "qaPassed", "cleanupDone", "securityPassed", "documented"]
|
|
291
|
+
},
|
|
292
|
+
"uniqueItems": true,
|
|
293
|
+
"description": "Gates a probed deployment (deploy:<provider>/<deploymentId>@<sha>|<probe-url>, T14083) satisfies. CLEO probes the URL at verify (2xx, naming the deployed SHA in an X-Commit/X-Version header or the body) and requires the deployed SHA to contain the task's implemented commits. No default: unset or empty, the atom satisfies nothing; testsPassed only if listed."
|
|
294
|
+
},
|
|
276
295
|
"scopeExcludes": {
|
|
277
296
|
"type": "array",
|
|
278
297
|
"items": { "type": "string", "minLength": 1 },
|
|
@@ -283,6 +302,20 @@
|
|
|
283
302
|
"items": { "type": "string", "minLength": 1 },
|
|
284
303
|
"description": "Repo-relative globs of files whose change affects dependents only at the type level: a generated client (lib/api-zod/**), seed or data files (T13783). A package that depends on a change only through changed packages whose every changed path matches owes a typecheck (tool:typecheck or a qa-run typecheck receipt naming it) instead of a test file. Read from the default branch only."
|
|
285
304
|
},
|
|
305
|
+
"repositories": {
|
|
306
|
+
"type": "array",
|
|
307
|
+
"description": "Further git repositories this project's evidence may come from (an SDK in a separate repository, T14078). A typed gate names one by its repo field; an undeclared repository is refused.",
|
|
308
|
+
"items": {
|
|
309
|
+
"type": "object",
|
|
310
|
+
"additionalProperties": false,
|
|
311
|
+
"required": ["name", "path", "purpose"],
|
|
312
|
+
"properties": {
|
|
313
|
+
"name": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$", "description": "Name a typed gate's repo field uses." },
|
|
314
|
+
"path": { "type": "string", "minLength": 1, "description": "The checkout root, relative to the CLEO store root or absolute." },
|
|
315
|
+
"purpose": { "type": "string", "minLength": 1, "description": "Why the project's evidence comes from it." }
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
},
|
|
286
319
|
"runtimePaths": {
|
|
287
320
|
"type": "array",
|
|
288
321
|
"items": { "type": "string", "minLength": 1 },
|