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,330 @@
|
|
|
1
|
+
import { type IntegrateResult, type ReviewProvider } from './integrator.js';
|
|
2
|
+
import type { IntegrationMode } from './config.js';
|
|
3
|
+
import { type RouteToNeedsAttentionOptions, type RouteToNeedsAttentionResult, type ReturnToBacklogOptions, type ReturnToBacklogResult, type SurfaceToNeedsAttentionOptions, type SurfaceToNeedsAttentionResult } from './needs-attention.js';
|
|
4
|
+
/**
|
|
5
|
+
* The **write half** of the ledger-transition seam (ADR
|
|
6
|
+
* `docs/adr/claim-ledger-vs-protected-main.md`, status: accepted — the "Write
|
|
7
|
+
* seam"). ONE entry point — "apply this `work/` transition" — that every
|
|
8
|
+
* transition (claim / complete / needs-attention) routes through, so a FUTURE
|
|
9
|
+
* strategy could publish a transition elsewhere (e.g. a dedicated `main`-free
|
|
10
|
+
* ledger ref) without the transition call sites learning a new mechanism.
|
|
11
|
+
*
|
|
12
|
+
* It is a PURE REFACTOR: there is exactly ONE strategy ({@link
|
|
13
|
+
* currentLedgerWrite}) and it does EXACTLY what the code did before — it
|
|
14
|
+
* CAS-publishes the prepared transition commit to the arbiter's `main` with
|
|
15
|
+
* `--force-with-lease` and then verifies `<arbiter>/main` is now that commit. No
|
|
16
|
+
* mode, no config, no `ledgerMode`, no new ref.
|
|
17
|
+
*
|
|
18
|
+
* The seam stays at the SEMANTIC level: the caller hands the seam a *prepared*
|
|
19
|
+
* transition (a local branch carrying the commit, the base the ledger must still
|
|
20
|
+
* be at for the CAS, and the commit it expects to land) plus the transition
|
|
21
|
+
* KIND, and asks the seam to publish it. The public input is storage-agnostic —
|
|
22
|
+
* it does NOT name `main`; that `main` is the publish/verify target is an
|
|
23
|
+
* implementation detail of the sole strategy below.
|
|
24
|
+
*
|
|
25
|
+
* This task routes the CLAIM transition through the seam (see `claim-cas.ts`).
|
|
26
|
+
* The `complete` and `needs-attention` kinds are named here so the companion
|
|
27
|
+
* tasks route through the SAME entry point; they are not yet wired.
|
|
28
|
+
*
|
|
29
|
+
* The NEEDS-ATTENTION transition is wired here too: the abort paths in
|
|
30
|
+
* `complete.ts` (red gate, rebase conflict), the runner's stuck routing in
|
|
31
|
+
* `run.ts`, and the human `return` command all drive the
|
|
32
|
+
* `* → needs-attention` move (and its `needs-attention → backlog` re-queue)
|
|
33
|
+
* through this SAME seam rather than calling the move helpers directly. The
|
|
34
|
+
* sole strategy delegates to the folder-native mechanism in
|
|
35
|
+
* `needs-attention.ts` UNCHANGED (reason-in-the-body — WORK-CONTRACT rule 3,
|
|
36
|
+
* bounce from in-progress OR done, ONE atomic commit, optional branch push); the
|
|
37
|
+
* seam only relocates WHERE the "apply the needs-attention transition" call is
|
|
38
|
+
* expressed, so the later cherry-pick-to-`main` surfacing is built AGAINST the
|
|
39
|
+
* seam, not bolted onto the move code.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* The `work/` lifecycle transitions the write seam can apply.
|
|
43
|
+
*
|
|
44
|
+
* `tasking` is the legacy tasking-lock MARKER transition. It is now VESTIGIAL: the
|
|
45
|
+
* capstone cut-over (task
|
|
46
|
+
* `cutover-retire-slicing-advancing-markers-and-trim-folder-sets`) retired the
|
|
47
|
+
* `git mv work/prd/<slug>.md → work/tasking/<slug>.md` marker (the historical
|
|
48
|
+
* marker paths), so the tasking lock
|
|
49
|
+
* is the unified per-item lock ref (`tasking-lock.ts`) and no longer routes through
|
|
50
|
+
* {@link applyTransition} with this kind. The member is kept so the strategy
|
|
51
|
+
* interface and any historical reference stay valid; nothing publishes it.
|
|
52
|
+
*
|
|
53
|
+
* `advancing` is the kind {@link createItemThroughCas} (`advancing-lock.ts`) uses
|
|
54
|
+
* to publish a NEW `work/` item (the triage observation→promote path) through the
|
|
55
|
+
* SAME CAS the `claim` transition uses, keyed on the new item's identity (its
|
|
56
|
+
* path). The advancing-lock BORROW itself no longer rides this kind: the
|
|
57
|
+
* `work/advancing/<entry>.md` presence-marker is retired (the borrow is the unified
|
|
58
|
+
* `action: advance` lock ref now). So `advancing` survives only as the create-item
|
|
59
|
+
* CAS kind.
|
|
60
|
+
*/
|
|
61
|
+
export type LedgerTransitionKind = 'claim' | 'complete' | 'needs-attention' | 'requeue' | 'tasking' | 'advancing'
|
|
62
|
+
/**
|
|
63
|
+
* The **promote** transition (prd `staging-pool-position-gate-and-trust-model`,
|
|
64
|
+
* task `pre-backlog-staging-folder-and-promote-step-a`): move a STAGED task
|
|
65
|
+
* `work/pre-backlog/<slug>.md → work/backlog/<slug>.md` to enter the
|
|
66
|
+
* agent-eligible pool. A durable `main` move, the same category as `requeue`
|
|
67
|
+
* (tree-less CAS via {@link applyTransition}). RUNNER/human-owned — no
|
|
68
|
+
* agent-facing path performs it (governing ADR
|
|
69
|
+
* `placement-is-runner-deterministic-humanonly-is-agent-judgement`).
|
|
70
|
+
*/
|
|
71
|
+
| 'promote';
|
|
72
|
+
/**
|
|
73
|
+
* A *prepared* COMPLETE transition the caller asks the seam to publish: a
|
|
74
|
+
* finished work branch whose code should be integrated back to the arbiter. Like
|
|
75
|
+
* {@link ApplyTransitionInput} it is storage-agnostic — it names the work branch
|
|
76
|
+
* + the integration MODE + the review provider, NOT *where* the integration
|
|
77
|
+
* lands (the sole strategy decides that; today `merge` ff's to the arbiter's
|
|
78
|
+
* `main`, `propose` pushes the branch + requests review). The caller has already
|
|
79
|
+
* done the gate / done-move / commit / rebase-onto-arbiter — the seam only
|
|
80
|
+
* APPLIES the integration of that prepared branch.
|
|
81
|
+
*/
|
|
82
|
+
export interface ApplyCompleteTransitionInput {
|
|
83
|
+
/** Name of the arbiter git remote the integration is published to. */
|
|
84
|
+
arbiter: string;
|
|
85
|
+
/** The prepared (gated, committed, rebased) work branch to integrate. */
|
|
86
|
+
branch: string;
|
|
87
|
+
/** Integration mode: `merge` (ff to the ledger) or `propose` (push + review). */
|
|
88
|
+
mode: IntegrationMode;
|
|
89
|
+
/** The review-request provider (propose mode); push-only `none` otherwise. */
|
|
90
|
+
provider: ReviewProvider;
|
|
91
|
+
/**
|
|
92
|
+
* **The PR-INTENT axis** (config `noPR`, ADR §6): when `true` on the propose
|
|
93
|
+
* path, push the branch but SKIP the review request (the explicit suppress-PR
|
|
94
|
+
* intent). Threaded to {@link Integrator.integrate}. Ignored in `merge` mode.
|
|
95
|
+
*/
|
|
96
|
+
noPR?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Optional single-line review-request TITLE (propose mode), threaded straight
|
|
99
|
+
* to the provider. Absent ⇒ the provider's `--fill` default (no regression).
|
|
100
|
+
*/
|
|
101
|
+
title?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Optional review-request BODY (propose mode) — advisory prose, gates nothing —
|
|
104
|
+
* threaded straight to the provider. Absent ⇒ the provider's `--fill` default.
|
|
105
|
+
*/
|
|
106
|
+
body?: string;
|
|
107
|
+
/**
|
|
108
|
+
* **Reap the remote head branch inline after a merge lands** (the merged-branch
|
|
109
|
+
* hygiene task's part (b)). When `true` on the `merge` path, delete the remote
|
|
110
|
+
* `work/<slug>` head AFTER the work landed on `main` (provably merged, so
|
|
111
|
+
* ancestor-safe; idempotent no-op when no remote head exists). Threaded straight
|
|
112
|
+
* to {@link Integrator.integrate}. Ignored in `propose` mode (the branch is the
|
|
113
|
+
* review surface, reaped later by `gc --remote-branches`).
|
|
114
|
+
*/
|
|
115
|
+
deleteMergedHead?: boolean;
|
|
116
|
+
/** Working clone/worktree the integration runs in. */
|
|
117
|
+
cwd: string;
|
|
118
|
+
/** Environment for child git processes. */
|
|
119
|
+
env?: NodeJS.ProcessEnv;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The outcome of asking the seam to apply (publish) a prepared COMPLETE
|
|
123
|
+
* transition. It is exactly the integration result the {@link Integrator}
|
|
124
|
+
* produces — the seam adds NO interpretation, it only relocates WHERE the
|
|
125
|
+
* "apply the complete transition" call is expressed.
|
|
126
|
+
*/
|
|
127
|
+
export type ApplyCompleteTransitionResult = IntegrateResult;
|
|
128
|
+
/**
|
|
129
|
+
* A *prepared* NEEDS-ATTENTION transition the caller asks the seam to apply: a
|
|
130
|
+
* stuck claimed item to bounce to `work/needs-attention/` with its reason. Like
|
|
131
|
+
* the other inputs it is storage-agnostic — it names the slug, the reason prose,
|
|
132
|
+
* any surfaced questions, and an OPTIONAL arbiter to also push the branch to,
|
|
133
|
+
* NOT *where* the move commits/publishes (the sole strategy decides that: a
|
|
134
|
+
* `git mv` from whichever of in-progress/ or done/ holds the item, the
|
|
135
|
+
* reason-in-the-body, the ONE atomic commit, the optional branch push). This
|
|
136
|
+
* mirrors {@link RouteToNeedsAttentionOptions} so the move mechanism is unchanged.
|
|
137
|
+
*/
|
|
138
|
+
export type ApplyNeedsAttentionTransitionInput = RouteToNeedsAttentionOptions;
|
|
139
|
+
/**
|
|
140
|
+
* The outcome of asking the seam to apply a NEEDS-ATTENTION transition — the
|
|
141
|
+
* move result the folder-native mechanism produces. The RECOVERABLE branch push
|
|
142
|
+
* outcome rides on `branchPush` (the caller reads it rather than assuming
|
|
143
|
+
* "pushed" off the local move). The OBSERVABLE half is now the per-item lock
|
|
144
|
+
* `state: stuck` amend (prd `ledger-status-per-item-lock-refs`); there is no
|
|
145
|
+
* separate on-`main` surface outcome to report.
|
|
146
|
+
*/
|
|
147
|
+
export type ApplyNeedsAttentionTransitionResult = RouteToNeedsAttentionResult;
|
|
148
|
+
/**
|
|
149
|
+
* A *prepared* RETURN-TO-BACKLOG transition: re-queue a STUCK item so it can be
|
|
150
|
+
* re-claimed — recovered from EITHER `needs-attention/` (the resolved-surface
|
|
151
|
+
* path) OR `in-progress/` (a claim that never surfaced), the slug's actual
|
|
152
|
+
* current folder resolved on the arbiter and moved to `backlog/`.
|
|
153
|
+
* Storage-agnostic, mirroring {@link ReturnToBacklogOptions}.
|
|
154
|
+
*/
|
|
155
|
+
export type ApplyReturnToBacklogTransitionInput = ReturnToBacklogOptions;
|
|
156
|
+
/**
|
|
157
|
+
* The outcome of asking the seam to apply a RETURN-TO-BACKLOG transition. It is
|
|
158
|
+
* a Promise: like `claim`, the tree-less strategy fetches + CAS-pushes to the
|
|
159
|
+
* arbiter (async).
|
|
160
|
+
*/
|
|
161
|
+
export type ApplyReturnToBacklogTransitionResult = Promise<ReturnToBacklogResult>;
|
|
162
|
+
/**
|
|
163
|
+
* A *prepared* TREE-LESS NEEDS-ATTENTION (surface) transition: surface a stuck
|
|
164
|
+
* AFTER-COMMIT, LEDGER-ONLY item (`in-progress/ → needs-attention/`, with the
|
|
165
|
+
* reason in the body) WITHOUT a checkout — the SURFACE-direction sibling of the
|
|
166
|
+
* tree-less requeue, sharing its exact mechanism. The work is ALREADY committed
|
|
167
|
+
* on the kept `work/<slug>` branch (intact on the arbiter, recoverable), so the
|
|
168
|
+
* surface is purely the one-file `.md` move + reason — no `pushBranch`, no
|
|
169
|
+
* worktree. Storage-agnostic, mirroring {@link SurfaceToNeedsAttentionOptions}.
|
|
170
|
+
* NOT for the wip-save / gate-failed / agent-failed surfaces (which may carry
|
|
171
|
+
* uncommitted work — those keep {@link applyNeedsAttentionTransition}, the
|
|
172
|
+
* cwd-bound path that can commit wip first).
|
|
173
|
+
*/
|
|
174
|
+
export type ApplyTreelessNeedsAttentionTransitionInput = SurfaceToNeedsAttentionOptions;
|
|
175
|
+
/**
|
|
176
|
+
* The outcome of asking the seam to apply a TREE-LESS NEEDS-ATTENTION (surface)
|
|
177
|
+
* transition. A Promise: like `requeue`/`claim`, the tree-less strategy fetches +
|
|
178
|
+
* CAS-pushes to the arbiter (async).
|
|
179
|
+
*/
|
|
180
|
+
export type ApplyTreelessNeedsAttentionTransitionResult = Promise<SurfaceToNeedsAttentionResult>;
|
|
181
|
+
/**
|
|
182
|
+
* A *prepared* RESOLVE-NEEDS-ATTENTION transition: a human is picking up a stuck
|
|
183
|
+
* item, so the seam must **clear the stuck state** and restore it to `active`.
|
|
184
|
+
* Storage-agnostic — it names the slug + the working clone (and an OPTIONAL
|
|
185
|
+
* arbiter to amend the lock on), NOT *where* the stuck state lives. The sole
|
|
186
|
+
* strategy clears it by amending the per-item lock `stuck → active` on the
|
|
187
|
+
* arbiter (task `cutover-needs-attention-becomes-lock-stuck-recovery-surface`).
|
|
188
|
+
*/
|
|
189
|
+
export interface ApplyResolveNeedsAttentionTransitionInput {
|
|
190
|
+
/** The working clone the `work/` tree lives in. */
|
|
191
|
+
cwd: string;
|
|
192
|
+
/** The slug of the stuck item to resolve back to active. */
|
|
193
|
+
slug: string;
|
|
194
|
+
/**
|
|
195
|
+
* The arbiter remote whose lock ref to amend (`stuck → active`). Omitted ⇒ a
|
|
196
|
+
* recorded no-op success (no lock ref to amend; the human-local face).
|
|
197
|
+
* Storage-agnostic: it names the remote, not `main`.
|
|
198
|
+
*/
|
|
199
|
+
arbiter?: string;
|
|
200
|
+
/** Environment for child git processes. */
|
|
201
|
+
env?: NodeJS.ProcessEnv;
|
|
202
|
+
/** Sink for human-readable progress notes. */
|
|
203
|
+
note?: (message: string) => void;
|
|
204
|
+
}
|
|
205
|
+
/** The outcome of asking the seam to apply a RESOLVE-NEEDS-ATTENTION transition. */
|
|
206
|
+
export interface ApplyResolveNeedsAttentionTransitionResult {
|
|
207
|
+
/** True iff the lock was amended back to active (or the no-arbiter no-op). */
|
|
208
|
+
moved: boolean;
|
|
209
|
+
/** When NOT moved, why (no held stuck lock, contention, …). */
|
|
210
|
+
reasonNotMoved?: string;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* A *prepared* transition the caller asks the seam to publish. Storage-agnostic:
|
|
214
|
+
* it describes the transition semantically (a kind + a prepared local commit +
|
|
215
|
+
* the CAS lease), NOT *where* it should be published. The sole strategy decides
|
|
216
|
+
* that (today: the arbiter's `main`).
|
|
217
|
+
*/
|
|
218
|
+
export interface ApplyTransitionInput {
|
|
219
|
+
/** Which `work/` transition this is (claim / complete / needs-attention). */
|
|
220
|
+
kind: LedgerTransitionKind;
|
|
221
|
+
/** Name of the arbiter git remote the transition is published to. */
|
|
222
|
+
arbiter: string;
|
|
223
|
+
/** Local branch carrying the prepared transition commit (its tip = {@link head}). */
|
|
224
|
+
localBranch: string;
|
|
225
|
+
/**
|
|
226
|
+
* The ledger commit the publish must be a fast-forward FROM — the
|
|
227
|
+
* compare-and-swap lease. If the ledger has moved past this, the publish is
|
|
228
|
+
* rejected (someone else advanced it under us).
|
|
229
|
+
*/
|
|
230
|
+
expectedBase: string;
|
|
231
|
+
/** The commit sha the caller expects to become the ledger tip after publish. */
|
|
232
|
+
head: string;
|
|
233
|
+
/** Working clone/worktree the publish runs in. */
|
|
234
|
+
cwd: string;
|
|
235
|
+
/** Show the intended publish without mutating the arbiter (dry-run). */
|
|
236
|
+
dryRun?: boolean;
|
|
237
|
+
/** Environment for child git processes. */
|
|
238
|
+
env?: NodeJS.ProcessEnv;
|
|
239
|
+
/** Sink for human-readable progress notes. */
|
|
240
|
+
note?: (message: string) => void;
|
|
241
|
+
}
|
|
242
|
+
/** The outcome of asking the seam to publish a prepared transition. */
|
|
243
|
+
export interface ApplyTransitionResult {
|
|
244
|
+
/**
|
|
245
|
+
* `published` — the transition landed (and was verified to be the ledger tip).
|
|
246
|
+
* `rejected` — the CAS lease failed (the ledger moved under us); the caller
|
|
247
|
+
* decides whether to refetch+retry or give up. The seam never throws for this
|
|
248
|
+
* expected contended case.
|
|
249
|
+
*/
|
|
250
|
+
kind: 'published' | 'rejected';
|
|
251
|
+
/** Human-readable summary of the terminal condition. */
|
|
252
|
+
message: string;
|
|
253
|
+
/**
|
|
254
|
+
* The sha that ACTUALLY landed on the ledger when `published`. The seam stamps
|
|
255
|
+
* each attempt's tip with a fresh `CAS-Nonce` trailer (so the pushed sha is
|
|
256
|
+
* unique), so the landed commit is NOT the caller's pre-nonce `head` — it is
|
|
257
|
+
* this nonce'd descendant-in-content. Callers that branch/track/report off the
|
|
258
|
+
* landed commit (e.g. `claim`'s work-branch hint) MUST use this, not their
|
|
259
|
+
* input `head`. Absent on `rejected` and on `dryRun`.
|
|
260
|
+
*/
|
|
261
|
+
publishedHead?: string;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* The write-seam interface: ONE entry point — apply (publish) a prepared `work/`
|
|
265
|
+
* transition. A future strategy implements this same interface to publish the
|
|
266
|
+
* transition elsewhere — without any transition call site changing.
|
|
267
|
+
*/
|
|
268
|
+
export interface LedgerWriteStrategy {
|
|
269
|
+
applyTransition(input: ApplyTransitionInput): Promise<ApplyTransitionResult>;
|
|
270
|
+
/**
|
|
271
|
+
* Apply (publish) a prepared COMPLETE transition: integrate a finished work
|
|
272
|
+
* branch back to the arbiter per its mode. The sole strategy delegates to the
|
|
273
|
+
* integration mechanism unchanged; a future strategy could integrate elsewhere
|
|
274
|
+
* without `complete.ts` changing.
|
|
275
|
+
*/
|
|
276
|
+
applyCompleteTransition(input: ApplyCompleteTransitionInput): Promise<ApplyCompleteTransitionResult>;
|
|
277
|
+
/**
|
|
278
|
+
* Apply a NEEDS-ATTENTION transition: bounce a stuck claimed item to
|
|
279
|
+
* `work/needs-attention/` with its reason recorded in the body. The sole
|
|
280
|
+
* strategy delegates to the folder-native move mechanism unchanged; a future
|
|
281
|
+
* strategy could surface the stuck item elsewhere (e.g. the cherry-pick-to-
|
|
282
|
+
* `main` follow-on) without `complete.ts`/`run.ts` changing.
|
|
283
|
+
*/
|
|
284
|
+
applyNeedsAttentionTransition(input: ApplyNeedsAttentionTransitionInput): Promise<ApplyNeedsAttentionTransitionResult>;
|
|
285
|
+
/**
|
|
286
|
+
* Apply a TREE-LESS NEEDS-ATTENTION (surface) transition: surface a stuck
|
|
287
|
+
* AFTER-COMMIT, LEDGER-ONLY item (`in-progress/ → needs-attention/`) WITHOUT a
|
|
288
|
+
* checkout, reusing the SAME tree-less mechanism `requeue` uses for the reverse
|
|
289
|
+
* direction. The sole strategy delegates to the tree-less surface (now a pure lock amend)
|
|
290
|
+
* (fetch + scratch-index move + throwaway-ref + leased fast-forward push). NOT
|
|
291
|
+
* for the uncommitted-wip surfaces, which keep {@link
|
|
292
|
+
* applyNeedsAttentionTransition} (the cwd-bound path that can commit wip first).
|
|
293
|
+
*/
|
|
294
|
+
applyTreelessNeedsAttentionTransition(input: ApplyTreelessNeedsAttentionTransitionInput): ApplyTreelessNeedsAttentionTransitionResult;
|
|
295
|
+
/**
|
|
296
|
+
* Apply a RETURN-TO-BACKLOG transition: re-queue a STUCK item (in
|
|
297
|
+
* `needs-attention/` OR `in-progress/` — resolved on the arbiter) for
|
|
298
|
+
* re-claiming, routed through the SAME seam. Like `claim`, it is TREE-LESS —
|
|
299
|
+
* the move is a compare-and-swap push to the arbiter ref (it never writes the
|
|
300
|
+
* cwd tree).
|
|
301
|
+
*/
|
|
302
|
+
applyReturnToBacklogTransition(input: ApplyReturnToBacklogTransitionInput): ApplyReturnToBacklogTransitionResult;
|
|
303
|
+
/**
|
|
304
|
+
* Apply a RESOLVE-NEEDS-ATTENTION transition: a human is picking up a stuck
|
|
305
|
+
* item, so **clear the stuck surface** and restore it to `in-progress`. The
|
|
306
|
+
* seam carries only that INTENT — "clear the surface" — NOT *how*; the sole
|
|
307
|
+
* (mode-M) strategy clears it by reverse-moving needs-attention → in-progress
|
|
308
|
+
* on the arbiter's `main`, but a future strategy could clear it differently
|
|
309
|
+
* without `start.ts` changing.
|
|
310
|
+
*/
|
|
311
|
+
applyResolveNeedsAttentionTransition(input: ApplyResolveNeedsAttentionTransitionInput): Promise<ApplyResolveNeedsAttentionTransitionResult>;
|
|
312
|
+
}
|
|
313
|
+
/** The git trailer key the per-attempt CAS nonce rides in (greppable, round-trips). */
|
|
314
|
+
export declare const CAS_NONCE_TRAILER = "CAS-Nonce";
|
|
315
|
+
/**
|
|
316
|
+
* The ONLY ledger-write strategy: current behaviour. It CAS-publishes the
|
|
317
|
+
* prepared transition commit to the arbiter's `main` — the `main` push and the
|
|
318
|
+
* `--force-with-lease=main:<base>` lease live HERE, not in the public input — and
|
|
319
|
+
* verifies the arbiter's `main` is now that commit (guarding against an
|
|
320
|
+
* "Everything up-to-date" push masquerading as a successful transition). A future
|
|
321
|
+
* strategy would be a different object implementing the same interface — chosen
|
|
322
|
+
* NOWHERE today (no mode/config selects it).
|
|
323
|
+
*/
|
|
324
|
+
export declare const currentLedgerWrite: LedgerWriteStrategy;
|
|
325
|
+
/**
|
|
326
|
+
* The active ledger-write strategy. There is exactly one (current behaviour);
|
|
327
|
+
* this indirection is the seam's single insertion point — NOT a selectable mode.
|
|
328
|
+
*/
|
|
329
|
+
export declare const ledgerWrite: LedgerWriteStrategy;
|
|
330
|
+
//# sourceMappingURL=ledger-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ledger-write.d.ts","sourceRoot":"","sources":["../src/ledger-write.ts"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAGN,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAElC,MAAM,sBAAsB,CAAC;AAO9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,WAAW;AACb;;;;;;;;GAQG;GACD,SAAS,CAAC;AAEb;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA4B;IAC5C,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,IAAI,EAAE,eAAe,CAAC;IACtB,8EAA8E;IAC9E,QAAQ,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,eAAe,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,MAAM,kCAAkC,GAAG,4BAA4B,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,MAAM,mCAAmC,GAAG,2BAA2B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG,sBAAsB,CAAC;AAEzE;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,GAC/C,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,0CAA0C,GACrD,8BAA8B,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,2CAA2C,GACtD,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,WAAW,yCAAyC;IACzD,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,oFAAoF;AACpF,MAAM,WAAW,0CAA0C;IAC1D,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,6EAA6E;IAC7E,IAAI,EAAE,oBAAoB,CAAC;IAC3B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACrC;;;;;OAKG;IACH,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7E;;;;;OAKG;IACH,uBAAuB,CACtB,KAAK,EAAE,4BAA4B,GACjC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C;;;;;;OAMG;IACH,6BAA6B,CAC5B,KAAK,EAAE,kCAAkC,GACvC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD;;;;;;;;OAQG;IACH,qCAAqC,CACpC,KAAK,EAAE,0CAA0C,GAC/C,2CAA2C,CAAC;IAC/C;;;;;;OAMG;IACH,8BAA8B,CAC7B,KAAK,EAAE,mCAAmC,GACxC,oCAAoC,CAAC;IACxC;;;;;;;OAOG;IACH,oCAAoC,CACnC,KAAK,EAAE,yCAAyC,GAC9C,OAAO,CAAC,0CAA0C,CAAC,CAAC;CACvD;AA4BD,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAgG7C;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBA6QhC,CAAC;AA2FF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,mBAAwC,CAAC"}
|