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/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,OAAO,EAAQ,OAAO,EAAC,MAAM,WAAW,CAAC;AACjD,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EACN,SAAS,EACT,cAAc,EACd,YAAY,EACZ,aAAa,GAEb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,GAAG,EAAiB,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/B,MAAM;QACP,CAAC;IACF,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;YAClD,MAAM;QACP,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAAY,EACZ,GAAY,EACZ,QAAiB;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,wCAAwC;IACxC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,kEAAkE;IAClE,IAAI,GAAG,EAAE,CAAC;QACT,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,UAAU,CAAC,IAAI,CACd,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAC7C,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAC/B,CAAC;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,UAAU,CAAC,IAAI,CACd,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EACpE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAC1E,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,QAAgB;IAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,kEAAkE;IAClE,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,IAAI,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,YAAY,GAAG,CAAC,CAAC;YACjB,MAAM;QACP,CAAC;IACF,CAAC;IACD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,iFAAiF,CACjF,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,CAAC;YACT,MAAM;QACP,CAAC;QACD,qEAAqE;QACrE,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM;QACP,CAAC;IACF,CAAC;IACD,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACd,gFAAgF,CAChF,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,GAAG,CAAC,CAAC;YACV,MAAM;QACP,CAAC;IACF,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,KAAK;SACV,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC;SACtB,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACV,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAClC,QAAgB,EAChB,SAAgC,EAAE;IAElC,MAAM,MAAM,GAA4B;QACvC,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,IAAI;KACpC,CAAC;IACF,OAAO,QAAQ,CAAC,OAAO,CACtB,0FAA0F,EAC1F,CAAC,MAAM,EAAE,MAAc,EAAE,QAAgB,EAAE,UAAkB,EAAE,EAAE;QAChE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACnC,CAAC,CACD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CACtB,IAAY,EACZ,IAAwB,EACxB,UAMI,EAAE;IAEN,MAAM,YAAY,GAAG,kBAAkB,CACtC,mBAAmB,EACnB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,YAAY,CACpB,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAClC,kBAAkB,CACjB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,EACrD,OAAO,CAAC,UAAU,CAClB,EACD,IAAI,EACJ,OAAO,CAAC,GAAG,CACX,CAAC;IACF,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAC1B,QAAgB,EAChB,IAAwB,EACxB,GAAuB;IAEvB,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7E,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,QAAQ;SACb,KAAK,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC;SAClD,IAAI,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CAC1B,QAAgB,EAChB,MAA8B;IAE9B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QACtD,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,QAAQ;SACb,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC;SAC1B,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC;SAC3B,KAAK,CAAC,QAAQ,QAAQ,MAAM,CAAC;SAC7B,IAAI,CAAC,QAAQ,MAAM,MAAM,CAAC,CAAC;AAC9B,CAAC;AAqCD,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAClD,SAAS;QACV,CAAC;QACD,4EAA4E;QAC5E,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,MAAM;YACP,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAetC;IACA,IACC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAC3E,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC;QAC7D,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;KAClD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,SAAiB,EAAE,OAAe;IAC5D,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC;IAC7B,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAoB;IACpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACT,kDAAkD,IAAI,sBAAsB;QAC3E,4BAA4B,GAAG,CAAC,MAAM,sCAAsC;QAC5E,yEAAyE;QACzE,eAAe,GAAG,CAAC,OAAO,WAAW,GAAG,CAAC,MAAM,2BAA2B;QAC1E,2CAA2C,CAC5C,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC/B,IAAY,EACZ,IAAwB,EACxB,UAAkB,EAClB,UAOI,EAAE;IAEN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,OAAO,GAAG,IAAI,OAAO,KAAK,OAAO,UAAU,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,IAAI,OAAO,UAAU,IAAI,CAAC;AACrC,CAAC;AA0CD,gFAAgF;AAChF,MAAM,OAAO,WAAY,SAAQ,KAAK;CAAG;AA6DzC;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,IAA4B;IACtD,MAAM,GAAG,GAAG,GAAG,CACd,KAAK,EACL,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,EAClE,IAAI,CAAC,GAAG,EACR,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CACf,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,CAAC,8DAA8D;IAC7E,CAAC;IACD,8EAA8E;IAC9E,0DAA0D;IAC1D,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CAC1B,GAAW,EACX,IAAY,EACZ,YAAqC,EACrC,OAA4B;IAE5B,MAAM,KAAK,GAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3D,sEAAsE;IACtE,8EAA8E;IAC9E,oEAAoE;IACpE,IAAI,OAAO,EAAE,YAAY,KAAK,IAAI,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IACD,6EAA6E;IAC7E,6EAA6E;IAC7E,wEAAwE;IACxE,IAAI,YAAY,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CACpB,SAAS,IAAI,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,iCAAiC,CACjF,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,2EAA2E;QAC3E,yDAAyD;QACzD,2DAA2D;QAC3D,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,IAAI,WAAW,CAAC,YAAY,IAAI,cAAc,QAAQ,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAClC,GAAW,EACX,GAAuB;IAEvB,MAAM,GAAG,GAAc,GAAG,CACzB,KAAK,EACL,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAC9C,GAAG,EACH,EAAC,GAAG,EAAC,CACL,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CACxC,YAA4B,EAC5B,eAA6B,EAC7B,eAA6B;IAE7B,MAAM,aAAa,GAAG,eAAe,EAAE,cAAc,CAAC,SAAS,CAAC;IAChE,MAAM,aAAa,GAAG,eAAe,EAAE,cAAc,CAAC,SAAS,CAAC;IAChE,OAAO;QACN,SAAS,EAAE,aAAa,IAAI,aAAa,IAAI,YAAY,CAAC,SAAS;KACnE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC3B,GAAW,EACX,QAAgB;IAEhB,MAAM,UAAU,GAAG;QAClB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;QAC1C,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,CAAC;KAC3C,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAI5C;IACA,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,MAA+B,CAAC;IACpC,+EAA+E;IAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IACD,OAAO,yBAAyB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAsB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,WAAW,CACpB,qEAAqE;YACpE,8BAA8B,CAC/B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;QACrD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,YAAY,EAAE,EAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,KAAK,IAAI,EAAC;QACrE,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KAC5C,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;QAC9D,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,cAAc,EAAE,gBAAgB;QAChC,UAAU,EAAE,IAAI,CAAC,MAAM;KACvB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -93,7 +93,7 @@ WORK (only after the lock is held):
|
|
|
93
93
|
|
|
94
94
|
## The land invariant — rebase + re-verify + advance
|
|
95
95
|
|
|
96
|
-
Step 7a's durable `main` move (the LAND) is the mode-agnostic primitive: **fetch current `main` → rebase the work branch onto it → re-run `verify` (and review) on the rebased tree → advance.** A lost CAS
|
|
96
|
+
Step 7a's durable `main` move (the LAND) is the mode-agnostic primitive: **fetch current `main` → rebase the work branch onto it → re-run `verify` (and review) on the rebased tree → advance.** A lost CAS (`main` moved between the gate and the push) re-rebases the work onto the new `main` and retries the push, never a `--force`, never an auto-resolved conflict; it does NOT re-run the gate, so the tree that lands can be one the gate never saw. The CI apply phase reports every land whose tree differs from the gated tree ("landed without re-gate after N lost races", in the run output and as a `Landed-Without-Regate` trailer on the landed commit; ADR `ci-agent-job-holds-no-write-token` decision 2). Merge mode runs it inline at the serialised land; propose mode runs it at the human checkpoint (the propose PR is merged only after the rebased tip re-verifies green). Human review is ADDITIVE (intent/design/security), NEVER a substitute for the re-verify on the rebased tree. The durable _why_ — and the floor/ceiling gradient from bare git to a capable host — lives in ADR `land-primitive-rebase-reverify-advance`.
|
|
97
97
|
|
|
98
98
|
## The prompt handed to the work agent (the `## Prompt` wrapper)
|
|
99
99
|
|
|
@@ -226,6 +226,8 @@ body tasks/ready/ -> work/tasks/done/, transcribing your "## Decisions" block in
|
|
|
226
226
|
that done record, the completion commit, the lock release, and integration.
|
|
227
227
|
```
|
|
228
228
|
|
|
229
|
+
The wrapper names the pool path `work/tasks/ready/<slug>.md` because that is where a normal claim finds the body. When the runner resolved the body from another folder (a staged `work/tasks/backlog/` body under `do --allow-backlog`, or a stranded continue from `work/tasks/done/`), it rewrites those path mentions to the folder it actually read. Likewise the source spec is named at `work/specs/tasked/<spec>.md` once the spec has been tasked. The agent is never pointed at a file that does not exist.
|
|
230
|
+
|
|
229
231
|
The "no git" line is **in-band** in the prompt (not delegated to a host config like a global `AGENTS.md`): a portable runner cannot assume the target machine has any such rule, so the boundary travels with the prompt. This keeps the acceptance-test gate authoritative (the agent can't commit/merge around it) and the runner the single owner of git state.
|
|
230
232
|
|
|
231
233
|
## Completed-task commit message
|
|
@@ -125,7 +125,7 @@ This is the ASYMMETRY between the two regimes: a spec in `specs/tasked/` can sti
|
|
|
125
125
|
|
|
126
126
|
### Land = rebase + re-verify + advance (the durable-move invariant)
|
|
127
127
|
|
|
128
|
-
Every durable `main` move (a task's `tasks/ready → tasks/done`, a spec's `specs/ready → specs/tasked`, a `tasks/ready → tasks/cancelled`) is a LAND, and every land is the same mode-agnostic primitive: **fetch current `main` → rebase the work onto it → re-run `verify` (and review) on the rebased tree → advance.** A lost CAS
|
|
128
|
+
Every durable `main` move (a task's `tasks/ready → tasks/done`, a spec's `specs/ready → specs/tasked`, a `tasks/ready → tasks/cancelled`) is a LAND, and every land is the same mode-agnostic primitive: **fetch current `main` → rebase the work onto it → re-run `verify` (and review) on the rebased tree → advance.** A lost CAS (`main` moved between the gate and the push) re-rebases the work onto the new `main` and retries the push, never a `--force`, never an auto-resolved conflict; it does NOT re-run the gate, so the tree that lands can be one the gate never saw. The CI apply phase reports every land whose tree differs from the gated tree ("landed without re-gate after N lost races", in the run output and as a `Landed-Without-Regate` trailer on the landed commit; ADR `ci-agent-job-holds-no-write-token` decision 2). Merge mode runs it inline at the serialised land; propose mode runs it at the human checkpoint. Human review is ADDITIVE (intent/design/security), NEVER a substitute for the re-verify on the rebased tree. The durable _why_ — a clean `git` merge validates the AUTHORED context, never the LIVED context — lives in ADR `land-primitive-rebase-reverify-advance`.
|
|
129
129
|
|
|
130
130
|
### `needs-attention` — the post-claim "couldn't finish" state (surfaced on `main` as `needsAnswers:true` + a `stuck`-kind sidecar)
|
|
131
131
|
|
package/dist/reap-branches.d.ts
CHANGED
|
@@ -90,6 +90,54 @@ export interface SweepRemoteBranchesResult {
|
|
|
90
90
|
* via `git push <arbiter> --delete <branch>`; else retain with a reason.
|
|
91
91
|
*/
|
|
92
92
|
export declare function sweepRemoteMergedBranches(input: SweepRemoteBranchesInput): SweepRemoteBranchesResult;
|
|
93
|
+
export interface SweepTerminalItemLocksInput {
|
|
94
|
+
/**
|
|
95
|
+
* A local repo (a checkout or a hub mirror) whose `<arbiter>` remote points at
|
|
96
|
+
* the arbiter whose per-item locks to sweep. Only refs are read + deleted.
|
|
97
|
+
*/
|
|
98
|
+
cwd: string;
|
|
99
|
+
/** The arbiter remote name (the SAME one the branch sweep targets). */
|
|
100
|
+
arbiter: string;
|
|
101
|
+
/** Sink for human-readable progress notes (per released / kept lock). */
|
|
102
|
+
note?: (message: string) => void;
|
|
103
|
+
/** Only REPORT which locks WOULD be released (the `--dry-run` preview). */
|
|
104
|
+
dryRun?: boolean;
|
|
105
|
+
env?: NodeJS.ProcessEnv;
|
|
106
|
+
}
|
|
107
|
+
export interface SweepTerminalItemLocksResult {
|
|
108
|
+
/** Lock entries whose item is terminal on main and whose ref was deleted. */
|
|
109
|
+
released: string[];
|
|
110
|
+
/** On `dryRun`, the lock entries that WOULD be released (nothing deleted). */
|
|
111
|
+
wouldRelease: string[];
|
|
112
|
+
/** Lock entries left HELD because the item is not terminal on main. */
|
|
113
|
+
kept: string[];
|
|
114
|
+
/**
|
|
115
|
+
* Locks left HELD because their classification or release faulted, including
|
|
116
|
+
* a lease REJECTED because the ref moved between the read and the delete.
|
|
117
|
+
*/
|
|
118
|
+
errors: {
|
|
119
|
+
entry: string;
|
|
120
|
+
message: string;
|
|
121
|
+
}[];
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Release every per-item lock whose item is already TERMINAL on the arbiter's
|
|
125
|
+
* `main` (task `ci-releases-locks-of-terminal-items`). It rides the SAME
|
|
126
|
+
* `gc --remote-branches` invocation the scheduled `reap-merged-branches` CI job
|
|
127
|
+
* runs, so the locks a merged propose PR leaves behind stop accumulating in CI
|
|
128
|
+
* (where no later claim of that item ever comes to release them) WITHOUT any
|
|
129
|
+
* change to the generated workflows.
|
|
130
|
+
*
|
|
131
|
+
* It is NOT a second mechanism: it is exactly the terminal-lock reconcile behind
|
|
132
|
+
* `status --reconcile-locks` and the claim path
|
|
133
|
+
* ({@link reconcileTerminalItemLocks}): ONE predicate (the item's body rests in a
|
|
134
|
+
* terminal folder on `<arbiter>/main`), every delete leased on the sha that was
|
|
135
|
+
* read (`--force-with-lease`, never forced), every uncertainty resolved towards
|
|
136
|
+
* KEEPING the lock. SCOPE is the one arbiter the branch sweep targets (the
|
|
137
|
+
* `<arbiter>` remote of `cwd`). `dryRun` uses the read-only twin
|
|
138
|
+
* ({@link classifyTerminalItemLocks}). Best-effort and never throws.
|
|
139
|
+
*/
|
|
140
|
+
export declare function sweepTerminalItemLocks(input: SweepTerminalItemLocksInput): Promise<SweepTerminalItemLocksResult>;
|
|
93
141
|
/**
|
|
94
142
|
* Enumerate the arbiter's remote `work/*` heads + their tips via
|
|
95
143
|
* `git ls-remote --heads <arbiter> 'work/*'` (one round-trip, no full fetch).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reap-branches.d.ts","sourceRoot":"","sources":["../src/reap-branches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reap-branches.d.ts","sourceRoot":"","sources":["../src/reap-branches.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAC3B,YAAY,GACZ,iBAAiB,CAAC;AAErB,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAKxE,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC5B,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,CAAC;IAC3B,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACzC,iFAAiF;IACjF,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,SAAS,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,wBAAwB,GAC7B,yBAAyB,CAoG3B;AAED,MAAM,WAAW,2BAA2B;IAC3C;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;OAGG;IACH,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,2BAA2B,GAChC,OAAO,CAAC,4BAA4B,CAAC,CAkDvC;AAeD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GAChC,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAC,CA4BtC"}
|
package/dist/reap-branches.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { run } from './git.js';
|
|
2
2
|
import { isProvablyMergedForReap } from './gc.js';
|
|
3
|
+
import { classifyTerminalItemLocks, reconcileTerminalItemLocks, } from './item-lock.js';
|
|
3
4
|
import { parseWorkBranchRef } from './slug-namespace.js';
|
|
4
5
|
/** Human-readable text for each remote-branch retain reason (`sweep` reports). */
|
|
5
6
|
export const REMOTE_RETAIN_REASON_TEXT = {
|
|
@@ -80,6 +81,9 @@ export function sweepRemoteMergedBranches(input) {
|
|
|
80
81
|
continue;
|
|
81
82
|
}
|
|
82
83
|
run('git', ['update-ref', '-d', `refs/remotes/${input.arbiter}/${branch}`], input.cwd, { env });
|
|
84
|
+
// WRITE-SEAM EXEMPT: `gc --remote-branches` runs in a no-agent job (or by
|
|
85
|
+
// a human), never in a CI agent job, so this merged-branch delete stays a
|
|
86
|
+
// direct push (task `ci-split-route-direct-writes-through-seams`).
|
|
83
87
|
const del = run('git', ['push', input.arbiter, '--delete', branch], input.cwd, { env });
|
|
84
88
|
if (del.status !== 0) {
|
|
85
89
|
// A failed delete is NOT a reap; surface it but keep sweeping the rest.
|
|
@@ -100,6 +104,66 @@ export function sweepRemoteMergedBranches(input) {
|
|
|
100
104
|
}
|
|
101
105
|
return { reaped, retained, wouldReap };
|
|
102
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Release every per-item lock whose item is already TERMINAL on the arbiter's
|
|
109
|
+
* `main` (task `ci-releases-locks-of-terminal-items`). It rides the SAME
|
|
110
|
+
* `gc --remote-branches` invocation the scheduled `reap-merged-branches` CI job
|
|
111
|
+
* runs, so the locks a merged propose PR leaves behind stop accumulating in CI
|
|
112
|
+
* (where no later claim of that item ever comes to release them) WITHOUT any
|
|
113
|
+
* change to the generated workflows.
|
|
114
|
+
*
|
|
115
|
+
* It is NOT a second mechanism: it is exactly the terminal-lock reconcile behind
|
|
116
|
+
* `status --reconcile-locks` and the claim path
|
|
117
|
+
* ({@link reconcileTerminalItemLocks}): ONE predicate (the item's body rests in a
|
|
118
|
+
* terminal folder on `<arbiter>/main`), every delete leased on the sha that was
|
|
119
|
+
* read (`--force-with-lease`, never forced), every uncertainty resolved towards
|
|
120
|
+
* KEEPING the lock. SCOPE is the one arbiter the branch sweep targets (the
|
|
121
|
+
* `<arbiter>` remote of `cwd`). `dryRun` uses the read-only twin
|
|
122
|
+
* ({@link classifyTerminalItemLocks}). Best-effort and never throws.
|
|
123
|
+
*/
|
|
124
|
+
export async function sweepTerminalItemLocks(input) {
|
|
125
|
+
const note = input.note ?? (() => { });
|
|
126
|
+
const out = {
|
|
127
|
+
released: [],
|
|
128
|
+
wouldRelease: [],
|
|
129
|
+
kept: [],
|
|
130
|
+
errors: [],
|
|
131
|
+
};
|
|
132
|
+
try {
|
|
133
|
+
if (input.dryRun === true) {
|
|
134
|
+
const classified = await classifyTerminalItemLocks(input.cwd, input.arbiter, input.env);
|
|
135
|
+
out.wouldRelease = classified.terminal.map((l) => l.entry);
|
|
136
|
+
out.kept = classified.inFlight.map((l) => l.entry);
|
|
137
|
+
out.errors = classified.errors;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const rec = await reconcileTerminalItemLocks(input.cwd, input.arbiter, input.env);
|
|
141
|
+
out.released = rec.released;
|
|
142
|
+
const errored = new Set(rec.errors.map((e) => e.entry));
|
|
143
|
+
// `kept` in the reconcile report ALSO lists a terminal lock whose release
|
|
144
|
+
// was refused; that one is reported under `errors` instead, so the two
|
|
145
|
+
// lists here stay disjoint.
|
|
146
|
+
out.kept = rec.kept.filter((entry) => !errored.has(entry));
|
|
147
|
+
out.errors = rec.errors;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
out.errors.push({
|
|
152
|
+
entry: '(locks)',
|
|
153
|
+
message: err instanceof Error ? err.message : String(err),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
for (const entry of out.wouldRelease) {
|
|
157
|
+
note(`Would release lock ${entry} (item terminal on main) on ${input.arbiter}.`);
|
|
158
|
+
}
|
|
159
|
+
for (const entry of out.released) {
|
|
160
|
+
note(`Released lock ${entry} (item terminal on main) on ${input.arbiter}.`);
|
|
161
|
+
}
|
|
162
|
+
for (const e of out.errors) {
|
|
163
|
+
note(`Kept lock ${e.entry}: ${e.message}`);
|
|
164
|
+
}
|
|
165
|
+
return out;
|
|
166
|
+
}
|
|
103
167
|
/** Push a retained branch into the result + emit its note. */
|
|
104
168
|
function retain(retained, note, branch, tip, reason) {
|
|
105
169
|
const reasonText = REMOTE_RETAIN_REASON_TEXT[reason];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reap-branches.js","sourceRoot":"","sources":["../src/reap-branches.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reap-branches.js","sourceRoot":"","sources":["../src/reap-branches.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { type RunResult } from './git.js';
|
|
2
|
+
import { pushContinuedBranchWithStaleLeaseRetry, type ContinuedPushResult } from './continue-branch.js';
|
|
3
|
+
import { type RouteToNeedsAttentionOptions, type RouteToNeedsAttentionResult, type DeleteRemoteWorkBranchOptions, type DeleteRemoteWorkBranchResult } from './needs-attention.js';
|
|
4
|
+
import { type PushTreelessResultParams } from './advance-treeless-publish.js';
|
|
5
|
+
/**
|
|
6
|
+
* The **ref-write seam**: the sibling of the ledger-transition write seam
|
|
7
|
+
* ({@link import('./ledger-write.js').LedgerWriteStrategy}) for every network
|
|
8
|
+
* write a CI code path reaches that is NOT a `work/` ledger transition, the
|
|
9
|
+
* review provider, the issue provider or the integrator: the per-item lock ref
|
|
10
|
+
* create / amend / leased delete, the continued work-branch rebase push, the
|
|
11
|
+
* work-branch save (commit WIP + push, without a surface), the remote work-branch
|
|
12
|
+
* delete, the tasking candidates branch push, the tree-less `HEAD:main`
|
|
13
|
+
* publish and the Git LFS object upload.
|
|
14
|
+
*
|
|
15
|
+
* Why it exists (spec `ci-agent-job-without-write-token`, ADR
|
|
16
|
+
* `ci-agent-job-holds-no-write-token`, task
|
|
17
|
+
* `ci-split-route-direct-writes-through-seams`): the CI phase mode records every
|
|
18
|
+
* write in the agent phase and performs it in the apply phase, so every write
|
|
19
|
+
* must be VISIBLE at a seam. Before this seam these sites pushed directly.
|
|
20
|
+
*
|
|
21
|
+
* It is a PURE REFACTOR, the same shape as the ledger seam: exactly ONE strategy
|
|
22
|
+
* ({@link currentRefWrite}) that does exactly what each call site did before (the
|
|
23
|
+
* same git argument lists, the same helpers), no mode, no config. Each method is
|
|
24
|
+
* named for the write's INTENT, not the git plumbing, so a recording strategy can
|
|
25
|
+
* capture "what was about to be written" rather than a raw argument list.
|
|
26
|
+
*
|
|
27
|
+
* A test swaps a method with `vi.spyOn(refWrite, '<method>')` (the same pattern
|
|
28
|
+
* the `ledgerWrite` / `ledgerRead` seams use). The guard test
|
|
29
|
+
* `write-sites-through-seams.test.ts` fails on any new direct `git push` or `gh`
|
|
30
|
+
* write outside the seam implementations and the documented exempt sites.
|
|
31
|
+
*/
|
|
32
|
+
export interface RefWriteStrategy {
|
|
33
|
+
/**
|
|
34
|
+
* CREATE a per-item lock ref on the arbiter: push `<commit>:<ref>` with the
|
|
35
|
+
* create-only lease `--force-with-lease=<ref>:` (succeeds iff the ref is
|
|
36
|
+
* absent). Returns the raw push result; the caller interprets it (`acquired`
|
|
37
|
+
* vs contended). CI phase: lock.
|
|
38
|
+
*/
|
|
39
|
+
createLockRef(input: LockRefCreateInput): Promise<RunResult>;
|
|
40
|
+
/**
|
|
41
|
+
* DELETE a held per-item lock ref on the arbiter, leased on the sha the caller
|
|
42
|
+
* read (`push --delete <ref> --force-with-lease=<ref>:<expectedSha>`). CI
|
|
43
|
+
* phase: apply (the lease is on the lock job's `lockSha`).
|
|
44
|
+
*/
|
|
45
|
+
deleteLockRef(input: LockRefDeleteInput): Promise<RunResult>;
|
|
46
|
+
/**
|
|
47
|
+
* REPLACE a held per-item lock ref on the arbiter with a new lock commit,
|
|
48
|
+
* leased on the sha the caller read (`push <commit>:<ref>
|
|
49
|
+
* --force-with-lease=<ref>:<expectedSha>`): the amend of a held lock (the
|
|
50
|
+
* propose-kept marker, and the answered-merge takeover of a lock carrying
|
|
51
|
+
* it). A concurrent change to the ref rejects the push; it is never forced.
|
|
52
|
+
* CI phase: lock (the takeover) and apply (the marker).
|
|
53
|
+
*/
|
|
54
|
+
replaceLockRef(input: LockRefReplaceInput): Promise<RunResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Push the CONTINUED (rebased) kept `work/<slug>` branch with a lease on the
|
|
57
|
+
* tip observed before the rebase, surviving a stale lease by re-fetching and
|
|
58
|
+
* re-rebasing (see {@link pushContinuedBranchWithStaleLeaseRetry}). Throws
|
|
59
|
+
* exactly as that helper does. CI phase: apply (ADR decision 7).
|
|
60
|
+
*/
|
|
61
|
+
pushContinuedBranch(input: ContinuedBranchPushInput): ContinuedPushResult;
|
|
62
|
+
/**
|
|
63
|
+
* Push an already-rebased work branch ONCE with a lease on the tip observed
|
|
64
|
+
* earlier (`<commit>:refs/heads/<branch>
|
|
65
|
+
* --force-with-lease=refs/heads/<branch>:<expectedTip>`), with NO retry and NO
|
|
66
|
+
* re-rebase: a stale lease is returned for the caller to report. The CI apply
|
|
67
|
+
* phase's continue push (ADR `ci-agent-job-holds-no-write-token` decision 7:
|
|
68
|
+
* the agent job rebased the kept branch locally, and the lease is the lock
|
|
69
|
+
* job's `continueTip`). CI phase: apply.
|
|
70
|
+
*/
|
|
71
|
+
pushLeasedWorkBranch(input: LeasedWorkBranchPushInput): Promise<RunResult>;
|
|
72
|
+
/**
|
|
73
|
+
* SAVE the work branch: commit any uncommitted work as a wip commit and push
|
|
74
|
+
* the work branch to the arbiter, WITHOUT surfacing the item (the recoverable
|
|
75
|
+
* half of a needs-attention route, see {@link routeToNeedsAttention}). Used by
|
|
76
|
+
* the deadline checkpoint save. CI phase: apply.
|
|
77
|
+
*/
|
|
78
|
+
saveWorkBranch(input: RouteToNeedsAttentionOptions): Promise<RouteToNeedsAttentionResult>;
|
|
79
|
+
/**
|
|
80
|
+
* DELETE the remote `work/task-<slug>` branch on the arbiter (write-through:
|
|
81
|
+
* local refs first, then the arbiter delete; already-gone is tolerated, see
|
|
82
|
+
* {@link deleteRemoteWorkBranchIfPresent}). CI phase: apply.
|
|
83
|
+
*/
|
|
84
|
+
deleteRemoteWorkBranch(input: DeleteRemoteWorkBranchOptions): Promise<DeleteRemoteWorkBranchResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Push the tasking candidates branch (`work/spec-<slug>`) to the arbiter, a
|
|
87
|
+
* plain `git push <arbiter> <branch>` (best-effort at the caller). CI phase:
|
|
88
|
+
* apply.
|
|
89
|
+
*/
|
|
90
|
+
pushTaskingCandidatesBranch(input: TaskingCandidatesPushInput): Promise<RunResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Publish a tree-less rung's local commit to the arbiter's `main` (`git push
|
|
93
|
+
* HEAD:main` with the bounded re-fetch + rebase retry, never `--force`, see
|
|
94
|
+
* {@link pushTreelessResult}). CI phase: apply.
|
|
95
|
+
*/
|
|
96
|
+
publishTreelessResult(input: PushTreelessResultParams): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* UPLOAD Git LFS objects already in `cwd`'s local LFS store to the arbiter's
|
|
99
|
+
* LFS endpoint (`git lfs push --object-id <arbiter> <oids>`, in batches),
|
|
100
|
+
* BEFORE any ref that points at them (ADR `ci-agent-job-holds-no-write-token`
|
|
101
|
+
* decision 6). Returns the first failing batch's result, else the last one.
|
|
102
|
+
* CI phase: apply.
|
|
103
|
+
*/
|
|
104
|
+
pushLfsObjects(input: LfsObjectsPushInput): Promise<RunResult>;
|
|
105
|
+
}
|
|
106
|
+
/** Input of {@link RefWriteStrategy.pushLfsObjects}. */
|
|
107
|
+
export interface LfsObjectsPushInput {
|
|
108
|
+
/** The arbiter remote name (its LFS endpoint comes from `cwd`'s config and `.lfsconfig`). */
|
|
109
|
+
arbiter: string;
|
|
110
|
+
/** The sha256 oids to upload (each already in the local store). */
|
|
111
|
+
oids: readonly string[];
|
|
112
|
+
/** Working clone the push runs in. */
|
|
113
|
+
cwd: string;
|
|
114
|
+
/** Environment for the child git process. */
|
|
115
|
+
env: NodeJS.ProcessEnv | undefined;
|
|
116
|
+
}
|
|
117
|
+
/** Input of {@link RefWriteStrategy.createLockRef}. */
|
|
118
|
+
export interface LockRefCreateInput {
|
|
119
|
+
/** The arbiter remote name. */
|
|
120
|
+
arbiter: string;
|
|
121
|
+
/** The full lock ref (`refs/dorfl/lock/<entry>`). */
|
|
122
|
+
ref: string;
|
|
123
|
+
/** The prepared (parentless) lock commit to publish at {@link ref}. */
|
|
124
|
+
commit: string;
|
|
125
|
+
/** Working clone the push runs in. */
|
|
126
|
+
cwd: string;
|
|
127
|
+
/** Environment for the child git process. */
|
|
128
|
+
env: NodeJS.ProcessEnv | undefined;
|
|
129
|
+
}
|
|
130
|
+
/** Input of {@link RefWriteStrategy.deleteLockRef}. */
|
|
131
|
+
export interface LockRefDeleteInput {
|
|
132
|
+
/** The arbiter remote name. */
|
|
133
|
+
arbiter: string;
|
|
134
|
+
/** The full lock ref (`refs/dorfl/lock/<entry>`). */
|
|
135
|
+
ref: string;
|
|
136
|
+
/** The ref's sha the caller read; the delete is leased on it. */
|
|
137
|
+
expectedSha: string;
|
|
138
|
+
/** Working clone the push runs in. */
|
|
139
|
+
cwd: string;
|
|
140
|
+
/** Environment for the child git process. */
|
|
141
|
+
env: NodeJS.ProcessEnv | undefined;
|
|
142
|
+
}
|
|
143
|
+
/** Input of {@link RefWriteStrategy.replaceLockRef}. */
|
|
144
|
+
export interface LockRefReplaceInput {
|
|
145
|
+
/** The arbiter remote name. */
|
|
146
|
+
arbiter: string;
|
|
147
|
+
/** The full lock ref (`refs/dorfl/lock/<entry>`). */
|
|
148
|
+
ref: string;
|
|
149
|
+
/** The prepared (parentless) lock commit to publish at {@link ref}. */
|
|
150
|
+
commit: string;
|
|
151
|
+
/** The ref's sha the caller read; the replace is leased on it. */
|
|
152
|
+
expectedSha: string;
|
|
153
|
+
/** Working clone the push runs in. */
|
|
154
|
+
cwd: string;
|
|
155
|
+
/** Environment for the child git process. */
|
|
156
|
+
env: NodeJS.ProcessEnv | undefined;
|
|
157
|
+
}
|
|
158
|
+
/** Input of {@link RefWriteStrategy.pushContinuedBranch}. */
|
|
159
|
+
export type ContinuedBranchPushInput = Parameters<typeof pushContinuedBranchWithStaleLeaseRetry>[0];
|
|
160
|
+
/** Input of {@link RefWriteStrategy.pushLeasedWorkBranch}. */
|
|
161
|
+
export interface LeasedWorkBranchPushInput {
|
|
162
|
+
/** The arbiter remote name. */
|
|
163
|
+
arbiter: string;
|
|
164
|
+
/** The work branch (`work/task-<slug>`), unqualified. */
|
|
165
|
+
branch: string;
|
|
166
|
+
/** The commit to publish as the branch's tip. */
|
|
167
|
+
commit: string;
|
|
168
|
+
/** The branch tip the caller observed on the arbiter; the push is leased on it. */
|
|
169
|
+
expectedTip: string;
|
|
170
|
+
/** Working clone the push runs in. */
|
|
171
|
+
cwd: string;
|
|
172
|
+
/** Environment for the child git process. */
|
|
173
|
+
env: NodeJS.ProcessEnv | undefined;
|
|
174
|
+
}
|
|
175
|
+
/** Input of {@link RefWriteStrategy.pushTaskingCandidatesBranch}. */
|
|
176
|
+
export interface TaskingCandidatesPushInput {
|
|
177
|
+
/** The arbiter remote name. */
|
|
178
|
+
arbiter: string;
|
|
179
|
+
/** The candidates branch (`work/spec-<slug>`). */
|
|
180
|
+
branch: string;
|
|
181
|
+
/** Working clone the push runs in. */
|
|
182
|
+
cwd: string;
|
|
183
|
+
/** Environment for the child git process. */
|
|
184
|
+
env: NodeJS.ProcessEnv | undefined;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* The ONLY ref-write strategy: current behaviour, the exact git argument lists
|
|
188
|
+
* and helpers the call sites used before they were routed through the seam.
|
|
189
|
+
*/
|
|
190
|
+
export declare const currentRefWrite: RefWriteStrategy;
|
|
191
|
+
/**
|
|
192
|
+
* The active ref-write strategy. There is exactly one (current behaviour); this
|
|
193
|
+
* indirection is the seam's single insertion point, NOT a selectable mode. Call
|
|
194
|
+
* sites go through `refWrite.<method>(...)` so a test (and later the CI phase
|
|
195
|
+
* mode) can replace a method on this object.
|
|
196
|
+
*/
|
|
197
|
+
export declare const refWrite: RefWriteStrategy;
|
|
198
|
+
//# sourceMappingURL=ref-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-write.d.ts","sourceRoot":"","sources":["../src/ref-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { runAsync } from './git.js';
|
|
2
|
+
import { pushContinuedBranchWithStaleLeaseRetry, } from './continue-branch.js';
|
|
3
|
+
import { routeToNeedsAttention, deleteRemoteWorkBranchIfPresent, } from './needs-attention.js';
|
|
4
|
+
import { pushTreelessResult, } from './advance-treeless-publish.js';
|
|
5
|
+
/** How many oids one `git lfs push --object-id` is given. */
|
|
6
|
+
const LFS_PUSH_BATCH = 100;
|
|
7
|
+
/**
|
|
8
|
+
* The ONLY ref-write strategy: current behaviour, the exact git argument lists
|
|
9
|
+
* and helpers the call sites used before they were routed through the seam.
|
|
10
|
+
*/
|
|
11
|
+
export const currentRefWrite = {
|
|
12
|
+
createLockRef({ arbiter, ref, commit, cwd, env }) {
|
|
13
|
+
return runAsync('git', ['push', arbiter, `${commit}:${ref}`, `--force-with-lease=${ref}:`], cwd, { env });
|
|
14
|
+
},
|
|
15
|
+
deleteLockRef({ arbiter, ref, expectedSha, cwd, env }) {
|
|
16
|
+
return runAsync('git', [
|
|
17
|
+
'push',
|
|
18
|
+
arbiter,
|
|
19
|
+
'--delete',
|
|
20
|
+
ref,
|
|
21
|
+
`--force-with-lease=${ref}:${expectedSha}`,
|
|
22
|
+
], cwd, { env });
|
|
23
|
+
},
|
|
24
|
+
replaceLockRef({ arbiter, ref, commit, expectedSha, cwd, env }) {
|
|
25
|
+
return runAsync('git', [
|
|
26
|
+
'push',
|
|
27
|
+
arbiter,
|
|
28
|
+
`${commit}:${ref}`,
|
|
29
|
+
`--force-with-lease=${ref}:${expectedSha}`,
|
|
30
|
+
], cwd, { env });
|
|
31
|
+
},
|
|
32
|
+
pushContinuedBranch(input) {
|
|
33
|
+
return pushContinuedBranchWithStaleLeaseRetry(input);
|
|
34
|
+
},
|
|
35
|
+
pushLeasedWorkBranch({ arbiter, branch, commit, expectedTip, cwd, env }) {
|
|
36
|
+
const ref = `refs/heads/${branch}`;
|
|
37
|
+
return runAsync('git', [
|
|
38
|
+
'push',
|
|
39
|
+
arbiter,
|
|
40
|
+
`${commit}:${ref}`,
|
|
41
|
+
`--force-with-lease=${ref}:${expectedTip}`,
|
|
42
|
+
], cwd, { env });
|
|
43
|
+
},
|
|
44
|
+
saveWorkBranch(input) {
|
|
45
|
+
return routeToNeedsAttention(input);
|
|
46
|
+
},
|
|
47
|
+
deleteRemoteWorkBranch(input) {
|
|
48
|
+
return deleteRemoteWorkBranchIfPresent(input);
|
|
49
|
+
},
|
|
50
|
+
pushTaskingCandidatesBranch({ arbiter, branch, cwd, env }) {
|
|
51
|
+
return runAsync('git', ['push', arbiter, branch], cwd, { env });
|
|
52
|
+
},
|
|
53
|
+
publishTreelessResult(input) {
|
|
54
|
+
return pushTreelessResult(input);
|
|
55
|
+
},
|
|
56
|
+
async pushLfsObjects({ arbiter, oids, cwd, env }) {
|
|
57
|
+
let last = { status: 0, stdout: '', stderr: '' };
|
|
58
|
+
for (let i = 0; i < oids.length; i += LFS_PUSH_BATCH) {
|
|
59
|
+
last = await runAsync('git', [
|
|
60
|
+
'lfs',
|
|
61
|
+
'push',
|
|
62
|
+
'--object-id',
|
|
63
|
+
arbiter,
|
|
64
|
+
...oids.slice(i, i + LFS_PUSH_BATCH),
|
|
65
|
+
], cwd, { env });
|
|
66
|
+
if (last.status !== 0)
|
|
67
|
+
return last;
|
|
68
|
+
}
|
|
69
|
+
return last;
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* The active ref-write strategy. There is exactly one (current behaviour); this
|
|
74
|
+
* indirection is the seam's single insertion point, NOT a selectable mode. Call
|
|
75
|
+
* sites go through `refWrite.<method>(...)` so a test (and later the CI phase
|
|
76
|
+
* mode) can replace a method on this object.
|
|
77
|
+
*/
|
|
78
|
+
export const refWrite = { ...currentRefWrite };
|
|
79
|
+
//# sourceMappingURL=ref-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-write.js","sourceRoot":"","sources":["../src/ref-write.ts"],"names":[],"mappings":"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"}
|
package/dist/repo-config.js
CHANGED
|
@@ -164,16 +164,15 @@ export const REPO_ALLOWED_KEYS = [
|
|
|
164
164
|
// same chain as `integration`/`autoBuild`. It REPLACES the old `autoTriage`
|
|
165
165
|
// boolean (no alias; no external users owed a migration window, 2026-06-12).
|
|
166
166
|
'observationTriage',
|
|
167
|
-
// `mergeQuestions` (the
|
|
167
|
+
// `mergeQuestions` (the 2-state `off|ask` gate over the MERGE-QUESTION
|
|
168
168
|
// SURFACER — spec `land-time-reverify-and-parallel-merge-ceiling` Story 17 /
|
|
169
169
|
// task `merge-questions-gate-axis`) is a genuine repo property exactly like
|
|
170
170
|
// `observationTriage`: whether THIS repo's unmerged `work/*` branches surface
|
|
171
|
-
// as merge-questions
|
|
172
|
-
//
|
|
173
|
-
// `
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
// (flag > env > per-repo > global > default `ask`).
|
|
171
|
+
// as merge-questions is agreed by all collaborators + travels with the repo.
|
|
172
|
+
// SEPARATE axis from `observationTriage` (never rides it) with a HIGHER
|
|
173
|
+
// default (`ask`, never `off`: a dropped merge-question means pushed work
|
|
174
|
+
// never lands). Resolved per-repo through the SAME precedence chain as the
|
|
175
|
+
// rest of the gate family (env > per-repo > global > default `ask`).
|
|
177
176
|
'mergeQuestions',
|
|
178
177
|
// `surfaceBlockers` (the BOOLEAN gate over DECLARED blocked work — whether a
|
|
179
178
|
// task/spec carrying `needsAnswers:true` is rendered into a question sidecar) is a
|
|
@@ -244,7 +243,8 @@ export const REPO_ALLOWED_KEYS = [
|
|
|
244
243
|
// is agreed by all collaborators in a wide-matrix CI repo + travels with the
|
|
245
244
|
// repo. Resolved per-repo through the SAME chain as `freshWorktreeGate`
|
|
246
245
|
// (flag > env > per-repo > global > default). Safety is unchanged — a lost
|
|
247
|
-
// CAS still costs only a re-rebase
|
|
246
|
+
// CAS still costs only a re-rebase and a retried push (no re-gate), never a
|
|
247
|
+
// `--force`.
|
|
248
248
|
'mergeRetries',
|
|
249
249
|
// `strictMergeApproval` (the OPT-IN strictness layered on the OQ6
|
|
250
250
|
// stale-approval default — spec `land-time-reverify-and-parallel-merge-ceiling`
|