dorfl 0.1.1 → 0.2.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 +3 -3
- package/dist/advance-ci-template.js +1 -1
- package/dist/advance-ci-template.js.map +1 -1
- package/dist/advance-classify.d.ts +5 -5
- package/dist/advance-classify.d.ts.map +1 -1
- package/dist/advance-classify.js +4 -4
- package/dist/advance-drivers.d.ts +8 -8
- package/dist/advance-drivers.d.ts.map +1 -1
- package/dist/advance-drivers.js +20 -8
- package/dist/advance-drivers.js.map +1 -1
- package/dist/advance-isolated.d.ts +3 -3
- package/dist/advance-isolated.d.ts.map +1 -1
- package/dist/advance-isolated.js +1 -1
- package/dist/advance-lifecycle-template.d.ts +2 -2
- package/dist/advance-lifecycle-template.d.ts.map +1 -1
- package/dist/advance-lifecycle-template.js +85 -13
- package/dist/advance-lifecycle-template.js.map +1 -1
- package/dist/advance-loop-driver.d.ts +3 -3
- package/dist/advance-loop-driver.d.ts.map +1 -1
- package/dist/advance-loop-driver.js +1 -1
- package/dist/advance-treeless-publish.d.ts +24 -1
- package/dist/advance-treeless-publish.d.ts.map +1 -1
- package/dist/advance-treeless-publish.js +41 -0
- package/dist/advance-treeless-publish.js.map +1 -1
- package/dist/advance.d.ts +69 -17
- package/dist/advance.d.ts.map +1 -1
- package/dist/advance.js +409 -102
- package/dist/advance.js.map +1 -1
- package/dist/advancing-lock.d.ts +31 -3
- package/dist/advancing-lock.d.ts.map +1 -1
- package/dist/advancing-lock.js +55 -5
- package/dist/advancing-lock.js.map +1 -1
- package/dist/agent-launch.d.ts +12 -0
- package/dist/agent-launch.d.ts.map +1 -1
- package/dist/agent-launch.js +22 -12
- package/dist/agent-launch.js.map +1 -1
- package/dist/agent-stop.d.ts +40 -2
- package/dist/agent-stop.d.ts.map +1 -1
- package/dist/agent-stop.js +30 -2
- package/dist/agent-stop.js.map +1 -1
- package/dist/apply-decide.d.ts +19 -5
- package/dist/apply-decide.d.ts.map +1 -1
- package/dist/apply-decide.js +38 -9
- package/dist/apply-decide.js.map +1 -1
- package/dist/apply-merge-action.d.ts +20 -8
- package/dist/apply-merge-action.d.ts.map +1 -1
- package/dist/apply-merge-action.js +44 -9
- package/dist/apply-merge-action.js.map +1 -1
- package/dist/apply-persist.d.ts +62 -31
- package/dist/apply-persist.d.ts.map +1 -1
- package/dist/apply-persist.js +173 -44
- package/dist/apply-persist.js.map +1 -1
- package/dist/apply-stuck-action.d.ts +151 -0
- package/dist/apply-stuck-action.d.ts.map +1 -0
- package/dist/apply-stuck-action.js +125 -0
- package/dist/apply-stuck-action.js.map +1 -0
- package/dist/brand.d.ts +12 -1
- package/dist/brand.d.ts.map +1 -1
- package/dist/brand.js +2 -1
- package/dist/brand.js.map +1 -1
- package/dist/buildable-body.d.ts +14 -14
- package/dist/buildable-body.js +9 -9
- package/dist/claim-cas.d.ts +3 -3
- package/dist/claim-cas.js +1 -1
- package/dist/claim-cas.js.map +1 -1
- package/dist/cli-spinner.d.ts +1 -1
- package/dist/cli-spinner.js +1 -1
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +385 -128
- package/dist/cli.js.map +1 -1
- package/dist/close-job-template.d.ts +3 -3
- package/dist/close-job-template.js +9 -9
- package/dist/close-job.d.ts +8 -8
- package/dist/close-job.js +25 -25
- package/dist/close-job.js.map +1 -1
- package/dist/complete.d.ts +9 -6
- package/dist/complete.d.ts.map +1 -1
- package/dist/complete.js +99 -45
- package/dist/complete.js.map +1 -1
- package/dist/concurrency.d.ts +1 -1
- package/dist/concurrency.js +1 -1
- package/dist/config.d.ts +86 -40
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +61 -9
- package/dist/config.js.map +1 -1
- package/dist/continue-branch.d.ts +1 -1
- package/dist/continue-branch.d.ts.map +1 -1
- package/dist/continue-branch.js +23 -1
- package/dist/continue-branch.js.map +1 -1
- package/dist/cwd-section.js +1 -1
- package/dist/cwd-section.js.map +1 -1
- package/dist/decision-engine.d.ts +39 -11
- package/dist/decision-engine.d.ts.map +1 -1
- package/dist/decision-engine.js +10 -6
- package/dist/decision-engine.js.map +1 -1
- package/dist/do-autopick.d.ts +6 -6
- package/dist/do-autopick.d.ts.map +1 -1
- package/dist/do-autopick.js +16 -6
- package/dist/do-autopick.js.map +1 -1
- package/dist/do-config.d.ts +4 -4
- package/dist/do-config.js +3 -3
- package/dist/do-config.js.map +1 -1
- package/dist/do-remote-auto.d.ts +2 -2
- package/dist/do-remote-auto.js +1 -1
- package/dist/do.d.ts +74 -81
- package/dist/do.d.ts.map +1 -1
- package/dist/do.js +439 -50
- package/dist/do.js.map +1 -1
- package/dist/drop-source.d.ts +2 -2
- package/dist/env-config.d.ts.map +1 -1
- package/dist/env-config.js +19 -11
- package/dist/env-config.js.map +1 -1
- package/dist/failure-cause.d.ts +3 -2
- package/dist/failure-cause.d.ts.map +1 -1
- package/dist/failure-cause.js +28 -1
- package/dist/failure-cause.js.map +1 -1
- package/dist/format.d.ts +6 -6
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +13 -30
- package/dist/format.js.map +1 -1
- package/dist/frontmatter.d.ts +28 -15
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +38 -24
- package/dist/frontmatter.js.map +1 -1
- package/dist/gc.d.ts +65 -6
- package/dist/gc.d.ts.map +1 -1
- package/dist/gc.js +126 -9
- package/dist/gc.js.map +1 -1
- package/dist/github.d.ts +14 -0
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +73 -0
- package/dist/github.js.map +1 -1
- package/dist/harness.d.ts +25 -0
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/install-ci-branch-protection.d.ts +133 -39
- package/dist/install-ci-branch-protection.d.ts.map +1 -1
- package/dist/install-ci-branch-protection.js +191 -49
- package/dist/install-ci-branch-protection.js.map +1 -1
- package/dist/install-ci-capabilities/advance-lifecycle.d.ts +1 -1
- package/dist/install-ci-capabilities/advance-lifecycle.js +1 -1
- package/dist/install-ci-capabilities/close-job.d.ts +1 -1
- package/dist/install-ci-capabilities/close-job.js +1 -1
- package/dist/install-ci-capabilities/example-noop.d.ts +1 -1
- package/dist/install-ci-capabilities/example-noop.js +1 -1
- package/dist/install-ci-capabilities/intake.d.ts +2 -2
- package/dist/install-ci-capabilities/intake.js +2 -2
- package/dist/install-ci-capabilities/verify.d.ts +1 -1
- package/dist/install-ci-capabilities/verify.js +1 -1
- package/dist/install-ci-core.d.ts +24 -4
- package/dist/install-ci-core.d.ts.map +1 -1
- package/dist/install-ci-core.js +12 -5
- package/dist/install-ci-core.js.map +1 -1
- package/dist/install-ci-github.d.ts +33 -1
- package/dist/install-ci-github.d.ts.map +1 -1
- package/dist/install-ci-github.js +74 -1
- package/dist/install-ci-github.js.map +1 -1
- package/dist/install-ci.d.ts +1 -1
- package/dist/install-ci.js +4 -4
- package/dist/install-ci.js.map +1 -1
- package/dist/install-skills.d.ts +123 -0
- package/dist/install-skills.d.ts.map +1 -0
- package/dist/install-skills.js +100 -0
- package/dist/install-skills.js.map +1 -0
- package/dist/intake-event.d.ts +6 -6
- package/dist/intake-event.js +6 -6
- package/dist/intake-marker.d.ts +3 -3
- package/dist/intake-marker.d.ts.map +1 -1
- package/dist/intake-triage.d.ts +1 -1
- package/dist/intake-triage.js +2 -2
- package/dist/intake-trigger-template.d.ts +8 -8
- package/dist/intake-trigger-template.d.ts.map +1 -1
- package/dist/intake-trigger-template.js +17 -17
- package/dist/intake-trigger-template.js.map +1 -1
- package/dist/intake.d.ts +65 -52
- package/dist/intake.d.ts.map +1 -1
- package/dist/intake.js +92 -76
- package/dist/intake.js.map +1 -1
- package/dist/integration-core.d.ts +27 -24
- package/dist/integration-core.d.ts.map +1 -1
- package/dist/integration-core.js +191 -77
- package/dist/integration-core.js.map +1 -1
- package/dist/integrator.d.ts +1 -1
- package/dist/integrator.d.ts.map +1 -1
- package/dist/integrator.js +19 -3
- package/dist/integrator.js.map +1 -1
- package/dist/isolation.d.ts +4 -4
- package/dist/isolation.d.ts.map +1 -1
- package/dist/isolation.js +9 -0
- package/dist/isolation.js.map +1 -1
- package/dist/issue-provider.d.ts +4 -4
- package/dist/issue-provider.js +1 -1
- package/dist/item-lock.d.ts +216 -149
- package/dist/item-lock.d.ts.map +1 -1
- package/dist/item-lock.js +345 -270
- package/dist/item-lock.js.map +1 -1
- package/dist/item-path.d.ts +2 -2
- package/dist/item-path.js +2 -2
- package/dist/ledger-lint.d.ts +9 -9
- package/dist/ledger-lint.js +9 -9
- package/dist/ledger-read.d.ts +57 -57
- package/dist/ledger-read.d.ts.map +1 -1
- package/dist/ledger-read.js +24 -24
- package/dist/ledger-read.js.map +1 -1
- package/dist/ledger-write.d.ts +33 -28
- package/dist/ledger-write.d.ts.map +1 -1
- package/dist/ledger-write.js +100 -122
- package/dist/ledger-write.js.map +1 -1
- package/dist/lifecycle-gather.d.ts +18 -1
- package/dist/lifecycle-gather.d.ts.map +1 -1
- package/dist/lifecycle-gather.js +23 -17
- package/dist/lifecycle-gather.js.map +1 -1
- package/dist/lifecycle-pools.d.ts +44 -7
- package/dist/lifecycle-pools.d.ts.map +1 -1
- package/dist/lifecycle-pools.js +27 -7
- package/dist/lifecycle-pools.js.map +1 -1
- package/dist/merge-question-surfacer.d.ts +18 -4
- package/dist/merge-question-surfacer.d.ts.map +1 -1
- package/dist/merge-question-surfacer.js +20 -5
- package/dist/merge-question-surfacer.js.map +1 -1
- package/dist/migrate-stuck-locks.d.ts +129 -0
- package/dist/migrate-stuck-locks.d.ts.map +1 -0
- package/dist/migrate-stuck-locks.js +355 -0
- package/dist/migrate-stuck-locks.js.map +1 -0
- package/dist/mint-adr.js +4 -4
- package/dist/mirror-pool-scan.d.ts +2 -2
- package/dist/mirror-pool-scan.js +3 -3
- package/dist/mirror-pool-scan.js.map +1 -1
- package/dist/needs-attention.d.ts +304 -27
- package/dist/needs-attention.d.ts.map +1 -1
- package/dist/needs-attention.js +542 -67
- package/dist/needs-attention.js.map +1 -1
- package/dist/orphan-sidecar.d.ts +10 -6
- package/dist/orphan-sidecar.d.ts.map +1 -1
- package/dist/orphan-sidecar.js +35 -2
- package/dist/orphan-sidecar.js.map +1 -1
- package/dist/pi-harness.d.ts +16 -0
- package/dist/pi-harness.d.ts.map +1 -1
- package/dist/pi-harness.js +82 -2
- package/dist/pi-harness.js.map +1 -1
- package/dist/placement.d.ts +8 -8
- package/dist/placement.js +3 -3
- package/dist/prd-to-spec.d.ts.map +1 -1
- package/dist/prd-to-spec.js +9 -5
- package/dist/prd-to-spec.js.map +1 -1
- package/dist/prompt.d.ts +16 -19
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +17 -19
- package/dist/prompt.js.map +1 -1
- package/dist/protocol/CLAIM-PROTOCOL.md +17 -10
- package/dist/protocol/REVIEW-PROTOCOL.md +4 -1
- package/dist/protocol/SURFACE-PROTOCOL.md +16 -2
- package/dist/protocol/TASKING-PROTOCOL.md +3 -1
- package/dist/protocol/WORK-CONTRACT.md +22 -18
- package/dist/protocol/task-template.md +1 -1
- package/dist/readiness.d.ts +1 -1
- package/dist/reap-branches.d.ts +12 -9
- package/dist/reap-branches.d.ts.map +1 -1
- package/dist/reap-branches.js +25 -7
- package/dist/reap-branches.js.map +1 -1
- package/dist/recover-isolated.d.ts +12 -0
- package/dist/recover-isolated.d.ts.map +1 -1
- package/dist/recover-isolated.js +6 -1
- package/dist/recover-isolated.js.map +1 -1
- package/dist/repo-config.d.ts +23 -2
- package/dist/repo-config.d.ts.map +1 -1
- package/dist/repo-config.js +64 -18
- package/dist/repo-config.js.map +1 -1
- package/dist/repo-mirror.d.ts.map +1 -1
- package/dist/repo-mirror.js +18 -2
- package/dist/repo-mirror.js.map +1 -1
- package/dist/review-gate.d.ts +3 -3
- package/dist/review-gate.d.ts.map +1 -1
- package/dist/review-gate.js +11 -10
- package/dist/review-gate.js.map +1 -1
- package/dist/review-verdict.d.ts +2 -2
- package/dist/review-verdict.d.ts.map +1 -1
- package/dist/review-verdict.js +2 -2
- package/dist/review-verdict.js.map +1 -1
- package/dist/run.d.ts +2 -2
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +58 -23
- package/dist/run.js.map +1 -1
- package/dist/scan.d.ts +26 -17
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +29 -15
- package/dist/scan.js.map +1 -1
- package/dist/select-order.d.ts +1 -1
- package/dist/select-priority.d.ts +14 -14
- package/dist/select-priority.d.ts.map +1 -1
- package/dist/select-priority.js +5 -5
- package/dist/select-priority.js.map +1 -1
- package/dist/sidecar-apply.js +1 -1
- package/dist/sidecar-apply.js.map +1 -1
- package/dist/sidecar.d.ts +47 -12
- package/dist/sidecar.d.ts.map +1 -1
- package/dist/sidecar.js +84 -4
- package/dist/sidecar.js.map +1 -1
- package/dist/skills/answer-questions/SKILL.md +89 -0
- package/dist/skills/capture-signal/SKILL.md +52 -0
- package/dist/skills/convert-from-prd-to-spec/SKILL.md +90 -0
- package/dist/skills/drive-tasks/SKILL.md +218 -0
- package/dist/skills/from-idea/SKILL.md +83 -0
- package/dist/skills/merge-prs/SKILL.md +70 -0
- package/dist/skills/orchestrate/SKILL.md +101 -0
- package/dist/skills/promote/SKILL.md +35 -0
- package/dist/skills/review/SKILL.md +16 -0
- package/dist/skills/setup/SKILL.md +258 -0
- package/dist/skills/setup/protocol/ADR-FORMAT.md +47 -0
- package/dist/skills/setup/protocol/CLAIM-PROTOCOL.md +224 -0
- package/dist/skills/setup/protocol/REVIEW-PROTOCOL.md +122 -0
- package/dist/skills/setup/protocol/SURFACE-PROTOCOL.md +135 -0
- package/dist/skills/setup/protocol/TASKING-PROTOCOL.md +124 -0
- package/dist/skills/setup/protocol/WORK-CONTRACT.md +280 -0
- package/dist/skills/setup/protocol/spec-template.md +71 -0
- package/dist/skills/setup/protocol/task-template.md +65 -0
- package/dist/skills/surface-questions/SKILL.md +16 -0
- package/dist/skills/to-spec/SKILL.md +34 -0
- package/dist/skills/to-task/SKILL.md +19 -0
- package/dist/skills/triage-observations/SKILL.md +78 -0
- package/dist/skills/work/SKILL.md +51 -0
- package/dist/slug-namespace.d.ts +6 -6
- package/dist/slug-namespace.js +8 -8
- package/dist/slug-namespace.js.map +1 -1
- package/dist/spec-complete.d.ts.map +1 -1
- package/dist/spec-complete.js +4 -5
- package/dist/spec-complete.js.map +1 -1
- package/dist/start.d.ts +1 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +54 -60
- package/dist/start.js.map +1 -1
- package/dist/status.d.ts +3 -3
- package/dist/status.js +4 -4
- package/dist/status.js.map +1 -1
- package/dist/surface-gate.d.ts +2 -2
- package/dist/surface-gate.d.ts.map +1 -1
- package/dist/surface-gate.js +10 -3
- package/dist/surface-gate.js.map +1 -1
- package/dist/surface-persist.d.ts +2 -2
- package/dist/surface-persist.d.ts.map +1 -1
- package/dist/surface-persist.js +1 -1
- package/dist/surface-persist.js.map +1 -1
- package/dist/tasker-review-loop.d.ts +11 -10
- package/dist/tasker-review-loop.d.ts.map +1 -1
- package/dist/tasker-review-loop.js +8 -8
- package/dist/tasker-review-loop.js.map +1 -1
- package/dist/tasking-eligibility.d.ts +21 -21
- package/dist/tasking-eligibility.d.ts.map +1 -1
- package/dist/tasking-eligibility.js +10 -10
- package/dist/tasking-lock.d.ts +10 -10
- package/dist/tasking-lock.d.ts.map +1 -1
- package/dist/tasking-lock.js +69 -49
- package/dist/tasking-lock.js.map +1 -1
- package/dist/tasking.d.ts +73 -39
- package/dist/tasking.d.ts.map +1 -1
- package/dist/tasking.js +309 -95
- package/dist/tasking.js.map +1 -1
- package/dist/triage-gate.d.ts +1 -1
- package/dist/triage-persist.d.ts +15 -11
- package/dist/triage-persist.d.ts.map +1 -1
- package/dist/triage-persist.js +48 -18
- package/dist/triage-persist.js.map +1 -1
- package/dist/vendor/incur/agents.d.ts +58 -0
- package/dist/vendor/incur/agents.d.ts.map +1 -0
- package/dist/vendor/incur/agents.js +343 -0
- package/dist/vendor/incur/agents.js.map +1 -0
- package/dist/verify-workflow-template.d.ts +1 -1
- package/dist/verify-workflow-template.js +3 -3
- package/dist/watch-session.d.ts +11 -3
- package/dist/watch-session.d.ts.map +1 -1
- package/dist/watch-session.js +94 -7
- package/dist/watch-session.js.map +1 -1
- package/dist/work-layout.d.ts +15 -9
- package/dist/work-layout.d.ts.map +1 -1
- package/dist/work-layout.js +14 -9
- package/dist/work-layout.js.map +1 -1
- package/dist/workspace.d.ts +2 -2
- package/package.json +2 -2
- package/src/advance-ci-template.ts +4 -4
- package/src/advance-classify.ts +5 -5
- package/src/advance-drivers.ts +26 -13
- package/src/advance-isolated.ts +3 -3
- package/src/advance-lifecycle-template.ts +98 -13
- package/src/advance-loop-driver.ts +3 -3
- package/src/advance-treeless-publish.ts +46 -1
- package/src/advance.ts +495 -115
- package/src/advancing-lock.ts +102 -7
- package/src/agent-launch.ts +37 -12
- package/src/agent-stop.ts +60 -2
- package/src/apply-decide.ts +38 -9
- package/src/apply-merge-action.ts +49 -11
- package/src/apply-persist.ts +236 -62
- package/src/apply-stuck-action.ts +260 -0
- package/src/brand.ts +14 -2
- package/src/buildable-body.ts +14 -14
- package/src/claim-cas.ts +4 -4
- package/src/cli-spinner.ts +1 -1
- package/src/cli.ts +472 -141
- package/src/close-job-template.ts +9 -9
- package/src/close-job.ts +26 -26
- package/src/complete.ts +121 -63
- package/src/concurrency.ts +1 -1
- package/src/config.ts +143 -49
- package/src/continue-branch.ts +23 -1
- package/src/cwd-section.ts +1 -1
- package/src/decision-engine.ts +57 -19
- package/src/do-autopick.ts +21 -10
- package/src/do-config.ts +7 -7
- package/src/do-remote-auto.ts +2 -2
- package/src/do.ts +558 -85
- package/src/drop-source.ts +2 -2
- package/src/env-config.ts +19 -11
- package/src/failure-cause.ts +30 -1
- package/src/format.ts +13 -33
- package/src/frontmatter.ts +55 -35
- package/src/gc.ts +172 -9
- package/src/github.ts +78 -0
- package/src/harness.ts +25 -0
- package/src/index.ts +10 -0
- package/src/install-ci-branch-protection.ts +283 -58
- package/src/install-ci-capabilities/advance-lifecycle.ts +1 -1
- package/src/install-ci-capabilities/close-job.ts +1 -1
- package/src/install-ci-capabilities/example-noop.ts +1 -1
- package/src/install-ci-capabilities/intake.ts +2 -2
- package/src/install-ci-capabilities/verify.ts +1 -1
- package/src/install-ci-core.ts +34 -7
- package/src/install-ci-github.ts +87 -1
- package/src/install-ci.ts +4 -4
- package/src/install-skills.ts +166 -0
- package/src/intake-event.ts +6 -6
- package/src/intake-marker.ts +3 -3
- package/src/intake-triage.ts +2 -2
- package/src/intake-trigger-template.ts +18 -18
- package/src/intake.ts +138 -103
- package/src/integration-core.ts +234 -100
- package/src/integrator.ts +22 -9
- package/src/isolation.ts +13 -4
- package/src/issue-provider.ts +4 -4
- package/src/item-lock.ts +505 -361
- package/src/item-path.ts +2 -2
- package/src/ledger-lint.ts +9 -9
- package/src/ledger-read.ts +81 -81
- package/src/ledger-write.ts +137 -152
- package/src/lifecycle-gather.ts +45 -22
- package/src/lifecycle-pools.ts +71 -13
- package/src/merge-question-surfacer.ts +32 -8
- package/src/migrate-stuck-locks.ts +451 -0
- package/src/mint-adr.ts +4 -4
- package/src/mirror-pool-scan.ts +5 -5
- package/src/needs-attention.ts +877 -104
- package/src/orphan-sidecar.ts +49 -8
- package/src/pi-harness.ts +82 -2
- package/src/placement.ts +8 -8
- package/src/prd-to-spec.ts +13 -5
- package/src/prompt.ts +20 -25
- package/src/readiness.ts +1 -1
- package/src/reap-branches.ts +38 -14
- package/src/recover-isolated.ts +18 -1
- package/src/repo-config.ts +66 -17
- package/src/repo-mirror.ts +23 -1
- package/src/review-gate.ts +12 -11
- package/src/review-verdict.ts +3 -3
- package/src/run.ts +69 -23
- package/src/scan.ts +36 -22
- package/src/select-order.ts +1 -1
- package/src/select-priority.ts +15 -15
- package/src/sidecar-apply.ts +1 -1
- package/src/sidecar.ts +141 -14
- package/src/slug-namespace.ts +10 -10
- package/src/spec-complete.ts +4 -5
- package/src/start.ts +57 -63
- package/src/status.ts +7 -7
- package/src/surface-gate.ts +12 -5
- package/src/surface-persist.ts +3 -3
- package/src/tasker-review-loop.ts +18 -17
- package/src/tasking-eligibility.ts +21 -21
- package/src/tasking-lock.ts +75 -60
- package/src/tasking.ts +381 -135
- package/src/triage-gate.ts +1 -1
- package/src/triage-persist.ts +71 -27
- package/src/vendor/incur/LICENSE +21 -0
- package/src/vendor/incur/README.md +19 -0
- package/src/vendor/incur/agents.ts +392 -0
- package/src/verify-workflow-template.ts +3 -3
- package/src/watch-session.ts +102 -7
- package/src/work-layout.ts +14 -9
- package/src/workspace.ts +2 -2
package/src/do-autopick.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {performDo, type DoOptions, type DoResult} from './do.js';
|
|
2
2
|
import {scanRepoPaths} from './scan.js';
|
|
3
|
+
import {heldTaskSlugs} from './item-lock.js';
|
|
3
4
|
import {ledgerRead, type LedgerReadStrategy} from './ledger-read.js';
|
|
4
5
|
import {
|
|
5
6
|
selectPrioritised,
|
|
@@ -24,9 +25,9 @@ import type {ConfigOverrideMap} from './config-override.js';
|
|
|
24
25
|
* Auto-pick / `-n` draw from TWO POOLS ordered by the configurable
|
|
25
26
|
* `selectionOrder` (the shared, pure {@link selectPrioritised} helper): eligible
|
|
26
27
|
* TASKS (the `build` pool — the existing `scan`/`selectCandidates`/eligibility
|
|
27
|
-
* path) and TASKABLE prds (the `task` pool — built from the
|
|
28
|
+
* path) and TASKABLE prds (the `task` pool — built from the spec reader +
|
|
28
29
|
* `autoslice-gate`'s predicate), in the per-repo `selectionOrder` (default `drain`
|
|
29
|
-
* = tasks-first). A selected
|
|
30
|
+
* = tasks-first). A selected spec dispatches to the `do spec:<slug>` path (tasking
|
|
30
31
|
* itself is `autoslice-command`, not built here).
|
|
31
32
|
*
|
|
32
33
|
* Explicit multi-arg (`do <a> <b>`) bypasses the pools/priority entirely — the
|
|
@@ -41,7 +42,7 @@ type SharedDoOptions = Omit<DoOptions, 'arg'>;
|
|
|
41
42
|
|
|
42
43
|
export interface PerformDoMultiOptions extends SharedDoOptions {
|
|
43
44
|
/**
|
|
44
|
-
* The resolved repo config (provides `autoTask` for the
|
|
45
|
+
* The resolved repo config (provides `autoTask` for the spec gate,
|
|
45
46
|
* `selectionOrder` for the pool order, and the task-pool selection caps). The
|
|
46
47
|
* per-item runs still receive `autoTask`/`integration`/etc. via the spread
|
|
47
48
|
* `SharedDoOptions`.
|
|
@@ -62,7 +63,7 @@ export interface PerformDoMultiOptions extends SharedDoOptions {
|
|
|
62
63
|
count?: number;
|
|
63
64
|
/** Override the single-`do` runner (tests inject a stub). Defaults to {@link performDo}. */
|
|
64
65
|
run?: DoRunner;
|
|
65
|
-
/** Override the read seam (
|
|
66
|
+
/** Override the read seam (spec pool); defaults to the active {@link ledgerRead}. */
|
|
66
67
|
read?: LedgerReadStrategy;
|
|
67
68
|
}
|
|
68
69
|
|
|
@@ -85,7 +86,7 @@ export interface DoMultiResult {
|
|
|
85
86
|
* The task-pool caps for an in-place `do` selection. `do` is per-repo +
|
|
86
87
|
* sequential, so the REAL bound is the requested `count` (handled by the
|
|
87
88
|
* priority helper); the task-pool selection should not truncate BEFORE the
|
|
88
|
-
* count + the
|
|
89
|
+
* count + the spec pool are combined. We therefore cap the task pool at "all
|
|
89
90
|
* eligible" (a large bound) and let {@link selectPrioritised}'s `count` do the
|
|
90
91
|
* trimming across both pools.
|
|
91
92
|
*/
|
|
@@ -105,6 +106,16 @@ export async function performDoAuto(
|
|
|
105
106
|
const cwd = options.cwd;
|
|
106
107
|
const count = options.count ?? 1;
|
|
107
108
|
|
|
109
|
+
// Held-slug subtraction (task
|
|
110
|
+
// `in-place-scan-subtracts-held-locked-slugs-from-propose-matrix`): read the
|
|
111
|
+
// coordination arbiter's held task-lock refs and pass them into `scanRepoPaths`
|
|
112
|
+
// so a held item (state `active`/`stuck`) does not enter the item pool NOR the
|
|
113
|
+
// lifecycle surface/apply pools. `heldTaskSlugs` is the GRACEFUL variant (empty
|
|
114
|
+
// set on any read fault): the follow-on claim CAS is still the load-bearing
|
|
115
|
+
// safety net locally — this subtraction is a courtesy that avoids selecting an
|
|
116
|
+
// item that would immediately lose its claim race.
|
|
117
|
+
const heldSlugs = await heldTaskSlugs(cwd, options.arbiter, options.env);
|
|
118
|
+
|
|
108
119
|
// Pool 1 — eligible TASKS via the EXISTING scan/select path (task-only).
|
|
109
120
|
// Thread `override` so the per-machine override is applied per repo (the
|
|
110
121
|
// inner `resolveRepoConfig` re-applies it AFTER the committed file, restoring
|
|
@@ -112,11 +123,11 @@ export async function performDoAuto(
|
|
|
112
123
|
const report = scanRepoPaths(
|
|
113
124
|
[cwd],
|
|
114
125
|
options.config,
|
|
115
|
-
|
|
126
|
+
heldSlugs,
|
|
116
127
|
options.override,
|
|
117
128
|
);
|
|
118
129
|
|
|
119
|
-
// Pool 2 — TASKABLE prds: the NEW pool from the shared
|
|
130
|
+
// Pool 2 — TASKABLE prds: the NEW pool from the shared spec read path
|
|
120
131
|
// (`resolveSpecPool`) filtered by `autoslice-gate`'s predicate (not reinvented).
|
|
121
132
|
const pool = read.resolveSpecPool({repoPath: cwd});
|
|
122
133
|
const specCandidates: SpecCandidate[] = pool.specs.map((spec) => ({
|
|
@@ -155,8 +166,8 @@ export async function performDoAuto(
|
|
|
155
166
|
/**
|
|
156
167
|
* Run the EXPLICIT multi-arg form (`do <a> <b> …`): the named items in the GIVEN
|
|
157
168
|
* order (no pool/priority — the operator chose them). Each arg is run through the
|
|
158
|
-
* existing `do` pipeline, which itself resolves bare/`task:`/`
|
|
159
|
-
*
|
|
169
|
+
* existing `do` pipeline, which itself resolves bare/`task:`/`spec:` (so a named
|
|
170
|
+
* spec dispatches to the tasking path and a collision errors), SEQUENTIALLY.
|
|
160
171
|
*/
|
|
161
172
|
export async function performDoArgs(
|
|
162
173
|
args: string[],
|
|
@@ -176,7 +187,7 @@ export async function performDoArgs(
|
|
|
176
187
|
/**
|
|
177
188
|
* Run a list of selected items through the existing `do` pipeline, SEQUENTIALLY,
|
|
178
189
|
* threading the shared options to each. For the pool path the `do` arg encodes
|
|
179
|
-
* the namespace (`
|
|
190
|
+
* the namespace (`spec:<slug>` for a selected spec, bare slug for a task); for the
|
|
180
191
|
* explicit-arg path the caller's raw arg is passed verbatim.
|
|
181
192
|
*/
|
|
182
193
|
async function runSelectedInSequence(
|
package/src/do-config.ts
CHANGED
|
@@ -90,7 +90,7 @@ export function doFlagOverrides(
|
|
|
90
90
|
...surfaceBlockersFlagOverrides(flags),
|
|
91
91
|
// `--merge-questions <off|ask|auto>` rides the SAME flag-override chain
|
|
92
92
|
// (flag > env > per-repo > global > default `ask`): the 3-state gate over
|
|
93
|
-
// the merge-question SURFACER (
|
|
93
|
+
// the merge-question SURFACER (spec `land-time-reverify-and-parallel-
|
|
94
94
|
// merge-ceiling` Story 17 / task `merge-questions-gate-axis`). SEPARATE
|
|
95
95
|
// axis from `--observation-triage` with a HIGHER default — NEVER rides
|
|
96
96
|
// `--observation-triage`.
|
|
@@ -122,7 +122,7 @@ export function doFlagOverrides(
|
|
|
122
122
|
// `--no-pr` (the PR-INTENT axis): suppress the PR even on an authed GitHub
|
|
123
123
|
// arbiter. Rides the SAME flag > env > per-repo > global > default chain.
|
|
124
124
|
...noPRFlagOverrides(flags),
|
|
125
|
-
// `--merge-retries <n>` (the cross-job merge serialiser's CAS-retry cap —
|
|
125
|
+
// `--merge-retries <n>` (the cross-job merge serialiser's CAS-retry cap — spec
|
|
126
126
|
// `land-time-reverify-and-parallel-merge-ceiling` Story 5 / Applied Answer
|
|
127
127
|
// q1 (a)) rides the SAME chain (flag > env > per-repo > global > default).
|
|
128
128
|
...mergeRetriesFlagOverrides(flags),
|
|
@@ -130,7 +130,7 @@ export function doFlagOverrides(
|
|
|
130
130
|
if (integration !== undefined) {
|
|
131
131
|
// An explicit `--merge`/`--propose` flag ALWAYS wins for the transition this
|
|
132
132
|
// command runs. `do` runs EITHER the build transition (a task) OR the tasking
|
|
133
|
-
// transition (a `do
|
|
133
|
+
// transition (a `do spec:`) per invocation, and the typed flag is
|
|
134
134
|
// transition-AGNOSTIC, so it must override BOTH the build mode (`integration`)
|
|
135
135
|
// AND the tasking mode (`taskingIntegration`). Setting both at the top of the
|
|
136
136
|
// precedence chain means a `--propose` on a `taskingIntegration:'merge'` repo
|
|
@@ -346,7 +346,7 @@ export function observationTriageFlagOverrides(
|
|
|
346
346
|
/**
|
|
347
347
|
* The surface-blockers CLI flag (`advance`): `--surface-blockers` /
|
|
348
348
|
* `--no-surface-blockers`, the BOOLEAN gate over DECLARED blocked work (whether a
|
|
349
|
-
* `needsAnswers:true` task/
|
|
349
|
+
* `needsAnswers:true` task/spec is rendered into a question sidecar; ADR
|
|
350
350
|
* `ci-config-policy-and-gate-family`). The orthogonal PEER of
|
|
351
351
|
* `--observation-triage`. Resolved through the SAME
|
|
352
352
|
* `flag > env > per-repo > global > default` chain as the other gate flags.
|
|
@@ -375,7 +375,7 @@ export function surfaceBlockersFlagOverrides(
|
|
|
375
375
|
|
|
376
376
|
/**
|
|
377
377
|
* **The cross-job merge-serialiser CAS-retry cap CLI flag** (`--merge-retries
|
|
378
|
-
* <n>`) —
|
|
378
|
+
* <n>`) — spec `land-time-reverify-and-parallel-merge-ceiling` Story 5 / Applied
|
|
379
379
|
* Answer q1 (a). The git-alone FLOOR of the cross-job land-queue; a wide-matrix
|
|
380
380
|
* CI raises the cap so more contenders converge before any spurious bounce to
|
|
381
381
|
* needs-attention. Offered by `do`/`run`/`complete`. Resolved through the SAME
|
|
@@ -414,7 +414,7 @@ export function mergeRetriesFlagOverrides(
|
|
|
414
414
|
|
|
415
415
|
/**
|
|
416
416
|
* The merge-questions CLI flag (`advance`): `--merge-questions <off|ask|auto>`,
|
|
417
|
-
* the 3-state gate over the MERGE-QUESTION SURFACER (
|
|
417
|
+
* the 3-state gate over the MERGE-QUESTION SURFACER (spec
|
|
418
418
|
* `land-time-reverify-and-parallel-merge-ceiling` Story 17 / task
|
|
419
419
|
* `merge-questions-gate-axis`). MIRRORS `--observation-triage`'s SHAPE but is a
|
|
420
420
|
* SEPARATE axis with a HIGHER default (`ask`, never `off` — a dropped merge-
|
|
@@ -459,7 +459,7 @@ export function mergeQuestionsFlagOverrides(
|
|
|
459
459
|
|
|
460
460
|
/**
|
|
461
461
|
* **The strict-merge-approval CLI flag** (`--strict-merge-approval` /
|
|
462
|
-
* `--no-strict-merge-approval`) —
|
|
462
|
+
* `--no-strict-merge-approval`) — spec
|
|
463
463
|
* `land-time-reverify-and-parallel-merge-ceiling` sidecar OQ6 / task
|
|
464
464
|
* `strict-merge-approval-gate`. The OPT-IN strictness layered on the OQ6
|
|
465
465
|
* stale-approval default: ON re-surfaces the merge-question on a merge-base
|
package/src/do-remote-auto.ts
CHANGED
|
@@ -6,7 +6,7 @@ import {selectPrioritised, type SelectedItem} from './select-priority.js';
|
|
|
6
6
|
import type {Config} from './config.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* The MIRROR-SIDE auto-pick / `-n` caller for `do --remote` (
|
|
9
|
+
* The MIRROR-SIDE auto-pick / `-n` caller for `do --remote` (spec `advance-loop`,
|
|
10
10
|
* task `advance-drivers-and-gates`, US #25) — the THIN caller the mirror-side
|
|
11
11
|
* eligible-pool scan (`mirror-side-eligible-pool-scan`) makes possible, the
|
|
12
12
|
* isolated counterpart of `do-autopick`'s in-place {@link performDoAuto}.
|
|
@@ -154,7 +154,7 @@ function remoteArgFor(item: SelectedItem): string {
|
|
|
154
154
|
* the GIVEN order (no pool/priority — the operator chose them), each through the
|
|
155
155
|
* EXISTING {@link performDoRemote} pipeline, SEQUENTIALLY. No mirror scan is
|
|
156
156
|
* needed (the args are explicit); the per-item pipeline resolves each
|
|
157
|
-
* bare/`task:`/`
|
|
157
|
+
* bare/`task:`/`spec:` arg itself.
|
|
158
158
|
*/
|
|
159
159
|
export async function performDoRemoteArgs(
|
|
160
160
|
args: string[],
|