dorfl 0.14.2 → 0.15.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 +17 -16
- package/dist/advance-ci-template.d.ts.map +1 -1
- package/dist/advance-ci-template.js +42 -53
- package/dist/advance-ci-template.js.map +1 -1
- package/dist/advance-drivers.d.ts +8 -0
- package/dist/advance-drivers.d.ts.map +1 -1
- package/dist/advance-drivers.js +28 -4
- package/dist/advance-drivers.js.map +1 -1
- package/dist/advance-isolated.d.ts.map +1 -1
- package/dist/advance-isolated.js +3 -2
- package/dist/advance-isolated.js.map +1 -1
- package/dist/advance-lifecycle-template.d.ts +41 -40
- package/dist/advance-lifecycle-template.d.ts.map +1 -1
- package/dist/advance-lifecycle-template.js +309 -489
- package/dist/advance-lifecycle-template.js.map +1 -1
- package/dist/advance-loop-driver.d.ts.map +1 -1
- package/dist/advance-loop-driver.js +3 -2
- package/dist/advance-loop-driver.js.map +1 -1
- package/dist/advance-treeless-publish.d.ts +31 -0
- package/dist/advance-treeless-publish.d.ts.map +1 -1
- package/dist/advance-treeless-publish.js +40 -0
- package/dist/advance-treeless-publish.js.map +1 -1
- package/dist/advance.d.ts +63 -3
- package/dist/advance.d.ts.map +1 -1
- package/dist/advance.js +80 -12
- package/dist/advance.js.map +1 -1
- package/dist/advancing-lock.d.ts +9 -0
- package/dist/advancing-lock.d.ts.map +1 -1
- package/dist/advancing-lock.js +21 -1
- package/dist/advancing-lock.js.map +1 -1
- package/dist/agent-env.d.ts +61 -0
- package/dist/agent-env.d.ts.map +1 -0
- package/dist/agent-env.js +144 -0
- package/dist/agent-env.js.map +1 -0
- package/dist/agent-stop.d.ts +35 -0
- package/dist/agent-stop.d.ts.map +1 -1
- package/dist/agent-stop.js +62 -0
- package/dist/agent-stop.js.map +1 -1
- package/dist/apply-merge-action.d.ts +76 -34
- package/dist/apply-merge-action.d.ts.map +1 -1
- package/dist/apply-merge-action.js +339 -129
- package/dist/apply-merge-action.js.map +1 -1
- package/dist/apply-stuck-action.js +2 -2
- package/dist/apply-stuck-action.js.map +1 -1
- package/dist/ci-agent-result.d.ts +151 -0
- package/dist/ci-agent-result.d.ts.map +1 -0
- package/dist/ci-agent-result.js +314 -0
- package/dist/ci-agent-result.js.map +1 -0
- package/dist/ci-handoff-apply.d.ts +162 -0
- package/dist/ci-handoff-apply.d.ts.map +1 -0
- package/dist/ci-handoff-apply.js +497 -0
- package/dist/ci-handoff-apply.js.map +1 -0
- package/dist/ci-handoff-format.d.ts +369 -0
- package/dist/ci-handoff-format.d.ts.map +1 -0
- package/dist/ci-handoff-format.js +646 -0
- package/dist/ci-handoff-format.js.map +1 -0
- package/dist/ci-handoff-lfs.d.ts +146 -0
- package/dist/ci-handoff-lfs.d.ts.map +1 -0
- package/dist/ci-handoff-lfs.js +397 -0
- package/dist/ci-handoff-lfs.js.map +1 -0
- package/dist/ci-handoff.d.ts +99 -0
- package/dist/ci-handoff.d.ts.map +1 -0
- package/dist/ci-handoff.js +277 -0
- package/dist/ci-handoff.js.map +1 -0
- package/dist/ci-lock-outputs.d.ts +93 -0
- package/dist/ci-lock-outputs.d.ts.map +1 -0
- package/dist/ci-lock-outputs.js +223 -0
- package/dist/ci-lock-outputs.js.map +1 -0
- package/dist/ci-phase-build.d.ts +178 -0
- package/dist/ci-phase-build.d.ts.map +1 -0
- package/dist/ci-phase-build.js +989 -0
- package/dist/ci-phase-build.js.map +1 -0
- package/dist/ci-phase-driver.d.ts +247 -0
- package/dist/ci-phase-driver.d.ts.map +1 -0
- package/dist/ci-phase-driver.js +370 -0
- package/dist/ci-phase-driver.js.map +1 -0
- package/dist/ci-phase-intake.d.ts +172 -0
- package/dist/ci-phase-intake.d.ts.map +1 -0
- package/dist/ci-phase-intake.js +555 -0
- package/dist/ci-phase-intake.js.map +1 -0
- package/dist/ci-phase-tasking.d.ts +205 -0
- package/dist/ci-phase-tasking.d.ts.map +1 -0
- package/dist/ci-phase-tasking.js +906 -0
- package/dist/ci-phase-tasking.js.map +1 -0
- package/dist/ci-phase-treeless.d.ts +224 -0
- package/dist/ci-phase-treeless.d.ts.map +1 -0
- package/dist/ci-phase-treeless.js +1482 -0
- package/dist/ci-phase-treeless.js.map +1 -0
- package/dist/ci-read-token.d.ts +47 -0
- package/dist/ci-read-token.d.ts.map +1 -0
- package/dist/ci-read-token.js +80 -0
- package/dist/ci-read-token.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +447 -22
- package/dist/cli.js.map +1 -1
- package/dist/close-job-template.d.ts +10 -1
- package/dist/close-job-template.d.ts.map +1 -1
- package/dist/close-job-template.js +46 -14
- package/dist/close-job-template.js.map +1 -1
- package/dist/close-job.d.ts +20 -5
- package/dist/close-job.d.ts.map +1 -1
- package/dist/close-job.js +65 -12
- package/dist/close-job.js.map +1 -1
- package/dist/complete.d.ts.map +1 -1
- package/dist/complete.js +20 -1
- package/dist/complete.js.map +1 -1
- package/dist/config.d.ts +41 -44
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -4
- package/dist/config.js.map +1 -1
- package/dist/continue-branch.d.ts +63 -15
- package/dist/continue-branch.d.ts.map +1 -1
- package/dist/continue-branch.js +75 -8
- package/dist/continue-branch.js.map +1 -1
- package/dist/crashed-run-save.d.ts +73 -0
- package/dist/crashed-run-save.d.ts.map +1 -0
- package/dist/crashed-run-save.js +86 -0
- package/dist/crashed-run-save.js.map +1 -0
- package/dist/cwd-section.d.ts.map +1 -1
- package/dist/cwd-section.js +10 -2
- package/dist/cwd-section.js.map +1 -1
- package/dist/decision-engine.d.ts +10 -0
- package/dist/decision-engine.d.ts.map +1 -1
- package/dist/decision-engine.js.map +1 -1
- package/dist/do-config.d.ts +2 -24
- package/dist/do-config.d.ts.map +1 -1
- package/dist/do-config.js +1 -33
- package/dist/do-config.js.map +1 -1
- package/dist/do.d.ts +149 -1
- package/dist/do.d.ts.map +1 -1
- package/dist/do.js +115 -25
- package/dist/do.js.map +1 -1
- package/dist/dorfl-item-template.d.ts +98 -0
- package/dist/dorfl-item-template.d.ts.map +1 -0
- package/dist/dorfl-item-template.js +504 -0
- package/dist/dorfl-item-template.js.map +1 -0
- package/dist/env-config.d.ts.map +1 -1
- package/dist/env-config.js +7 -5
- package/dist/env-config.js.map +1 -1
- package/dist/frontmatter.d.ts +52 -0
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +136 -2
- package/dist/frontmatter.js.map +1 -1
- package/dist/gc.d.ts +13 -0
- package/dist/gc.d.ts.map +1 -1
- package/dist/gc.js +16 -2
- package/dist/gc.js.map +1 -1
- package/dist/git.d.ts +18 -1
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +70 -5
- package/dist/git.js.map +1 -1
- package/dist/harness.d.ts +44 -5
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +24 -1
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/install-ci-action-pins.d.ts +123 -0
- package/dist/install-ci-action-pins.d.ts.map +1 -0
- package/dist/install-ci-action-pins.js +190 -0
- package/dist/install-ci-action-pins.js.map +1 -0
- package/dist/install-ci-actions-pr-creation.d.ts +70 -0
- package/dist/install-ci-actions-pr-creation.d.ts.map +1 -0
- package/dist/install-ci-actions-pr-creation.js +106 -0
- package/dist/install-ci-actions-pr-creation.js.map +1 -0
- package/dist/install-ci-capabilities/dorfl-item.d.ts +12 -0
- package/dist/install-ci-capabilities/dorfl-item.d.ts.map +1 -0
- package/dist/install-ci-capabilities/dorfl-item.js +26 -0
- package/dist/install-ci-capabilities/dorfl-item.js.map +1 -0
- package/dist/install-ci-core.d.ts +155 -37
- package/dist/install-ci-core.d.ts.map +1 -1
- package/dist/install-ci-core.js +304 -200
- package/dist/install-ci-core.js.map +1 -1
- package/dist/install-ci-github.d.ts +47 -2
- package/dist/install-ci-github.d.ts.map +1 -1
- package/dist/install-ci-github.js +113 -1
- package/dist/install-ci-github.js.map +1 -1
- package/dist/install-ci.d.ts +25 -6
- package/dist/install-ci.d.ts.map +1 -1
- package/dist/install-ci.js +72 -36
- package/dist/install-ci.js.map +1 -1
- package/dist/intake-marker.d.ts +6 -1
- package/dist/intake-marker.d.ts.map +1 -1
- package/dist/intake-marker.js.map +1 -1
- package/dist/intake-triage.d.ts.map +1 -1
- package/dist/intake-triage.js +6 -2
- package/dist/intake-triage.js.map +1 -1
- package/dist/intake-trigger-template.d.ts +31 -25
- package/dist/intake-trigger-template.d.ts.map +1 -1
- package/dist/intake-trigger-template.js +107 -292
- package/dist/intake-trigger-template.js.map +1 -1
- package/dist/intake.d.ts +186 -4
- package/dist/intake.d.ts.map +1 -1
- package/dist/intake.js +533 -416
- package/dist/intake.js.map +1 -1
- package/dist/integration-core.d.ts +154 -1
- package/dist/integration-core.d.ts.map +1 -1
- package/dist/integration-core.js +759 -486
- package/dist/integration-core.js.map +1 -1
- package/dist/integrator.d.ts +12 -0
- package/dist/integrator.d.ts.map +1 -1
- package/dist/integrator.js +21 -0
- package/dist/integrator.js.map +1 -1
- package/dist/isolation.d.ts +12 -2
- package/dist/isolation.d.ts.map +1 -1
- package/dist/isolation.js +19 -8
- package/dist/isolation.js.map +1 -1
- package/dist/item-lock.d.ts +93 -11
- package/dist/item-lock.d.ts.map +1 -1
- package/dist/item-lock.js +233 -65
- package/dist/item-lock.js.map +1 -1
- package/dist/land-question-residue.d.ts +58 -0
- package/dist/land-question-residue.d.ts.map +1 -0
- package/dist/land-question-residue.js +95 -0
- package/dist/land-question-residue.js.map +1 -0
- package/dist/lifecycle-gather.d.ts +16 -0
- package/dist/lifecycle-gather.d.ts.map +1 -1
- package/dist/lifecycle-gather.js +54 -6
- package/dist/lifecycle-gather.js.map +1 -1
- package/dist/merge-answer.d.ts +41 -0
- package/dist/merge-answer.d.ts.map +1 -0
- package/dist/merge-answer.js +60 -0
- package/dist/merge-answer.js.map +1 -0
- package/dist/merge-question-surfacer.d.ts +105 -30
- package/dist/merge-question-surfacer.d.ts.map +1 -1
- package/dist/merge-question-surfacer.js +202 -91
- package/dist/merge-question-surfacer.js.map +1 -1
- package/dist/merge-question-tick.d.ts +64 -0
- package/dist/merge-question-tick.d.ts.map +1 -0
- package/dist/merge-question-tick.js +96 -0
- package/dist/merge-question-tick.js.map +1 -0
- package/dist/mint-adr.d.ts.map +1 -1
- package/dist/mint-adr.js +20 -2
- package/dist/mint-adr.js.map +1 -1
- package/dist/needs-attention.d.ts +72 -2
- package/dist/needs-attention.d.ts.map +1 -1
- package/dist/needs-attention.js +275 -38
- package/dist/needs-attention.js.map +1 -1
- package/dist/phase-recorder.d.ts +168 -0
- package/dist/phase-recorder.d.ts.map +1 -0
- package/dist/phase-recorder.js +218 -0
- package/dist/phase-recorder.js.map +1 -0
- package/dist/phase.d.ts +94 -0
- package/dist/phase.d.ts.map +1 -0
- package/dist/phase.js +148 -0
- package/dist/phase.js.map +1 -0
- package/dist/pi-harness.d.ts.map +1 -1
- package/dist/pi-harness.js +19 -6
- package/dist/pi-harness.js.map +1 -1
- package/dist/prepare.d.ts.map +1 -1
- package/dist/prepare.js +4 -0
- package/dist/prepare.js.map +1 -1
- package/dist/prompt.d.ts +4 -0
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +48 -1
- package/dist/prompt.js.map +1 -1
- package/dist/protocol/CLAIM-PROTOCOL.md +3 -1
- package/dist/protocol/WORK-CONTRACT.md +1 -1
- package/dist/reap-branches.d.ts +48 -0
- package/dist/reap-branches.d.ts.map +1 -1
- package/dist/reap-branches.js +64 -0
- package/dist/reap-branches.js.map +1 -1
- package/dist/ref-write.d.ts +198 -0
- package/dist/ref-write.d.ts.map +1 -0
- package/dist/ref-write.js +79 -0
- package/dist/ref-write.js.map +1 -0
- package/dist/repo-config.js +8 -8
- package/dist/repo-config.js.map +1 -1
- package/dist/repo-mirror.d.ts +36 -0
- package/dist/repo-mirror.d.ts.map +1 -1
- package/dist/repo-mirror.js +91 -1
- package/dist/repo-mirror.js.map +1 -1
- package/dist/review-verdict.d.ts +1 -1
- package/dist/review-verdict.js +1 -1
- package/dist/run.d.ts +7 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +28 -4
- package/dist/run.js.map +1 -1
- package/dist/scan.d.ts +19 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +21 -8
- package/dist/scan.js.map +1 -1
- package/dist/sidecar.d.ts +14 -0
- package/dist/sidecar.d.ts.map +1 -1
- package/dist/sidecar.js +21 -0
- package/dist/sidecar.js.map +1 -1
- package/dist/single-job-warning.d.ts +63 -0
- package/dist/single-job-warning.d.ts.map +1 -0
- package/dist/single-job-warning.js +110 -0
- package/dist/single-job-warning.js.map +1 -0
- package/dist/skills/setup/protocol/CLAIM-PROTOCOL.md +3 -1
- package/dist/skills/setup/protocol/WORK-CONTRACT.md +1 -1
- package/dist/spec-complete.d.ts +13 -6
- package/dist/spec-complete.d.ts.map +1 -1
- package/dist/spec-complete.js +23 -11
- package/dist/spec-complete.js.map +1 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +47 -14
- package/dist/start.js.map +1 -1
- package/dist/status.d.ts +12 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +11 -3
- package/dist/status.js.map +1 -1
- package/dist/tasking.d.ts +246 -1
- package/dist/tasking.d.ts.map +1 -1
- package/dist/tasking.js +452 -358
- package/dist/tasking.js.map +1 -1
- package/dist/triage-persist.d.ts.map +1 -1
- package/dist/triage-persist.js +21 -2
- package/dist/triage-persist.js.map +1 -1
- package/dist/verify-workflow-template.d.ts.map +1 -1
- package/dist/verify-workflow-template.js +8 -4
- package/dist/verify-workflow-template.js.map +1 -1
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +4 -0
- package/dist/verify.js.map +1 -1
- package/dist/watch-session.d.ts +42 -13
- package/dist/watch-session.d.ts.map +1 -1
- package/dist/watch-session.js +52 -23
- package/dist/watch-session.js.map +1 -1
- package/dist/work-layout.d.ts +10 -4
- package/dist/work-layout.d.ts.map +1 -1
- package/dist/work-layout.js +11 -3
- package/dist/work-layout.js.map +1 -1
- package/dist/workspace.d.ts +65 -4
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +159 -11
- package/dist/workspace.js.map +1 -1
- package/package.json +1 -1
- package/src/advance-ci-template.ts +80 -81
- package/src/advance-drivers.ts +45 -6
- package/src/advance-isolated.ts +3 -5
- package/src/advance-lifecycle-template.ts +375 -538
- package/src/advance-loop-driver.ts +3 -5
- package/src/advance-treeless-publish.ts +61 -0
- package/src/advance.ts +145 -15
- package/src/advancing-lock.ts +36 -1
- package/src/agent-env.ts +174 -0
- package/src/agent-stop.ts +81 -0
- package/src/apply-merge-action.ts +401 -154
- package/src/apply-stuck-action.ts +2 -2
- package/src/ci-agent-result.ts +421 -0
- package/src/ci-handoff-apply.ts +737 -0
- package/src/ci-handoff-format.ts +926 -0
- package/src/ci-handoff-lfs.ts +519 -0
- package/src/ci-handoff.ts +392 -0
- package/src/ci-lock-outputs.ts +273 -0
- package/src/ci-phase-build.ts +1328 -0
- package/src/ci-phase-driver.ts +548 -0
- package/src/ci-phase-intake.ts +861 -0
- package/src/ci-phase-tasking.ts +1255 -0
- package/src/ci-phase-treeless.ts +2028 -0
- package/src/ci-read-token.ts +90 -0
- package/src/cli.ts +591 -29
- package/src/close-job-template.ts +52 -15
- package/src/close-job.ts +77 -12
- package/src/complete.ts +19 -1
- package/src/config.ts +43 -48
- package/src/continue-branch.ts +121 -16
- package/src/crashed-run-save.ts +162 -0
- package/src/cwd-section.ts +10 -0
- package/src/decision-engine.ts +10 -0
- package/src/do-config.ts +2 -57
- package/src/do.ts +170 -28
- package/src/dorfl-item-template.ts +556 -0
- package/src/env-config.ts +7 -5
- package/src/frontmatter.ts +155 -2
- package/src/gc.ts +27 -2
- package/src/git.ts +83 -5
- package/src/harness.ts +58 -6
- package/src/index.ts +50 -1
- package/src/install-ci-action-pins.ts +209 -0
- package/src/install-ci-actions-pr-creation.ts +186 -0
- package/src/install-ci-capabilities/dorfl-item.ts +33 -0
- package/src/install-ci-core.ts +388 -233
- package/src/install-ci-github.ts +149 -1
- package/src/install-ci.ts +83 -37
- package/src/intake-marker.ts +6 -1
- package/src/intake-triage.ts +7 -3
- package/src/intake-trigger-template.ts +126 -327
- package/src/intake.ts +725 -544
- package/src/integration-core.ts +975 -523
- package/src/integrator.ts +28 -0
- package/src/isolation.ts +29 -10
- package/src/item-lock.ts +308 -92
- package/src/land-question-residue.ts +122 -0
- package/src/lifecycle-gather.ts +82 -10
- package/src/merge-answer.ts +82 -0
- package/src/merge-question-surfacer.ts +320 -112
- package/src/merge-question-tick.ts +182 -0
- package/src/mint-adr.ts +28 -2
- package/src/needs-attention.ts +350 -42
- package/src/phase-recorder.ts +350 -0
- package/src/phase.ts +177 -0
- package/src/pi-harness.ts +25 -5
- package/src/prepare.ts +4 -0
- package/src/prompt.ts +68 -1
- package/src/reap-branches.ts +107 -0
- package/src/ref-write.ts +324 -0
- package/src/repo-config.ts +8 -8
- package/src/repo-mirror.ts +107 -1
- package/src/review-verdict.ts +1 -1
- package/src/run.ts +47 -6
- package/src/scan.ts +37 -7
- package/src/sidecar.ts +36 -0
- package/src/single-job-warning.ts +135 -0
- package/src/spec-complete.ts +36 -14
- package/src/start.ts +55 -16
- package/src/status.ts +29 -3
- package/src/tasking.ts +593 -378
- package/src/triage-persist.ts +24 -2
- package/src/verify-workflow-template.ts +8 -4
- package/src/verify.ts +4 -0
- package/src/watch-session.ts +86 -28
- package/src/work-layout.ts +11 -3
- package/src/workspace.ts +210 -14
package/dist/agent-stop.js
CHANGED
|
@@ -306,6 +306,68 @@ export function emptyDiffStopReason(slug) {
|
|
|
306
306
|
return (`the agent produced no source change building '${slug}' (empty diff vs the ` +
|
|
307
307
|
'arbiter main); treating as a no-op/stop — re-scope or re-claim.');
|
|
308
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* The provider error text is capped at this many characters in the failure
|
|
311
|
+
* detail: pi records the raw provider body (often a JSON blob), and the detail
|
|
312
|
+
* becomes the needs-attention reason on the lock, which must stay one readable
|
|
313
|
+
* line rather than a pasted payload.
|
|
314
|
+
*/
|
|
315
|
+
const MAX_CUT_OFF_ERROR_LENGTH = 300;
|
|
316
|
+
/**
|
|
317
|
+
* The `agent-failed` detail for a run whose FINAL model turn was CUT OFF
|
|
318
|
+
* ({@link CutOffTurn}) and which left no source change (task
|
|
319
|
+
* `a-truncated-agent-turn-routes-as-agent-failed`). Names the stop cause so the
|
|
320
|
+
* operator reads a harness failure, never "the agent found nothing to build".
|
|
321
|
+
* The provider's `errorMessage` (an `error` stop) is appended VERBATIM (bounded)
|
|
322
|
+
* so the shared failure-cause classifier can still recognise an infra signature
|
|
323
|
+
* in it (an overloaded provider reads `transient-infra`).
|
|
324
|
+
*/
|
|
325
|
+
export function cutOffTurnFailureDetail(slug, cutOff) {
|
|
326
|
+
const cause = cutOff.cause === 'length'
|
|
327
|
+
? "stopReason 'length': the turn hit the model's per-turn output-token cap"
|
|
328
|
+
: "stopReason 'error': the provider ended the turn with an error";
|
|
329
|
+
const error = cutOff.errorMessage === undefined
|
|
330
|
+
? ''
|
|
331
|
+
: ` (${boundErrorMessage(cutOff.errorMessage)})`;
|
|
332
|
+
return (`the agent's final model turn was cut off (${cause}${error}) before it ` +
|
|
333
|
+
`produced any source change building '${slug}'; this is a harness failure, ` +
|
|
334
|
+
'not a judgement that there is nothing to build. Requeue to retry.');
|
|
335
|
+
}
|
|
336
|
+
function boundErrorMessage(text) {
|
|
337
|
+
const oneLine = text.replace(/\s+/g, ' ').trim();
|
|
338
|
+
return oneLine.length <= MAX_CUT_OFF_ERROR_LENGTH
|
|
339
|
+
? oneLine
|
|
340
|
+
: `${oneLine.slice(0, MAX_CUT_OFF_ERROR_LENGTH)}…`;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* The CUT-OFF-TURN guard in front of the empty-diff STOP backstop (task
|
|
344
|
+
* `a-truncated-agent-turn-routes-as-agent-failed`): returns the `agent-failed`
|
|
345
|
+
* detail when the run's final model turn was cut off ({@link CutOffTurn}), the
|
|
346
|
+
* agent raised NO in-band STOP sentinel, AND the work branch is empty; else
|
|
347
|
+
* `undefined` (the caller proceeds to its usual STOP resolution / gate).
|
|
348
|
+
*
|
|
349
|
+
* Only a NORMAL end of turn may reach the empty-diff backstop: that route reads
|
|
350
|
+
* an empty diff as the agent's deliberate "nothing to build" and surfaces a
|
|
351
|
+
* DISPOSE-defaulted question, which for a truncated turn puts a real, unbuilt
|
|
352
|
+
* task one default answer away from `tasks/cancelled/`. A sentinel still wins
|
|
353
|
+
* (the agent DID report a deliberate STOP), and a non-empty diff still goes to
|
|
354
|
+
* the gate (the gate, not the stop reason, judges built work). Shared by `do`
|
|
355
|
+
* (in-place and remote, hence the CI agent phase) and `run` so every path with
|
|
356
|
+
* the empty-diff backstop applies the same rule.
|
|
357
|
+
*/
|
|
358
|
+
export async function resolveCutOffTurnFailure(params) {
|
|
359
|
+
const { cutOffTurn, output, slug, cwd, arbiter, env } = params;
|
|
360
|
+
if (cutOffTurn === undefined) {
|
|
361
|
+
return undefined;
|
|
362
|
+
}
|
|
363
|
+
if (parseStopSentinel(output) !== undefined) {
|
|
364
|
+
return undefined;
|
|
365
|
+
}
|
|
366
|
+
if (!(await isWorkBranchDiffEmpty({ cwd, arbiter, env }))) {
|
|
367
|
+
return undefined;
|
|
368
|
+
}
|
|
369
|
+
return cutOffTurnFailureDetail(slug, cutOffTurn);
|
|
370
|
+
}
|
|
309
371
|
/**
|
|
310
372
|
* The DISPOSE-DEFAULTED disposition question the empty-diff bounce path surfaces
|
|
311
373
|
* as its engine-authored envelope entry (spec resolved decision #2). The engine
|
package/dist/agent-stop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-stop.js","sourceRoot":"","sources":["../src/agent-stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-stop.js","sourceRoot":"","sources":["../src/agent-stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type SidecarEntry } from './sidecar.js';
|
|
2
1
|
import { type IntegrationCoreResult } from './integration-core.js';
|
|
3
2
|
import type { VerifyConfig } from './verify.js';
|
|
4
3
|
/**
|
|
@@ -43,9 +42,9 @@ import type { VerifyConfig } from './verify.js';
|
|
|
43
42
|
* "HONOUR the prior approval + land on a green re-verify" path; opt-in
|
|
44
43
|
* `strictMergeApproval` (resolved per-repo via the gate-family precedence chain
|
|
45
44
|
* by the sibling task `strict-merge-approval-gate`, default OFF) RE-SURFACES
|
|
46
|
-
* the merge-question instead of landing when
|
|
47
|
-
*
|
|
48
|
-
* in both modes.
|
|
45
|
+
* the merge-question instead of landing when `main`'s code moved since the
|
|
46
|
+
* question was asked (its recorded `askedAtMain`; see `approvedBaseMoved`).
|
|
47
|
+
* The RED-re-verify refusal is unchanged in both modes.
|
|
49
48
|
*
|
|
50
49
|
* House-style boundary: this module is the DETERMINISTIC DISPATCH LAYER. It
|
|
51
50
|
* does NOT re-implement rebase / verify / integrate (it drives the EXISTING
|
|
@@ -56,31 +55,8 @@ import type { VerifyConfig } from './verify.js';
|
|
|
56
55
|
* they assert on EXTERNAL behaviour (what lands on `main`, what routes to
|
|
57
56
|
* needs-attention, that `verify` ran on the rebased tip).
|
|
58
57
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
/** A detected, answer-driven merge-action keyed off ONE answered `kind: merge` entry. */
|
|
62
|
-
export interface DetectedMergeAction {
|
|
63
|
-
/** The deterministic verb parsed from the entry's answer text. */
|
|
64
|
-
verb: MergeActionVerb;
|
|
65
|
-
/** The answered `kind: merge` entry the verb came from. */
|
|
66
|
-
entry: SidecarEntry;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Parse the human's plain free-text answer into the deterministic
|
|
70
|
-
* {@link MergeActionVerb}. The merge-question surfacer renders
|
|
71
|
-
* `merge | hold | drop` in the entry's `default` as a human-readable hint, so
|
|
72
|
-
* the human typically types one of those words verbatim. We accept any text
|
|
73
|
-
* whose first whole word (case-insensitive) is one of `merge` / `hold` / `drop`
|
|
74
|
-
* — this is the same machine-parseable choice shape the surfacer's applied
|
|
75
|
-
* answer q1 documents ("a DETERMINISTIC CHOICE shape … the human picks and the
|
|
76
|
-
* system parses unambiguously").
|
|
77
|
-
*
|
|
78
|
-
* Returns `undefined` on ANYTHING else (an empty answer, a typo, a long
|
|
79
|
-
* narrative without one of the three words at the start) so the caller can
|
|
80
|
-
* route the ambiguity HONESTLY — never default-to-merge on a malformed answer,
|
|
81
|
-
* which would invent a land the human did not authorise.
|
|
82
|
-
*/
|
|
83
|
-
export declare function parseMergeAnswer(text: string): MergeActionVerb | undefined;
|
|
58
|
+
export { answeredMergeActionIn, parseMergeAnswer, type DetectedMergeAction, type MergeActionVerb, } from './merge-answer.js';
|
|
59
|
+
import { type DetectedMergeAction } from './merge-answer.js';
|
|
84
60
|
/**
|
|
85
61
|
* Detect the `kind: merge` action verb that should drive the next apply run.
|
|
86
62
|
* The apply rung's pre-decider kind-check; returns `undefined` when there is
|
|
@@ -135,8 +111,8 @@ export interface MergeActionInput {
|
|
|
135
111
|
* `strictMergeApproval` (resolved per-repo by the sibling task
|
|
136
112
|
* `strict-merge-approval-gate`; default OFF). OFF ⇒ honour the prior answer
|
|
137
113
|
* + land on a green re-verify (the cheap default). ON ⇒ re-surface the
|
|
138
|
-
* merge-question when
|
|
139
|
-
*
|
|
114
|
+
* merge-question when `main`'s code moved since the question was asked
|
|
115
|
+
* (don't land; the apply rung folds this into a re-pause).
|
|
140
116
|
*/
|
|
141
117
|
strictMergeApproval?: boolean;
|
|
142
118
|
/** Bounded recovery-rebase retry knob (mirrors the build path). */
|
|
@@ -165,9 +141,9 @@ export type MergeActionOutcome =
|
|
|
165
141
|
*/
|
|
166
142
|
| 'refused'
|
|
167
143
|
/**
|
|
168
|
-
* `answer=merge` + `strictMergeApproval` ON +
|
|
169
|
-
*
|
|
170
|
-
*
|
|
144
|
+
* `answer=merge` + `strictMergeApproval` ON + `main`'s code moved since the
|
|
145
|
+
* question was asked: the dispatcher RE-SURFACES the merge-question (the
|
|
146
|
+
* apply rung appends a fresh follow-up asked at the new `main` + re-pauses).
|
|
171
147
|
*/
|
|
172
148
|
| 'restale'
|
|
173
149
|
/** `answer=hold` ⇒ no land; the apply rung records the answer in body as usual. */
|
|
@@ -186,6 +162,12 @@ export interface MergeActionResult {
|
|
|
186
162
|
* `already-integrated`, …), so callers can branch on it.
|
|
187
163
|
*/
|
|
188
164
|
integration?: IntegrationCoreResult;
|
|
165
|
+
/**
|
|
166
|
+
* On `restale`: the arbiter `main` the approval was found stale against. The
|
|
167
|
+
* apply rung records it as the re-surfaced question's `askedAtMain`, so a
|
|
168
|
+
* re-answer while `main` stays put lands (no re-stale livelock).
|
|
169
|
+
*/
|
|
170
|
+
main?: string;
|
|
189
171
|
}
|
|
190
172
|
/**
|
|
191
173
|
* The injectable dispatch SEAM. Production wires {@link performMergeAction}
|
|
@@ -215,4 +197,64 @@ export type MergeActionHandler = (input: MergeActionInput) => Promise<MergeActio
|
|
|
215
197
|
* recorded and a future surfacer / human handles the artifact.)
|
|
216
198
|
*/
|
|
217
199
|
export declare function performMergeAction(input: MergeActionInput): Promise<MergeActionResult>;
|
|
200
|
+
/**
|
|
201
|
+
* What the CI agent job found for an answered `merge` (spec
|
|
202
|
+
* `ci-agent-job-without-write-token` §3, the `apply, kind: merge` row). Each
|
|
203
|
+
* maps to one handoff intent of the `apply` rung:
|
|
204
|
+
*
|
|
205
|
+
* - `integrate`: the rebased tip passed the fresh-worktree gate; the apply job
|
|
206
|
+
* pushes it leased and lands it (`integrate`, the rebased tip bundled);
|
|
207
|
+
* - `restale`: `strictMergeApproval` is on and `main`'s code moved since the
|
|
208
|
+
* question was asked (`merge-restale`; checked before any checkout);
|
|
209
|
+
* - `needs-attention`: a red gate on the rebased tip (the rebased tip bundled)
|
|
210
|
+
* or a rebase conflict (nothing bundled: the kept branch is untouched);
|
|
211
|
+
* - `already-integrated`: the kept tip is already on `main`; nothing to land
|
|
212
|
+
* (the lock job's `needsAgent: false` covers this case, so here it means the
|
|
213
|
+
* branch landed between the lock job and this one).
|
|
214
|
+
*/
|
|
215
|
+
export type MergeLandPreparation = {
|
|
216
|
+
kind: 'integrate';
|
|
217
|
+
repo: string;
|
|
218
|
+
workBranch: string;
|
|
219
|
+
tip: string;
|
|
220
|
+
} | {
|
|
221
|
+
kind: 'restale';
|
|
222
|
+
message: string;
|
|
223
|
+
main: string;
|
|
224
|
+
} | {
|
|
225
|
+
kind: 'needs-attention';
|
|
226
|
+
reason: string;
|
|
227
|
+
questions?: string[];
|
|
228
|
+
/** The rebased (red) tip to publish, when there is one. */
|
|
229
|
+
bundle?: {
|
|
230
|
+
repo: string;
|
|
231
|
+
workBranch: string;
|
|
232
|
+
};
|
|
233
|
+
} | {
|
|
234
|
+
kind: 'already-integrated';
|
|
235
|
+
message: string;
|
|
236
|
+
};
|
|
237
|
+
/** A {@link MergeLandPreparation} and the job worktree it lives in. */
|
|
238
|
+
export interface PreparedMergeLand {
|
|
239
|
+
preparation: MergeLandPreparation;
|
|
240
|
+
/** Remove the job worktree; call it once the handoff (and its bundle) is written. */
|
|
241
|
+
dispose(): void;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The AGENT half of the answered-merge land, for the CI agent job, which holds a
|
|
245
|
+
* read-only token: the SAME optional `strictMergeApproval` re-stale check
|
|
246
|
+
* (before the checkout), checkout ({@link createJob}), rebase and
|
|
247
|
+
* fresh-worktree gate (`prepare` +
|
|
248
|
+
* `verify` run the branch's code) as {@link performMergeAction}, but nothing is
|
|
249
|
+
* written to the arbiter. The continue rebase stays local (decision 7,
|
|
250
|
+
* `localContinue`), and `performIntegration` runs under the phase recorder, so
|
|
251
|
+
* its first write (the land, or the needs-attention route of a red gate) halts
|
|
252
|
+
* it and names what the apply job performs. Only an answered `merge` gets here
|
|
253
|
+
* (`hold` / `drop` need no agent job).
|
|
254
|
+
*
|
|
255
|
+
* The caller writes the handoff from the returned preparation (a bundle reads
|
|
256
|
+
* the job worktree) and then calls `dispose`. Throws when the checkout itself
|
|
257
|
+
* fails (the agent job then fails, and the apply job surfaces the item).
|
|
258
|
+
*/
|
|
259
|
+
export declare function prepareMergeLand(answered: MergeActionInput): Promise<PreparedMergeLand>;
|
|
218
260
|
//# sourceMappingURL=apply-merge-action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-merge-action.d.ts","sourceRoot":"","sources":["../src/apply-merge-action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply-merge-action.d.ts","sourceRoot":"","sources":["../src/apply-merge-action.ts"],"names":[],"mappings":"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"}
|