@intentius/chant 0.124.28 → 0.124.29
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/build-params.d.ts +34 -1
- package/dist/build-params.d.ts.map +1 -1
- package/dist/build-params.js +31 -1
- package/dist/change-set-graph.d.ts +8 -1
- package/dist/change-set-graph.d.ts.map +1 -1
- package/dist/change-set-graph.js +4 -2
- package/dist/change-set.d.ts +10 -0
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +4 -3
- package/dist/cli/build-params-cli.d.ts +7 -1
- package/dist/cli/build-params-cli.d.ts.map +1 -1
- package/dist/cli/build-params-cli.js +17 -8
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +6 -3
- package/dist/cli/handlers/approve.d.ts.map +1 -1
- package/dist/cli/handlers/approve.js +45 -0
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.js +15 -4
- package/dist/cli/handlers/fan-out.d.ts +9 -0
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.js +40 -3
- package/dist/cli/handlers/lifecycle-gc.d.ts +19 -0
- package/dist/cli/handlers/lifecycle-gc.d.ts.map +1 -0
- package/dist/cli/handlers/lifecycle-gc.js +143 -0
- package/dist/cli/handlers/pr.d.ts +11 -3
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +134 -26
- package/dist/cli/handlers/promote.d.ts +7 -0
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +210 -33
- package/dist/cli/handlers/release.d.ts +62 -5
- package/dist/cli/handlers/release.d.ts.map +1 -1
- package/dist/cli/handlers/release.js +414 -28
- package/dist/cli/handlers/run.d.ts +11 -1
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/handlers/run.js +67 -6
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +61 -10
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +24 -2
- package/dist/cli/registry.d.ts +15 -3
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/run-events.d.ts +3 -2
- package/dist/cli/run-events.d.ts.map +1 -1
- package/dist/cli/run-events.js +5 -3
- package/dist/components/auto-release.d.ts +2 -0
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/auto-release.js +1 -0
- package/dist/components/capability.d.ts +9 -0
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/driver.d.ts +8 -0
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/driver.js +35 -0
- package/dist/components/fan-out-inputs.d.ts +69 -0
- package/dist/components/fan-out-inputs.d.ts.map +1 -0
- package/dist/components/fan-out-inputs.js +169 -0
- package/dist/components/fan-out-record.d.ts +13 -0
- package/dist/components/fan-out-record.d.ts.map +1 -1
- package/dist/components/fan-out-record.js +16 -0
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-run.js +50 -0
- package/dist/components/fan-out.d.ts +4 -0
- package/dist/components/fan-out.d.ts.map +1 -1
- package/dist/components/pr-pipeline.d.ts +25 -0
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/components/pr-pipeline.js +22 -4
- package/dist/components/promote.d.ts +23 -0
- package/dist/components/promote.d.ts.map +1 -1
- package/dist/components/promote.js +60 -2
- package/dist/components/release-compile.d.ts +9 -0
- package/dist/components/release-compile.d.ts.map +1 -1
- package/dist/components/release-compile.js +9 -3
- package/dist/components/release-gate.d.ts +11 -1
- package/dist/components/release-gate.d.ts.map +1 -1
- package/dist/components/release-gate.js +10 -4
- package/dist/components/wave-plan.d.ts +5 -0
- package/dist/components/wave-plan.d.ts.map +1 -1
- package/dist/components/wave-plan.js +10 -2
- package/dist/config.d.ts +38 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/flag-params.d.ts +54 -0
- package/dist/flag-params.d.ts.map +1 -0
- package/dist/flag-params.js +130 -0
- package/dist/lifecycle/__fixtures__/publish-fakes.d.ts +120 -0
- package/dist/lifecycle/__fixtures__/publish-fakes.d.ts.map +1 -0
- package/dist/lifecycle/__fixtures__/publish-fakes.js +304 -0
- package/dist/lifecycle/change-set-store.d.ts +2 -1
- package/dist/lifecycle/change-set-store.d.ts.map +1 -1
- package/dist/lifecycle/change-set-store.js +2 -1
- package/dist/lifecycle/delivery-metrics.d.ts +139 -0
- package/dist/lifecycle/delivery-metrics.d.ts.map +1 -0
- package/dist/lifecycle/delivery-metrics.js +145 -0
- package/dist/lifecycle/deploy-outcome.d.ts +81 -0
- package/dist/lifecycle/deploy-outcome.d.ts.map +1 -0
- package/dist/lifecycle/deploy-outcome.js +101 -0
- package/dist/lifecycle/gate-change-set.d.ts +10 -1
- package/dist/lifecycle/gate-change-set.d.ts.map +1 -1
- package/dist/lifecycle/gate-change-set.js +35 -3
- package/dist/lifecycle/gate-ledger.d.ts +2 -3
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/git.d.ts +30 -1
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/git.js +31 -5
- package/dist/lifecycle/index.d.ts +4 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +4 -0
- package/dist/lifecycle/mixed-environment.d.ts +95 -0
- package/dist/lifecycle/mixed-environment.d.ts.map +1 -0
- package/dist/lifecycle/mixed-environment.js +154 -0
- package/dist/lifecycle/publish-attachments.d.ts +79 -0
- package/dist/lifecycle/publish-attachments.d.ts.map +1 -0
- package/dist/lifecycle/publish-attachments.js +179 -0
- package/dist/lifecycle/publish-credentials.d.ts +37 -0
- package/dist/lifecycle/publish-credentials.d.ts.map +1 -0
- package/dist/lifecycle/publish-credentials.js +69 -0
- package/dist/lifecycle/publish-declaration.d.ts +97 -0
- package/dist/lifecycle/publish-declaration.d.ts.map +1 -0
- package/dist/lifecycle/publish-declaration.js +83 -0
- package/dist/lifecycle/publish-forge.d.ts +53 -0
- package/dist/lifecycle/publish-forge.d.ts.map +1 -0
- package/dist/lifecycle/publish-forge.js +298 -0
- package/dist/lifecycle/publish-npm.d.ts +61 -0
- package/dist/lifecycle/publish-npm.d.ts.map +1 -0
- package/dist/lifecycle/publish-npm.js +242 -0
- package/dist/lifecycle/publish-oci.d.ts +64 -0
- package/dist/lifecycle/publish-oci.d.ts.map +1 -0
- package/dist/lifecycle/publish-oci.js +383 -0
- package/dist/lifecycle/publish-record.d.ts +66 -0
- package/dist/lifecycle/publish-record.d.ts.map +1 -0
- package/dist/lifecycle/publish-record.js +84 -0
- package/dist/lifecycle/publish-targets.d.ts +45 -0
- package/dist/lifecycle/publish-targets.d.ts.map +1 -0
- package/dist/lifecycle/publish-targets.js +85 -0
- package/dist/lifecycle/release-cut.d.ts +48 -1
- package/dist/lifecycle/release-cut.d.ts.map +1 -1
- package/dist/lifecycle/release-cut.js +116 -23
- package/dist/lifecycle/release-join.d.ts +95 -0
- package/dist/lifecycle/release-join.d.ts.map +1 -0
- package/dist/lifecycle/release-join.js +139 -0
- package/dist/lifecycle/release-publish.d.ts +312 -0
- package/dist/lifecycle/release-publish.d.ts.map +1 -0
- package/dist/lifecycle/release-publish.js +335 -0
- package/dist/lifecycle/release-revocation.d.ts +80 -0
- package/dist/lifecycle/release-revocation.d.ts.map +1 -0
- package/dist/lifecycle/release-revocation.js +123 -0
- package/dist/lifecycle/release-store.d.ts +12 -2
- package/dist/lifecycle/release-store.d.ts.map +1 -1
- package/dist/lifecycle/release-store.js +4 -2
- package/dist/lifecycle/release-verify.d.ts +61 -0
- package/dist/lifecycle/release-verify.d.ts.map +1 -0
- package/dist/lifecycle/release-verify.js +92 -0
- package/dist/lifecycle/release-workstation.d.ts +91 -0
- package/dist/lifecycle/release-workstation.d.ts.map +1 -0
- package/dist/lifecycle/release-workstation.js +180 -0
- package/dist/lifecycle/retention-policy.d.ts +45 -0
- package/dist/lifecycle/retention-policy.d.ts.map +1 -0
- package/dist/lifecycle/retention-policy.js +43 -0
- package/dist/lifecycle/retention.d.ts +185 -0
- package/dist/lifecycle/retention.d.ts.map +1 -0
- package/dist/lifecycle/retention.js +400 -0
- package/dist/plan-summary.d.ts.map +1 -1
- package/dist/plan-summary.js +8 -2
- package/dist/pr-loop.d.ts +7 -0
- package/dist/pr-loop.d.ts.map +1 -1
- package/dist/pr-loop.js +23 -4
- package/dist/pr-report-url.d.ts +82 -0
- package/dist/pr-report-url.d.ts.map +1 -0
- package/dist/pr-report-url.js +174 -0
- package/dist/provenance.d.ts +2 -2
- package/dist/provenance.d.ts.map +1 -1
- package/dist/run-event-store.d.ts +29 -2
- package/dist/run-event-store.d.ts.map +1 -1
- package/dist/run-event-store.js +50 -3
- package/dist/run-event-stream.d.ts +2 -1
- package/dist/run-event-stream.d.ts.map +1 -1
- package/dist/run-event-stream.js +5 -1
- package/dist/run-event.d.ts +19 -1
- package/dist/run-event.d.ts.map +1 -1
- package/dist/run-event.js +2 -0
- package/dist/wave-runtime.mjs +260 -229
- package/dist/workspace/__fixtures__/flag-workspace.d.ts +31 -0
- package/dist/workspace/__fixtures__/flag-workspace.d.ts.map +1 -0
- package/dist/workspace/__fixtures__/flag-workspace.js +114 -0
- package/dist/workspace/change-set.schema.json +5 -1
- package/dist/workspace/check.schema.json +4 -2
- package/dist/workspace/checks/records.d.ts +9 -1
- package/dist/workspace/checks/records.d.ts.map +1 -1
- package/dist/workspace/checks/records.js +35 -1
- package/dist/workspace/checks.d.ts +1 -0
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/checks.js +2 -1
- package/dist/workspace/ci-green.d.ts +8 -0
- package/dist/workspace/ci-green.d.ts.map +1 -1
- package/dist/workspace/ci-green.js +10 -3
- package/dist/workspace/declaration.d.ts +16 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.js +26 -0
- package/dist/workspace/declaration.schema.json +64 -0
- package/dist/workspace/declared-kinds.d.ts +16 -0
- package/dist/workspace/declared-kinds.d.ts.map +1 -1
- package/dist/workspace/declared-kinds.js +25 -0
- package/dist/workspace/delivery-metrics.d.ts +91 -0
- package/dist/workspace/delivery-metrics.d.ts.map +1 -0
- package/dist/workspace/delivery-metrics.js +217 -0
- package/dist/workspace/delivery-metrics.schema.json +519 -0
- package/dist/workspace/flags-read.d.ts +37 -0
- package/dist/workspace/flags-read.d.ts.map +1 -0
- package/dist/workspace/flags-read.js +103 -0
- package/dist/workspace/flags.d.ts +100 -0
- package/dist/workspace/flags.d.ts.map +1 -0
- package/dist/workspace/flags.js +98 -0
- package/dist/workspace/graph-cli.js +1 -1
- package/dist/workspace/intent-cli.d.ts +11 -2
- package/dist/workspace/intent-cli.d.ts.map +1 -1
- package/dist/workspace/intent-cli.js +54 -5
- package/dist/workspace/intent-trace.d.ts +219 -0
- package/dist/workspace/intent-trace.d.ts.map +1 -0
- package/dist/workspace/intent-trace.js +314 -0
- package/dist/workspace/intent.d.ts +30 -6
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/intent.js +141 -21
- package/dist/workspace/intent.schema.json +702 -6
- package/dist/workspace/overlap.d.ts +146 -0
- package/dist/workspace/overlap.d.ts.map +1 -0
- package/dist/workspace/overlap.js +276 -0
- package/dist/workspace/reason-codes.d.ts +2 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +3 -0
- package/dist/workspace/records.d.ts +15 -2
- package/dist/workspace/records.d.ts.map +1 -1
- package/dist/workspace/records.js +32 -0
- package/dist/workspace/records.schema.json +21 -2
- package/dist/workspace/reference-kinds/flag/flag.kind.mjs +32 -0
- package/dist/workspace/reference-kinds/flag/flag.schema.json +53 -0
- package/dist/workspace/releases.d.ts +9 -0
- package/dist/workspace/releases.d.ts.map +1 -1
- package/dist/workspace/releases.js +9 -0
- package/dist/workspace/releases.schema.json +123 -1
- package/dist/workspace/run-event.schema.json +10 -3
- package/dist/workspace/status-gates.d.ts +8 -0
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status.d.ts +78 -0
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/status.js +170 -3
- package/dist/workspace/status.schema.json +198 -1
- package/dist/workspace/wip.d.ts.map +1 -1
- package/dist/workspace/wip.js +11 -3
- package/package.json +1 -1
- package/src/build-params.test.ts +46 -0
- package/src/build-params.ts +55 -1
- package/src/change-set-graph.ts +10 -2
- package/src/change-set.ts +14 -3
- package/src/cli/build-params-cli.ts +22 -9
- package/src/cli/commands/build.ts +6 -3
- package/src/cli/handlers/approve-release.test.ts +5 -1
- package/src/cli/handlers/approve-revoked.test.ts +155 -0
- package/src/cli/handlers/approve.ts +47 -0
- package/src/cli/handlers/build.test.ts +15 -0
- package/src/cli/handlers/build.ts +17 -4
- package/src/cli/handlers/fan-out.test.ts +180 -1
- package/src/cli/handlers/fan-out.ts +38 -3
- package/src/cli/handlers/intent-trace.e2e.test.ts +201 -0
- package/src/cli/handlers/lifecycle-gc.test.ts +126 -0
- package/src/cli/handlers/lifecycle-gc.ts +146 -0
- package/src/cli/handlers/pr.test.ts +148 -1
- package/src/cli/handlers/pr.ts +139 -28
- package/src/cli/handlers/promote.test.ts +280 -2
- package/src/cli/handlers/promote.ts +210 -34
- package/src/cli/handlers/release-implicit.e2e.test.ts +12 -4
- package/src/cli/handlers/release-join.e2e.test.ts +185 -0
- package/src/cli/handlers/release-publish-targets.e2e.test.ts +295 -0
- package/src/cli/handlers/release-verify.e2e.test.ts +117 -0
- package/src/cli/handlers/release-workstation-ci.e2e.test.ts +135 -0
- package/src/cli/handlers/release.e2e.test.ts +146 -32
- package/src/cli/handlers/release.ts +415 -28
- package/src/cli/handlers/run-auto-release.test.ts +9 -0
- package/src/cli/handlers/run-release.test.ts +55 -0
- package/src/cli/handlers/run.ts +69 -5
- package/src/cli/main.test.ts +1 -0
- package/src/cli/main.ts +61 -10
- package/src/cli/parse-args.ts +19 -2
- package/src/cli/registry.ts +15 -3
- package/src/cli/run-events.ts +5 -2
- package/src/components/auto-release.test.ts +9 -0
- package/src/components/auto-release.ts +3 -0
- package/src/components/capability.ts +9 -0
- package/src/components/driver.test.ts +24 -0
- package/src/components/driver.ts +36 -0
- package/src/components/fan-out-inputs.test.ts +85 -0
- package/src/components/fan-out-inputs.ts +192 -0
- package/src/components/fan-out-record.test.ts +10 -0
- package/src/components/fan-out-record.ts +19 -0
- package/src/components/fan-out-run.ts +48 -0
- package/src/components/fan-out.ts +4 -0
- package/src/components/pr-pipeline.ts +35 -4
- package/src/components/promote.ts +68 -2
- package/src/components/release-compile.ts +17 -3
- package/src/components/release-gate.ts +18 -4
- package/src/components/wave-plan.ts +15 -2
- package/src/config.ts +8 -0
- package/src/flag-params.test.ts +144 -0
- package/src/flag-params.ts +134 -0
- package/src/lifecycle/__fixtures__/publish-fakes.ts +351 -0
- package/src/lifecycle/change-set-store.ts +2 -1
- package/src/lifecycle/delivery-metrics.ts +263 -0
- package/src/lifecycle/deploy-outcome.ts +147 -0
- package/src/lifecycle/gate-change-set.ts +37 -6
- package/src/lifecycle/gate-ledger.ts +2 -2
- package/src/lifecycle/git.ts +61 -8
- package/src/lifecycle/index.ts +4 -0
- package/src/lifecycle/mixed-environment.test.ts +97 -0
- package/src/lifecycle/mixed-environment.ts +204 -0
- package/src/lifecycle/publish-attachments.ts +196 -0
- package/src/lifecycle/publish-credentials.ts +84 -0
- package/src/lifecycle/publish-declaration.ts +95 -0
- package/src/lifecycle/publish-forge.ts +325 -0
- package/src/lifecycle/publish-npm.ts +259 -0
- package/src/lifecycle/publish-oci.ts +396 -0
- package/src/lifecycle/publish-record.ts +113 -0
- package/src/lifecycle/publish-resume.test.ts +168 -0
- package/src/lifecycle/publish-targets.test.ts +494 -0
- package/src/lifecycle/publish-targets.ts +100 -0
- package/src/lifecycle/release-cut.test.ts +74 -2
- package/src/lifecycle/release-cut.ts +158 -22
- package/src/lifecycle/release-flag.test.ts +112 -0
- package/src/lifecycle/release-join.test.ts +68 -0
- package/src/lifecycle/release-join.ts +182 -0
- package/src/lifecycle/release-publish.test.ts +225 -0
- package/src/lifecycle/release-publish.ts +568 -0
- package/src/lifecycle/release-revocation.ts +147 -0
- package/src/lifecycle/release-store.ts +15 -4
- package/src/lifecycle/release-verify.test.ts +110 -0
- package/src/lifecycle/release-verify.ts +120 -0
- package/src/lifecycle/release-workstation.test.ts +204 -0
- package/src/lifecycle/release-workstation.ts +216 -0
- package/src/lifecycle/retention-growth.e2e.test.ts +279 -0
- package/src/lifecycle/retention-policy.ts +63 -0
- package/src/lifecycle/retention.test.ts +363 -0
- package/src/lifecycle/retention.ts +508 -0
- package/src/plan-summary.test.ts +20 -0
- package/src/plan-summary.ts +8 -1
- package/src/pr-loop.ts +25 -4
- package/src/pr-report-url.test.ts +131 -0
- package/src/pr-report-url.ts +209 -0
- package/src/provenance.ts +2 -2
- package/src/run-event-store.ts +63 -3
- package/src/run-event-stream.ts +4 -1
- package/src/run-event.ts +21 -1
- package/src/workspace/__fixtures__/flag-workspace.ts +132 -0
- package/src/workspace/__fixtures__/older-records/change-set-984534ea9.json +100 -0
- package/src/workspace/__fixtures__/older-records/older-records.json +326 -0
- package/src/workspace/change-set.schema.json +5 -1
- package/src/workspace/check.schema.json +4 -2
- package/src/workspace/checks/records.ts +35 -1
- package/src/workspace/checks.ts +2 -1
- package/src/workspace/ci-green.ts +14 -3
- package/src/workspace/declaration.schema.json +64 -0
- package/src/workspace/declaration.test.ts +28 -0
- package/src/workspace/declaration.ts +38 -0
- package/src/workspace/declared-kinds.ts +40 -1
- package/src/workspace/delivery-metrics.schema.json +519 -0
- package/src/workspace/delivery-metrics.test.ts +236 -0
- package/src/workspace/delivery-metrics.ts +286 -0
- package/src/workspace/flags-read.ts +121 -0
- package/src/workspace/flags.test.ts +141 -0
- package/src/workspace/flags.ts +157 -0
- package/src/workspace/graph-cli.ts +1 -1
- package/src/workspace/intent-cli.ts +46 -5
- package/src/workspace/intent-trace.test.ts +173 -0
- package/src/workspace/intent-trace.ts +484 -0
- package/src/workspace/intent.schema.json +702 -6
- package/src/workspace/intent.ts +148 -25
- package/src/workspace/older-records.test.ts +412 -0
- package/src/workspace/overlap.test.ts +165 -0
- package/src/workspace/overlap.ts +340 -0
- package/src/workspace/read-contract.e2e.test.ts +2 -1
- package/src/workspace/reason-codes.test.ts +5 -0
- package/src/workspace/reason-codes.ts +3 -0
- package/src/workspace/record-assets.test.ts +2 -1
- package/src/workspace/records-contract.e2e.test.ts +2 -1
- package/src/workspace/records.schema.json +21 -2
- package/src/workspace/records.ts +36 -2
- package/src/workspace/reference-kinds/flag/flag.kind.mjs +32 -0
- package/src/workspace/reference-kinds/flag/flag.schema.json +53 -0
- package/src/workspace/releases.schema.json +123 -1
- package/src/workspace/releases.ts +11 -0
- package/src/workspace/run-event.schema.json +10 -3
- package/src/workspace/status-contract.test.ts +29 -0
- package/src/workspace/status-gates.ts +8 -0
- package/src/workspace/status-mixed.test.ts +152 -0
- package/src/workspace/status-revoked.test.ts +153 -0
- package/src/workspace/status.schema.json +198 -1
- package/src/workspace/status.ts +254 -3
- package/src/workspace/wip.ts +11 -2
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
"items": { "$ref": "#/$defs/asset" }
|
|
255
255
|
},
|
|
256
256
|
"warnings": {
|
|
257
|
-
"description": "Added in contract 1 by #2549. Findings that leave the record valid: a pinned file that changed, went missing or did not follow a superseding decision, a supersedes link that has no effect yet, (added by #2654) an evidence list that is empty, (added by #2672) a verdict that names no digest, or (added by #2683) a work record's links and dates, or (added by #2688) a record whose author seal is not attested under a signers file at base, or (added by #2772) a work record's acceptance criteria unmet when it is done, or met by a manual verdict from its implementer, or (added by #3147) a work record's contract that no record has or nobody approved, or a builder tier its kind does not list. A work record never carries record-no-evidence; a done one with no evidence carries work-done-unpinned. valid and --current do not look at them.",
|
|
257
|
+
"description": "Added in contract 1 by #2549. Findings that leave the record valid: a pinned file that changed, went missing or did not follow a superseding decision, a supersedes link that has no effect yet, (added by #2654) an evidence list that is empty, (added by #2672) a verdict that names no digest, or (added by #2683) a work record's links and dates, or (added by #2688) a record whose author seal is not attested under a signers file at base, or (added by #2772) a work record's acceptance criteria unmet when it is done, or met by a manual verdict from its implementer, or (added by #3147) a work record's contract that no record has or nobody approved, or a builder tier its kind does not list, or (added by #4024) a flag record's work item that no record has, or a flag due for removal. A work record never carries record-no-evidence; a done one with no evidence carries work-done-unpinned. valid and --current do not look at them.",
|
|
258
258
|
"type": "array",
|
|
259
259
|
"items": { "$ref": "#/$defs/warning" }
|
|
260
260
|
},
|
|
@@ -322,6 +322,23 @@
|
|
|
322
322
|
"description": "Added in contract 1 by #3147, on every parsed record of a work kind whose work block names a contract kind. The contract record the item builds, by the id in the work block's contract field, with that record's state now; state is null when no record of the contract kind has the id. Null when the item names no contract.",
|
|
323
323
|
"oneOf": [{ "type": "null" }, { "$ref": "#/$defs/workLink" }]
|
|
324
324
|
},
|
|
325
|
+
"flag": {
|
|
326
|
+
"description": "Added in contract 1 by #4024, on every parsed record of a flag kind (a kind with a flag block). work is the work item the flag hides, with that item's state (null when no record of the flag kind's work kind has it), or null when the record names none. implements lists each decision the item implements, with its state and confirmed: true when it is in one of its kind's closed states and nothing supersedes it. stale is true when the item implements at least one decision and every one is confirmed: the flag is due for removal, warned flag-stale, and chant workspace check reports it as WSP118.",
|
|
327
|
+
"type": "object",
|
|
328
|
+
"required": ["work", "implements", "stale"],
|
|
329
|
+
"properties": {
|
|
330
|
+
"work": { "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/workLink" }] },
|
|
331
|
+
"implements": {
|
|
332
|
+
"type": "array",
|
|
333
|
+
"items": {
|
|
334
|
+
"type": "object",
|
|
335
|
+
"required": ["id", "state", "confirmed"],
|
|
336
|
+
"properties": { "id": { "type": "string" }, "state": { "type": ["string", "null"] }, "confirmed": { "type": "boolean" } }
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
"stale": { "type": "boolean" }
|
|
340
|
+
}
|
|
341
|
+
},
|
|
325
342
|
"answers": {
|
|
326
343
|
"description": "Added in contract 1 by #3147, on every record with an id of a work kind whose work block names an answer kind. The decision-point answers about the item: each answer record whose constrains names the item's id, in path order, joined by id and never copied onto the item. Read at the same revision; in the working tree, with the answers a steward keeps on the lifecycle ledger laid over it. Absent when the answer kind can't be read.",
|
|
327
344
|
"type": "array",
|
|
@@ -414,7 +431,9 @@
|
|
|
414
431
|
"answer-point-unknown",
|
|
415
432
|
"answer-point-changed",
|
|
416
433
|
"record-unattested",
|
|
417
|
-
"record-ratified-below-quorum"
|
|
434
|
+
"record-ratified-below-quorum",
|
|
435
|
+
"flag-work-unknown",
|
|
436
|
+
"flag-stale"
|
|
418
437
|
]
|
|
419
438
|
},
|
|
420
439
|
"message": { "type": "string" }
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// The feature flag record kind (#4024), data only: no imports, no code.
|
|
2
|
+
//
|
|
3
|
+
// chant workspace records --kind flags/flag.kind.mjs --json
|
|
4
|
+
//
|
|
5
|
+
// A flag is a workspace record a member's build reads as one build-time
|
|
6
|
+
// parameter: chant build --env <env> in that member takes the flag's value
|
|
7
|
+
// for the environment, and records it with source flag:<id>. Turning a flag
|
|
8
|
+
// on is a commit that changes this record, so it is reviewed, and the release
|
|
9
|
+
// cut from that commit carries the new value through the environment's gate.
|
|
10
|
+
//
|
|
11
|
+
// The canonical copy ships in @intentius/chant at
|
|
12
|
+
// src/workspace/reference-kinds/flag. A workspace copies this file and
|
|
13
|
+
// flag.schema.json into a directory of its own, such as flags/, names the
|
|
14
|
+
// kind file in chant.workspace.json's records, and points work.kind at its
|
|
15
|
+
// own work kind file.
|
|
16
|
+
export const recordKind = {
|
|
17
|
+
name: "flag",
|
|
18
|
+
location: { dir: ".", match: "^[a-z][a-z0-9-]{0,62}\\.flag\\.md$" },
|
|
19
|
+
format: "markdown-front-matter",
|
|
20
|
+
schema: { id: "urn:intentius:chant:flag:1", path: "flag.schema.json" },
|
|
21
|
+
idField: "id",
|
|
22
|
+
// The fields chant reads as the flag: the member and parameter it sets,
|
|
23
|
+
// its owner, its value per environment, and the work item it hides, a
|
|
24
|
+
// record of the work kind named here (relative to this file).
|
|
25
|
+
flag: {
|
|
26
|
+
member: "member",
|
|
27
|
+
param: "param",
|
|
28
|
+
owner: "owner",
|
|
29
|
+
values: "values",
|
|
30
|
+
work: { field: "work", kind: "../work/work.kind.mjs" },
|
|
31
|
+
},
|
|
32
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "urn:intentius:chant:flag:1",
|
|
4
|
+
"title": "Feature flag front matter",
|
|
5
|
+
"description": "The front matter of one feature flag record (#4024): a workspace record one member's build reads as a build-time parameter. The file is named <id>.flag.md.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"patternProperties": {
|
|
9
|
+
"^x-": {}
|
|
10
|
+
},
|
|
11
|
+
"required": ["schema", "id", "owner", "work", "member", "param", "values"],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema": {
|
|
14
|
+
"description": "Format version of this file. Bumped only by a change to this schema.",
|
|
15
|
+
"const": 1
|
|
16
|
+
},
|
|
17
|
+
"id": {
|
|
18
|
+
"description": "The flag's name, which the build records as the source flag:<id> of the parameter it sets. Lowercase, with dashes.",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-z][a-z0-9-]{0,62}$"
|
|
21
|
+
},
|
|
22
|
+
"title": {
|
|
23
|
+
"description": "What the flag hides, in a few words. Optional.",
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"owner": {
|
|
27
|
+
"description": "Who owns the flag, and removes it once its work is settled.",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1
|
|
30
|
+
},
|
|
31
|
+
"work": {
|
|
32
|
+
"description": "The id of the work item the flag hides, a record of the work kind the flag kind names. A work item's implements names a decision, never a flag, so the link is kept here.",
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1
|
|
35
|
+
},
|
|
36
|
+
"member": {
|
|
37
|
+
"description": "The workspace member whose build parameter the flag sets, by its name in chant.workspace.json.",
|
|
38
|
+
"type": "string",
|
|
39
|
+
"minLength": 1
|
|
40
|
+
},
|
|
41
|
+
"param": {
|
|
42
|
+
"description": "The build parameter the flag sets: a key of buildParams in the member's chant.config.ts. Its value per environment must have the parameter's type and, when it declares one, be in its enum.",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"minLength": 1
|
|
45
|
+
},
|
|
46
|
+
"values": {
|
|
47
|
+
"description": "The flag's value per environment, keyed by the environment's name. An environment left out builds with the parameter's declared default.",
|
|
48
|
+
"type": "object",
|
|
49
|
+
"propertyNames": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$" },
|
|
50
|
+
"additionalProperties": { "type": ["string", "number", "boolean"] }
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
* `releaseDigest`. A promote under a release writes that field; deploys made
|
|
9
9
|
* any other way do not name a release yet (#4043), so they list nowhere.
|
|
10
10
|
*
|
|
11
|
+
* Each release carries `revoked` (#4033, ws-105): the `ci/revoked/<sha>` tag
|
|
12
|
+
* on its commit, judged as `release cut` judges it, or null. It is read from
|
|
13
|
+
* local tags at read time; nothing records it. When the tags can't be judged
|
|
14
|
+
* (a `ci.green.signedSince` naming no commit here) every release reads null,
|
|
15
|
+
* and `chant workspace check` reports the declaration.
|
|
16
|
+
*
|
|
11
17
|
* Each cut carries `signatureCheck` (#4031): whether its signature verifies
|
|
12
18
|
* for its actor against the signers at base, and, when the declaration names
|
|
13
19
|
* a `release` gate with a class, whether the actor is in it.
|
|
@@ -19,6 +25,7 @@
|
|
|
19
25
|
*/
|
|
20
26
|
import { type Release, type ReleaseCut } from "../lifecycle/release-store.js";
|
|
21
27
|
import { type GateAdmissionRule, type ReleaseSignatureCheck } from "./identity-gate-rule.js";
|
|
28
|
+
import { type ReleaseRevocation } from "../lifecycle/release-revocation.js";
|
|
22
29
|
export declare const RELEASES_CONTRACT_VERSION = 1;
|
|
23
30
|
export declare const RELEASES_SCHEMA_ID = "https://intentius.io/chant/schemas/workspace/releases/v1/releases.schema.json";
|
|
24
31
|
/** Why the read stopped. Closed; each code is in `reason-codes.ts`. */
|
|
@@ -38,6 +45,8 @@ export interface ReleaseEntry extends Omit<Release, "version"> {
|
|
|
38
45
|
env: string;
|
|
39
46
|
components: string[];
|
|
40
47
|
}>;
|
|
48
|
+
/** The revoked tag on its commit (#4033), or null when the commit is not revoked. */
|
|
49
|
+
revoked: ReleaseRevocation | null;
|
|
41
50
|
}
|
|
42
51
|
export type ReleasesDocument = {
|
|
43
52
|
$schema: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../src/workspace/releases.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../src/workspace/releases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAA6B,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGtG,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAoC,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAE3G,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,kBAAkB,kFAAkF,CAAC;AAElH,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,YAAI,sBAAsB,EAAE,mBAAmB,CAAU,CAAC;AAC3F,sCAAsC;AACtC,eAAO,MAAM,qBAAqB,YAAI,kBAAkB,CAAU,CAAC;AAEnE,4CAA4C;AAC5C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5D,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4GAA4G;IAC5G,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,eAAe,CAAC,GAAG;QAAE,cAAc,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAC;IACvG,4GAA4G;IAC5G,YAAY,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3D,qFAAqF;IACrF,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,qGAAqG;IACrG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAClF,GACD;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAElI;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAIzE;AAED,gDAAgD;AAChD,wBAAsB,gBAAgB,CAAC,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsDtF"}
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
* `releaseDigest`. A promote under a release writes that field; deploys made
|
|
9
9
|
* any other way do not name a release yet (#4043), so they list nowhere.
|
|
10
10
|
*
|
|
11
|
+
* Each release carries `revoked` (#4033, ws-105): the `ci/revoked/<sha>` tag
|
|
12
|
+
* on its commit, judged as `release cut` judges it, or null. It is read from
|
|
13
|
+
* local tags at read time; nothing records it. When the tags can't be judged
|
|
14
|
+
* (a `ci.green.signedSince` naming no commit here) every release reads null,
|
|
15
|
+
* and `chant workspace check` reports the declaration.
|
|
16
|
+
*
|
|
11
17
|
* Each cut carries `signatureCheck` (#4031): whether its signature verifies
|
|
12
18
|
* for its actor against the signers at base, and, when the declaration names
|
|
13
19
|
* a `release` gate with a class, whether the actor is in it.
|
|
@@ -23,6 +29,7 @@ import { readAllReleases, readCuts } from "../lifecycle/release-store.js";
|
|
|
23
29
|
import { resolveMemberLedger } from "../lifecycle/member-ledger.js";
|
|
24
30
|
import { readerVersion } from "./declaration.js";
|
|
25
31
|
import { checkReleaseSignature } from "./identity-gate-rule.js";
|
|
32
|
+
import { readRevokedCommits, revocationOf } from "../lifecycle/release-revocation.js";
|
|
26
33
|
export const RELEASES_CONTRACT_VERSION = 1;
|
|
27
34
|
export const RELEASES_SCHEMA_ID = "https://intentius.io/chant/schemas/workspace/releases/v1/releases.schema.json";
|
|
28
35
|
/** Why the read stopped. Closed; each code is in `reason-codes.ts`. */
|
|
@@ -65,6 +72,7 @@ export async function releasesDocument(req) {
|
|
|
65
72
|
}
|
|
66
73
|
}
|
|
67
74
|
const rule = await releaseRule(req.cwd);
|
|
75
|
+
const revoked = await readRevokedCommits(req.cwd).catch(() => new Map());
|
|
68
76
|
const entries = releases.map(({ version: _v, ...release }) => {
|
|
69
77
|
const own = cuts.filter((c) => c.releaseDigest === release.releaseDigest);
|
|
70
78
|
return {
|
|
@@ -74,6 +82,7 @@ export async function releasesDocument(req) {
|
|
|
74
82
|
environments: [...(running.get(release.releaseDigest) ?? new Map())]
|
|
75
83
|
.map(([env, components]) => ({ env, components }))
|
|
76
84
|
.sort((a, b) => (a.env < b.env ? -1 : 1)),
|
|
85
|
+
revoked: revocationOf(release, revoked),
|
|
77
86
|
};
|
|
78
87
|
});
|
|
79
88
|
const latest = (e) => e.cuts.map((c) => c.timestamp).sort().at(-1) ?? "";
|
|
@@ -177,6 +177,17 @@
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
+
},
|
|
181
|
+
"revoked": {
|
|
182
|
+
"description": "Added within contract version 1 by #4033, written by chant 0.124.29 and newer. The ci/revoked/<sha> tag on the release's commit, or null when the commit is not revoked. A revoked release is never promoted (chant components promote --release refuses it) and its pending release gates refuse approval. Null too when the ci tags can't be judged, as when ci.green.signedSince names no commit here, which chant workspace check reports.",
|
|
183
|
+
"oneOf": [
|
|
184
|
+
{
|
|
185
|
+
"type": "null"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"$ref": "#/$defs/revocation"
|
|
189
|
+
}
|
|
190
|
+
]
|
|
180
191
|
}
|
|
181
192
|
}
|
|
182
193
|
},
|
|
@@ -280,6 +291,13 @@
|
|
|
280
291
|
"type": "string",
|
|
281
292
|
"description": "ISO 8601."
|
|
282
293
|
},
|
|
294
|
+
"runId": {
|
|
295
|
+
"type": [
|
|
296
|
+
"string",
|
|
297
|
+
"null"
|
|
298
|
+
],
|
|
299
|
+
"description": "Added by #4027, written by chant 0.124.29 and newer. The run the cut ran in: the CI run's id in CI (GITHUB_RUN_ID, CI_PIPELINE_ID), or outside CI an id minted on the machine that cut, local-<epoch ms>. Null on a cut written before 0.124.29."
|
|
300
|
+
},
|
|
283
301
|
"runOrigin": {
|
|
284
302
|
"oneOf": [
|
|
285
303
|
{
|
|
@@ -308,7 +326,7 @@
|
|
|
308
326
|
}
|
|
309
327
|
}
|
|
310
328
|
],
|
|
311
|
-
"description": "The
|
|
329
|
+
"description": "The run the cut ran in: the forge (github for GitHub and Forgejo, gitlab, or local for an id minted outside CI), the repo or project, and a link to the run. From chant 0.124.29 a cut outside CI writes { forge: local } (#4027); a cut written before reads null outside CI."
|
|
312
330
|
},
|
|
313
331
|
"signature": {
|
|
314
332
|
"type": [
|
|
@@ -386,6 +404,110 @@
|
|
|
386
404
|
}
|
|
387
405
|
}
|
|
388
406
|
}
|
|
407
|
+
},
|
|
408
|
+
"revocation": {
|
|
409
|
+
"type": "object",
|
|
410
|
+
"description": "A revoked tag on a release's commit (#4033, ws-105), as chant ci list --json shows a commit's revoked tag, with the commit. Read from local tags at read time and judged as release cut judges them: with ci.green.signedSince, a revoked tag without a valid runner statement is ignored and revokes nothing.",
|
|
411
|
+
"required": [
|
|
412
|
+
"commit",
|
|
413
|
+
"tag",
|
|
414
|
+
"tagged",
|
|
415
|
+
"phase",
|
|
416
|
+
"run",
|
|
417
|
+
"signer"
|
|
418
|
+
],
|
|
419
|
+
"properties": {
|
|
420
|
+
"commit": {
|
|
421
|
+
"type": "string",
|
|
422
|
+
"description": "The release's commit, which the tag names."
|
|
423
|
+
},
|
|
424
|
+
"tag": {
|
|
425
|
+
"type": "string",
|
|
426
|
+
"description": "ci/revoked/<sha>."
|
|
427
|
+
},
|
|
428
|
+
"tagged": {
|
|
429
|
+
"type": [
|
|
430
|
+
"string",
|
|
431
|
+
"null"
|
|
432
|
+
],
|
|
433
|
+
"description": "When the tag was made, ISO 8601, or null for a lightweight tag."
|
|
434
|
+
},
|
|
435
|
+
"phase": {
|
|
436
|
+
"type": [
|
|
437
|
+
"string",
|
|
438
|
+
"null"
|
|
439
|
+
],
|
|
440
|
+
"description": "The phase the annotation names as failed, or null when the annotation can't be read."
|
|
441
|
+
},
|
|
442
|
+
"run": {
|
|
443
|
+
"description": "The run the annotation names as failed, or null.",
|
|
444
|
+
"oneOf": [
|
|
445
|
+
{
|
|
446
|
+
"type": "null"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"type": "object",
|
|
450
|
+
"required": [
|
|
451
|
+
"name",
|
|
452
|
+
"id",
|
|
453
|
+
"conclusion",
|
|
454
|
+
"url"
|
|
455
|
+
],
|
|
456
|
+
"properties": {
|
|
457
|
+
"name": {
|
|
458
|
+
"type": "string"
|
|
459
|
+
},
|
|
460
|
+
"id": {
|
|
461
|
+
"type": [
|
|
462
|
+
"integer",
|
|
463
|
+
"null"
|
|
464
|
+
],
|
|
465
|
+
"description": "The check run's id, or null for a chant Op run."
|
|
466
|
+
},
|
|
467
|
+
"conclusion": {
|
|
468
|
+
"type": [
|
|
469
|
+
"string",
|
|
470
|
+
"null"
|
|
471
|
+
]
|
|
472
|
+
},
|
|
473
|
+
"url": {
|
|
474
|
+
"type": [
|
|
475
|
+
"string",
|
|
476
|
+
"null"
|
|
477
|
+
]
|
|
478
|
+
},
|
|
479
|
+
"opRun": {
|
|
480
|
+
"type": "object",
|
|
481
|
+
"required": [
|
|
482
|
+
"id",
|
|
483
|
+
"env",
|
|
484
|
+
"signer"
|
|
485
|
+
],
|
|
486
|
+
"properties": {
|
|
487
|
+
"id": {
|
|
488
|
+
"type": "string"
|
|
489
|
+
},
|
|
490
|
+
"env": {
|
|
491
|
+
"type": "string"
|
|
492
|
+
},
|
|
493
|
+
"signer": {
|
|
494
|
+
"type": "string"
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
"description": "Present only when the run is a chant Op run (ci.green.source runs, #4044): its id, the env it is recorded under and the runner whose statement it carries. id above is then null."
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
]
|
|
502
|
+
},
|
|
503
|
+
"signer": {
|
|
504
|
+
"type": [
|
|
505
|
+
"string",
|
|
506
|
+
"null"
|
|
507
|
+
],
|
|
508
|
+
"description": "The runner principal whose statement the tag carries, or null when it counts unsigned."
|
|
509
|
+
}
|
|
510
|
+
}
|
|
389
511
|
}
|
|
390
512
|
}
|
|
391
513
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://intentius.io/chant/schemas/workspace/run-event/v1/run-event.schema.json",
|
|
4
4
|
"title": "chant run event",
|
|
5
|
-
"description": "One event of a run's stream (#4019, behold #678): one JSON object per line, written by writeRunEvent and createRunEventWriter in src/run-event.ts. It covers Op runs, component runs and pipeline runs alike. Every event names the run, what it ran, the commit it built from and the runtime it ran on, so a reader shows a run the same way wherever it happened. A run's stream opens with run-start and ends with run-settle, whose status is the run's verdict; seq counts the events from 0. Version 1 of the read contract. Readers ignore fields they do not know; a field is only ever added within a version.
|
|
5
|
+
"description": "One event of a run's stream (#4019, behold #678): one JSON object per line, written by writeRunEvent and createRunEventWriter in src/run-event.ts. It covers Op runs, component runs and pipeline runs alike. Every event names the run, what it ran, the commit it built from and the runtime it ran on, so a reader shows a run the same way wherever it happened. A run's stream opens with run-start and ends with run-settle, whose status is the run's verdict; seq counts the events from 0. Version 1 of the read contract. Readers ignore fields they do not know; a field is only ever added within a version. A status set gains a value only as an addition within a version, which the read contract lists with the chant that first writes it; a reader treats a status it does not know as a settle it cannot classify and reads on. Contract version 1 of this document is written by chant 0.124.28 and newer; the read contract as a whole by chant 0.81.0 and newer.",
|
|
6
6
|
"oneOf": [
|
|
7
7
|
{ "$ref": "#/$defs/run-start" },
|
|
8
8
|
{ "$ref": "#/$defs/run-settle" },
|
|
@@ -150,13 +150,20 @@
|
|
|
150
150
|
{ "$ref": "#/$defs/envelope" },
|
|
151
151
|
{
|
|
152
152
|
"type": "object",
|
|
153
|
-
"description": "A component's composition settled, after any rollback the run did for it.",
|
|
153
|
+
"description": "A component's composition settled, after any rollback the run did for it. A component the run did not start settles too, with no component-start before it: blocked when a dependency failed or stopped at a gate, already-applied when an earlier attempt the run resumed applied it.",
|
|
154
154
|
"required": ["type", "wave", "component", "status"],
|
|
155
155
|
"properties": {
|
|
156
156
|
"type": { "const": "component-settle" },
|
|
157
157
|
"wave": { "type": "integer", "minimum": 1 },
|
|
158
158
|
"component": { "type": "string" },
|
|
159
|
-
"status": {
|
|
159
|
+
"status": {
|
|
160
|
+
"enum": ["ok", "failed", "gated", "waiting", "blocked", "already-applied"],
|
|
161
|
+
"description": "The settle statuses of a run, wave or phase, and two more for a component the run did not start, added within contract version 1 by #4007 and written by chant 0.124.29 and newer. blocked: a dependency failed or stopped at a gate, so it never ran; blockedBy names the dependency. already-applied: an earlier attempt the run resumed applied it, so it did not run again; its wave is the wave it had in that attempt's derivation. A reader that knows only the four settle statuses can read either as a component that did not run in this run."
|
|
162
|
+
},
|
|
163
|
+
"blockedBy": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"description": "With blocked: the failed or gated component the run reached this one from. Added within contract version 1 by #4007, written by chant 0.124.29 and newer."
|
|
166
|
+
}
|
|
160
167
|
}
|
|
161
168
|
}
|
|
162
169
|
]
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* Its human quorum reaches back to `humanQuorumSince` (#3206), as a run's does.
|
|
20
20
|
*/
|
|
21
21
|
import { type GateApprovalRule } from "../op/gate.js";
|
|
22
|
+
import type { ReleaseRevocation } from "../lifecycle/release-revocation.js";
|
|
22
23
|
/** Why a member's gates can't be listed. Closed: a new code is a contract change. */
|
|
23
24
|
export declare const GATE_REASON_CODES: readonly ["gates-no-ledger", "gates-no-gate-ledger", "gates-ledger-unreadable"];
|
|
24
25
|
export type GateReasonCode = (typeof GATE_REASON_CODES)[number];
|
|
@@ -49,6 +50,13 @@ export interface StatusGate {
|
|
|
49
50
|
*/
|
|
50
51
|
releaseDigest?: string;
|
|
51
52
|
state: GateState;
|
|
53
|
+
/**
|
|
54
|
+
* Set on a release gate whose release was cut from a revoked commit
|
|
55
|
+
* (#4033, ws-105): the revoked tag on that commit. The gate is then
|
|
56
|
+
* `superseded` (or `expired`), and `chant approve` refuses it with
|
|
57
|
+
* `release-revoked`. Added by `workspace status`; absent otherwise.
|
|
58
|
+
*/
|
|
59
|
+
revoked?: ReleaseRevocation;
|
|
52
60
|
/** When the run recorded the pending fact the state is read against. */
|
|
53
61
|
recordedAt: string;
|
|
54
62
|
/** The commit the run reached the gate at (#4020), from the pending fact. Absent on a fact written before chant 0.124.28. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-gates.d.ts","sourceRoot":"","sources":["../../src/workspace/status-gates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,EAAwC,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"status-gates.d.ts","sourceRoot":"","sources":["../../src/workspace/status-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,10 @@
|
|
|
32
32
|
*/
|
|
33
33
|
import type { CommandContext } from "../cli/registry.js";
|
|
34
34
|
import { type ReleaseRecord } from "../lifecycle/release-ledger.js";
|
|
35
|
+
import { type RevokedRelease } from "../lifecycle/release-revocation.js";
|
|
35
36
|
import { type ReleasePlan } from "../lifecycle/plan-ledger.js";
|
|
37
|
+
import { type DeployOutcome } from "../lifecycle/deploy-outcome.js";
|
|
38
|
+
import { type MixedEnvironment } from "../lifecycle/mixed-environment.js";
|
|
36
39
|
import { type WorkLeaseState } from "../lifecycle/work-lease.js";
|
|
37
40
|
import { type CheckoutHead } from "./records-checkout.js";
|
|
38
41
|
import { type ReplicationState } from "./wip.js";
|
|
@@ -41,6 +44,9 @@ import { type BoxIntent } from "./box-intent.js";
|
|
|
41
44
|
import { type MemberFields } from "./kinds.js";
|
|
42
45
|
import { type FactoryView, type ListingView, type Plantable } from "./box-factory.js";
|
|
43
46
|
import { type ErrorLocation } from "./declaration.js";
|
|
47
|
+
import type { FlagDecision, FlagValue } from "./flags.js";
|
|
48
|
+
import type { OverlapReport } from "./overlap.js";
|
|
49
|
+
import type { WorkLink } from "./work.js";
|
|
44
50
|
import { type PromotionStep } from "./promotion-order.js";
|
|
45
51
|
import { type ReleaseSignatureCheck } from "./identity-gate-rule.js";
|
|
46
52
|
import { type GateLedgerReader, type StatusGate, type StatusGateLedger } from "./status-gates.js";
|
|
@@ -88,6 +94,10 @@ export interface StatusRelease {
|
|
|
88
94
|
gate: string;
|
|
89
95
|
resolvedAt: string;
|
|
90
96
|
} | null;
|
|
97
|
+
/** The release this deploy was made from (#4043): the `releaseDigest` of `_releases/<releaseDigest>.json`. Null for a deploy that named no release and for one recorded before chant 0.124.29. */
|
|
98
|
+
releaseDigest: string | null;
|
|
99
|
+
/** The label that release was cut with (#4043), or null when it has none, when no release is named, or when the cut can't be read. Chant 0.124.29 and newer write it. */
|
|
100
|
+
releaseLabel: string | null;
|
|
91
101
|
/** Read flags, such as `legacy-digest` (#2514). */
|
|
92
102
|
flags: string[];
|
|
93
103
|
/**
|
|
@@ -99,6 +109,24 @@ export interface StatusRelease {
|
|
|
99
109
|
* hasn't fetched yet.
|
|
100
110
|
*/
|
|
101
111
|
plan: ReleasePlan | null;
|
|
112
|
+
/**
|
|
113
|
+
* Set when the deploy names a release (`releaseDigest` on its record) that
|
|
114
|
+
* was cut from a revoked commit (#4033, ws-105): the revoked tag on that
|
|
115
|
+
* commit, the release and its label, and the line that rolls the component
|
|
116
|
+
* back. Absent otherwise, and from chant older than 0.124.29.
|
|
117
|
+
*/
|
|
118
|
+
revoked?: StatusRevokedRelease;
|
|
119
|
+
}
|
|
120
|
+
/** A release an environment runs that was cut from a revoked commit (#4033). */
|
|
121
|
+
export interface StatusRevokedRelease extends RevokedRelease {
|
|
122
|
+
/**
|
|
123
|
+
* The command that rolls the environment back, run in the member's
|
|
124
|
+
* directory: `chant components rollback <env> --release <label|digest>`
|
|
125
|
+
* naming the newest release the environment ran before this one that is
|
|
126
|
+
* still kept and not revoked (#4035), or `chant components rollback <env>
|
|
127
|
+
* --component <component>` when there is none.
|
|
128
|
+
*/
|
|
129
|
+
rollback: string;
|
|
102
130
|
}
|
|
103
131
|
export interface StatusLedger {
|
|
104
132
|
/** `members` for `_members/<member>/<env>/releases.jsonl`, `flat` for `<env>/releases.jsonl`. */
|
|
@@ -117,6 +145,14 @@ export interface StatusEnvironment {
|
|
|
117
145
|
code: StatusReasonCode;
|
|
118
146
|
message: string;
|
|
119
147
|
} | null;
|
|
148
|
+
/**
|
|
149
|
+
* Set when the environment runs a mix (#4035): a promote, rollback or
|
|
150
|
+
* redeploy left a component failed or gated and nothing has been recorded
|
|
151
|
+
* for it since, or its components' latest records name more than one
|
|
152
|
+
* release. Each component with what it runs, and the lines that settle it.
|
|
153
|
+
* Absent otherwise, and from chant older than 0.124.29.
|
|
154
|
+
*/
|
|
155
|
+
mixed?: MixedEnvironment;
|
|
120
156
|
}
|
|
121
157
|
export type CompareState = "same" | "differs" | "only-env" | "only-compare";
|
|
122
158
|
export interface StatusCompare {
|
|
@@ -175,6 +211,34 @@ export interface StatusMember {
|
|
|
175
211
|
* cuts could not be read. Added in contract 1 by chant 0.124.28.
|
|
176
212
|
*/
|
|
177
213
|
releaseCuts: StatusReleaseCut[] | null;
|
|
214
|
+
/**
|
|
215
|
+
* The member's feature flags (#4024): each record of a declared flag kind
|
|
216
|
+
* that names this member, with its value per environment and the work item
|
|
217
|
+
* it hides. Sorted by id. `[]` when none names it, null when the flag
|
|
218
|
+
* records could not be read. Called `featureFlags` because a release
|
|
219
|
+
* record's `flags` already means something else. Added in contract 1 by
|
|
220
|
+
* chant 0.124.29.
|
|
221
|
+
*/
|
|
222
|
+
featureFlags: StatusFeatureFlag[] | null;
|
|
223
|
+
}
|
|
224
|
+
/** One feature flag of a member (#4024), as `status --json` lists it. */
|
|
225
|
+
export interface StatusFeatureFlag {
|
|
226
|
+
/** The flag's name, its record's id. */
|
|
227
|
+
id: string;
|
|
228
|
+
/** The build parameter of the member the flag sets. */
|
|
229
|
+
param: string;
|
|
230
|
+
owner: string;
|
|
231
|
+
/** The value per environment, as the record writes it. An environment it leaves out builds with the parameter's default. */
|
|
232
|
+
values: Record<string, FlagValue>;
|
|
233
|
+
/** The work item the flag hides, with its state (null when no record has it), or null when the record names none. */
|
|
234
|
+
work: WorkLink | null;
|
|
235
|
+
/** Each decision the work item implements, with its state and whether it is confirmed. */
|
|
236
|
+
implements: FlagDecision[];
|
|
237
|
+
/** True when every decision the work item implements is confirmed: the flag is due for removal (check WSP118). */
|
|
238
|
+
stale: boolean;
|
|
239
|
+
/** The kind file and the record file, from the workspace root. */
|
|
240
|
+
kind: string;
|
|
241
|
+
path: string;
|
|
178
242
|
}
|
|
179
243
|
/** One cut of a member's release (#4031), as `status --json` lists it. */
|
|
180
244
|
export interface StatusReleaseCut {
|
|
@@ -312,6 +376,14 @@ export type StatusDocument = {
|
|
|
312
376
|
acceptance: StatusAcceptance[];
|
|
313
377
|
/** How far each ref the box's replicate policy names is from its remote (#3172), read locally; null when no box declares one. */
|
|
314
378
|
replication: ReplicationState | null;
|
|
379
|
+
/**
|
|
380
|
+
* Overlap between in-flight work items (#4025): pairs of items whose
|
|
381
|
+
* linked commits touch the same files, or that both reach one entry of
|
|
382
|
+
* a change set a pending or approved gate binds. A report, never a
|
|
383
|
+
* lock. Null when no work kind is declared or the work records or
|
|
384
|
+
* history can't be read. Added in contract 1 by chant 0.124.29.
|
|
385
|
+
*/
|
|
386
|
+
overlap: OverlapReport | null;
|
|
315
387
|
summary: {
|
|
316
388
|
members: number;
|
|
317
389
|
released: number;
|
|
@@ -339,6 +411,8 @@ export interface StatusQuery {
|
|
|
339
411
|
compareTo?: string;
|
|
340
412
|
/** Reads one ledger; the lifecycle reader unless a test swaps it. */
|
|
341
413
|
readLedger?: LedgerReader;
|
|
414
|
+
/** Reads the deploy outcomes beside one ledger (#4035), given the ledger's path; the lifecycle reader unless a test swaps it. */
|
|
415
|
+
readOutcomes?: OutcomeReader;
|
|
342
416
|
/** Reads one member's gate ledger directory; git unless a test swaps it. */
|
|
343
417
|
readGates?: GateLedgerReader;
|
|
344
418
|
/** The instant a gate's expiry is measured against; now by default. */
|
|
@@ -348,6 +422,10 @@ export interface StatusQuery {
|
|
|
348
422
|
/** Reads one member's promotion order from its directory; its chant.config.ts unless a test swaps it. */
|
|
349
423
|
readPromotionOrder?: (dir: string) => Promise<PromotionStep[] | null>;
|
|
350
424
|
}
|
|
425
|
+
/** Reads the deploy outcomes (#4035) in the directory of the ledger at `path`. */
|
|
426
|
+
type OutcomeReader = (path: string, cwd: string) => Promise<DeployOutcome[]>;
|
|
427
|
+
/** The per-component rollback line, for a component an environment runs from a revoked release when no earlier release can be named (#4033). */
|
|
428
|
+
export declare function rollbackLine(env: string, component: string): string;
|
|
351
429
|
export declare function compareEnvironments(a: StatusEnvironment, b: StatusEnvironment): StatusCompare;
|
|
352
430
|
/** Find the workspace, read every member's ledger and build the document `--json` prints. */
|
|
353
431
|
export declare function workspaceStatus(query: StatusQuery): Promise<StatusDocument>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/workspace/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAgC,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAqD,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EAA2G,KAAK,aAAa,EAAe,MAAM,eAAe,CAAC;AAEzK,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAiD,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEjH,OAAO,EAAsC,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnI,OAAO,EAAwB,kBAAkB,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAIzH,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,8EAA8E,CAAC;AAEnH,wCAAwC;AACxC,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,gFAAgF;AAChF,eAAO,MAAM,WAAW,aAAa,CAAC;AAItC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,oDAKU,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,8FAA8F;AAC9F,eAAO,MAAM,wBAAwB,iFAAoB,CAAC;AAE1D,uGAAuG;AACvG,eAAO,MAAM,2BAA2B,kFAAuB,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,0NAYW,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,wHAAwH;AACxH,eAAO,MAAM,WAAW,QAAsC,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,0GAA0G;IAC1G,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,iGAAiG;IACjG,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wKAAwK;IACxK,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;OAOG;IACH,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/workspace/status.ts"],"names":[],"mappings":"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"}
|