dorfl 0.0.0 → 0.1.0
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/advance-ci-template.d.ts +73 -0
- package/dist/advance-ci-template.d.ts.map +1 -0
- package/dist/advance-ci-template.js +104 -0
- package/dist/advance-ci-template.js.map +1 -0
- package/dist/advance-classify.d.ts +132 -0
- package/dist/advance-classify.d.ts.map +1 -0
- package/dist/advance-classify.js +120 -0
- package/dist/advance-classify.js.map +1 -0
- package/dist/advance-drivers.d.ts +182 -0
- package/dist/advance-drivers.d.ts.map +1 -0
- package/dist/advance-drivers.js +231 -0
- package/dist/advance-drivers.js.map +1 -0
- package/dist/advance-isolated.d.ts +156 -0
- package/dist/advance-isolated.d.ts.map +1 -0
- package/dist/advance-isolated.js +256 -0
- package/dist/advance-isolated.js.map +1 -0
- package/dist/advance-lifecycle-template.d.ts +107 -0
- package/dist/advance-lifecycle-template.d.ts.map +1 -0
- package/dist/advance-lifecycle-template.js +668 -0
- package/dist/advance-lifecycle-template.js.map +1 -0
- package/dist/advance-loop-driver.d.ts +325 -0
- package/dist/advance-loop-driver.d.ts.map +1 -0
- package/dist/advance-loop-driver.js +437 -0
- package/dist/advance-loop-driver.js.map +1 -0
- package/dist/advance-treeless-publish.d.ts +108 -0
- package/dist/advance-treeless-publish.d.ts.map +1 -0
- package/dist/advance-treeless-publish.js +71 -0
- package/dist/advance-treeless-publish.js.map +1 -0
- package/dist/advance.d.ts +340 -0
- package/dist/advance.d.ts.map +1 -0
- package/dist/advance.js +1122 -0
- package/dist/advance.js.map +1 -0
- package/dist/advancing-lock.d.ts +294 -0
- package/dist/advancing-lock.d.ts.map +1 -0
- package/dist/advancing-lock.js +594 -0
- package/dist/advancing-lock.js.map +1 -0
- package/dist/agent-launch.d.ts +79 -0
- package/dist/agent-launch.d.ts.map +1 -0
- package/dist/agent-launch.js +61 -0
- package/dist/agent-launch.js.map +1 -0
- package/dist/agent-stop.d.ts +149 -0
- package/dist/agent-stop.d.ts.map +1 -0
- package/dist/agent-stop.js +307 -0
- package/dist/agent-stop.js.map +1 -0
- package/dist/apply-decide.d.ts +127 -0
- package/dist/apply-decide.d.ts.map +1 -0
- package/dist/apply-decide.js +176 -0
- package/dist/apply-decide.js.map +1 -0
- package/dist/apply-merge-action.d.ts +206 -0
- package/dist/apply-merge-action.d.ts.map +1 -0
- package/dist/apply-merge-action.js +307 -0
- package/dist/apply-merge-action.js.map +1 -0
- package/dist/apply-persist.d.ts +174 -0
- package/dist/apply-persist.d.ts.map +1 -0
- package/dist/apply-persist.js +359 -0
- package/dist/apply-persist.js.map +1 -0
- package/dist/arbiter.d.ts +120 -0
- package/dist/arbiter.d.ts.map +1 -0
- package/dist/arbiter.js +255 -0
- package/dist/arbiter.js.map +1 -0
- package/dist/brand.d.ts +70 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +84 -0
- package/dist/brand.js.map +1 -0
- package/dist/buildable-body.d.ts +132 -0
- package/dist/buildable-body.d.ts.map +1 -0
- package/dist/buildable-body.js +131 -0
- package/dist/buildable-body.js.map +1 -0
- package/dist/categorise.d.ts +66 -0
- package/dist/categorise.d.ts.map +1 -0
- package/dist/categorise.js +106 -0
- package/dist/categorise.js.map +1 -0
- package/dist/claim-cas.d.ts +117 -0
- package/dist/claim-cas.d.ts.map +1 -0
- package/dist/claim-cas.js +312 -0
- package/dist/claim-cas.js.map +1 -0
- package/dist/cli-spinner.d.ts +112 -0
- package/dist/cli-spinner.d.ts.map +1 -0
- package/dist/cli-spinner.js +157 -0
- package/dist/cli-spinner.js.map +1 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3094 -0
- package/dist/cli.js.map +1 -0
- package/dist/close-job-template.d.ts +70 -0
- package/dist/close-job-template.d.ts.map +1 -0
- package/dist/close-job-template.js +180 -0
- package/dist/close-job-template.js.map +1 -0
- package/dist/close-job.d.ts +95 -0
- package/dist/close-job.d.ts.map +1 -0
- package/dist/close-job.js +226 -0
- package/dist/close-job.js.map +1 -0
- package/dist/complete.d.ts +361 -0
- package/dist/complete.d.ts.map +1 -0
- package/dist/complete.js +885 -0
- package/dist/complete.js.map +1 -0
- package/dist/concurrency.d.ts +68 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +112 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/config-override.d.ts +76 -0
- package/dist/config-override.d.ts.map +1 -0
- package/dist/config-override.js +50 -0
- package/dist/config-override.js.map +1 -0
- package/dist/config.d.ts +668 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +241 -0
- package/dist/config.js.map +1 -0
- package/dist/continue-branch.d.ts +249 -0
- package/dist/continue-branch.d.ts.map +1 -0
- package/dist/continue-branch.js +389 -0
- package/dist/continue-branch.js.map +1 -0
- package/dist/cwd-section.d.ts +186 -0
- package/dist/cwd-section.d.ts.map +1 -0
- package/dist/cwd-section.js +209 -0
- package/dist/cwd-section.js.map +1 -0
- package/dist/decision-engine.d.ts +170 -0
- package/dist/decision-engine.d.ts.map +1 -0
- package/dist/decision-engine.js +136 -0
- package/dist/decision-engine.js.map +1 -0
- package/dist/detect.d.ts +17 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +118 -0
- package/dist/detect.js.map +1 -0
- package/dist/do-autopick.d.ts +85 -0
- package/dist/do-autopick.d.ts.map +1 -0
- package/dist/do-autopick.js +112 -0
- package/dist/do-autopick.js.map +1 -0
- package/dist/do-config.d.ts +312 -0
- package/dist/do-config.d.ts.map +1 -0
- package/dist/do-config.js +358 -0
- package/dist/do-config.js.map +1 -0
- package/dist/do-remote-auto.d.ts +75 -0
- package/dist/do-remote-auto.d.ts.map +1 -0
- package/dist/do-remote-auto.js +111 -0
- package/dist/do-remote-auto.js.map +1 -0
- package/dist/do.d.ts +621 -0
- package/dist/do.d.ts.map +1 -0
- package/dist/do.js +1882 -0
- package/dist/do.js.map +1 -0
- package/dist/drop-source.d.ts +96 -0
- package/dist/drop-source.d.ts.map +1 -0
- package/dist/drop-source.js +91 -0
- package/dist/drop-source.js.map +1 -0
- package/dist/eligibility.d.ts +46 -0
- package/dist/eligibility.d.ts.map +1 -0
- package/dist/eligibility.js +34 -0
- package/dist/eligibility.js.map +1 -0
- package/dist/env-config.d.ts +51 -0
- package/dist/env-config.d.ts.map +1 -0
- package/dist/env-config.js +272 -0
- package/dist/env-config.js.map +1 -0
- package/dist/failure-cause.d.ts +70 -0
- package/dist/failure-cause.d.ts.map +1 -0
- package/dist/failure-cause.js +126 -0
- package/dist/failure-cause.js.map +1 -0
- package/dist/format.d.ts +43 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +256 -0
- package/dist/format.js.map +1 -0
- package/dist/frontmatter.d.ts +215 -0
- package/dist/frontmatter.d.ts.map +1 -0
- package/dist/frontmatter.js +345 -0
- package/dist/frontmatter.js.map +1 -0
- package/dist/gate-readiness.d.ts +84 -0
- package/dist/gate-readiness.d.ts.map +1 -0
- package/dist/gate-readiness.js +103 -0
- package/dist/gate-readiness.js.map +1 -0
- package/dist/gc.d.ts +165 -0
- package/dist/gc.d.ts.map +1 -0
- package/dist/gc.js +313 -0
- package/dist/gc.js.map +1 -0
- package/dist/gh-failure.d.ts +42 -0
- package/dist/gh-failure.d.ts.map +1 -0
- package/dist/gh-failure.js +49 -0
- package/dist/gh-failure.js.map +1 -0
- package/dist/git.d.ts +75 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +130 -0
- package/dist/git.js.map +1 -0
- package/dist/github.d.ts +187 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js +343 -0
- package/dist/github.js.map +1 -0
- package/dist/harness.d.ts +242 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +157 -0
- package/dist/harness.js.map +1 -0
- package/dist/identity.d.ts +167 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +231 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +147 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/install-ci-branch-protection.d.ts +147 -0
- package/dist/install-ci-branch-protection.d.ts.map +1 -0
- package/dist/install-ci-branch-protection.js +166 -0
- package/dist/install-ci-branch-protection.js.map +1 -0
- package/dist/install-ci-capabilities/advance-lifecycle.d.ts +15 -0
- package/dist/install-ci-capabilities/advance-lifecycle.d.ts.map +1 -0
- package/dist/install-ci-capabilities/advance-lifecycle.js +28 -0
- package/dist/install-ci-capabilities/advance-lifecycle.js.map +1 -0
- package/dist/install-ci-capabilities/close-job.d.ts +13 -0
- package/dist/install-ci-capabilities/close-job.d.ts.map +1 -0
- package/dist/install-ci-capabilities/close-job.js +26 -0
- package/dist/install-ci-capabilities/close-job.js.map +1 -0
- package/dist/install-ci-capabilities/example-noop.d.ts +16 -0
- package/dist/install-ci-capabilities/example-noop.d.ts.map +1 -0
- package/dist/install-ci-capabilities/example-noop.js +23 -0
- package/dist/install-ci-capabilities/example-noop.js.map +1 -0
- package/dist/install-ci-capabilities/intake.d.ts +15 -0
- package/dist/install-ci-capabilities/intake.d.ts.map +1 -0
- package/dist/install-ci-capabilities/intake.js +28 -0
- package/dist/install-ci-capabilities/intake.js.map +1 -0
- package/dist/install-ci-capabilities/verify.d.ts +14 -0
- package/dist/install-ci-capabilities/verify.d.ts.map +1 -0
- package/dist/install-ci-capabilities/verify.js +27 -0
- package/dist/install-ci-capabilities/verify.js.map +1 -0
- package/dist/install-ci-core.d.ts +446 -0
- package/dist/install-ci-core.d.ts.map +1 -0
- package/dist/install-ci-core.js +760 -0
- package/dist/install-ci-core.js.map +1 -0
- package/dist/install-ci-github.d.ts +167 -0
- package/dist/install-ci-github.d.ts.map +1 -0
- package/dist/install-ci-github.js +315 -0
- package/dist/install-ci-github.js.map +1 -0
- package/dist/install-ci.d.ts +105 -0
- package/dist/install-ci.d.ts.map +1 -0
- package/dist/install-ci.js +363 -0
- package/dist/install-ci.js.map +1 -0
- package/dist/intake-event.d.ts +88 -0
- package/dist/intake-event.d.ts.map +1 -0
- package/dist/intake-event.js +66 -0
- package/dist/intake-event.js.map +1 -0
- package/dist/intake-marker.d.ts +95 -0
- package/dist/intake-marker.d.ts.map +1 -0
- package/dist/intake-marker.js +127 -0
- package/dist/intake-marker.js.map +1 -0
- package/dist/intake-triage.d.ts +48 -0
- package/dist/intake-triage.d.ts.map +1 -0
- package/dist/intake-triage.js +95 -0
- package/dist/intake-triage.js.map +1 -0
- package/dist/intake-trigger-template.d.ts +185 -0
- package/dist/intake-trigger-template.d.ts.map +1 -0
- package/dist/intake-trigger-template.js +449 -0
- package/dist/intake-trigger-template.js.map +1 -0
- package/dist/intake.d.ts +569 -0
- package/dist/intake.d.ts.map +1 -0
- package/dist/intake.js +1628 -0
- package/dist/intake.js.map +1 -0
- package/dist/integration-core.d.ts +539 -0
- package/dist/integration-core.d.ts.map +1 -0
- package/dist/integration-core.js +2195 -0
- package/dist/integration-core.js.map +1 -0
- package/dist/integrator.d.ts +343 -0
- package/dist/integrator.d.ts.map +1 -0
- package/dist/integrator.js +400 -0
- package/dist/integrator.js.map +1 -0
- package/dist/isolation.d.ts +219 -0
- package/dist/isolation.d.ts.map +1 -0
- package/dist/isolation.js +261 -0
- package/dist/isolation.js.map +1 -0
- package/dist/issue-provider.d.ts +349 -0
- package/dist/issue-provider.d.ts.map +1 -0
- package/dist/issue-provider.js +360 -0
- package/dist/issue-provider.js.map +1 -0
- package/dist/item-lock.d.ts +626 -0
- package/dist/item-lock.d.ts.map +1 -0
- package/dist/item-lock.js +1381 -0
- package/dist/item-lock.js.map +1 -0
- package/dist/item-path.d.ts +49 -0
- package/dist/item-path.d.ts.map +1 -0
- package/dist/item-path.js +66 -0
- package/dist/item-path.js.map +1 -0
- package/dist/ledger-lint.d.ts +129 -0
- package/dist/ledger-lint.d.ts.map +1 -0
- package/dist/ledger-lint.js +249 -0
- package/dist/ledger-lint.js.map +1 -0
- package/dist/ledger-read.d.ts +357 -0
- package/dist/ledger-read.d.ts.map +1 -0
- package/dist/ledger-read.js +442 -0
- package/dist/ledger-read.js.map +1 -0
- package/dist/ledger-write.d.ts +330 -0
- package/dist/ledger-write.d.ts.map +1 -0
- package/dist/ledger-write.js +411 -0
- package/dist/ledger-write.js.map +1 -0
- package/dist/lifecycle-gather.d.ts +30 -0
- package/dist/lifecycle-gather.d.ts.map +1 -0
- package/dist/lifecycle-gather.js +205 -0
- package/dist/lifecycle-gather.js.map +1 -0
- package/dist/lifecycle-pools.d.ts +180 -0
- package/dist/lifecycle-pools.d.ts.map +1 -0
- package/dist/lifecycle-pools.js +78 -0
- package/dist/lifecycle-pools.js.map +1 -0
- package/dist/merge-question-surfacer.d.ts +166 -0
- package/dist/merge-question-surfacer.d.ts.map +1 -0
- package/dist/merge-question-surfacer.js +297 -0
- package/dist/merge-question-surfacer.js.map +1 -0
- package/dist/mint-adr.d.ts +126 -0
- package/dist/mint-adr.d.ts.map +1 -0
- package/dist/mint-adr.js +257 -0
- package/dist/mint-adr.js.map +1 -0
- package/dist/mirror-pool-scan.d.ts +125 -0
- package/dist/mirror-pool-scan.d.ts.map +1 -0
- package/dist/mirror-pool-scan.js +104 -0
- package/dist/mirror-pool-scan.js.map +1 -0
- package/dist/needs-attention.d.ts +341 -0
- package/dist/needs-attention.d.ts.map +1 -0
- package/dist/needs-attention.js +900 -0
- package/dist/needs-attention.js.map +1 -0
- package/dist/orphan-sidecar.d.ts +79 -0
- package/dist/orphan-sidecar.d.ts.map +1 -0
- package/dist/orphan-sidecar.js +71 -0
- package/dist/orphan-sidecar.js.map +1 -0
- package/dist/output.d.ts +48 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +66 -0
- package/dist/output.js.map +1 -0
- package/dist/pi-harness.d.ts +179 -0
- package/dist/pi-harness.d.ts.map +1 -0
- package/dist/pi-harness.js +342 -0
- package/dist/pi-harness.js.map +1 -0
- package/dist/placement.d.ts +99 -0
- package/dist/placement.d.ts.map +1 -0
- package/dist/placement.js +67 -0
- package/dist/placement.js.map +1 -0
- package/dist/prd-to-spec.d.ts +315 -0
- package/dist/prd-to-spec.d.ts.map +1 -0
- package/dist/prd-to-spec.js +684 -0
- package/dist/prd-to-spec.js.map +1 -0
- package/dist/prepare.d.ts +121 -0
- package/dist/prepare.d.ts.map +1 -0
- package/dist/prepare.js +140 -0
- package/dist/prepare.js.map +1 -0
- package/dist/prompt.d.ts +360 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +499 -0
- package/dist/prompt.js.map +1 -0
- package/dist/protocol/ADR-FORMAT.md +47 -0
- package/dist/protocol/CLAIM-PROTOCOL.md +217 -0
- package/dist/protocol/REVIEW-PROTOCOL.md +119 -0
- package/dist/protocol/SURFACE-PROTOCOL.md +121 -0
- package/dist/protocol/TASKING-PROTOCOL.md +122 -0
- package/dist/protocol/WORK-CONTRACT.md +276 -0
- package/dist/protocol/spec-template.md +71 -0
- package/dist/protocol/task-template.md +65 -0
- package/dist/readiness.d.ts +66 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +36 -0
- package/dist/readiness.js.map +1 -0
- package/dist/reap-branches.d.ts +102 -0
- package/dist/reap-branches.d.ts.map +1 -0
- package/dist/reap-branches.js +149 -0
- package/dist/reap-branches.js.map +1 -0
- package/dist/recover-isolated.d.ts +72 -0
- package/dist/recover-isolated.d.ts.map +1 -0
- package/dist/recover-isolated.js +188 -0
- package/dist/recover-isolated.js.map +1 -0
- package/dist/registry.d.ts +172 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +296 -0
- package/dist/registry.js.map +1 -0
- package/dist/repo-config.d.ts +201 -0
- package/dist/repo-config.d.ts.map +1 -0
- package/dist/repo-config.js +414 -0
- package/dist/repo-config.js.map +1 -0
- package/dist/repo-key.d.ts +20 -0
- package/dist/repo-key.d.ts.map +1 -0
- package/dist/repo-key.js +68 -0
- package/dist/repo-key.js.map +1 -0
- package/dist/repo-mirror.d.ts +177 -0
- package/dist/repo-mirror.d.ts.map +1 -0
- package/dist/repo-mirror.js +271 -0
- package/dist/repo-mirror.js.map +1 -0
- package/dist/retry-backoff.d.ts +90 -0
- package/dist/retry-backoff.d.ts.map +1 -0
- package/dist/retry-backoff.js +98 -0
- package/dist/retry-backoff.js.map +1 -0
- package/dist/review-gate.d.ts +173 -0
- package/dist/review-gate.d.ts.map +1 -0
- package/dist/review-gate.js +261 -0
- package/dist/review-gate.js.map +1 -0
- package/dist/review-verdict.d.ts +149 -0
- package/dist/review-verdict.d.ts.map +1 -0
- package/dist/review-verdict.js +332 -0
- package/dist/review-verdict.js.map +1 -0
- package/dist/run.d.ts +221 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +963 -0
- package/dist/run.js.map +1 -0
- package/dist/scan.d.ts +308 -0
- package/dist/scan.d.ts.map +1 -0
- package/dist/scan.js +374 -0
- package/dist/scan.js.map +1 -0
- package/dist/select-order.d.ts +75 -0
- package/dist/select-order.d.ts.map +1 -0
- package/dist/select-order.js +108 -0
- package/dist/select-order.js.map +1 -0
- package/dist/select-priority.d.ts +188 -0
- package/dist/select-priority.d.ts.map +1 -0
- package/dist/select-priority.js +80 -0
- package/dist/select-priority.js.map +1 -0
- package/dist/select.d.ts +25 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +43 -0
- package/dist/select.js.map +1 -0
- package/dist/session-path.d.ts +36 -0
- package/dist/session-path.d.ts.map +1 -0
- package/dist/session-path.js +129 -0
- package/dist/session-path.js.map +1 -0
- package/dist/sidecar-apply.d.ts +83 -0
- package/dist/sidecar-apply.d.ts.map +1 -0
- package/dist/sidecar-apply.js +111 -0
- package/dist/sidecar-apply.js.map +1 -0
- package/dist/sidecar.d.ts +245 -0
- package/dist/sidecar.d.ts.map +1 -0
- package/dist/sidecar.js +481 -0
- package/dist/sidecar.js.map +1 -0
- package/dist/slug-namespace.d.ts +204 -0
- package/dist/slug-namespace.d.ts.map +1 -0
- package/dist/slug-namespace.js +229 -0
- package/dist/slug-namespace.js.map +1 -0
- package/dist/spec-complete.d.ts +44 -0
- package/dist/spec-complete.d.ts.map +1 -0
- package/dist/spec-complete.js +69 -0
- package/dist/spec-complete.js.map +1 -0
- package/dist/start.d.ts +97 -0
- package/dist/start.d.ts.map +1 -0
- package/dist/start.js +633 -0
- package/dist/start.js.map +1 -0
- package/dist/status.d.ts +199 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +228 -0
- package/dist/status.js.map +1 -0
- package/dist/surface-gate.d.ts +162 -0
- package/dist/surface-gate.d.ts.map +1 -0
- package/dist/surface-gate.js +206 -0
- package/dist/surface-gate.js.map +1 -0
- package/dist/surface-persist.d.ts +86 -0
- package/dist/surface-persist.d.ts.map +1 -0
- package/dist/surface-persist.js +129 -0
- package/dist/surface-persist.js.map +1 -0
- package/dist/tasker-review-loop.d.ts +249 -0
- package/dist/tasker-review-loop.d.ts.map +1 -0
- package/dist/tasker-review-loop.js +369 -0
- package/dist/tasker-review-loop.js.map +1 -0
- package/dist/tasking-eligibility.d.ts +74 -0
- package/dist/tasking-eligibility.d.ts.map +1 -0
- package/dist/tasking-eligibility.js +52 -0
- package/dist/tasking-eligibility.js.map +1 -0
- package/dist/tasking-lock.d.ts +111 -0
- package/dist/tasking-lock.d.ts.map +1 -0
- package/dist/tasking-lock.js +256 -0
- package/dist/tasking-lock.js.map +1 -0
- package/dist/tasking.d.ts +275 -0
- package/dist/tasking.d.ts.map +1 -0
- package/dist/tasking.js +952 -0
- package/dist/tasking.js.map +1 -0
- package/dist/triage-gate.d.ts +127 -0
- package/dist/triage-gate.d.ts.map +1 -0
- package/dist/triage-gate.js +139 -0
- package/dist/triage-gate.js.map +1 -0
- package/dist/triage-persist.d.ts +163 -0
- package/dist/triage-persist.d.ts.map +1 -0
- package/dist/triage-persist.js +387 -0
- package/dist/triage-persist.js.map +1 -0
- package/dist/verdict-json.d.ts +32 -0
- package/dist/verdict-json.d.ts.map +1 -0
- package/dist/verdict-json.js +74 -0
- package/dist/verdict-json.js.map +1 -0
- package/dist/verify-workflow-template.d.ts +60 -0
- package/dist/verify-workflow-template.d.ts.map +1 -0
- package/dist/verify-workflow-template.js +126 -0
- package/dist/verify-workflow-template.js.map +1 -0
- package/dist/verify.d.ts +60 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +62 -0
- package/dist/verify.js.map +1 -0
- package/dist/watch-session.d.ts +112 -0
- package/dist/watch-session.d.ts.map +1 -0
- package/dist/watch-session.js +347 -0
- package/dist/watch-session.js.map +1 -0
- package/dist/work-layout.d.ts +198 -0
- package/dist/work-layout.d.ts.map +1 -0
- package/dist/work-layout.js +217 -0
- package/dist/work-layout.js.map +1 -0
- package/dist/work-on.d.ts +154 -0
- package/dist/work-on.d.ts.map +1 -0
- package/dist/work-on.js +387 -0
- package/dist/work-on.js.map +1 -0
- package/dist/workspace.d.ts +224 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +325 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +46 -2
- package/src/advance-ci-template.ts +203 -0
- package/src/advance-classify.ts +197 -0
- package/src/advance-drivers.ts +414 -0
- package/src/advance-isolated.ts +432 -0
- package/src/advance-lifecycle-template.ts +791 -0
- package/src/advance-loop-driver.ts +745 -0
- package/src/advance-treeless-publish.ts +177 -0
- package/src/advance.ts +1564 -0
- package/src/advancing-lock.ts +988 -0
- package/src/agent-launch.ts +137 -0
- package/src/agent-stop.ts +361 -0
- package/src/apply-decide.ts +242 -0
- package/src/apply-merge-action.ts +502 -0
- package/src/apply-persist.ts +518 -0
- package/src/arbiter.ts +372 -0
- package/src/brand.ts +111 -0
- package/src/buildable-body.ts +196 -0
- package/src/categorise.ts +158 -0
- package/src/claim-cas.ts +513 -0
- package/src/cli-spinner.ts +225 -0
- package/src/cli.ts +4369 -0
- package/src/close-job-template.ts +236 -0
- package/src/close-job.ts +319 -0
- package/src/complete.ts +1379 -0
- package/src/concurrency.ts +151 -0
- package/src/config-override.ts +116 -0
- package/src/config.ts +883 -0
- package/src/continue-branch.ts +542 -0
- package/src/cwd-section.ts +392 -0
- package/src/decision-engine.ts +272 -0
- package/src/detect.ts +124 -0
- package/src/do-autopick.ts +223 -0
- package/src/do-config.ts +589 -0
- package/src/do-remote-auto.ts +197 -0
- package/src/do.ts +2623 -0
- package/src/drop-source.ts +194 -0
- package/src/eligibility.ts +79 -0
- package/src/env-config.ts +305 -0
- package/src/failure-cause.ts +142 -0
- package/src/format.ts +313 -0
- package/src/frontmatter.ts +485 -0
- package/src/gate-readiness.ts +147 -0
- package/src/gc.ts +510 -0
- package/src/gh-failure.ts +53 -0
- package/src/git.ts +186 -0
- package/src/github.ts +468 -0
- package/src/harness.ts +355 -0
- package/src/identity.ts +322 -0
- package/src/index.ts +785 -0
- package/src/install-ci-branch-protection.ts +255 -0
- package/src/install-ci-capabilities/advance-lifecycle.ts +34 -0
- package/src/install-ci-capabilities/close-job.ts +32 -0
- package/src/install-ci-capabilities/example-noop.ts +24 -0
- package/src/install-ci-capabilities/intake.ts +34 -0
- package/src/install-ci-capabilities/verify.ts +33 -0
- package/src/install-ci-core.ts +1088 -0
- package/src/install-ci-github.ts +376 -0
- package/src/install-ci.ts +552 -0
- package/src/intake-event.ts +102 -0
- package/src/intake-marker.ts +195 -0
- package/src/intake-triage.ts +138 -0
- package/src/intake-trigger-template.ts +591 -0
- package/src/intake.ts +2445 -0
- package/src/integration-core.ts +3065 -0
- package/src/integrator.ts +771 -0
- package/src/isolation.ts +484 -0
- package/src/issue-provider.ts +733 -0
- package/src/item-lock.ts +1858 -0
- package/src/item-path.ts +75 -0
- package/src/ledger-lint.ts +332 -0
- package/src/ledger-read.ts +924 -0
- package/src/ledger-write.ts +865 -0
- package/src/lifecycle-gather.ts +298 -0
- package/src/lifecycle-pools.ts +250 -0
- package/src/merge-question-surfacer.ts +496 -0
- package/src/mint-adr.ts +362 -0
- package/src/mirror-pool-scan.ts +240 -0
- package/src/needs-attention.ts +1506 -0
- package/src/orphan-sidecar.ts +150 -0
- package/src/output.ts +89 -0
- package/src/pi-harness.ts +403 -0
- package/src/placement.ts +131 -0
- package/src/prd-to-spec.ts +1023 -0
- package/src/prepare.ts +230 -0
- package/src/prompt.ts +760 -0
- package/src/readiness.ts +98 -0
- package/src/reap-branches.ts +278 -0
- package/src/recover-isolated.ts +276 -0
- package/src/registry.ts +475 -0
- package/src/repo-config.ts +550 -0
- package/src/repo-key.ts +74 -0
- package/src/repo-mirror.ts +367 -0
- package/src/retry-backoff.ts +130 -0
- package/src/review-gate.ts +389 -0
- package/src/review-verdict.ts +422 -0
- package/src/run.ts +1430 -0
- package/src/scan.ts +611 -0
- package/src/select-order.ts +143 -0
- package/src/select-priority.ts +266 -0
- package/src/select.ts +62 -0
- package/src/session-path.ts +153 -0
- package/src/sidecar-apply.ts +216 -0
- package/src/sidecar.ts +700 -0
- package/src/slug-namespace.ts +367 -0
- package/src/spec-complete.ts +118 -0
- package/src/start.ts +974 -0
- package/src/status.ts +441 -0
- package/src/surface-gate.ts +337 -0
- package/src/surface-persist.ts +241 -0
- package/src/tasker-review-loop.ts +671 -0
- package/src/tasking-eligibility.ts +114 -0
- package/src/tasking-lock.ts +416 -0
- package/src/tasking.ts +1438 -0
- package/src/triage-gate.ts +248 -0
- package/src/triage-persist.ts +570 -0
- package/src/verdict-json.ts +73 -0
- package/src/verify-workflow-template.ts +159 -0
- package/src/verify.ts +123 -0
- package/src/watch-session.ts +397 -0
- package/src/work-layout.ts +262 -0
- package/src/work-on.ts +660 -0
- package/src/workspace.ts +502 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import {join} from 'node:path';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The **work-layout** module: the SOLE source of every `work/...` path string,
|
|
5
|
+
* folder-name union/array, the item-scan predicate, and the prefix-task helpers
|
|
6
|
+
* used across `src/`.
|
|
7
|
+
*
|
|
8
|
+
* This is Phase 0 of the `folder-taxonomy-reorg-and-rename` prd — the de-risking
|
|
9
|
+
* checkpoint. EVERY raw work-path literal (`join(cwd, 'work', ...)`, `'work/<folder>'`,
|
|
10
|
+
* `'work/<folder>/'.length` prefix-tasks) and EVERY folder-name union/array that
|
|
11
|
+
* used to be scattered across ~70 files now routes through here. The NAMES are
|
|
12
|
+
* byte-identical to today (no rename, no behaviour change); only the SOURCE of the
|
|
13
|
+
* string has moved into this one module.
|
|
14
|
+
*
|
|
15
|
+
* The whole point of the seam: the LATER rename tasks flip the VALUES in
|
|
16
|
+
* {@link WORK_FOLDER_NAME} (and `git mv` the on-disk folders) and NOTHING ELSE.
|
|
17
|
+
* Call sites reference folders by their SYMBOLIC key (`'tasks-ready'`,
|
|
18
|
+
* `'specs-ready'`, …), never by a raw string, so a folder-VALUE flip never
|
|
19
|
+
* re-touches a single call site (a KEY rename, e.g. the prd→spec cutover below,
|
|
20
|
+
* is a mechanical relabel of the key literal at each site — behaviour-preserving).
|
|
21
|
+
*
|
|
22
|
+
* Domain note (crown-jewel invariant): a `work/` tree is a set of governance
|
|
23
|
+
* folders where "status IS the folder" — a CAS `git mv` between durable folders is
|
|
24
|
+
* the conflict-safe state machine. This module owns the folder NAMES that literally
|
|
25
|
+
* are that state machine, so it is deliberately the one place a careless rename can
|
|
26
|
+
* touch.
|
|
27
|
+
*
|
|
28
|
+
* The transient states (`in-progress`/`needs-attention`/`tasking`/`advancing`) are
|
|
29
|
+
* NOT folders — they are per-item lock-ref state (see `item-lock.ts`). A stray
|
|
30
|
+
* `in-progress` literal still referenced by some legacy/recovery readers routes
|
|
31
|
+
* through this module like any other folder, but is NOT part of the durable
|
|
32
|
+
* folder-as-status set.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The repo-relative root of the `work/` governance tree. The single literal `'work'`
|
|
37
|
+
* the whole package shares — every path builder below is rooted here.
|
|
38
|
+
*/
|
|
39
|
+
export const WORK_ROOT = 'work' as const;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Every work-folder SYMBOLIC KEY → its current on-disk folder NAME (byte-identical
|
|
43
|
+
* to today). This is the ONE place a folder name lives; the later taxonomy rename is
|
|
44
|
+
* a value-only flip of the right-hand side here.
|
|
45
|
+
*
|
|
46
|
+
* Folder kinds (kept here as a single registry, but their distinct roles matter):
|
|
47
|
+
* - TASK lifecycle, the `tasks/` Kanban board: `tasks/backlog` (staging, key
|
|
48
|
+
* `tasks-backlog`) → `tasks/ready` (the agent pool, key `tasks-ready`) →
|
|
49
|
+
* `tasks/done` / `tasks/cancelled` (the PER-REGIME won't-proceed terminal, key
|
|
50
|
+
* `cancelled`).
|
|
51
|
+
* - SPEC lifecycle, the `specs/` regime: `specs/proposed` (staging, key
|
|
52
|
+
* `specs-proposed`) → `specs/ready` (auto-task pool, key `specs-ready`) →
|
|
53
|
+
* `specs/tasked` (tasked, resting, key `specs-tasked`) / `specs/dropped`
|
|
54
|
+
* (the PER-REGIME won't-proceed terminal, key `specs-dropped`).
|
|
55
|
+
* - The PER-REGIME won't-proceed terminals (`tasks/cancelled` + `specs/dropped`)
|
|
56
|
+
* replace the previous shared top-level `work/dropped/`: a dropped task and a
|
|
57
|
+
* dropped spec sharing a slug used to COLLIDE on one bare-slug
|
|
58
|
+
* `work/dropped/<slug>.md`; namespacing each regime's terminal removes the
|
|
59
|
+
* collision. A dropped OBSERVATION needs no terminal — notes leave by deletion.
|
|
60
|
+
* - Capture buckets under the `notes/` umbrella (do NOT flow; leave by deletion):
|
|
61
|
+
* `notes/observations` / `notes/ideas` / `notes/findings`.
|
|
62
|
+
* - Top-level surfaces: `questions` (the "what needs me?" queue), `protocol`
|
|
63
|
+
* (propagated protocol docs). NEITHER is folded under an umbrella.
|
|
64
|
+
* - The stray transient `in-progress` still referenced by legacy/recovery readers
|
|
65
|
+
* and `needs-attention` (both are really lock-ref state, NOT durable folders;
|
|
66
|
+
* routed here only so no reader hand-writes the literal).
|
|
67
|
+
*
|
|
68
|
+
* NOTE on the prd→spec vocabulary cutover
|
|
69
|
+
* (`rename-spec-work-layout-and-folders`, migrate-batch 1 of
|
|
70
|
+
* `prd-to-spec-vocabulary-cutover-and-migration-command`): the spec-regime KEYS
|
|
71
|
+
* below now read in the `spec` vocabulary (`specs-proposed`/`specs-ready`/
|
|
72
|
+
* `specs-tasked`/`specs-dropped`) AND their VALUES flip to `work/specs/*` in
|
|
73
|
+
* lockstep with the on-disk `git mv work/prds/* → work/specs/*`. Unlike the earlier
|
|
74
|
+
* key-only relabel, this batch moves the folders too, so the KEY and VALUE change
|
|
75
|
+
* together and the self-renaming-folder guard stays green. The KEY rename is a
|
|
76
|
+
* mechanical relabel of the key literal at each call site (behaviour-preserving);
|
|
77
|
+
* the frontmatter `prd:` field (a DATA alias the migration command converts) is the
|
|
78
|
+
* one deliberate survivor; the `--specs-land-in` flag/`specsLandIn` config + the
|
|
79
|
+
* `Spec*` symbols were completed by the later batches + the contract task. The
|
|
80
|
+
* folder-as-status invariant is unchanged.
|
|
81
|
+
*/
|
|
82
|
+
export const WORK_FOLDER_NAME = {
|
|
83
|
+
'tasks-backlog': 'tasks/backlog',
|
|
84
|
+
'tasks-ready': 'tasks/ready',
|
|
85
|
+
'in-progress': 'in-progress',
|
|
86
|
+
'needs-attention': 'needs-attention',
|
|
87
|
+
done: 'tasks/done',
|
|
88
|
+
cancelled: 'tasks/cancelled',
|
|
89
|
+
'specs-proposed': 'specs/proposed',
|
|
90
|
+
'specs-ready': 'specs/ready',
|
|
91
|
+
'specs-tasked': 'specs/tasked',
|
|
92
|
+
'specs-dropped': 'specs/dropped',
|
|
93
|
+
observations: 'notes/observations',
|
|
94
|
+
ideas: 'notes/ideas',
|
|
95
|
+
findings: 'notes/findings',
|
|
96
|
+
questions: 'questions',
|
|
97
|
+
protocol: 'protocol',
|
|
98
|
+
} as const;
|
|
99
|
+
|
|
100
|
+
/** The SYMBOLIC KEY of a work folder (stable across the later rename). */
|
|
101
|
+
export type WorkFolderKey = keyof typeof WORK_FOLDER_NAME;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Resolve a folder's current on-disk NAME from its symbolic key. The ONE accessor
|
|
105
|
+
* every other folder-name lookup derives from, so the rename flips it in lockstep.
|
|
106
|
+
*/
|
|
107
|
+
export function workFolderName(folder: WorkFolderKey): string {
|
|
108
|
+
return WORK_FOLDER_NAME[folder];
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Absolute path of a work folder under a repo/cwd root:
|
|
113
|
+
* `<root>/work/<folder-name>`. Replaces every `join(cwd, 'work', '<folder>')` and
|
|
114
|
+
* `join(repoPath, 'work', folder)` call site.
|
|
115
|
+
*/
|
|
116
|
+
export function workFolderPath(root: string, folder: WorkFolderKey): string {
|
|
117
|
+
return join(root, WORK_ROOT, workFolderName(folder));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Absolute path of a single item's `.md` file in a work folder:
|
|
122
|
+
* `<root>/work/<folder-name>/<slug>.md`. Replaces every
|
|
123
|
+
* `join(cwd, 'work', folder, `${slug}.md`)` call site. `slug` is the bare slug
|
|
124
|
+
* (the `.md` suffix is appended here).
|
|
125
|
+
*/
|
|
126
|
+
export function workItemPath(
|
|
127
|
+
root: string,
|
|
128
|
+
folder: WorkFolderKey,
|
|
129
|
+
slug: string,
|
|
130
|
+
): string {
|
|
131
|
+
return join(root, WORK_ROOT, workFolderName(folder), `${slug}.md`);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* REPO-RELATIVE path of a work folder: `work/<folder-name>` (no trailing slash, no
|
|
136
|
+
* root). The form used for `git mv` / `git`-relative paths and the staging/pool dir
|
|
137
|
+
* constants (`STAGED_TASKS_DIR`, etc.). Replaces raw `'work/<folder>'` literals.
|
|
138
|
+
*/
|
|
139
|
+
export function workFolderRel(folder: WorkFolderKey): string {
|
|
140
|
+
return `${WORK_ROOT}/${workFolderName(folder)}`;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* REPO-RELATIVE path of a single item file: `work/<folder-name>/<basename>`. The
|
|
145
|
+
* `basename` is a full filename (caller decides whether it carries `.md`), matching
|
|
146
|
+
* the existing `join('work', folder, '<file>')` call sites that pass either a
|
|
147
|
+
* `${slug}.md` or a pre-suffixed name.
|
|
148
|
+
*/
|
|
149
|
+
export function workItemRel(folder: WorkFolderKey, basename: string): string {
|
|
150
|
+
return `${WORK_ROOT}/${workFolderName(folder)}/${basename}`;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* The REPO-RELATIVE folder PREFIX (WITH trailing slash): `work/<folder-name>/`. The
|
|
155
|
+
* form a reader matches with `startsWith(...)` and tasks off to recover a filename
|
|
156
|
+
* (see {@link stripWorkFolderPrefix}). Replaces hand-written `'work/<folder>/'`
|
|
157
|
+
* literals and their `.length` prefix-tasks.
|
|
158
|
+
*/
|
|
159
|
+
export function workFolderPrefix(folder: WorkFolderKey): string {
|
|
160
|
+
return `${workFolderRel(folder)}/`;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Recover the filename portion of a repo-relative path that lives DIRECTLY under a
|
|
165
|
+
* work folder, by stripping its `work/<folder-name>/` prefix. Replaces the
|
|
166
|
+
* hand-written `path.slice('work/<folder>/'.length)` prefix-task. Returns
|
|
167
|
+
* `undefined` when `path` is not under that folder, so callers that already
|
|
168
|
+
* `startsWith`-guarded keep their exact behaviour (and callers that did not can
|
|
169
|
+
* branch on `undefined` instead of tasking a wrong length).
|
|
170
|
+
*/
|
|
171
|
+
export function stripWorkFolderPrefix(
|
|
172
|
+
path: string,
|
|
173
|
+
folder: WorkFolderKey,
|
|
174
|
+
): string | undefined {
|
|
175
|
+
const prefix = workFolderPrefix(folder);
|
|
176
|
+
return path.startsWith(prefix) ? path.slice(prefix.length) : undefined;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* The ITEM-SCAN predicate: does this directory entry NAME count as a `work/` item?
|
|
181
|
+
* Defined ONCE here so no reader re-implements the `.md` filter. Case-insensitive
|
|
182
|
+
* on the extension, matching every existing `name.toLowerCase().endsWith('.md')`
|
|
183
|
+
* call site verbatim.
|
|
184
|
+
*/
|
|
185
|
+
export function isWorkItemFile(name: string): boolean {
|
|
186
|
+
return name.toLowerCase().endsWith('.md');
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// --- Folder-name unions / arrays (one definition, derived from the registry) --
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* The TASK-RESOLUTION folders `resolveTask` (prompt.ts) walks, in precedence
|
|
193
|
+
* order: `in-progress` over `tasks-ready`, with `done` appended only behind the
|
|
194
|
+
* stranded-continue gate. Order is load-bearing — kept exactly as the original
|
|
195
|
+
* union/array. (`tasks-backlog` is NOT in this DEFAULT order: it is appended at
|
|
196
|
+
* the LOWEST priority ONLY behind the explicit `--allow-backlog` flag, prd
|
|
197
|
+
* `do-allow-backlog-drive-staged-tasks-without-promotion` — see
|
|
198
|
+
* {@link TaskResolutionFolder}.)
|
|
199
|
+
*/
|
|
200
|
+
export const TASK_RESOLUTION_FOLDERS = [
|
|
201
|
+
'in-progress',
|
|
202
|
+
'tasks-ready',
|
|
203
|
+
'done',
|
|
204
|
+
] as const satisfies readonly WorkFolderKey[];
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* One of the folders a task can be RESOLVED from (prompt.ts `TaskFolder`): the
|
|
208
|
+
* default {@link TASK_RESOLUTION_FOLDERS} PLUS `tasks-backlog`, which is reachable
|
|
209
|
+
* ONLY behind the explicit `--allow-backlog` flag (never on a default resolution).
|
|
210
|
+
* Kept off the default-order array on purpose so no autonomous path resolves
|
|
211
|
+
* staging.
|
|
212
|
+
*/
|
|
213
|
+
export type TaskResolutionFolder =
|
|
214
|
+
| (typeof TASK_RESOLUTION_FOLDERS)[number]
|
|
215
|
+
| 'tasks-backlog';
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* The task LIFECYCLE folders a `task:<slug>` / lone-task `issue:` can reside
|
|
219
|
+
* in (spec-complete.ts + close-job.ts `TASK_FOLDERS`): `tasks-ready`, `in-progress`,
|
|
220
|
+
* `needs-attention`, `done`.
|
|
221
|
+
*/
|
|
222
|
+
export const TASK_LIFECYCLE_FOLDERS = [
|
|
223
|
+
'tasks-ready',
|
|
224
|
+
'in-progress',
|
|
225
|
+
'needs-attention',
|
|
226
|
+
'done',
|
|
227
|
+
] as const satisfies readonly WorkFolderKey[];
|
|
228
|
+
|
|
229
|
+
/** One of the task lifecycle folders (spec-complete.ts / close-job.ts). */
|
|
230
|
+
export type TaskLifecycleFolder = (typeof TASK_LIFECYCLE_FOLDERS)[number];
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* The DURABLE task-status folders the ledger lint / integration core treat as the
|
|
234
|
+
* one-slug-one-folder state machine: `tasks-ready`, `done`, `cancelled`
|
|
235
|
+
* (ledger-lint.ts + integration-core.ts `LEDGER_STATUS_FOLDERS`). The transient
|
|
236
|
+
* `in-progress`/`needs-attention`/`tasking` are NOT here (they are lock-ref state).
|
|
237
|
+
* `cancelled` is the task regime's won't-proceed terminal (the per-regime split
|
|
238
|
+
* of the previous shared `dropped/`); the spec regime's terminal `specs-dropped`
|
|
239
|
+
* is NOT here (this set is the TASK board's state machine, keyed by `tasks/`-slug,
|
|
240
|
+
* and a spec never co-resides with a task on the tasks board).
|
|
241
|
+
*/
|
|
242
|
+
export const LEDGER_STATUS_FOLDERS = [
|
|
243
|
+
'tasks-ready',
|
|
244
|
+
'done',
|
|
245
|
+
'cancelled',
|
|
246
|
+
] as const satisfies readonly WorkFolderKey[];
|
|
247
|
+
|
|
248
|
+
/** One of the durable ledger status folders (ledger-lint.ts / integration-core.ts). */
|
|
249
|
+
export type LedgerStatusFolder = (typeof LEDGER_STATUS_FOLDERS)[number];
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* The SPEC-lifecycle folders an `issue:`-bearing spec / a tasked spec can reside
|
|
253
|
+
* in: `specs-ready` (source / pool), `specs-tasked` (tasked, resting) —
|
|
254
|
+
* close-job.ts `SPEC_FOLDERS`.
|
|
255
|
+
*/
|
|
256
|
+
export const SPEC_FOLDERS = [
|
|
257
|
+
'specs-ready',
|
|
258
|
+
'specs-tasked',
|
|
259
|
+
] as const satisfies readonly WorkFolderKey[];
|
|
260
|
+
|
|
261
|
+
/** One of the spec-lifecycle folders (close-job.ts / ledger-read.ts). */
|
|
262
|
+
export type SpecFolder = (typeof SPEC_FOLDERS)[number];
|