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
|
@@ -16,23 +16,24 @@
|
|
|
16
16
|
* This module locates + reads that template and STRUCTURALLY VALIDATES it. The
|
|
17
17
|
* package depends on NO YAML library (see `frontmatter.ts` for the same
|
|
18
18
|
* constraint), so {@link validateAdvanceCiTemplate} checks the small set of
|
|
19
|
-
* invariants the
|
|
19
|
+
* invariants the acceptance criteria require directly:
|
|
20
20
|
*
|
|
21
|
-
* - triggers on a CRON schedule AND on-answer-committed (a push
|
|
22
|
-
* `work/questions/**`);
|
|
23
|
-
* -
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
21
|
+
* - triggers on a CRON schedule AND on-answer-committed (a push to `main`
|
|
22
|
+
* touching `work/questions/**`);
|
|
23
|
+
* - THE SPLIT (spec `ci-agent-job-without-write-token`, ADR
|
|
24
|
+
* `ci-agent-job-holds-no-write-token`, task `ci-split-generate-workflows`):
|
|
25
|
+
* the tick runs NO agent. `enumerate` lists the items via the pool scan
|
|
26
|
+
* (`dorfl scan --json`), and a `dispatch` job holding `actions: write` ONLY
|
|
27
|
+
* (no checkout, no setup) starts one `dorfl-item-dispatch.yml` run per item,
|
|
28
|
+
* which calls `dorfl-item.yml` (lock, agent, apply). No matrix: one item per
|
|
29
|
+
* workflow run, so no item shares another's artifact namespace;
|
|
30
|
+
* - the dispatch input is `integrationMode` (ONE word, ONE meaning): the
|
|
31
|
+
* `dispatch` job forwards it to every item run, which passes it to
|
|
32
|
+
* `advance` as `--propose`/`--merge`, so they cannot desync. In merge mode
|
|
33
|
+
* the LAND tail is serialised by the engine's `mergeRetries` CAS-retry loop
|
|
34
|
+
* in the item's apply job (the git-alone floor), NOT by a workflow
|
|
35
|
+
* `concurrency:` group; a lost CAS re-runs the rebase and the push only,
|
|
36
|
+
* never the gate (decision 2), and the apply phase reports it;
|
|
36
37
|
* - it references the EXISTING `advance` driver only (no new execution model);
|
|
37
38
|
* - it is a `.template` (so it never self-triggers in THIS repo).
|
|
38
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-ci-template.d.ts","sourceRoot":"","sources":["../src/advance-ci-template.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"advance-ci-template.d.ts","sourceRoot":"","sources":["../src/advance-ci-template.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,yDAAyD;AACzD,MAAM,WAAW,wBAAwB;IACxC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,2BAA2B;IAC3C,kEAAkE;IAClE,EAAE,EAAE,OAAO,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA2BtE;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,MAAM,GACV,2BAA2B,CAiG7B"}
|
|
@@ -46,65 +46,54 @@ export function validateAdvanceCiTemplate(text) {
|
|
|
46
46
|
// --- Triggers: cron AND on-answer-committed ---------------------------------
|
|
47
47
|
require('trigger-cron', /\bschedule:\s*[\s\S]*?-\s*cron:/.test(text), 'must trigger on a cron schedule (`on.schedule[].cron`).');
|
|
48
48
|
require('trigger-on-answer-committed', /\bpush:\s*[\s\S]*?paths:[\s\S]*?work\/questions\//.test(text), 'must trigger on-answer-committed (a push touching `work/questions/**`).');
|
|
49
|
-
// ---
|
|
50
|
-
require('
|
|
51
|
-
require('propose-enumerates-via-scan', /dorfl scan --json/.test(text), 'the matrix items must be ENUMERATED via the mirror-side pool scan ' +
|
|
49
|
+
// --- The pool scan enumerates the items ------------------------------------
|
|
50
|
+
require('enumerates-via-scan', /dorfl scan --json/.test(text), 'the items must be ENUMERATED via the mirror-side pool scan ' +
|
|
52
51
|
'(`dorfl scan --json`).');
|
|
53
|
-
// The `enumerate` `jq` must UNION taskable prds into the
|
|
52
|
+
// The `enumerate` `jq` must UNION taskable prds into the item list
|
|
54
53
|
// (`ci-propose-matrix-must-enumerate-sliceable-prds-not-only-slices`): a
|
|
55
|
-
// task-only `jq` would render `DORFL_AUTO_TASK` dead on the hourly
|
|
56
|
-
// cron — a ready ungated SPEC would never become a matrix leg. The `jq` must
|
|
57
|
-
// read `scan --json`'s taskable-SPEC pool (`repos[].specs[]` + `cwd.repo.specs[]`)
|
|
58
|
-
// and emit `spec:<slug>` legs alongside the `task:<slug>` legs.
|
|
54
|
+
// task-only `jq` would render `DORFL_AUTO_TASK` dead on the hourly cron.
|
|
59
55
|
require('propose-enumerates-taskable-specs', /"spec:" \+ \.slug/.test(text) &&
|
|
60
|
-
/\.specs\[\]/.test(text), 'the
|
|
61
|
-
"
|
|
56
|
+
/\.specs\[\]/.test(text), 'the `enumerate` `jq` must union taskable specs into the item list as ' +
|
|
57
|
+
"`spec:<slug>` ids (read from `scan --json`'s `repos[].specs[]` " +
|
|
62
58
|
'+ `cwd.repo.specs[]` pools), so a ready ungated SPEC becomes one auto-task ' +
|
|
63
|
-
'
|
|
59
|
+
'item run alongside the eligible-task items ' +
|
|
64
60
|
'(`ci-propose-matrix-must-enumerate-sliceable-prds-not-only-slices`).');
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
'
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// The
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
require('
|
|
94
|
-
|
|
95
|
-
'dispatch mode).');
|
|
96
|
-
// The merge fan-out is the SAFETY-FLOOR shape: no `concurrency:` group on the
|
|
97
|
-
// `advance-merge:` job, because a GitHub Actions `concurrency:` serialiser
|
|
98
|
-
// would be load-bearing for cross-job land safety, and the floor must work on
|
|
99
|
-
// a bare arbiter with no host (Applied Answer q1: scaled CAS-retry is the
|
|
100
|
-
// floor; the portable cross-job ref-lock is the planned accelerator; GitHub
|
|
101
|
-
// `concurrency:` is OPTIONAL host sugar only, deliberately not used here).
|
|
102
|
-
require('merge-no-host-concurrency-serialiser', !/advance-merge:[\s\S]*?\n\s{4}concurrency:/.test(text), 'the `merge` job must NOT carry a `concurrency:` group: a host-specific ' +
|
|
103
|
-
'serialiser would make the cross-job land safety depend on a GitHub Actions ' +
|
|
104
|
-
"feature; the engine's `mergeRetries` CAS-retry loop is the git-alone " +
|
|
105
|
-
'floor.');
|
|
61
|
+
// --- THE SPLIT: one dorfl-item run per item, dispatched, never a matrix -----
|
|
62
|
+
require('no-matrix', !/\bstrategy:\s*[\s\S]*?matrix:/.test(text), 'no job may use a `strategy.matrix`: one item per workflow run (a matrix ' +
|
|
63
|
+
'shares one artifact namespace across items; decision 1 of ADR ' +
|
|
64
|
+
'ci-agent-job-holds-no-write-token).');
|
|
65
|
+
require('dispatches-item-runs', /gh workflow run dorfl-item-dispatch\.yml\b/.test(text), 'the `dispatch` job must start one `dorfl-item-dispatch.yml` run per item ' +
|
|
66
|
+
'(which calls dorfl-item.yml: lock, agent, apply).');
|
|
67
|
+
require('dispatch-actions-write-only', /\n {2}dispatch:[\s\S]*?\n {4}permissions:\s*\n {6}actions: write\s*\n {4}steps:/.test(text), 'the `dispatch` job must hold `actions: write` and nothing else.');
|
|
68
|
+
const dispatchJob = /\n {2}dispatch:[\s\S]*?(?=\n {2}[#\w]|$)/.exec(text)?.[0] ?? '';
|
|
69
|
+
require('dispatch-no-checkout-no-setup', dispatchJob !== '' &&
|
|
70
|
+
!/uses:/.test(dispatchJob), 'the `dispatch` job must have NO checkout and NO setup (no repository ' +
|
|
71
|
+
'code runs next to `actions: write`).');
|
|
72
|
+
// ONE word: the dispatch job forwards `integrationMode` to every item run,
|
|
73
|
+
// which passes it to `advance` as `--propose`/`--merge`.
|
|
74
|
+
require('dispatch-forwards-integration-mode', /-f "integrationMode=\$\{INTEGRATION_MODE\}"/.test(text) &&
|
|
75
|
+
/INTEGRATION_MODE: \$\{\{ github\.event\.inputs\.integrationMode \|\| 'propose' \}\}/.test(text), 'the `dispatch` job must forward the `integrationMode` dispatch input ' +
|
|
76
|
+
"(default `propose`) to each item run, so the items' integration mode is " +
|
|
77
|
+
'TIED to the tick.');
|
|
78
|
+
require('dispatch-slot', /-f "slot=\$\{slot\}"/.test(text), 'the `dispatch` job must give each item run a parallelism slot.');
|
|
79
|
+
require('dispatch-skips-active-runs', /gh run list[^\n]*--workflow dorfl-item-dispatch\.yml[^\n]*displayTitle,status/.test(text), 'the `dispatch` job must skip an item whose `dorfl-item <item>` run is ' +
|
|
80
|
+
'not completed yet.');
|
|
81
|
+
// The item id may be hand-written, so it must reach the shell as DATA through
|
|
82
|
+
// `env:`, never as `${{ }}` text spliced into the `run:` script.
|
|
83
|
+
require('items-not-spliced-into-run', !/gh workflow run[^\n]*\$\{\{/.test(text), 'the items must reach the dispatch script through `env:`, never as ' +
|
|
84
|
+
'`${{ }}` text in the `run:` script (script injection).');
|
|
85
|
+
// No host-specific serialiser on the land: a workflow-level `concurrency:`
|
|
86
|
+
// group keyed on main would be load-bearing for cross-run land safety, which
|
|
87
|
+
// the git-alone floor forbids (the slot groups live on the item runs and
|
|
88
|
+
// only cap the parallelism).
|
|
89
|
+
require('permissions-empty', /^permissions: \{\}$/m.test(text), 'the workflow must grant nothing at workflow level (`permissions: {}`).');
|
|
90
|
+
require('push-pinned-to-main', /\bpush:\s*\n\s+(?:#[^\n]*\n\s+)*branches:\s*\n\s+-\s*main\b/.test(text), 'the on-answer-committed `push` trigger must be pinned to `main`.');
|
|
106
91
|
// --- It only INVOKES the existing `advance` driver (no new execution model) --
|
|
107
|
-
|
|
92
|
+
// The driver runs inside the per-item workflow: the template names it in the
|
|
93
|
+
// comments and must not run any agent verb itself.
|
|
94
|
+
require('invokes-advance-driver', /\badvance\b/.test(text) &&
|
|
95
|
+
!/^\s*[^#\n]*dorfl (?:advance|do|intake|run)\b/m.test(text), 'the workflow must reach the existing `advance` driver through the ' +
|
|
96
|
+
'per-item workflow, and run no agent verb itself.');
|
|
108
97
|
return { ok: problems.length === 0, problems };
|
|
109
98
|
}
|
|
110
99
|
//# sourceMappingURL=advance-ci-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-ci-template.js","sourceRoot":"","sources":["../src/advance-ci-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"advance-ci-template.js","sourceRoot":"","sources":["../src/advance-ci-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type AdvanceContext, type AdvanceResult, type AdvanceExitCode, type AdvanceOutcome } from './advance.js';
|
|
2
2
|
import { type LedgerReadStrategy } from './ledger-read.js';
|
|
3
3
|
import type { LifecyclePoolGates } from './lifecycle-pools.js';
|
|
4
|
+
import { type MergeQuestionTickOptions, type MergeQuestionTickResult } from './merge-question-tick.js';
|
|
4
5
|
import type { Config } from './config.js';
|
|
5
6
|
import type { ConfigOverrideMap } from './config-override.js';
|
|
6
7
|
/**
|
|
@@ -94,6 +95,13 @@ export interface PerformAdvanceMultiOptions extends SharedAdvanceContext {
|
|
|
94
95
|
* this same hook to exercise the triage/surface paths.
|
|
95
96
|
*/
|
|
96
97
|
lifecycleGates?: LifecyclePoolGates;
|
|
98
|
+
/**
|
|
99
|
+
* The merge-question pass the bare/`-n` form runs BEFORE it selects (task
|
|
100
|
+
* `wire-merge-questions-into-the-advance-tick`), gated by
|
|
101
|
+
* `config.mergeQuestions`. Defaults to {@link runMergeQuestionTick}; tests
|
|
102
|
+
* inject a stub, or `false` to skip it.
|
|
103
|
+
*/
|
|
104
|
+
mergeQuestionTick?: ((options: MergeQuestionTickOptions) => Promise<MergeQuestionTickResult>) | false;
|
|
97
105
|
}
|
|
98
106
|
/** The aggregate result of a multi-item `advance` invocation. */
|
|
99
107
|
export interface AdvanceMultiResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-drivers.d.ts","sourceRoot":"","sources":["../src/advance-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"advance-drivers.d.ts","sourceRoot":"","sources":["../src/advance-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,MAAM,cAAc,CAAC;AAStB,OAAO,EAAa,KAAK,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAQrE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAEN,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GAAG,CAC/B,OAAO,EAAE,kBAAkB,KACvB,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,yEAAyE;AACzE,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC1B;AAED,sEAAsE;AACtE,KAAK,oBAAoB,GAAG,cAAc,CAAC;AAE3C,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACvE;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,qFAAqF;IACrF,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;;OAKG;IACH,iBAAiB,CAAC,EACf,CAAC,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC,GACzE,KAAK,CAAC;CACT;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IAClC,kEAAkE;IAClE,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CAChB;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,0BAA0B,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAiH7B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,0BAA0B,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAU7B;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,iCAAiC,CACtD,OAAO,EAAE,kBAAkB,EAC3B,GAAG,EAAE,iBAAiB,GACpB,OAAO,CAAC,aAAa,CAAC,CAqBxB;AAiDD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAIhE;AAED,YAAY,EAAC,cAAc,EAAC,CAAC"}
|
package/dist/advance-drivers.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { performAdvance, } from './advance.js';
|
|
2
|
-
import {
|
|
2
|
+
import { TREELESS_RUNGS } from './advance-treeless-publish.js';
|
|
3
|
+
import { refWrite } from './ref-write.js';
|
|
3
4
|
import { scanRepoPaths } from './scan.js';
|
|
4
|
-
import { heldTaskSlugs, heldSpecSlugs } from './item-lock.js';
|
|
5
|
+
import { heldTaskSlugs, heldSpecSlugs, proposeKeptTaskSlugs, } from './item-lock.js';
|
|
5
6
|
import { ledgerRead } from './ledger-read.js';
|
|
6
7
|
import { selectPrioritised, taskableSpecs, } from './select-priority.js';
|
|
7
8
|
import { gatherLifecycleInPlace } from './lifecycle-gather.js';
|
|
9
|
+
import { runMergeQuestionTick, } from './merge-question-tick.js';
|
|
8
10
|
/**
|
|
9
11
|
* The task-pool caps for an in-place `advance` selection. `advance` (one-shot) is
|
|
10
12
|
* per-repo + SEQUENTIAL, so the REAL bound is the requested `count`. We cap the
|
|
@@ -33,6 +35,24 @@ export async function performAdvanceAuto(options) {
|
|
|
33
35
|
const note = options.note ?? (() => { });
|
|
34
36
|
const cwd = options.cwd;
|
|
35
37
|
const count = options.count ?? 1;
|
|
38
|
+
// The MERGE-QUESTION pass (task `wire-merge-questions-into-the-advance-tick`):
|
|
39
|
+
// ask about every unmerged work branch with no open PR and no live build,
|
|
40
|
+
// behind `mergeQuestions` (`off` skips it). Deterministic, no agent. It runs
|
|
41
|
+
// BEFORE selection so an answer committed since the last tick is not raced
|
|
42
|
+
// by a fresh question, and it publishes like a tree-less rung (only with an
|
|
43
|
+
// arbiter configured; a no-arbiter checkout sits on the real `main`).
|
|
44
|
+
if (options.mergeQuestionTick !== false) {
|
|
45
|
+
const tick = options.mergeQuestionTick ?? runMergeQuestionTick;
|
|
46
|
+
const pass = await tick({
|
|
47
|
+
cwd,
|
|
48
|
+
arbiter: options.arbiter ?? 'origin',
|
|
49
|
+
mergeQuestions: options.config.mergeQuestions,
|
|
50
|
+
publish: options.arbiter !== undefined,
|
|
51
|
+
note,
|
|
52
|
+
});
|
|
53
|
+
if (pass.ran || pass.failed)
|
|
54
|
+
note(pass.message);
|
|
55
|
+
}
|
|
36
56
|
// Held-slug subtraction (task
|
|
37
57
|
// `in-place-scan-subtracts-held-locked-slugs-from-propose-matrix`): read the
|
|
38
58
|
// coordination arbiter's held task-lock refs and pass them into `scanRepoPaths`
|
|
@@ -84,6 +104,9 @@ export async function performAdvanceAuto(options) {
|
|
|
84
104
|
// Subtract held task slugs from the triage/surface/apply candidate inputs,
|
|
85
105
|
// symmetric to Pool 1's `scoreItems` subtraction above.
|
|
86
106
|
heldSlugs,
|
|
107
|
+
// ...except an answered `merge` on a lock a finished propose build keeps,
|
|
108
|
+
// whose apply takes that lock over (decision 6).
|
|
109
|
+
proposeKeptSlugs: await proposeKeptTaskSlugs(cwd, options.arbiter),
|
|
87
110
|
});
|
|
88
111
|
// Order across the (up to) FIVE pools per the resolved `selectionOrder` (apply
|
|
89
112
|
// pinned first) + bound by count — the SAME shared, pure `selectPrioritised` the
|
|
@@ -190,7 +213,7 @@ export async function runAdvanceTickWithTreelessPublish(options, run) {
|
|
|
190
213
|
result.rung !== undefined &&
|
|
191
214
|
TREELESS_RUNGS.has(result.rung) &&
|
|
192
215
|
options.arbiter !== undefined) {
|
|
193
|
-
await
|
|
216
|
+
await refWrite.publishTreelessResult({
|
|
194
217
|
cwd: options.cwd,
|
|
195
218
|
arbiter: options.arbiter,
|
|
196
219
|
// Large liveness ceiling — see `pushTreelessResult`'s C2 docs (task
|
|
@@ -230,7 +253,8 @@ function argForSelectedItem(item) {
|
|
|
230
253
|
}
|
|
231
254
|
/** Strip the multi-only fields, leaving exactly the per-item {@link AdvanceContext}. */
|
|
232
255
|
function sharedAdvanceContext(options) {
|
|
233
|
-
const { config: _config, count: _count, run: _run, read: _read, lifecycleGates: _lifecycleGates, ...rest } = options;
|
|
256
|
+
const { config: _config, count: _count, run: _run, read: _read, lifecycleGates: _lifecycleGates, mergeQuestionTick: _mergeQuestionTick, ...rest } = options;
|
|
257
|
+
void _mergeQuestionTick;
|
|
234
258
|
void _config;
|
|
235
259
|
void _count;
|
|
236
260
|
void _run;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-drivers.js","sourceRoot":"","sources":["../src/advance-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,GAKd,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"advance-drivers.js","sourceRoot":"","sources":["../src/advance-drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,GAKd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EACN,aAAa,EACb,aAAa,EACb,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACN,iBAAiB,EACjB,aAAa,GAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACN,oBAAoB,GAGpB,MAAM,0BAA0B,CAAC;AA+HlC;;;;;GAKG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,OAAmC;IAEnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,cAAc,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IAEjC,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,sEAAsE;IACtE,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;YACvB,GAAG;YACH,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;YACpC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,SAAS;YACtC,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,8BAA8B;IAC9B,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,6EAA6E;IAC7E,+EAA+E;IAC/E,wEAAwE;IACxE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,yBAAyB;IACzB,uFAAuF;IACvF,qFAAqF;IACrF,kFAAkF;IAClF,oFAAoF;IACpF,uCAAuC;IACvC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5D,0EAA0E;IAC1E,+EAA+E;IAC/E,6EAA6E;IAC7E,8BAA8B;IAC9B,MAAM,MAAM,GAAG,aAAa,CAC3B,CAAC,GAAG,CAAC,EACL,OAAO,CAAC,MAAM,EACd,SAAS,EACT,OAAO,CAAC,QAAQ,CAChB,CAAC;IAEF,4EAA4E;IAC5E,0EAA0E;IAC1E,4CAA4C;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;IACnD,MAAM,cAAc,GAAoB,IAAI,CAAC,KAAK;SAChD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;KAC7B,CAAC,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,aAAa,CAAC;QACnC,UAAU,EAAE,cAAc;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,6EAA6E;IAC7E,kFAAkF;IAClF,6EAA6E;IAC7E,gFAAgF;IAChF,+EAA+E;IAC/E,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACxC,QAAQ,EAAE,GAAG;QACb,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,cAAc;QAC7B,2EAA2E;QAC3E,wDAAwD;QACxD,SAAS;QACT,0EAA0E;QAC1E,iDAAiD;QACjD,gBAAgB,EAAE,MAAM,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;KAClE,CAAC,CAAC;IAEH,+EAA+E;IAC/E,iFAAiF;IACjF,oFAAoF;IACpF,MAAM,QAAQ,GAAG,iBAAiB,CAAC;QAClC,MAAM;QACN,IAAI,EAAE,EAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAC;QAC3D,KAAK,EAAE,aAAa;QACpB,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc;QAC7C,SAAS;QACT,KAAK;KACL,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,8EAA8E;QAC9E,8EAA8E;QAC9E,0DAA0D;QAC1D,MAAM,OAAO,GACZ,sEAAsE;YACtE,2EAA2E,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,OAAO,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAC,CAAC;IAC5C,CAAC;IAED,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,IAAc,EACd,OAAmC;IAEnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,cAAc,CAAC;IAC1C,MAAM,QAAQ,GAAmB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnD,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,IAAI,EAAE,GAAG;QACT,0EAA0E;QAC1E,gFAAgF;QAChF,SAAS,EAAE,MAAe;KAC1B,CAAC,CAAC,CAAC;IACJ,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,qBAAqB,CACnC,QAAwB,EACxB,OAAmC,EACnC,GAAsB,EACtB,OAAgC,EAAE;IAElC,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,iCAAiC,CACrD,EAAC,GAAG,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAC,EACpC,GAAG,CACH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAoB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,OAAO,GACZ,YAAY,OAAO,CAAC,MAAM,QAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACpE,IAAI,EAAE,QAAQ,OAAO,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC;IAC3C,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,OAA2B,EAC3B,GAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IACC,MAAM,CAAC,QAAQ,KAAK,CAAC;QACrB,MAAM,CAAC,IAAI,KAAK,SAAS;QACzB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/B,OAAO,CAAC,OAAO,KAAK,SAAS,EAC5B,CAAC;QACF,MAAM,QAAQ,CAAC,qBAAqB,CAAC;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,oEAAoE;YACpE,wEAAwE;YACxE,yEAAyE;YACzE,sEAAsE;YACtE,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;SAChC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,kBAAkB,CAAC,IAAkB;IAC7C,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;QACtC,OAAO,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,wFAAwF;AACxF,SAAS,oBAAoB,CAC5B,OAAmC;IAEnC,MAAM,EACL,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,eAAe,EAC/B,iBAAiB,EAAE,kBAAkB,EACrC,GAAG,IAAI,EACP,GAAG,OAAO,CAAC;IACZ,KAAK,kBAAkB,CAAC;IACxB,KAAK,OAAO,CAAC;IACb,KAAK,MAAM,CAAC;IACZ,KAAK,IAAI,CAAC;IACV,KAAK,KAAK,CAAC;IACX,KAAK,eAAe,CAAC;IACrB,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0B;IACtD,OAAO,CACN,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAC3E,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-isolated.d.ts","sourceRoot":"","sources":["../src/advance-isolated.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advance-isolated.d.ts","sourceRoot":"","sources":["../src/advance-isolated.ts"],"names":[],"mappings":"AAOA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,aAAa,EAElB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAa,KAAK,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,qFAAqF;AACrF,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;IAC1E;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,+EAA+E;AAC/E,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC5E,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,iBAAiB,CAAC;CACxB;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,6BAA6B,GACpC,OAAO,CAAC,aAAa,CAAC,CAuGxB;AA0BD,+EAA+E;AAC/E,KAAK,qBAAqB,GAAG,sBAAsB,CAAC;AAEpD,MAAM,WAAW,kCAAmC,SAAQ,qBAAqB;IAChF;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,sGAAsG;IACtG,WAAW,CAAC,EAAE,CACb,OAAO,EAAE,6BAA6B,KAClC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,wFAAwF;IACxF,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,0BAA0B,CAC/C,OAAO,EAAE,kCAAkC,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAiE7B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,kCAAkC,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAQ7B"}
|
package/dist/advance-isolated.js
CHANGED
|
@@ -3,7 +3,8 @@ import { dirname, join } from 'node:path';
|
|
|
3
3
|
import { git } from './git.js';
|
|
4
4
|
import { ensureMirror, encodeRepoKey } from './repo-mirror.js';
|
|
5
5
|
import { jobWorktreeDoDriver } from './do.js';
|
|
6
|
-
import {
|
|
6
|
+
import { TREELESS_RUNGS } from './advance-treeless-publish.js';
|
|
7
|
+
import { refWrite } from './ref-write.js';
|
|
7
8
|
import { performAdvance, } from './advance.js';
|
|
8
9
|
import { scanMirrorPool } from './mirror-pool-scan.js';
|
|
9
10
|
import { ledgerRead } from './ledger-read.js';
|
|
@@ -97,7 +98,7 @@ export async function performAdvanceIsolated(options) {
|
|
|
97
98
|
if (result.exitCode === 0 &&
|
|
98
99
|
result.rung !== undefined &&
|
|
99
100
|
TREELESS_RUNGS.has(result.rung)) {
|
|
100
|
-
await
|
|
101
|
+
await refWrite.publishTreelessResult({
|
|
101
102
|
cwd: cloneDir,
|
|
102
103
|
arbiter: arbiterRemoteName,
|
|
103
104
|
// Large liveness ceiling (C2, task `c2-rebase-until-real-on-durable-main-
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-isolated.js","sourceRoot":"","sources":["../src/advance-isolated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EAAC,GAAG,EAAC,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"advance-isolated.js","sourceRoot":"","sources":["../src/advance-isolated.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,38 +17,41 @@
|
|
|
17
17
|
*
|
|
18
18
|
* - the LIFECYCLE rungs (triage observations / surface declared blockers / apply
|
|
19
19
|
* a committed answer), gated by the two calm-default lifecycle gates below;
|
|
20
|
-
* - the on-answer-committed trigger `on: push work/questions
|
|
21
|
-
* the loop promptly when a question
|
|
20
|
+
* - the on-answer-committed trigger `on: push work/questions/**` (on the
|
|
21
|
+
* default branch only), which re-runs the loop promptly when a question
|
|
22
|
+
* sidecar is answered;
|
|
22
23
|
* - (already in the absorbed seed) capability F — the `reap-merged-branches` job
|
|
23
24
|
* (`gc --remote-branches`) on the same `schedule:` cron, opt-out via the
|
|
24
|
-
* `sweepMergedBranches` dispatch input
|
|
25
|
+
* `sweepMergedBranches` dispatch input;
|
|
26
|
+
* - (also in the seed) the no-agent `surface-merge-questions` job (`dorfl
|
|
27
|
+
* surface-merge-questions`, task `wire-merge-questions-into-the-advance-tick`),
|
|
28
|
+
* which asks a merge question for each unmerged work branch with no open PR,
|
|
29
|
+
* behind the `mergeQuestions` config gate.
|
|
25
30
|
*
|
|
26
|
-
*
|
|
31
|
+
* THE SPLIT (spec `ci-agent-job-without-write-token`, ADR
|
|
32
|
+
* `ci-agent-job-holds-no-write-token`, task `ci-split-generate-workflows`): the
|
|
33
|
+
* tick runs NO agent itself. `enumerate` (`contents: read`) lists the eligible
|
|
34
|
+
* items; a `dispatch` job (`actions: write` ONLY, no checkout, no setup) starts
|
|
35
|
+
* one `dorfl-item-dispatch.yml` run per item, which calls `dorfl-item.yml`
|
|
36
|
+
* (lock, agent, apply; `dorfl-item-template.ts`). There is no matrix any more:
|
|
37
|
+
* a matrix would put every item's artifact in one shared namespace (decision 1).
|
|
27
38
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* `
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* matrix (`dorfl scan --json | jq` enumerates one leg per eligible id,
|
|
43
|
-
* each leg carries `--propose` so it can NEVER merge to `main`); `merge` ⇒ ALSO
|
|
44
|
-
* a MATRIX (one leg per item; build/gate/review fan out, the LAND tail is
|
|
45
|
-
* serialised by the engine's `mergeRetries` CAS-retry loop — the git-alone
|
|
46
|
-
* floor — NOT by the workflow shape; SPEC
|
|
47
|
-
* `land-time-reverify-and-parallel-merge-ceiling`). This is integration-mode
|
|
48
|
-
* behaviour, IDENTICAL to the build tick (integration mode is
|
|
49
|
-
* verb-independent).
|
|
39
|
+
* The discipline:
|
|
40
|
+
*
|
|
41
|
+
* - CI ALWAYS invokes `advance` (ADR `ci-config-policy-and-gate-family` §1),
|
|
42
|
+
* now inside the per-item workflow. There is NO `autoAdvance` gate.
|
|
43
|
+
* - The two LIFECYCLE gates are ORTHOGONAL peers, both calm by default
|
|
44
|
+
* (`observationTriage` off, `surfaceBlockers` false). Applying a committed
|
|
45
|
+
* answer has NO gate.
|
|
46
|
+
* - ONE word `integrationMode` drives the `--propose`/`--merge` flag every
|
|
47
|
+
* item run passes (the `dispatch` job forwards it). In merge mode the LAND
|
|
48
|
+
* tail (rebase + CAS push to `main`) is serialised by the engine's
|
|
49
|
+
* `mergeRetries` CAS-retry loop in the apply job, NOT by the workflow
|
|
50
|
+
* shape; a lost CAS re-runs the rebase and the push only, never the gate
|
|
51
|
+
* (decision 2), and the apply phase reports every land whose tree differs
|
|
52
|
+
* from the gated one.
|
|
50
53
|
* - CI runs IN-PLACE (the CI container IS the isolation): no
|
|
51
|
-
* `--isolated`/`--remote`/registry. A
|
|
54
|
+
* `--isolated`/`--remote`/registry. A per-ref concurrency group prevents
|
|
52
55
|
* overlapping ticks; the claim CAS is the real cross-run serialiser.
|
|
53
56
|
* - All invocations use explicit slug prefixes (`task:`/`spec:`), never bare
|
|
54
57
|
* (ADR `command-surface-and-journeys` §3a).
|
|
@@ -66,22 +69,20 @@ export declare const ADVANCE_LIFECYCLE_CAPABILITY_ID = "advance-lifecycle";
|
|
|
66
69
|
export declare const ADVANCE_LIFECYCLE_CAPABILITY_LABEL = "Auto-triage observations + surface declared blockers + apply committed answers (the advance lifecycle loop: cron + dispatch + on-answer-committed)";
|
|
67
70
|
/** The repo-relative path (under the output base) of the emitted workflow. */
|
|
68
71
|
export declare const ADVANCE_LIFECYCLE_WORKFLOW_PATH = "workflows/advance-lifecycle.yml";
|
|
72
|
+
/**
|
|
73
|
+
* The `dispatch` job's shell (a `run: |` body, 10-space indented): list the
|
|
74
|
+
* `dorfl-item-dispatch.yml` runs that are not completed, then start one run per
|
|
75
|
+
* item of `ITEMS` (slot = index mod `MAX_PARALLEL`), skipping an item whose
|
|
76
|
+
* `dorfl-item <item>` run is still queued, pending or in progress. Every value
|
|
77
|
+
* arrives through `env:`; it prints one line per item (dispatched or skipped).
|
|
78
|
+
* Exported for the template test, which runs it with `gh` stubbed.
|
|
79
|
+
*/
|
|
80
|
+
export declare const DISPATCH_SCRIPT: string;
|
|
69
81
|
/**
|
|
70
82
|
* Generate the advance-lifecycle workflow YAML by PARAMETERISING the seed
|
|
71
83
|
* `docs/ci/advance-loop.yml.template`. Deterministic: the same config produces
|
|
72
|
-
* byte-identical output. The
|
|
73
|
-
*
|
|
74
|
-
* scaffolding) — `config` is accepted for parity with the `CapabilityEmitter` seam
|
|
75
|
-
* and future per-config wiring, but the advance-lifecycle shape itself is
|
|
76
|
-
* config-independent.
|
|
77
|
-
*
|
|
78
|
-
* This is the absorbed seed, with two parameterisations: (1) it wires the SHARED
|
|
79
|
-
* composite setup action (`./.github/actions/dorfl-setup`, emitted by the
|
|
80
|
-
* core task) into every job; (2) it surfaces the engine gate family — including
|
|
81
|
-
* the two calm-default LIFECYCLE gates — as the `DORFL_*` env block, so the
|
|
82
|
-
* out-of-the-box tick asks nothing until the user opts in. The seed's capability-F
|
|
83
|
-
* reap job + `sweepMergedBranches` input are PRESERVED verbatim (NOT stripped); no
|
|
84
|
-
* separate gc-sweep workflow is emitted.
|
|
84
|
+
* byte-identical output. The only config it reads is `maxParallel` (the number
|
|
85
|
+
* of concurrency slots the `dispatch` job spreads the item runs over).
|
|
85
86
|
*/
|
|
86
87
|
export declare function generateAdvanceLifecycleWorkflow(config: ResolvedCIConfig): string;
|
|
87
88
|
/** A single structural problem found in the generated workflow. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-lifecycle-template.d.ts","sourceRoot":"","sources":["../src/advance-lifecycle-template.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"advance-lifecycle-template.d.ts","sourceRoot":"","sources":["../src/advance-lifecycle-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAGH,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAS3D,6EAA6E;AAC7E,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAEnE,oEAAoE;AACpE,eAAO,MAAM,kCAAkC,uJACsG,CAAC;AAEtJ,8EAA8E;AAC9E,eAAO,MAAM,+BAA+B,oCACV,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,QAqBb,CAAC;AAEhB;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC/C,MAAM,EAAE,gBAAgB,GACtB,MAAM,CAqTR;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACvC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,MAAM,WAAW,0BAA0B;IAC1C,kEAAkE;IAClE,EAAE,EAAE,OAAO,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,uBAAuB,EAAE,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC/C,IAAI,EAAE,MAAM,GACV,0BAA0B,CAmT5B"}
|