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
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **The build path split into the three CI phases** (spec
|
|
3
|
+
* `ci-agent-job-without-write-token` §3 build row and §8, ADR
|
|
4
|
+
* `ci-agent-job-holds-no-write-token`, tasks `ci-split-build-path` and
|
|
5
|
+
* `ci-split-build-path-non-integrate-intents`).
|
|
6
|
+
*
|
|
7
|
+
* `advance task:<slug>` / `do <slug>` with `--phase` run ONE of three halves of
|
|
8
|
+
* the one build pipeline (`performDo`), never a second implementation:
|
|
9
|
+
*
|
|
10
|
+
* - **lock** ({@link performBuildLockPhase}): fetch `<arbiter>/main` (its tip
|
|
11
|
+
* is `baseSha`, and the tree the item is classified in, never the run's
|
|
12
|
+
* commit); claim (`acquireItemLock`, `action: implement`); publish
|
|
13
|
+
* `acquired`, `needsAgent`, `rung`, `baseSha`, `lockSha`, `continueTip`,
|
|
14
|
+
* `handoffName` (it carries `github.run_attempt`, so a "Re-run all jobs"
|
|
15
|
+
* attempt never collides with an earlier attempt's artifact) and
|
|
16
|
+
* `agentTimeoutMinutes` (from the config at `baseSha`). An item that is not
|
|
17
|
+
* claimable at `baseSha` (it already advanced, or its lock is held) is a
|
|
18
|
+
* no-op that writes nothing.
|
|
19
|
+
* - **agent** ({@link performBuildAgentPhase}): check, read-only, that the lock
|
|
20
|
+
* ref still equals `lockSha`, then run `performDo` without its claim under
|
|
21
|
+
* the phase recorder: the continue rebase (LOCAL only, decision 7), the
|
|
22
|
+
* build agent, the STOP and deadline detection, the gate, the Gate-2 review,
|
|
23
|
+
* the done-move commit, the local rebase and the fresh-worktree gate run
|
|
24
|
+
* exactly as today, and the pipeline halts at its first write, which names
|
|
25
|
+
* the intent handed over ({@link handOverHalt}):
|
|
26
|
+
* - the land half (`integrationLand.land`): `integrate`, with the
|
|
27
|
+
* work-branch bundle, the PR title and body and the Gate-2 review prose;
|
|
28
|
+
* - a needs-attention bounce (red gate, blocked review, rebase conflict):
|
|
29
|
+
* `needs-attention`, the wip committed locally and bundled;
|
|
30
|
+
* - the deadline checkpoint's branch save: `deadline-checkpoint`, the
|
|
31
|
+
* checkpoint commit bundled;
|
|
32
|
+
* - the agent's deliberate STOP: `stop`; an agent failure: `agent-failed`
|
|
33
|
+
* (both with the wip bundled, when there is any).
|
|
34
|
+
* - **apply** ({@link performBuildApplyPhase}): refuse to write unless the
|
|
35
|
+
* lock ref still equals `lockSha` (so a "Re-run failed jobs" of a finished
|
|
36
|
+
* run writes nothing); act on the agent job's result first (task
|
|
37
|
+
* `ci-split-agent-result-and-reruns`): anything but `success` never reads
|
|
38
|
+
* the handoff, and surfaces the item (failure, timeout, an unexpected skip)
|
|
39
|
+
* or only releases the lock (a real cancel); validate the handoff as hostile
|
|
40
|
+
* (`validateApplyHandoff`); push the handoff's Git LFS objects before any
|
|
41
|
+
* ref, for every intent (decision 6, `pushLfsObjects`); when the lock job saw a kept branch, push the
|
|
42
|
+
* bundle's tip with a lease on that `continueTip` first (decision 7; a
|
|
43
|
+
* stale lease writes nothing); then resume at the write half of the intent:
|
|
44
|
+
* the land half (`landIntegration`, the unchanged compare-and-swap loop, then
|
|
45
|
+
* the review comment), the needs-attention route, `routeDeadlineCheckpoint`
|
|
46
|
+
* (with `maxAutoCheckpoints` from the config at `baseSha`),
|
|
47
|
+
* `saveAgentStop` or `saveAgentFailure`. Every lock release in the apply
|
|
48
|
+
* phase is leased on `lockSha` (`leaseLockReleases`), and the lock is
|
|
49
|
+
* released once the work is durably on `main` (a propose PR keeps it held,
|
|
50
|
+
* exactly as `complete` does today).
|
|
51
|
+
*/
|
|
52
|
+
import { type HandoffRecord } from './ci-handoff-format.js';
|
|
53
|
+
import type { LockOutputs } from './ci-lock-outputs.js';
|
|
54
|
+
import type { AgentJobResult, GithubApiGet } from './ci-agent-result.js';
|
|
55
|
+
import { type DoOptions } from './do.js';
|
|
56
|
+
import { type IntegrationCoreResult } from './integration-core.js';
|
|
57
|
+
import type { Phase } from './phase.js';
|
|
58
|
+
/** The verb a build phase runs under (they classify the argument differently). */
|
|
59
|
+
export type BuildPhaseVerb = 'do' | 'advance';
|
|
60
|
+
/** Options of a build phase run: the `do` pipeline's options plus the phase inputs. */
|
|
61
|
+
export interface BuildPhaseOptions extends DoOptions {
|
|
62
|
+
/** Which of the three jobs this process is. */
|
|
63
|
+
phase: Phase;
|
|
64
|
+
/** `do <slug>` or `advance task:<slug>`. */
|
|
65
|
+
verb: BuildPhaseVerb;
|
|
66
|
+
/**
|
|
67
|
+
* The handoff directory: the agent phase writes the artifact here (it must be
|
|
68
|
+
* empty or absent); the apply phase reads it (it must be under
|
|
69
|
+
* {@link runnerTemp}).
|
|
70
|
+
*/
|
|
71
|
+
handoffDir?: string;
|
|
72
|
+
/** `$RUNNER_TEMP` (the apply phase); defaults to the env's. */
|
|
73
|
+
runnerTemp?: string;
|
|
74
|
+
/** The lock job's outputs (agent / apply); defaults to `DORFL_LOCK_OUTPUTS`. */
|
|
75
|
+
lockOutputs?: LockOutputs;
|
|
76
|
+
/** `github.run_attempt` (the lock phase names the artifact with it); default the env's, else 1. */
|
|
77
|
+
runAttempt?: string;
|
|
78
|
+
/** The `$GITHUB_OUTPUT` file the lock phase appends to; default the env's. */
|
|
79
|
+
githubOutput?: string;
|
|
80
|
+
/** The merge-mode CAS-loop jitter (tests pass 0). */
|
|
81
|
+
mergeJitterMs?: number;
|
|
82
|
+
/**
|
|
83
|
+
* apply: `needs.agent.result` (`--agent-result`), REQUIRED. Only `success`
|
|
84
|
+
* reads the handoff (decision 5, task `ci-split-agent-result-and-reruns`).
|
|
85
|
+
*/
|
|
86
|
+
agentResult?: AgentJobResult;
|
|
87
|
+
/**
|
|
88
|
+
* apply: the agent job's timeout (`--agent-timeout-minutes`, the trusted
|
|
89
|
+
* lock output); defaults to the lock outputs' `agentTimeoutMinutes`.
|
|
90
|
+
*/
|
|
91
|
+
agentTimeoutMinutes?: number;
|
|
92
|
+
/** apply: the Actions API reader (tests stub it); default `fetch` with `GITHUB_TOKEN`. */
|
|
93
|
+
actionsApi?: GithubApiGet;
|
|
94
|
+
}
|
|
95
|
+
/** How a build phase run ended. */
|
|
96
|
+
export type BuildPhaseOutcome =
|
|
97
|
+
/** lock: the item is claimed; the agent phase runs next. */
|
|
98
|
+
'locked'
|
|
99
|
+
/** lock: nothing to do at the arbiter's `main` (not claimable, or not a build). */
|
|
100
|
+
| 'no-op'
|
|
101
|
+
/** lock: another run holds the item's lock. */
|
|
102
|
+
| 'lost'
|
|
103
|
+
/** agent / apply: the lock ref no longer equals `lockSha`; nothing was done. */
|
|
104
|
+
| 'stale-lock'
|
|
105
|
+
/** agent: the handoff was written (see `intent`). */
|
|
106
|
+
| 'handed-over'
|
|
107
|
+
/** apply: the work landed on `main` and the lock was released. */
|
|
108
|
+
| 'landed'
|
|
109
|
+
/** apply: the branch was pushed (and a PR requested); the lock stays held. */
|
|
110
|
+
| 'proposed'
|
|
111
|
+
/** apply: the item was surfaced to needs-attention. */
|
|
112
|
+
| 'surfaced'
|
|
113
|
+
/** apply: surfacing the item did not land on the arbiter (it stays locked). */
|
|
114
|
+
| 'surface-unmoved'
|
|
115
|
+
/** apply: a deadline checkpoint was saved and the lock released to continue. */
|
|
116
|
+
| 'auto-continued'
|
|
117
|
+
/** apply: the agent job was cancelled (not timed out); the lock was only released. */
|
|
118
|
+
| 'released'
|
|
119
|
+
/** apply: the cancelled agent job's leased lock release was refused. */
|
|
120
|
+
| 'release-refused'
|
|
121
|
+
/**
|
|
122
|
+
* apply: the kept work branch moved on the arbiter since the lock job saw it
|
|
123
|
+
* (`continueTip`), so the leased continue push was refused; nothing was written.
|
|
124
|
+
*/
|
|
125
|
+
| 'stale-lease'
|
|
126
|
+
/** apply: the handoff broke a rule; nothing from it was written. */
|
|
127
|
+
| 'rejected'
|
|
128
|
+
/** A usage or environment problem, or a path this task does not split yet. */
|
|
129
|
+
| 'usage-error';
|
|
130
|
+
/** The result of one build phase run. */
|
|
131
|
+
export interface BuildPhaseResult {
|
|
132
|
+
/**
|
|
133
|
+
* The job's exit code: a HANDLED outcome is 0 (a surface that landed, a
|
|
134
|
+
* rejected handoff that was surfaced, a lock lost to another run, a stale
|
|
135
|
+
* lock on a re-run); only an unhandled one is non-zero. See "A handled
|
|
136
|
+
* outcome is green" in `ci-phase-driver.ts`.
|
|
137
|
+
*/
|
|
138
|
+
exitCode: 0 | 1 | 2 | 3;
|
|
139
|
+
outcome: BuildPhaseOutcome;
|
|
140
|
+
/**
|
|
141
|
+
* The result line: the CLI prints it (`>> ` or `error: `), so the phase does
|
|
142
|
+
* NOT also `note` it (each line appears once in the job log).
|
|
143
|
+
*/
|
|
144
|
+
message: string;
|
|
145
|
+
slug?: string;
|
|
146
|
+
/** lock: the facts published. */
|
|
147
|
+
lockOutputs?: LockOutputs;
|
|
148
|
+
/** agent: the handed-over intent kind. */
|
|
149
|
+
intent?: HandoffRecord['intent']['kind'];
|
|
150
|
+
/** apply: the land half's result, when it ran. */
|
|
151
|
+
land?: IntegrationCoreResult;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Run one phase of the build path. The CLI calls this for `do <slug> --phase`
|
|
155
|
+
* and `advance task:<slug> --phase`.
|
|
156
|
+
*/
|
|
157
|
+
export declare function performBuildPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
|
|
158
|
+
/**
|
|
159
|
+
* The lock phase: classify the item at the arbiter's `main`, claim it and
|
|
160
|
+
* publish the trusted facts. Runs no agent and no repository code. An item that
|
|
161
|
+
* already advanced (not claimable at `baseSha`), or whose lock another run
|
|
162
|
+
* holds, is refused BEFORE any write.
|
|
163
|
+
*/
|
|
164
|
+
export declare function performBuildLockPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
|
|
165
|
+
/**
|
|
166
|
+
* The agent phase: after a read-only lock-ownership check, run the build
|
|
167
|
+
* pipeline (`performDo`, without its claim) under the phase recorder, halt at
|
|
168
|
+
* the first write, and write the handoff. Holds a read-only token: it never
|
|
169
|
+
* writes to the arbiter.
|
|
170
|
+
*/
|
|
171
|
+
export declare function performBuildAgentPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
|
|
172
|
+
/**
|
|
173
|
+
* The apply phase: check the lock is still this run's, validate the handoff as
|
|
174
|
+
* hostile, then resume the build at the intent's write half. Runs no agent and
|
|
175
|
+
* no repository code; every write goes through dorfl's seams.
|
|
176
|
+
*/
|
|
177
|
+
export declare function performBuildApplyPhase(options: BuildPhaseOptions): Promise<BuildPhaseResult>;
|
|
178
|
+
//# sourceMappingURL=ci-phase-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-phase-build.d.ts","sourceRoot":"","sources":["../src/ci-phase-build.ts"],"names":[],"mappings":"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"}
|