@intentius/chant 0.101.0 → 0.104.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/agents/checks.d.ts.map +1 -1
- package/dist/attrref.d.ts.map +1 -1
- package/dist/audit/core.d.ts +2 -0
- package/dist/audit/core.d.ts.map +1 -1
- package/dist/audit/discover.d.ts.map +1 -1
- package/dist/audit/nginx.d.ts.map +1 -1
- package/dist/audit/prior-art.d.ts +48 -0
- package/dist/audit/prior-art.d.ts.map +1 -1
- package/dist/behaviour-kinds.d.ts.map +1 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/change-set.d.ts +232 -0
- package/dist/change-set.d.ts.map +1 -0
- package/dist/cli/commands/audit.d.ts +7 -0
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/carve-emit.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon.d.ts +16 -0
- package/dist/cli/commands/check-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/import.d.ts +8 -0
- package/dist/cli/commands/import.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/init.d.ts +19 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/onboard.d.ts +9 -0
- package/dist/cli/commands/onboard.d.ts.map +1 -1
- package/dist/cli/commands/pinned-upgrade.d.ts +19 -5
- package/dist/cli/commands/pinned-upgrade.d.ts.map +1 -1
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/change-set.d.ts +11 -0
- package/dist/cli/handlers/change-set.d.ts.map +1 -0
- package/dist/cli/handlers/dev.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.d.ts +33 -0
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
- package/dist/cli/handlers/misc.d.ts.map +1 -1
- package/dist/cli/handlers/operator.d.ts +16 -0
- package/dist/cli/handlers/operator.d.ts.map +1 -1
- package/dist/cli/handlers/pr.d.ts +31 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -0
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/lsp/server.d.ts.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/op-tools.d.ts.map +1 -1
- package/dist/cli/mcp/server.d.ts.map +1 -1
- package/dist/cli/mcp/tools/build.d.ts.map +1 -1
- package/dist/cli/mcp/tools/composites.d.ts.map +1 -1
- package/dist/cli/mcp/tools/explain.d.ts.map +1 -1
- package/dist/cli/mcp/tools/import.d.ts.map +1 -1
- package/dist/cli/mcp/tools/lint.d.ts.map +1 -1
- package/dist/cli/mcp/tools/scaffold.d.ts.map +1 -1
- package/dist/cli/mcp/tools/search.d.ts.map +1 -1
- package/dist/cli/mcp/workspace-tools.d.ts +4 -3
- package/dist/cli/mcp/workspace-tools.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +74 -3
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/codegen/fetch.d.ts.map +1 -1
- package/dist/codegen/naming.d.ts.map +1 -1
- package/dist/codegen/pinned-upgrade.d.ts +67 -3
- package/dist/codegen/pinned-upgrade.d.ts.map +1 -1
- package/dist/codegen/registry.d.ts.map +1 -1
- package/dist/components/auto-release.d.ts +16 -0
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/capability-plugin-loader.d.ts.map +1 -1
- package/dist/components/capability.d.ts +53 -0
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/changed-files.d.ts +31 -0
- package/dist/components/changed-files.d.ts.map +1 -0
- package/dist/components/cli-support.d.ts +9 -1
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/component.d.ts +24 -0
- package/dist/components/component.d.ts.map +1 -1
- package/dist/components/deploy-units.d.ts.map +1 -1
- package/dist/components/driver.d.ts +13 -0
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/fan-out-output.d.ts +6 -0
- package/dist/components/fan-out-output.d.ts.map +1 -1
- package/dist/components/fan-out-record.d.ts +41 -0
- package/dist/components/fan-out-record.d.ts.map +1 -0
- package/dist/components/fan-out-run.d.ts +65 -0
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-support.d.ts +2 -0
- package/dist/components/fan-out-support.d.ts.map +1 -1
- package/dist/components/fan-out.d.ts +6 -0
- package/dist/components/fan-out.d.ts.map +1 -1
- package/dist/components/gated-wave-pipeline.d.ts +50 -0
- package/dist/components/gated-wave-pipeline.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layers.d.ts +25 -0
- package/dist/components/layers.d.ts.map +1 -0
- package/dist/components/pr-pipeline.d.ts +61 -0
- package/dist/components/pr-pipeline.d.ts.map +1 -0
- package/dist/components/pr-run.d.ts +119 -0
- package/dist/components/pr-run.d.ts.map +1 -0
- package/dist/components/promote.d.ts.map +1 -1
- package/dist/components/starter-plugin.d.ts.map +1 -1
- package/dist/components/verbs/process-runner.d.ts.map +1 -1
- package/dist/components/verbs/r2-sync.d.ts.map +1 -1
- package/dist/components/verbs/run-agent.d.ts.map +1 -1
- package/dist/components/verbs/sbom-generator.d.ts.map +1 -1
- package/dist/components/verbs/shell.d.ts.map +1 -1
- package/dist/components/verbs/sign.d.ts.map +1 -1
- package/dist/components/verbs/verify.d.ts.map +1 -1
- package/dist/components/verbs/vuln-gate.d.ts.map +1 -1
- package/dist/components/verbs/vuln-scan.d.ts.map +1 -1
- package/dist/components/verbs/wrangler.d.ts.map +1 -1
- package/dist/components/wave-plan.d.ts +49 -0
- package/dist/components/wave-plan.d.ts.map +1 -0
- package/dist/composite.d.ts.map +1 -1
- package/dist/config.d.ts +19 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/declarable.d.ts +16 -0
- package/dist/declarable.d.ts.map +1 -1
- package/dist/discovery/cache.d.ts.map +1 -1
- package/dist/discovery/fold-import.d.ts +15 -5
- package/dist/discovery/fold-import.d.ts.map +1 -1
- package/dist/discovery/param-deps.d.ts +16 -0
- package/dist/discovery/param-deps.d.ts.map +1 -1
- package/dist/discovery/sandbox/policy-wire.d.ts.map +1 -1
- package/dist/discovery/specifier-resolve.d.ts +37 -0
- package/dist/discovery/specifier-resolve.d.ts.map +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/fold/fold.d.ts +3 -1
- package/dist/fold/fold.d.ts.map +1 -1
- package/dist/gated-waves.d.ts +147 -0
- package/dist/gated-waves.d.ts.map +1 -0
- package/dist/graph-detail.d.ts.map +1 -1
- package/dist/graph-ir.d.ts.map +1 -1
- package/dist/graph-layout.d.ts.map +1 -1
- package/dist/import/base-parser.d.ts.map +1 -1
- package/dist/import/embedded.d.ts +7 -0
- package/dist/import/embedded.d.ts.map +1 -1
- package/dist/import/parser-options.d.ts +14 -0
- package/dist/import/parser-options.d.ts.map +1 -0
- package/dist/import/parser.d.ts +17 -0
- package/dist/import/parser.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/kubectl-context.d.ts.map +1 -1
- package/dist/lexicon-output.d.ts.map +1 -1
- package/dist/lexicon-schema.d.ts +3 -3
- package/dist/lexicon.d.ts +103 -3
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/assert-live.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.d.ts +22 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/git.d.ts +46 -1
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/member-ledger.d.ts.map +1 -1
- package/dist/lifecycle/observe.d.ts.map +1 -1
- package/dist/lifecycle/plan-ledger.d.ts.map +1 -1
- package/dist/lifecycle/release-ledger.d.ts.map +1 -1
- package/dist/lifecycle/scenario.d.ts.map +1 -1
- package/dist/lifecycle/status.d.ts.map +1 -1
- package/dist/lifecycle/work-lease.d.ts +61 -2
- package/dist/lifecycle/work-lease.d.ts.map +1 -1
- package/dist/lint/config.d.ts +8 -8
- package/dist/lint/engine.d.ts +6 -0
- package/dist/lint/engine.d.ts.map +1 -1
- package/dist/lint/post-synth.d.ts +18 -0
- package/dist/lint/post-synth.d.ts.map +1 -1
- package/dist/lsp/lexicon-providers.d.ts.map +1 -1
- package/dist/op/activities/activity-contracts.d.ts +137 -11
- package/dist/op/activities/activity-contracts.d.ts.map +1 -1
- package/dist/op/activities/apply.d.ts +79 -9
- package/dist/op/activities/apply.d.ts.map +1 -1
- package/dist/op/activities/change-set.d.ts +62 -0
- package/dist/op/activities/change-set.d.ts.map +1 -0
- package/dist/op/activities/decide.d.ts +2 -0
- package/dist/op/activities/decide.d.ts.map +1 -1
- package/dist/op/activities/factory.d.ts +137 -0
- package/dist/op/activities/factory.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +5 -1
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/lexicon-upgrade.d.ts +44 -12
- package/dist/op/activities/lexicon-upgrade.d.ts.map +1 -1
- package/dist/op/activity-contract.d.ts +1 -1
- package/dist/op/activity-contract.d.ts.map +1 -1
- package/dist/op/activity-failure.d.ts.map +1 -1
- package/dist/op/activity-profiles.d.ts.map +1 -1
- package/dist/op/builders.d.ts +11 -0
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/composites/apply-op.d.ts +12 -5
- package/dist/op/composites/apply-op.d.ts.map +1 -1
- package/dist/op/composites/lexicon-upgrade-op.d.ts +22 -6
- package/dist/op/composites/lexicon-upgrade-op.d.ts.map +1 -1
- package/dist/op/decide-backend.d.ts +5 -1
- package/dist/op/decide-backend.d.ts.map +1 -1
- package/dist/op/decide-read-inputs.d.ts +4 -2
- package/dist/op/decide-read-inputs.d.ts.map +1 -1
- package/dist/op/emulator-lifecycle.d.ts +21 -2
- package/dist/op/emulator-lifecycle.d.ts.map +1 -1
- package/dist/op/factory.d.ts +83 -0
- package/dist/op/factory.d.ts.map +1 -0
- package/dist/op/gate-approval.d.ts +5 -1
- package/dist/op/gate-approval.d.ts.map +1 -1
- package/dist/op/gate-wait.d.ts.map +1 -1
- package/dist/op/gate.d.ts +19 -3
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/index.d.ts +6 -1
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/local-executor.d.ts +6 -0
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/op-ir.d.ts +2 -0
- package/dist/op/op-ir.d.ts.map +1 -1
- package/dist/op/op-verb-class.d.ts.map +1 -1
- package/dist/op/operator.d.ts.map +1 -1
- package/dist/op/run-context.d.ts +39 -0
- package/dist/op/run-context.d.ts.map +1 -0
- package/dist/op/run-live.d.ts.map +1 -1
- package/dist/op/runtimes/local.d.ts.map +1 -1
- package/dist/op/source-archive.d.ts.map +1 -1
- package/dist/op/steward-beside.d.ts.map +1 -1
- package/dist/op/steward-points.d.ts.map +1 -1
- package/dist/op/steward.d.ts.map +1 -1
- package/dist/op/types.d.ts +16 -3
- package/dist/op/types.d.ts.map +1 -1
- package/dist/op/work-lease-run.d.ts +24 -4
- package/dist/op/work-lease-run.d.ts.map +1 -1
- package/dist/plan-summary.d.ts +207 -0
- package/dist/plan-summary.d.ts.map +1 -0
- package/dist/pr-forge.d.ts +105 -0
- package/dist/pr-forge.d.ts.map +1 -0
- package/dist/pr-loop.d.ts +178 -0
- package/dist/pr-loop.d.ts.map +1 -0
- package/dist/project-root.d.ts.map +1 -1
- package/dist/provenance.d.ts +21 -0
- package/dist/provenance.d.ts.map +1 -1
- package/dist/pseudo-parameter.d.ts.map +1 -1
- package/dist/reconcile.d.ts.map +1 -1
- package/dist/secret-materialization.d.ts.map +1 -1
- package/dist/telemetry-attribution.d.ts +31 -0
- package/dist/telemetry-attribution.d.ts.map +1 -1
- package/dist/terraform/emit-source.d.ts.map +1 -1
- package/dist/terraform/hcl2json.d.ts +45 -0
- package/dist/terraform/hcl2json.d.ts.map +1 -0
- package/dist/terraform/parse.d.ts +4 -40
- package/dist/terraform/parse.d.ts.map +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/contract-repo.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/decide-workspace.d.ts +1 -1
- package/dist/workspace/__fixtures__/decide-workspace.d.ts.map +1 -1
- package/dist/workspace/agent-cli.d.ts +5 -0
- package/dist/workspace/agent-cli.d.ts.map +1 -1
- package/dist/workspace/box-cli.d.ts +12 -0
- package/dist/workspace/box-cli.d.ts.map +1 -0
- package/dist/workspace/box-factory.d.ts +97 -0
- package/dist/workspace/box-factory.d.ts.map +1 -0
- package/dist/workspace/box-listing.d.ts +85 -0
- package/dist/workspace/box-listing.d.ts.map +1 -0
- package/dist/workspace/box-publish.d.ts +147 -0
- package/dist/workspace/box-publish.d.ts.map +1 -0
- package/dist/workspace/broker-protocol.d.ts +190 -0
- package/dist/workspace/broker-protocol.d.ts.map +1 -0
- package/dist/workspace/changes.d.ts.map +1 -1
- package/dist/workspace/chant-migrations/chud-lexicon-exit.d.ts.map +1 -1
- package/dist/workspace/checks/boxes.d.ts.map +1 -1
- package/dist/workspace/checks.d.ts +5 -0
- package/dist/workspace/checks.d.ts.map +1 -1
- package/dist/workspace/compose-graph.d.ts +10 -0
- package/dist/workspace/compose-graph.d.ts.map +1 -1
- package/dist/workspace/composites.d.ts +2 -2
- package/dist/workspace/composites.d.ts.map +1 -1
- package/dist/workspace/conformance/__fixtures__/reference-broker.d.ts +17 -0
- package/dist/workspace/conformance/__fixtures__/reference-broker.d.ts.map +1 -0
- package/dist/workspace/conformance/broker.d.ts +202 -0
- package/dist/workspace/conformance/broker.d.ts.map +1 -0
- package/dist/workspace/conformance/index.d.ts +68 -6
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/conformance/vitest.d.ts +19 -3
- package/dist/workspace/conformance/vitest.d.ts.map +1 -1
- package/dist/workspace/conformance/writer.d.ts +462 -0
- package/dist/workspace/conformance/writer.d.ts.map +1 -0
- package/dist/workspace/decide.d.ts +126 -12
- package/dist/workspace/decide.d.ts.map +1 -1
- package/dist/workspace/decision-points.schema.json +11 -4
- package/dist/workspace/declaration.d.ts +156 -4
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.schema.json +383 -5
- package/dist/workspace/environments.d.ts +36 -10
- package/dist/workspace/environments.d.ts.map +1 -1
- package/dist/workspace/factory-rules.d.ts +180 -0
- package/dist/workspace/factory-rules.d.ts.map +1 -0
- package/dist/workspace/generated-files.d.ts.map +1 -1
- package/dist/workspace/graph-cache.d.ts.map +1 -1
- package/dist/workspace/graph-cli.d.ts +2 -0
- package/dist/workspace/graph-cli.d.ts.map +1 -1
- package/dist/workspace/identity.d.ts +111 -0
- package/dist/workspace/identity.d.ts.map +1 -0
- package/dist/workspace/init.d.ts +21 -0
- package/dist/workspace/init.d.ts.map +1 -1
- package/dist/workspace/intent-cli.d.ts +7 -4
- package/dist/workspace/intent-cli.d.ts.map +1 -1
- package/dist/workspace/intent-record.d.ts +36 -2
- package/dist/workspace/intent-record.d.ts.map +1 -1
- package/dist/workspace/intent.d.ts +249 -8
- package/dist/workspace/intent.d.ts.map +1 -1
- package/dist/workspace/json-edit.d.ts +24 -0
- package/dist/workspace/json-edit.d.ts.map +1 -0
- package/dist/workspace/jsonc.d.ts +11 -0
- package/dist/workspace/jsonc.d.ts.map +1 -1
- package/dist/workspace/kinds.d.ts +66 -4
- package/dist/workspace/kinds.d.ts.map +1 -1
- package/dist/workspace/lexicon-symbols.d.ts +29 -0
- package/dist/workspace/lexicon-symbols.d.ts.map +1 -0
- package/dist/workspace/lineage-hash-index.d.ts.map +1 -1
- package/dist/workspace/lineage-lock.d.ts +2 -2
- package/dist/workspace/lineage-lock.d.ts.map +1 -1
- package/dist/workspace/lineage-upgrade.d.ts +31 -2
- package/dist/workspace/lineage-upgrade.d.ts.map +1 -1
- package/dist/workspace/links.d.ts.map +1 -1
- package/dist/workspace/point-answer.schema.json +42 -2
- package/dist/workspace/points-cli.d.ts +10 -3
- package/dist/workspace/points-cli.d.ts.map +1 -1
- package/dist/workspace/points.d.ts +66 -5
- package/dist/workspace/points.d.ts.map +1 -1
- package/dist/workspace/principal-classes.d.ts +114 -0
- package/dist/workspace/principal-classes.d.ts.map +1 -0
- package/dist/workspace/reason-codes.d.ts +53 -4
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/record-assets.d.ts.map +1 -1
- package/dist/workspace/record-sessions.d.ts +5 -7
- package/dist/workspace/record-sessions.d.ts.map +1 -1
- package/dist/workspace/records-checkout.d.ts +54 -0
- package/dist/workspace/records-checkout.d.ts.map +1 -0
- package/dist/workspace/records-cli.d.ts +34 -1
- package/dist/workspace/records-cli.d.ts.map +1 -1
- package/dist/workspace/records-close.d.ts +7 -3
- package/dist/workspace/records-close.d.ts.map +1 -1
- package/dist/workspace/records-since.d.ts.map +1 -1
- package/dist/workspace/records-write.d.ts +68 -7
- package/dist/workspace/records-write.d.ts.map +1 -1
- package/dist/workspace/records.d.ts +43 -9
- package/dist/workspace/records.d.ts.map +1 -1
- package/dist/workspace/runs-cli.d.ts +296 -0
- package/dist/workspace/runs-cli.d.ts.map +1 -0
- package/dist/workspace/runs.d.ts +544 -0
- package/dist/workspace/runs.d.ts.map +1 -0
- package/dist/workspace/session-kinds.d.ts +1 -1
- package/dist/workspace/session-kinds.d.ts.map +1 -1
- package/dist/workspace/source-block.d.ts +1 -1
- package/dist/workspace/source-block.d.ts.map +1 -1
- package/dist/workspace/squash.d.ts +80 -0
- package/dist/workspace/squash.d.ts.map +1 -0
- package/dist/workspace/status-gates.d.ts +17 -3
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status.d.ts +64 -0
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/symbols.d.ts +63 -0
- package/dist/workspace/symbols.d.ts.map +1 -0
- package/dist/workspace/trailer-joins.d.ts +46 -0
- package/dist/workspace/trailer-joins.d.ts.map +1 -0
- package/dist/workspace/trailers.d.ts +89 -0
- package/dist/workspace/trailers.d.ts.map +1 -0
- package/dist/workspace/trust/attestor.d.ts.map +1 -1
- package/dist/workspace/trust/rotation.d.ts.map +1 -1
- package/dist/workspace/trust/run-commits.d.ts +46 -0
- package/dist/workspace/trust/run-commits.d.ts.map +1 -0
- package/dist/workspace/trust/run-statement.d.ts +128 -0
- package/dist/workspace/trust/run-statement.d.ts.map +1 -0
- package/dist/workspace/trust/seal.d.ts +38 -0
- package/dist/workspace/trust/seal.d.ts.map +1 -1
- package/dist/workspace/trust/test-repo.d.ts.map +1 -1
- package/dist/workspace/trust/verify-cli.d.ts +1 -1
- package/dist/workspace/trust/verify.d.ts +16 -2
- package/dist/workspace/trust/verify.d.ts.map +1 -1
- package/dist/workspace/wip-cli.d.ts +21 -0
- package/dist/workspace/wip-cli.d.ts.map +1 -0
- package/dist/workspace/wip.d.ts +268 -0
- package/dist/workspace/wip.d.ts.map +1 -0
- package/dist/workspace/work-cli.d.ts +39 -3
- package/dist/workspace/work-cli.d.ts.map +1 -1
- package/dist/workspace/work-evidence.d.ts +1 -1
- package/dist/workspace/work-evidence.d.ts.map +1 -1
- package/dist/workspace/work-size.d.ts +55 -0
- package/dist/workspace/work-size.d.ts.map +1 -0
- package/dist/workspace/work.d.ts +26 -1
- package/dist/workspace/work.d.ts.map +1 -1
- package/dist/workspace/workspace-kinds.schema.json +122 -0
- package/dist/workspace/workspace-principals.schema.json +60 -0
- package/dist/workspace/write-lock-cli.d.ts +60 -0
- package/dist/workspace/write-lock-cli.d.ts.map +1 -0
- package/dist/workspace/write-lock.d.ts +152 -0
- package/dist/workspace/write-lock.d.ts.map +1 -0
- package/dist/workspace/write-scope.d.ts +83 -19
- package/dist/workspace/write-scope.d.ts.map +1 -1
- package/dist/yaml.d.ts +21 -39
- package/dist/yaml.d.ts.map +1 -1
- package/package.json +7 -2
- package/src/__fixtures__/change-set/lifecycle-plan.floci.json +59 -0
- package/src/__fixtures__/change-set/lifecycle-v1.ts.txt +4 -0
- package/src/__fixtures__/change-set/lifecycle-v2.ts.txt +4 -0
- package/src/__fixtures__/change-set/lifecycle.change-set.golden.json +95 -0
- package/src/__fixtures__/change-set/warden.change-set.golden.json +106 -0
- package/src/__fixtures__/change-set/warden.plan.json +44 -0
- package/src/__fixtures__/plan-summary/normalization-vectors.json +1593 -0
- package/src/__fixtures__/pr-loop/pr-apply-applied.note.golden.md +31 -0
- package/src/__fixtures__/pr-loop/pr-apply-refused.note.golden.md +31 -0
- package/src/__fixtures__/pr-loop/pr-plan.golden.json +127 -0
- package/src/__fixtures__/pr-loop/pr-plan.note.golden.md +37 -0
- package/src/audit/core.test.ts +15 -0
- package/src/audit/core.ts +8 -2
- package/src/audit/discover.test.ts +11 -0
- package/src/audit/discover.ts +7 -2
- package/src/audit/prior-art.ts +15 -0
- package/src/change-set-bundle.test.ts +57 -0
- package/src/change-set.test.ts +215 -0
- package/src/change-set.ts +445 -0
- package/src/cli/commands/__fixtures__/init-lexicon-output/package.json +1 -1
- package/src/cli/commands/audit-opt-in.test.ts +54 -0
- package/src/cli/commands/audit.ts +29 -2
- package/src/cli/commands/build.test.ts +19 -0
- package/src/cli/commands/build.ts +3 -2
- package/src/cli/commands/carve-emit-state.test.ts +4 -0
- package/src/cli/commands/carve-emit.ts +5 -19
- package/src/cli/commands/check-lexicon.test.ts +62 -1
- package/src/cli/commands/check-lexicon.ts +36 -6
- package/src/cli/commands/import-live.test.ts +18 -0
- package/src/cli/commands/import-parser-options.test.ts +133 -0
- package/src/cli/commands/import.ts +21 -3
- package/src/cli/commands/init-lexicon/templates/project.ts +1 -1
- package/src/cli/commands/init.test.ts +8 -1
- package/src/cli/commands/init.ts +23 -8
- package/src/cli/commands/lint.test.ts +37 -0
- package/src/cli/commands/onboard.test.ts +53 -3
- package/src/cli/commands/onboard.ts +52 -4
- package/src/cli/commands/pinned-upgrade.ts +73 -33
- package/src/cli/handlers/__snapshots__/build-member.test.ts.snap +2 -2
- package/src/cli/handlers/build.ts +13 -1
- package/src/cli/handlers/change-set.test.ts +56 -0
- package/src/cli/handlers/change-set.ts +44 -0
- package/src/cli/handlers/components.ts +2 -2
- package/src/cli/handlers/dev.ts +8 -6
- package/src/cli/handlers/fan-out.test.ts +221 -2
- package/src/cli/handlers/fan-out.ts +165 -75
- package/src/cli/handlers/graph.ts +3 -0
- package/src/cli/handlers/lifecycle.test.ts +67 -0
- package/src/cli/handlers/lifecycle.ts +6 -5
- package/src/cli/handlers/misc.ts +2 -0
- package/src/cli/handlers/operator.test.ts +21 -0
- package/src/cli/handlers/operator.ts +121 -6
- package/src/cli/handlers/pr.ts +373 -0
- package/src/cli/handlers/run.test.ts +111 -0
- package/src/cli/handlers/run.ts +86 -24
- package/src/cli/handlers/scenario.ts +2 -2
- package/src/cli/main.test.ts +21 -0
- package/src/cli/main.ts +246 -30
- package/src/cli/mcp/never-over-mcp.test.ts +101 -0
- package/src/cli/mcp/op-tools.ts +24 -2
- package/src/cli/mcp/workspace-tools.test.ts +5 -2
- package/src/cli/mcp/workspace-tools.ts +62 -7
- package/src/cli/registry.ts +74 -3
- package/src/codegen/pinned-upgrade-multi.test.ts +157 -0
- package/src/codegen/pinned-upgrade-tags.test.ts +112 -0
- package/src/codegen/pinned-upgrade.test.ts +104 -0
- package/src/codegen/pinned-upgrade.ts +250 -56
- package/src/codegen/testdata/postgres-tags.json +242 -0
- package/src/components/auto-release.ts +1 -1
- package/src/components/capability.ts +55 -0
- package/src/components/changed-files.ts +66 -0
- package/src/components/cli-support.ts +28 -5
- package/src/components/component.schema.json +17 -0
- package/src/components/component.ts +25 -0
- package/src/components/deploy-units.ts +3 -0
- package/src/components/driver.test.ts +52 -0
- package/src/components/driver.ts +31 -13
- package/src/components/fan-out-output.ts +42 -1
- package/src/components/fan-out-record.ts +69 -0
- package/src/components/fan-out-run.test.ts +17 -0
- package/src/components/fan-out-run.ts +304 -1
- package/src/components/fan-out-support.ts +3 -0
- package/src/components/fan-out-waves.test.ts +375 -0
- package/src/components/fan-out.ts +18 -17
- package/src/components/gated-wave-pipeline.ts +82 -0
- package/src/components/index.ts +1 -0
- package/src/components/layers.ts +30 -0
- package/src/components/pr-pipeline.ts +91 -0
- package/src/components/pr-run.test.ts +205 -0
- package/src/components/pr-run.ts +280 -0
- package/src/components/promote.ts +5 -0
- package/src/components/verbs/shell.test.ts +11 -0
- package/src/components/verbs/shell.ts +7 -3
- package/src/components/wave-plan.ts +124 -0
- package/src/config.test.ts +21 -0
- package/src/config.ts +15 -0
- package/src/declarable.test.ts +21 -0
- package/src/declarable.ts +19 -0
- package/src/discovery/fold-composite.test.ts +41 -5
- package/src/discovery/fold-import.test.ts +129 -0
- package/src/discovery/fold-import.ts +643 -131
- package/src/discovery/fold-package-composite.test.ts +264 -0
- package/src/discovery/fold-specifiers.test.ts +191 -0
- package/src/discovery/param-deps.test.ts +66 -1
- package/src/discovery/param-deps.ts +45 -0
- package/src/discovery/sandbox/bundle.ts +1 -1
- package/src/discovery/specifier-resolve.ts +344 -0
- package/src/fold/fold.test.ts +39 -1
- package/src/fold/fold.ts +83 -9
- package/src/fold-provenance.test.ts +140 -0
- package/src/gated-waves-bundle.test.ts +62 -0
- package/src/gated-waves.test.ts +118 -0
- package/src/gated-waves.ts +240 -0
- package/src/graph-ir.test.ts +83 -0
- package/src/graph-ir.ts +29 -0
- package/src/import/embedded.test.ts +20 -0
- package/src/import/embedded.ts +13 -0
- package/src/import/parser-options.ts +46 -0
- package/src/import/parser.ts +20 -0
- package/src/index.ts +1 -0
- package/src/lexicon.ts +106 -3
- package/src/lifecycle/gate-ledger.ts +23 -0
- package/src/lifecycle/git.ts +102 -16
- package/src/lifecycle/observe.test.ts +18 -0
- package/src/lifecycle/observe.ts +6 -4
- package/src/lifecycle/snapshot.ts +2 -2
- package/src/lifecycle/work-lease.test.ts +1 -1
- package/src/lifecycle/work-lease.ts +93 -2
- package/src/lint/engine.test.ts +55 -0
- package/src/lint/engine.ts +30 -4
- package/src/lint/output-docs.test.ts +59 -56
- package/src/lint/post-synth.test.ts +19 -0
- package/src/lint/post-synth.ts +19 -1
- package/src/meta/declared-imports.test.ts +1 -1
- package/src/op/activities/activity-contracts.ts +84 -0
- package/src/op/activities/apply.test.ts +189 -5
- package/src/op/activities/apply.ts +230 -8
- package/src/op/activities/change-set.ts +114 -0
- package/src/op/activities/decide.ts +3 -0
- package/src/op/activities/factory.ts +675 -0
- package/src/op/activities/index.ts +9 -0
- package/src/op/activities/lexicon-upgrade.test.ts +160 -6
- package/src/op/activities/lexicon-upgrade.ts +154 -51
- package/src/op/activity-contract.test.ts +21 -1
- package/src/op/activity-contract.ts +19 -9
- package/src/op/builders.ts +23 -0
- package/src/op/composites/apply-op.ts +12 -5
- package/src/op/composites/composites.test.ts +30 -3
- package/src/op/composites/lexicon-upgrade-op.test.ts +7 -2
- package/src/op/composites/lexicon-upgrade-op.ts +29 -8
- package/src/op/decide-backend.ts +5 -1
- package/src/op/decide-read-inputs.ts +33 -5
- package/src/op/emulator-lifecycle.test.ts +23 -0
- package/src/op/emulator-lifecycle.ts +52 -14
- package/src/op/factory.e2e.test.ts +232 -0
- package/src/op/factory.ts +118 -0
- package/src/op/gate-approval.test.ts +74 -0
- package/src/op/gate-approval.ts +5 -1
- package/src/op/gate.ts +31 -5
- package/src/op/index.ts +11 -1
- package/src/op/local-executor.test.ts +15 -0
- package/src/op/local-executor.ts +40 -12
- package/src/op/local-output.ts +1 -1
- package/src/op/op-ir.test.ts +9 -0
- package/src/op/op-ir.ts +4 -0
- package/src/op/op-verb-class.ts +3 -0
- package/src/op/operator.ts +4 -0
- package/src/op/run-context.test.ts +141 -0
- package/src/op/run-context.ts +51 -0
- package/src/op/runtimes/local.test.ts +14 -0
- package/src/op/runtimes/local.ts +2 -0
- package/src/op/steward-beside.ts +2 -0
- package/src/op/types.ts +16 -3
- package/src/op/work-lease-run.test.ts +47 -0
- package/src/op/work-lease-run.ts +76 -11
- package/src/plan-summary.test.ts +263 -0
- package/src/plan-summary.ts +845 -0
- package/src/pr-forge.test.ts +237 -0
- package/src/pr-forge.ts +332 -0
- package/src/pr-loop-bundle.test.ts +46 -0
- package/src/pr-loop.test.ts +171 -0
- package/src/pr-loop.ts +324 -0
- package/src/provenance.ts +35 -0
- package/src/telemetry-attribution.test.ts +23 -1
- package/src/telemetry-attribution.ts +51 -0
- package/src/terraform/hcl2json.test.ts +21 -0
- package/src/terraform/hcl2json.ts +81 -0
- package/src/terraform/parse.ts +11 -74
- package/src/workspace/agent-cli.ts +7 -3
- package/src/workspace/agent.schema.json +22 -0
- package/src/workspace/app-kind.test.ts +196 -0
- package/src/workspace/box-cli.ts +113 -0
- package/src/workspace/box-factory.test.ts +323 -0
- package/src/workspace/box-factory.ts +136 -0
- package/src/workspace/box-listing-write.schema.json +204 -0
- package/src/workspace/box-listing.test.ts +234 -0
- package/src/workspace/box-listing.ts +324 -0
- package/src/workspace/box-publish.schema.json +498 -0
- package/src/workspace/box-publish.test.ts +204 -0
- package/src/workspace/box-publish.ts +420 -0
- package/src/workspace/box-ship.test.ts +96 -0
- package/src/workspace/broker-protocol.schema.json +186 -0
- package/src/workspace/broker-protocol.test.ts +122 -0
- package/src/workspace/broker-protocol.ts +317 -0
- package/src/workspace/builder-tiers.test.ts +146 -0
- package/src/workspace/change-set.schema.json +460 -0
- package/src/workspace/changes.schema.json +12 -20
- package/src/workspace/changes.ts +4 -1
- package/src/workspace/chant-migrations.e2e.test.ts +17 -5
- package/src/workspace/checks/boxes.test.ts +5 -0
- package/src/workspace/checks.ts +39 -8
- package/src/workspace/component-environments.test.ts +105 -0
- package/src/workspace/compose-graph.ts +7 -0
- package/src/workspace/composites.schema.json +23 -4
- package/src/workspace/composites.test.ts +8 -8
- package/src/workspace/composites.ts +13 -2
- package/src/workspace/conformance/__fixture__/decisions/decision.schema.json +2 -2
- package/src/workspace/conformance/__fixtures__/reference-broker.ts +207 -0
- package/src/workspace/conformance/__writer_fixture__/answers/answer.kind.mjs +32 -0
- package/src/workspace/conformance/__writer_fixture__/answers/answer.schema.json +135 -0
- package/src/workspace/conformance/__writer_fixture__/contracts/contract.kind.mjs +37 -0
- package/src/workspace/conformance/__writer_fixture__/contracts/contract.schema.json +213 -0
- package/src/workspace/conformance/__writer_fixture__/decisions/points.json +228 -0
- package/src/workspace/conformance/__writer_fixture__/drivers/driver.kind.mjs +15 -0
- package/src/workspace/conformance/__writer_fixture__/drivers/driver.schema.json +38 -0
- package/src/workspace/conformance/__writer_fixture__/sessions/session.kind.mjs +54 -0
- package/src/workspace/conformance/__writer_fixture__/sessions/session.schema.json +289 -0
- package/src/workspace/conformance/__writer_fixture__/work/W-001-the-writer-suite-works-this-item.md +25 -0
- package/src/workspace/conformance/__writer_fixture__/work/work.kind.mjs +60 -0
- package/src/workspace/conformance/__writer_fixture__/work/work.schema.json +603 -0
- package/src/workspace/conformance/broker.test.ts +122 -0
- package/src/workspace/conformance/broker.ts +792 -0
- package/src/workspace/conformance/conformance.e2e.test.ts +36 -3
- package/src/workspace/conformance/index.mjs +51 -3
- package/src/workspace/conformance/index.ts +107 -15
- package/src/workspace/conformance/vitest.ts +76 -2
- package/src/workspace/conformance/writer-conformance.e2e.test.ts +177 -0
- package/src/workspace/conformance/writer.test.ts +186 -0
- package/src/workspace/conformance/writer.ts +1191 -0
- package/src/workspace/decide.test.ts +208 -4
- package/src/workspace/decide.ts +433 -73
- package/src/workspace/decision-points.schema.json +11 -4
- package/src/workspace/declaration.schema.json +383 -5
- package/src/workspace/declaration.ts +315 -10
- package/src/workspace/environments.ts +66 -14
- package/src/workspace/factory-rules.test.ts +62 -0
- package/src/workspace/factory-rules.ts +218 -0
- package/src/workspace/graph-cli.ts +6 -3
- package/src/workspace/graph.schema.json +314 -0
- package/src/workspace/identity.test.ts +219 -0
- package/src/workspace/identity.ts +186 -0
- package/src/workspace/init.ts +82 -2
- package/src/workspace/intent-cli.ts +84 -13
- package/src/workspace/intent-patch-id.test.ts +162 -0
- package/src/workspace/intent-record.schema.json +336 -1
- package/src/workspace/intent-record.ts +96 -16
- package/src/workspace/intent-reviews.test.ts +76 -0
- package/src/workspace/intent-squash.test.ts +213 -0
- package/src/workspace/intent-why.test.ts +274 -0
- package/src/workspace/intent.schema.json +950 -9
- package/src/workspace/intent.test.ts +11 -2
- package/src/workspace/intent.ts +722 -65
- package/src/workspace/json-edit.test.ts +121 -0
- package/src/workspace/json-edit.ts +142 -0
- package/src/workspace/jsonc.ts +20 -0
- package/src/workspace/kinds.ts +201 -39
- package/src/workspace/lexicon-symbols.test.ts +148 -0
- package/src/workspace/lexicon-symbols.ts +125 -0
- package/src/workspace/lineage-upgrade.test.ts +63 -0
- package/src/workspace/lineage-upgrade.ts +146 -5
- package/src/workspace/plan-summary.schema.json +155 -0
- package/src/workspace/point-answer.schema.json +42 -2
- package/src/workspace/points-cli.ts +42 -16
- package/src/workspace/points-write.schema.json +163 -4
- package/src/workspace/points.schema.json +157 -2
- package/src/workspace/points.test.ts +13 -1
- package/src/workspace/points.ts +118 -12
- package/src/workspace/pr-report.schema.json +95 -0
- package/src/workspace/principal-classes.test.ts +175 -0
- package/src/workspace/principal-classes.ts +307 -0
- package/src/workspace/profiles.test.ts +159 -0
- package/src/workspace/read-contract.test.ts +2 -2
- package/src/workspace/reason-codes.test.ts +23 -3
- package/src/workspace/reason-codes.ts +61 -4
- package/src/workspace/record-sessions.ts +9 -8
- package/src/workspace/records-amend.schema.json +80 -0
- package/src/workspace/records-checkout.ts +106 -0
- package/src/workspace/records-cli.ts +123 -17
- package/src/workspace/records-close.schema.json +79 -0
- package/src/workspace/records-close.ts +31 -7
- package/src/workspace/records-concurrent.e2e.test.ts +135 -0
- package/src/workspace/records-concurrent.test.ts +145 -0
- package/src/workspace/records-formats.test.ts +46 -10
- package/src/workspace/records-new.schema.json +9 -0
- package/src/workspace/records-review.schema.json +80 -0
- package/src/workspace/records-sessions-write.test.ts +69 -0
- package/src/workspace/records-sessions.test.ts +22 -0
- package/src/workspace/records-uncommitted.test.ts +171 -0
- package/src/workspace/records-write.ts +219 -30
- package/src/workspace/records.schema.json +88 -1
- package/src/workspace/records.ts +76 -8
- package/src/workspace/reference-kinds/app/package.json +10 -0
- package/src/workspace/reference-kinds/app/workspace-kinds.json +45 -0
- package/src/workspace/run-statement.schema.json +622 -0
- package/src/workspace/runs-cli.ts +710 -0
- package/src/workspace/runs-statement.test.ts +239 -0
- package/src/workspace/runs-write.schema.json +994 -0
- package/src/workspace/runs.schema.json +1257 -0
- package/src/workspace/runs.test.ts +281 -0
- package/src/workspace/runs.ts +970 -0
- package/src/workspace/session-kinds.ts +3 -3
- package/src/workspace/squash.ts +198 -0
- package/src/workspace/status-contract.test.ts +10 -2
- package/src/workspace/status-gates.ts +25 -9
- package/src/workspace/status.schema.json +252 -4
- package/src/workspace/status.ts +110 -1
- package/src/workspace/symbols.ts +191 -0
- package/src/workspace/trailer-joins.test.ts +171 -0
- package/src/workspace/trailer-joins.ts +82 -0
- package/src/workspace/trailers.ts +148 -0
- package/src/workspace/trust/run-commits.ts +115 -0
- package/src/workspace/trust/run-statement.ts +226 -0
- package/src/workspace/trust/seal.ts +58 -1
- package/src/workspace/trust/verify-cli.ts +6 -5
- package/src/workspace/trust/verify.ts +39 -6
- package/src/workspace/wip-cli.ts +97 -0
- package/src/workspace/wip-write.schema.json +504 -0
- package/src/workspace/wip.schema.json +334 -0
- package/src/workspace/wip.test.ts +294 -0
- package/src/workspace/wip.ts +753 -0
- package/src/workspace/work-cli.e2e.test.ts +28 -1
- package/src/workspace/work-cli.ts +136 -8
- package/src/workspace/work-evidence.schema.json +5 -0
- package/src/workspace/work-history.schema.json +73 -1
- package/src/workspace/work-history.test.ts +48 -5
- package/src/workspace/work-kind-fields.test.ts +154 -0
- package/src/workspace/work-lease.schema.json +14 -1
- package/src/workspace/work-size.test.ts +77 -0
- package/src/workspace/work-size.ts +93 -0
- package/src/workspace/work.ts +82 -0
- package/src/workspace/workspace-kinds.schema.json +122 -0
- package/src/workspace/workspace-principals.schema.json +60 -0
- package/src/workspace/write-lock-cli.ts +131 -0
- package/src/workspace/write-lock.schema.json +172 -0
- package/src/workspace/write-lock.test.ts +189 -0
- package/src/workspace/write-lock.ts +474 -0
- package/src/workspace/write-scope.test.ts +144 -3
- package/src/workspace/write-scope.ts +192 -45
- package/src/yaml.test.ts +111 -1
- package/src/yaml.ts +141 -549
|
@@ -15,7 +15,7 @@ import { collectEffectReceipts, isEffectReceipt, type EffectReceiptDeclaration }
|
|
|
15
15
|
import { evaluateScenario, type ScenarioBehaviourFixture, type ScenarioVerdict } from "../../lifecycle/scenario-eval";
|
|
16
16
|
import { validateBehaviourResult } from "../../behaviour-delta";
|
|
17
17
|
import { collectScenarios, type ScenarioDeclaration, type ScenarioGiven } from "../../lifecycle/scenario";
|
|
18
|
-
import {
|
|
18
|
+
import { isObservableDeclarable } from "../../declarable";
|
|
19
19
|
import { loadChantConfig } from "../../config";
|
|
20
20
|
import { unknownEnvError } from "../../env";
|
|
21
21
|
import { collectBuildRootContributors } from "../plugins";
|
|
@@ -281,7 +281,7 @@ async function evaluateOneScenario(
|
|
|
281
281
|
// and observed like any resource (#1832) — it joins the declared axis so
|
|
282
282
|
// its lexicon's fixture data can confirm presence, absence, or a hole,
|
|
283
283
|
// the same as `runLifecyclePlan` (lifecycle.ts:1184).
|
|
284
|
-
if (!
|
|
284
|
+
if (!isObservableDeclarable(entity) && !isEffectReceipt(entity)) continue;
|
|
285
285
|
if (!declaredByLexicon.has(entity.lexicon)) declaredByLexicon.set(entity.lexicon, new Set());
|
|
286
286
|
declaredByLexicon.get(entity.lexicon)!.add(name);
|
|
287
287
|
}
|
package/src/cli/main.test.ts
CHANGED
|
@@ -255,6 +255,23 @@ describe("parseArgs", () => {
|
|
|
255
255
|
expect(result.extraPositional2).toBe(undefined);
|
|
256
256
|
});
|
|
257
257
|
|
|
258
|
+
test("positionals keeps every positional after the command, for workspace box listing set <member> (#3308)", () => {
|
|
259
|
+
const result = parseArgs(["workspace", "box", "listing", "set", "app", "--from", "-", "--cover", "c.png", "--cover-path", "app/c.png"]);
|
|
260
|
+
expect(result.positionals).toEqual(["box", "listing", "set", "app"]);
|
|
261
|
+
expect(result).toMatchObject({ path: "box", extraPositional: "listing", migrateFrom: "-", cover: "c.png", coverPath: "app/c.png" });
|
|
262
|
+
expect(() => parseArgs(["workspace", "box", "listing", "set", "app", "--cover"])).toThrow(/--cover needs/);
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
test("workspace wip takes --label and --branch, with its verb and snapshot as positionals (#3172)", () => {
|
|
266
|
+
const save = parseArgs(["workspace", "wip", "save", "--label", "turn:3", "--by", "github:alex", "--json"]);
|
|
267
|
+
expect(save).toMatchObject({ positionals: ["wip", "save"], label: "turn:3", by: "github:alex", json: true });
|
|
268
|
+
expect(resolveCommand(save, commandRegistry)?.def.name).toBe("workspace wip");
|
|
269
|
+
expect(parseArgs(["workspace", "wip", "restore", "abc123"]).positionals).toEqual(["wip", "restore", "abc123"]);
|
|
270
|
+
expect(parseArgs(["workspace", "wip", "--branch", "chant/work/W-1", "--json"])).toMatchObject({ branch: "chant/work/W-1", json: true });
|
|
271
|
+
expect(() => parseArgs(["workspace", "wip", "save", "--label"])).toThrow(/--label needs/);
|
|
272
|
+
expect(() => parseArgs(["workspace", "wip", "--branch"])).toThrow(/--branch needs/);
|
|
273
|
+
});
|
|
274
|
+
|
|
258
275
|
// ── components release/status flags (#568) ──────────────────────────────
|
|
259
276
|
|
|
260
277
|
test("parses --component, --digest, --git-sha, --run-id, --actor for components release", () => {
|
|
@@ -751,6 +768,7 @@ describe("workspace init and ls (#2534)", () => {
|
|
|
751
768
|
"workspace adopt-lineage",
|
|
752
769
|
"workspace agent",
|
|
753
770
|
"workspace audit",
|
|
771
|
+
"workspace box",
|
|
754
772
|
"workspace build",
|
|
755
773
|
"workspace check",
|
|
756
774
|
"workspace evidence",
|
|
@@ -761,17 +779,20 @@ describe("workspace init and ls (#2534)", () => {
|
|
|
761
779
|
"workspace init",
|
|
762
780
|
"workspace lineage",
|
|
763
781
|
"workspace lint",
|
|
782
|
+
"workspace lock",
|
|
764
783
|
"workspace ls",
|
|
765
784
|
"workspace member-run",
|
|
766
785
|
"workspace patch",
|
|
767
786
|
"workspace pin",
|
|
768
787
|
"workspace points",
|
|
769
788
|
"workspace records",
|
|
789
|
+
"workspace runs",
|
|
770
790
|
"workspace signers",
|
|
771
791
|
"workspace status",
|
|
772
792
|
"workspace upgrade",
|
|
773
793
|
"workspace verify",
|
|
774
794
|
"workspace versions",
|
|
795
|
+
"workspace wip",
|
|
775
796
|
"workspace work",
|
|
776
797
|
]);
|
|
777
798
|
});
|
package/src/cli/main.ts
CHANGED
|
@@ -102,6 +102,7 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
102
102
|
"--durable-requests",
|
|
103
103
|
"--skip-mcp",
|
|
104
104
|
"--current",
|
|
105
|
+
"--uncommitted",
|
|
105
106
|
"--allow-code",
|
|
106
107
|
"--root-only",
|
|
107
108
|
"--generated",
|
|
@@ -227,6 +228,12 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
227
228
|
// `chant import --kustomize <dir>` (#1548): render the overlay, import
|
|
228
229
|
// the output through the k8s template parser.
|
|
229
230
|
result.kustomize = args[++i];
|
|
231
|
+
} else if (arg === "--parser-option") {
|
|
232
|
+
// `chant import --parser-option key[=value]` (#2994), repeatable: checked
|
|
233
|
+
// against the lexicon's parserOptions() by the import command.
|
|
234
|
+
const v = args[++i];
|
|
235
|
+
if (!v || v.startsWith("-")) throw new Error("--parser-option needs key or key=value: --parser-option acceptLossyV1");
|
|
236
|
+
(result.parserOption ??= []).push(v);
|
|
230
237
|
} else if (arg === "--type") {
|
|
231
238
|
result.selectType = args[++i];
|
|
232
239
|
} else if (arg === "--name") {
|
|
@@ -340,6 +347,30 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
340
347
|
result.fromAffected = args[++i];
|
|
341
348
|
} else if (arg === "--gate") {
|
|
342
349
|
result.gate = args[++i];
|
|
350
|
+
} else if (arg === "--wave-gate") {
|
|
351
|
+
result.waveGate = args[++i];
|
|
352
|
+
if (!result.waveGate || result.waveGate.startsWith("-")) throw new Error("--wave-gate needs a gate name: --wave-gate <name>");
|
|
353
|
+
} else if (arg === "--wave") {
|
|
354
|
+
const raw = args[++i];
|
|
355
|
+
const wave = Number(raw);
|
|
356
|
+
if (!Number.isInteger(wave) || wave < 1) throw new Error(`--wave needs a wave number from 1: got "${raw ?? ""}"`);
|
|
357
|
+
result.wave = wave;
|
|
358
|
+
} else if (arg === "--canary") {
|
|
359
|
+
const raw = args[++i];
|
|
360
|
+
if (!raw || raw.startsWith("-")) throw new Error("--canary needs a component name: --canary <name>[,<name>...]");
|
|
361
|
+
(result.canary ??= []).push(...raw.split(",").map((n) => n.trim()).filter(Boolean));
|
|
362
|
+
} else if (arg === "--pr") {
|
|
363
|
+
const raw = args[++i];
|
|
364
|
+
const pr = Number(raw);
|
|
365
|
+
if (!Number.isInteger(pr) || pr < 1) throw new Error(`--pr needs a pull or merge request number: got "${raw ?? ""}"`);
|
|
366
|
+
result.pr = pr;
|
|
367
|
+
} else if (arg === "--forge") {
|
|
368
|
+
result.forge = args[++i];
|
|
369
|
+
if (!result.forge || result.forge.startsWith("-")) throw new Error("--forge needs a forge: --forge github|gitlab|forgejo");
|
|
370
|
+
} else if (arg === "--require-review") {
|
|
371
|
+
result.requireReview = true;
|
|
372
|
+
} else if (arg === "--pr-loop") {
|
|
373
|
+
result.prLoop = true;
|
|
343
374
|
} else if (arg === "--resume") {
|
|
344
375
|
result.resume = args[++i];
|
|
345
376
|
} else if (arg === "--local") {
|
|
@@ -377,11 +408,14 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
377
408
|
// `chant workspace graph --composites` (#2662)
|
|
378
409
|
result.composites = true;
|
|
379
410
|
} else if (arg === "--intent") {
|
|
380
|
-
// `chant workspace graph --intent <path[:start-end]>` (#2651), or `--intent --record <id>` with no region.
|
|
411
|
+
// `chant workspace graph --intent <path[:start-end]|path#symbol>` (#2651), or `--intent --record <id>` with no region.
|
|
381
412
|
const value = args[i + 1];
|
|
382
413
|
if (value !== undefined && !value.startsWith("-")) result.intent = args[++i];
|
|
383
414
|
else if (args.includes("--record")) result.intent = "";
|
|
384
|
-
else throw new Error("--intent needs a region: --intent <path[:start-end]>, or --intent --record <id>");
|
|
415
|
+
else throw new Error("--intent needs a region: --intent <path[:start-end]|path#symbol>, or --intent --record <id>");
|
|
416
|
+
} else if (arg === "--follow-squash") {
|
|
417
|
+
// `chant workspace graph --intent ... --follow-squash` and `chant workspace runs --follow-squash` (#3035)
|
|
418
|
+
result.followSquash = true;
|
|
385
419
|
} else if (arg === "--record") {
|
|
386
420
|
// `chant workspace graph --intent --record <id>`
|
|
387
421
|
result.record = args[++i];
|
|
@@ -409,10 +443,36 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
409
443
|
if (!result.severity || result.severity.startsWith("-")) throw new Error("--severity needs off, warn or fail");
|
|
410
444
|
} else if (arg === "--current") {
|
|
411
445
|
result.current = true;
|
|
446
|
+
} else if (arg === "--uncommitted") {
|
|
447
|
+
// `chant workspace records --uncommitted` (#3160)
|
|
448
|
+
result.uncommitted = true;
|
|
412
449
|
} else if (arg === "--set") {
|
|
413
450
|
// `chant workspace records amend <id> --set <file|->` (#2670)
|
|
414
451
|
result.set = args[++i];
|
|
415
452
|
if (!result.set || (result.set.startsWith("-") && result.set !== "-")) throw new Error("--set needs a JSON file, or - for standard input: --set <file|->");
|
|
453
|
+
} else if (arg === "--cover") {
|
|
454
|
+
// `chant workspace box listing set <member> --cover <image>` (#3308)
|
|
455
|
+
result.cover = args[++i];
|
|
456
|
+
if (!result.cover || result.cover.startsWith("-")) throw new Error("--cover needs a PNG, JPEG or WebP file: --cover <image>");
|
|
457
|
+
} else if (arg === "--cover-path") {
|
|
458
|
+
// `chant workspace box listing set <member> --cover <image> --cover-path <path>` (#3308)
|
|
459
|
+
result.coverPath = args[++i];
|
|
460
|
+
if (!result.coverPath || result.coverPath.startsWith("-")) throw new Error("--cover-path needs a path from the workspace root: --cover-path <path>");
|
|
461
|
+
} else if (arg === "--records") {
|
|
462
|
+
// `chant workspace box publish <member> --records` (#3165): the records kept uncommitted, not a work item.
|
|
463
|
+
result.records = true;
|
|
464
|
+
} else if (arg === "--expect") {
|
|
465
|
+
// `chant workspace records amend|review|close <id> --expect <digest>` (#3173): the record's digest the caller last read.
|
|
466
|
+
result.expect = args[++i];
|
|
467
|
+
if (!result.expect || result.expect.startsWith("-")) throw new Error("--expect needs the record's digest, as records --json prints it: --expect <digest>");
|
|
468
|
+
} else if (arg === "--label") {
|
|
469
|
+
// `chant workspace wip save --label <text>` (#3172)
|
|
470
|
+
result.label = args[++i];
|
|
471
|
+
if (!result.label || result.label.startsWith("-")) throw new Error("--label needs the snapshot's name, such as a turn id: --label <text>");
|
|
472
|
+
} else if (arg === "--branch") {
|
|
473
|
+
// `chant workspace wip --branch <branch>` (#3172)
|
|
474
|
+
result.branch = args[++i];
|
|
475
|
+
if (!result.branch || result.branch.startsWith("-")) throw new Error("--branch needs a branch name: --branch <branch>");
|
|
416
476
|
} else if (arg === "--verdict") {
|
|
417
477
|
// `chant workspace records review <id> --verdict agree|dissent|abstain` (#2670)
|
|
418
478
|
result.verdict = args[++i];
|
|
@@ -427,9 +487,13 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
427
487
|
// `chant workspace points --open` (#2739): only the questions still open.
|
|
428
488
|
result.open = true;
|
|
429
489
|
} else if (arg === "--inputs") {
|
|
430
|
-
// `chant workspace points ask <point> --inputs <file
|
|
490
|
+
// `chant workspace points ask <point> --inputs <file|-|json>` (#2739; JSON itself, #3403)
|
|
431
491
|
result.inputs = args[++i];
|
|
432
|
-
if (!result.inputs || (result.inputs.startsWith("-") && result.inputs !== "-")) throw new Error("--inputs needs a JSON file,
|
|
492
|
+
if (!result.inputs || (result.inputs.startsWith("-") && result.inputs !== "-")) throw new Error("--inputs needs a JSON file, - for standard input, or the JSON itself: --inputs <file|-|json>");
|
|
493
|
+
} else if (arg === "--candidates") {
|
|
494
|
+
// `chant workspace points ask <point> --candidates <file|-|json>` (#3403): an ad-hoc point's question and candidates.
|
|
495
|
+
result.candidates = args[++i];
|
|
496
|
+
if (!result.candidates || (result.candidates.startsWith("-") && result.candidates !== "-")) throw new Error("--candidates needs a JSON file, - for standard input, or the JSON itself: --candidates <file|-|json>");
|
|
433
497
|
} else if (arg === "--response") {
|
|
434
498
|
// `chant workspace points ask <point> --response <file>` (#2739): a POST /v1/systemone response the caller got.
|
|
435
499
|
result.response = args[++i];
|
|
@@ -445,6 +509,7 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
445
509
|
} else if (arg === "--sign") {
|
|
446
510
|
// `chant workspace records review <id> --sign [<key file>]` (#2687): seal the verdict.
|
|
447
511
|
// `records new` and `records amend` take it too, to seal the record's author (#2688).
|
|
512
|
+
// `chant approve <op> <gate> --sign [<key file>]` seals a gate approval (#3163).
|
|
448
513
|
// With no key file, git's user.signingkey, as `git commit -S` reads it.
|
|
449
514
|
const next = args[i + 1];
|
|
450
515
|
result.sign = next !== undefined && !next.startsWith("-") ? args[++i] : true;
|
|
@@ -497,6 +562,11 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
497
562
|
result.actor = args[++i];
|
|
498
563
|
} else if (arg === "--approver") {
|
|
499
564
|
result.approver = args[++i];
|
|
565
|
+
} else if (arg === "--relayed-by") {
|
|
566
|
+
// `chant approve <op> <gate> --relayed-by <principal>` and `workspace points answer <id> --relayed-by <principal>` (#3402):
|
|
567
|
+
// who carried the approval or answer to chant for the person it names.
|
|
568
|
+
result.relayedBy = args[++i];
|
|
569
|
+
if (!result.relayedBy || result.relayedBy.startsWith("-")) throw new Error("--relayed-by needs the principal that relayed it: --relayed-by <principal>");
|
|
500
570
|
} else if (arg === "--on") {
|
|
501
571
|
// `chant run ... --on <lexicon>` (#2121) — which runtime hosts the run.
|
|
502
572
|
result.on = args[++i];
|
|
@@ -566,6 +636,16 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
566
636
|
const value = args[++i];
|
|
567
637
|
if (!value || value.startsWith("-")) throw new Error(`${arg} needs a value: ${arg} <${arg.slice(2)}>`);
|
|
568
638
|
result[arg.slice(2) as "holder" | "ttl" | "token" | "outcome"] = value;
|
|
639
|
+
} else if (arg === "--signer") {
|
|
640
|
+
// `chant workspace runs statement <id> --signer <principal>` (#3192): the runner principal that will sign.
|
|
641
|
+
const value = args[++i];
|
|
642
|
+
if (!value || value.startsWith("-")) throw new Error("--signer needs a principal: --signer <principal>");
|
|
643
|
+
result.signer = value;
|
|
644
|
+
} else if (arg === "--unit" || arg === "--decision") {
|
|
645
|
+
// `chant workspace runs --unit <id> | --decision <id>` (#3033): the runs on one work item, or for one decision.
|
|
646
|
+
const value = args[++i];
|
|
647
|
+
if (!value || value.startsWith("-")) throw new Error(`${arg} needs an id: ${arg} <id>`);
|
|
648
|
+
result[arg.slice(2) as "unit" | "decision"] = value;
|
|
569
649
|
} else if (arg === "--note") {
|
|
570
650
|
result.note = args[++i];
|
|
571
651
|
} else if (arg === "--expire") {
|
|
@@ -643,6 +723,7 @@ export function parseArgs(args: string[]): ParsedArgs {
|
|
|
643
723
|
// flags" isn't something this loop can name in isolation.
|
|
644
724
|
throw new Error(`Unknown flag: ${arg}\nRun "chant --help" to see supported flags.`);
|
|
645
725
|
} else if (!arg.startsWith("-")) {
|
|
726
|
+
if (result.command) (result.positionals ??= []).push(arg);
|
|
646
727
|
if (!result.command) {
|
|
647
728
|
result.command = arg;
|
|
648
729
|
} else if (result.path === ".") {
|
|
@@ -761,6 +842,14 @@ Commands:
|
|
|
761
842
|
(--json) its target, stage (planned/emitted/bridged/
|
|
762
843
|
applied) and path. Read-only.
|
|
763
844
|
|
|
845
|
+
Change sets:
|
|
846
|
+
change-set summary <file> The grouped plan summary of a change-set
|
|
847
|
+
[--format text|json|markdown] document: members taking
|
|
848
|
+
[--limit <chars>] the same change grouped, every destroy,
|
|
849
|
+
replacement, failure and hole named.
|
|
850
|
+
markdown fits an MR/PR note of --limit
|
|
851
|
+
characters (default 65536). Read-only.
|
|
852
|
+
|
|
764
853
|
Ops:
|
|
765
854
|
run <name> Run an Op on the resolved runtime (--on; local by default)
|
|
766
855
|
[--work <id>] [--holder <name>]: the work item an Op
|
|
@@ -818,7 +907,13 @@ Ops:
|
|
|
818
907
|
and defaults to the PR/MR of the surrounding CI job.
|
|
819
908
|
The next "chant run <op>" walks through the gate.
|
|
820
909
|
--expire clears a pending fact without approving it,
|
|
821
|
-
so the gate is re-decided from scratch next run
|
|
910
|
+
so the gate is re-decided from scratch next run.
|
|
911
|
+
--sign [<key file>] seals the approval with an ssh
|
|
912
|
+
key; a gate the workspace's identity.gates names
|
|
913
|
+
counts only an approval sealed by a key the signers
|
|
914
|
+
file at base lists for --actor. --relayed-by
|
|
915
|
+
<principal> records who carried the approval to chant
|
|
916
|
+
for --actor (a follower, a bot); --sign covers it
|
|
822
917
|
|
|
823
918
|
graph Show Op dependency graph (--stacks for cross-stack order,
|
|
824
919
|
--format ir|mermaid|dot|layout for the lint-gated graph IR,
|
|
@@ -858,7 +953,7 @@ Workspace (level 1, #2524):
|
|
|
858
953
|
beside it and marks the members whose digests differ.
|
|
859
954
|
Read only; never fetches. --json prints the
|
|
860
955
|
read-contract document
|
|
861
|
-
workspace records [--kind <kind file>] [--current] [--at <rev>] [--base <rev>] [--require attested] [--json]
|
|
956
|
+
workspace records [--kind <kind file>] [--current] [--uncommitted | --at <rev>] [--base <rev>] [--require attested] [--json]
|
|
862
957
|
Without --kind, every record kind the declaration
|
|
863
958
|
names. Read the records a record kind locates, validated
|
|
864
959
|
against its schema, with reason codes for invalid
|
|
@@ -868,7 +963,10 @@ Workspace (level 1, #2524):
|
|
|
868
963
|
the signers at --base (default: the target branch);
|
|
869
964
|
--require attested exits 2 if any record is not
|
|
870
965
|
attested. A pinned file that changed is a warning,
|
|
871
|
-
asset-drift or asset-missing
|
|
966
|
+
asset-drift or asset-missing. In the working tree,
|
|
967
|
+
each record says whether it is committed, modified
|
|
968
|
+
or new against HEAD, with the branch and base;
|
|
969
|
+
--uncommitted lists only the modified and new ones
|
|
872
970
|
workspace records [--kind <kind file>] --since <rev|session id> [--at <rev>] [--json]
|
|
873
971
|
What changed in the records between <rev> and --at
|
|
874
972
|
(default: the working tree): new and removed records,
|
|
@@ -886,7 +984,7 @@ Workspace (level 1, #2524):
|
|
|
886
984
|
the fields hold none. --sign seals the record's author
|
|
887
985
|
(decided_by for decisions) with an ssh key. Prints
|
|
888
986
|
{path, id} as JSON and never commits
|
|
889
|
-
workspace records amend <id> [--kind <kind file>] --set <file|-> [--sign [<key file>]] [--dry-run]
|
|
987
|
+
workspace records amend <id> [--kind <kind file>] --set <file|-> [--expect <digest>] [--sign [<key file>]] [--dry-run]
|
|
890
988
|
Set top-level fields of one record. A closed record
|
|
891
989
|
never changes, and an approved one changes only its
|
|
892
990
|
state (upward), pins and reviews; anything else is
|
|
@@ -895,22 +993,31 @@ Workspace (level 1, #2524):
|
|
|
895
993
|
decisions) is refused with ratify-quorum-not-met
|
|
896
994
|
until its quorum is met. --sign seals the author
|
|
897
995
|
again; without it an amendment removes the author
|
|
898
|
-
seal and says so.
|
|
899
|
-
|
|
996
|
+
seal and says so. --expect refuses the write with
|
|
997
|
+
record-conflict when the record's digest has moved
|
|
998
|
+
on. Prints {path, id, changed, digest}
|
|
999
|
+
workspace records review <id> [--kind <kind file>] --verdict agree|dissent|abstain --by <principal> [--note <text>] [--session <id>] [--expect <digest>] [--sign [<key file>]] [--dry-run]
|
|
900
1000
|
Append a review to one record, dated and bound to
|
|
901
1001
|
the digest of the record text. A dissent needs
|
|
902
1002
|
--note. --sign seals it with an ssh key (git's
|
|
903
1003
|
user.signingkey without a file); under a signers
|
|
904
1004
|
file at base only a sealed verdict counts. With
|
|
905
1005
|
--session, the session must be open, and the verdict
|
|
906
|
-
is appended to its verdicts too.
|
|
907
|
-
|
|
908
|
-
|
|
1006
|
+
is appended to its verdicts too. --expect refuses a
|
|
1007
|
+
verdict on a record that moved on. Prints
|
|
1008
|
+
{path, id, review, digest}
|
|
1009
|
+
workspace records close <session id> [--kind <session kind file>] [--expect <digest>] [--dry-run]
|
|
909
1010
|
Close an open review session: its state, close time,
|
|
910
1011
|
closing commit and seal, in one write. Without
|
|
911
1012
|
--kind, the one session kind the declaration names.
|
|
912
1013
|
Prints {path, id, changed, seal, closedRev}
|
|
913
|
-
|
|
1014
|
+
Every working-tree write holds the working tree's
|
|
1015
|
+
write lock (CHANT_WRITE_LOCK_WAIT_MS, default 15s)
|
|
1016
|
+
workspace lock [acquire --holder <name> [--ttl <duration>] | release --token <token>] [--json]
|
|
1017
|
+
Who holds the working tree's write lock; take it for
|
|
1018
|
+
a batch of writes across chant calls, each run with
|
|
1019
|
+
CHANT_WRITE_LOCK=<token>, and give it back
|
|
1020
|
+
workspace work claim|renew|release <id> --holder <name> [--kind <kind file>] [--ttl <seconds|duration>] [--token <token>] [--outcome <outcome>] [--note <text>] [--json]
|
|
914
1021
|
Take, heartbeat or give back the lease on a work item:
|
|
915
1022
|
refs/chant/lease/work/<id>, a compare-and-set ref with a
|
|
916
1023
|
fencing token and an expiry, pushed to the remote so
|
|
@@ -921,18 +1028,89 @@ Workspace (level 1, #2524):
|
|
|
921
1028
|
A work item's lease history: each claim with its token
|
|
922
1029
|
and holder, and how it ended, released with an outcome
|
|
923
1030
|
or never released (expired or lost). Read-only
|
|
1031
|
+
workspace work evidence <id> --holder <name> --token <token> --from <file|-> [--kind <kind file>]
|
|
1032
|
+
Attach evidence for one acceptance criterion under the
|
|
1033
|
+
lease you hold: the entry (criterion, result, title,
|
|
1034
|
+
a url or a path pinned by hash) is appended to the
|
|
1035
|
+
item's pins through records amend. Prints the
|
|
1036
|
+
work-evidence document and never commits
|
|
1037
|
+
workspace runs [--unit <id>] [--decision <id>] [--by <principal>] [--since <rev>] [--follow-squash] [--json]
|
|
1038
|
+
The agent runs in the run ledger on chant/lifecycle, each
|
|
1039
|
+
with its model, tokens, cost and the commits it made,
|
|
1040
|
+
and totals per work item, decision and principal; a run
|
|
1041
|
+
that reports no cost is listed as unpriced, never zero.
|
|
1042
|
+
Read-only, never fetches; --follow-squash joins each
|
|
1043
|
+
squash merge to its pull request's runs, fetching a
|
|
1044
|
+
missing refs/pull/<n>/head from origin
|
|
1045
|
+
workspace runs start --from <file|->
|
|
1046
|
+
Record that an agent run started: who it worked for,
|
|
1047
|
+
its harness, model, work item and lease. Prints the run
|
|
1048
|
+
and its Chant-Run trailer. chant never starts a run
|
|
1049
|
+
workspace runs end <run id> [--from <file|->]
|
|
1050
|
+
Record how a started run ended: its outcome, tokens,
|
|
1051
|
+
cost and price source, the transcript pinned by hash,
|
|
1052
|
+
and the commits it made
|
|
1053
|
+
workspace runs record --from <file|->
|
|
1054
|
+
Record a finished run, its start and end in one write
|
|
1055
|
+
workspace runs sign <run id> (--key <runner.pem> | --envelope <file|->) [--base <rev>]
|
|
1056
|
+
Store a DSSE statement over an ended run (its record's
|
|
1057
|
+
hash, work item, harness, model and commits), signed
|
|
1058
|
+
with a runner or steward key .chant/trust.json lists
|
|
1059
|
+
at base, or signed elsewhere and checked here
|
|
1060
|
+
workspace runs statement <run id> --signer <principal>
|
|
1061
|
+
Print the statement for a signer whose key is
|
|
1062
|
+
elsewhere, such as a lobby, with the payload to sign
|
|
1063
|
+
workspace runs verify [<run id>] [--require signed] [--base <rev>] [--json]
|
|
1064
|
+
Judge each run's stored statements against the runner
|
|
1065
|
+
keys at base. Reports only, unless --require signed
|
|
1066
|
+
workspace box listing set <member> [--from <file|->] [--cover <image> [--cover-path <path>]] [--by <principal>] [--dry-run]
|
|
1067
|
+
Change a box's listing (published, title, line, cover)
|
|
1068
|
+
in the declaration, in place, keeping its formatting
|
|
1069
|
+
and comments; --cover copies a PNG, JPEG or WebP into
|
|
1070
|
+
the repository. Judged by the write scope at base.
|
|
1071
|
+
Prints the box-listing-write document; never commits
|
|
1072
|
+
workspace box publish <member> (<item> | --records) [--by <principal>] [--head <owner/name>] [--dry-run]
|
|
1073
|
+
Publish a built work item, or the records kept
|
|
1074
|
+
uncommitted, through the publisher the box block names:
|
|
1075
|
+
run with a JSON request on stdin, its answer checked
|
|
1076
|
+
and its commit held to the apply record (ws-088).
|
|
1077
|
+
Prints the box-publish document; chant itself never
|
|
1078
|
+
commits, pushes or calls a forge
|
|
1079
|
+
workspace wip [--branch <branch>] [--json]
|
|
1080
|
+
List the work-in-progress snapshots under
|
|
1081
|
+
refs/chant/wip/<branch>, newest first, and how far each
|
|
1082
|
+
ref the box's replicate policy names is from its remote.
|
|
1083
|
+
Reads locally; never fetches (#3172)
|
|
1084
|
+
workspace wip save [--label <text>] [--by <principal>]
|
|
1085
|
+
Snapshot the whole working tree, uncommitted records
|
|
1086
|
+
included, onto refs/chant/wip/<branch> without touching
|
|
1087
|
+
the index or the branch; pushes when the policy says so
|
|
1088
|
+
workspace wip restore [<snapshot>] [--by <principal>]
|
|
1089
|
+
Put the working tree back as the snapshot (the branch's
|
|
1090
|
+
latest by default) holds it, after a snapshot of how it
|
|
1091
|
+
is now; HEAD never moves
|
|
1092
|
+
workspace wip push Push the refs the box's replicate policy names to its
|
|
1093
|
+
remote, never forced, for the host's schedule
|
|
1094
|
+
workspace wip fetch On a replacement box, bring back what was replicated:
|
|
1095
|
+
create or fast-forward the local refs, then wip restore
|
|
924
1096
|
workspace points [--open] [--kind <kind file>] [--at <rev>] [--json]
|
|
925
1097
|
List the decision points the declared answer kinds'
|
|
926
1098
|
points files declare, and the questions asked of them;
|
|
927
1099
|
--open keeps the escalated and proposed ones (ws-058)
|
|
928
|
-
workspace points ask <point> --inputs <file
|
|
1100
|
+
workspace points ask <point> --inputs <file|-|json> [--candidates <file|-|json>] [--response <file>] [--subject <id>] [--kind <kind file>] [--dry-run]
|
|
929
1101
|
Ask a point's table, model and quorum deciders and
|
|
930
1102
|
record the answer: proposed from a model, escalated to
|
|
931
1103
|
people below its threshold. --response is a POST
|
|
932
|
-
/v1/systemone response the caller got; chant calls no model
|
|
933
|
-
|
|
1104
|
+
/v1/systemone response the caller got; chant calls no model.
|
|
1105
|
+
--candidates gives an ad-hoc point's question and
|
|
1106
|
+
candidates, { question, criteria }
|
|
1107
|
+
workspace points answer <id> --answer <value> --by <name>... [--note <text>] [--relayed-by <principal>] [--kind <kind file>] [--dry-run]
|
|
934
1108
|
Record people's answer to an open question, or confirm
|
|
935
|
-
a model's proposal, once the point's quorum is met
|
|
1109
|
+
a model's proposal, once the point's quorum is met,
|
|
1110
|
+
with their note and who relayed it
|
|
1111
|
+
workspace points retract <id> --by <name>... [--note <text>] [--kind <kind file>] [--dry-run]
|
|
1112
|
+
Take an answer back: the question is open for people
|
|
1113
|
+
again, and the answer stays in its retractions
|
|
936
1114
|
workspace pin <path> [--json]
|
|
937
1115
|
Print the integrity value that pins the plugin at
|
|
938
1116
|
<path>, to put in a path pin of chant.workspace.json.
|
|
@@ -942,13 +1120,14 @@ Workspace (level 1, #2524):
|
|
|
942
1120
|
member it is bound to, the record kinds and verbs its
|
|
943
1121
|
write scope allows, and the spec records --current
|
|
944
1122
|
prints. Without a name, the session CHANT_AGENT names
|
|
945
|
-
workspace verify [--base <rev>] [--head <rev>] [--require attested]
|
|
1123
|
+
workspace verify [--base <rev>] [--head <rev>] [--require attested | attested-runs]
|
|
946
1124
|
Check the commits in base..head against the signers
|
|
947
1125
|
and roles read from base. A change to the signers file
|
|
948
1126
|
or .chant/trust.json needs a signature by a signer
|
|
949
1127
|
trusted at base, and a new signer set needs a
|
|
950
|
-
threshold of the old one.
|
|
951
|
-
|
|
1128
|
+
threshold of the old one. A commit an agent run made
|
|
1129
|
+
is attested by the run's signed statement; with
|
|
1130
|
+
attested-runs, only those commits must be
|
|
952
1131
|
workspace signers [--json] [rotate [--threshold <n>] | sign --key <file>]
|
|
953
1132
|
Show the signer history at base, or propose the next
|
|
954
1133
|
signer set and sign it with a current signer's key
|
|
@@ -1056,12 +1235,14 @@ Workspace (level 1, #2524):
|
|
|
1056
1235
|
Each composite instance the members declare, with the
|
|
1057
1236
|
components whose contract can deploy it; an instance
|
|
1058
1237
|
with none lists an empty set
|
|
1059
|
-
workspace graph --intent <path[:start-end]> [--at <rev>] [--kind <kind file>...] [--json]
|
|
1238
|
+
workspace graph --intent <path[:start-end]|path#symbol> [--at <rev>] [--kind <kind file>...] [--follow-squash] [--json]
|
|
1060
1239
|
The intent graph over one region: the commits that
|
|
1061
1240
|
touched it, the decisions whose constrains cover it,
|
|
1062
1241
|
the artifacts they pin, and findings with closed codes.
|
|
1063
|
-
Without --kind, every record kind the declaration names
|
|
1064
|
-
|
|
1242
|
+
Without --kind, every record kind the declaration names.
|
|
1243
|
+
--follow-squash follows a squash merge to its pull
|
|
1244
|
+
request's commits, fetching a missing ref from origin
|
|
1245
|
+
workspace graph --intent --record <id> [--at <rev>] [--kind <kind file>...] [--follow-squash] [--json]
|
|
1065
1246
|
One decision's intent walk over every path: and member:
|
|
1066
1247
|
entry it constrains: the commits in its window, each
|
|
1067
1248
|
own, worked, within-other or unexplained, with counts
|
|
@@ -1111,8 +1292,23 @@ Component release ledger + status:
|
|
|
1111
1292
|
(--base <ref> [--head <ref>] [--include-dependents],
|
|
1112
1293
|
or --from-affected <file>; --dry-run prints the
|
|
1113
1294
|
derivation and dispatches nothing; --gate <name>
|
|
1114
|
-
puts one approval over the whole set;
|
|
1115
|
-
<
|
|
1295
|
+
puts one approval over the whole set;
|
|
1296
|
+
--wave-gate <name> puts one on each wave, planned
|
|
1297
|
+
when the wave is reached, with --canary <name>
|
|
1298
|
+
for wave 1 and --wave <n> for one wave per CI
|
|
1299
|
+
job; --resume <file> finishes an attempt that
|
|
1300
|
+
stopped)
|
|
1301
|
+
components pr-plan Plan the components a pull request reaches and
|
|
1302
|
+
the ones that depend on them, and write the
|
|
1303
|
+
report and note (--base <ref> --pr <n>
|
|
1304
|
+
[--forge github|gitlab|forgejo] posts them);
|
|
1305
|
+
applies nothing
|
|
1306
|
+
components pr-apply On merge: plan the same members again and apply
|
|
1307
|
+
them only if an approval stands for that digest
|
|
1308
|
+
(chant approve pr-<n> pr-apply --plan <digest>);
|
|
1309
|
+
a moved plan refuses with exit 3
|
|
1310
|
+
(--require-review: the approver must have
|
|
1311
|
+
approved the pull request on the forge)
|
|
1116
1312
|
components release <env> Append one immutable release record
|
|
1117
1313
|
(--component <name> --digest <sha256:...>
|
|
1118
1314
|
[--git-sha <sha>] [--run-id <id>] [--actor <name>]);
|
|
@@ -1150,8 +1346,13 @@ Lexicon development:
|
|
|
1150
1346
|
--check: fail if the committed baseline drifted (never writes);
|
|
1151
1347
|
--run-examples: also run example build harness;
|
|
1152
1348
|
--pinned-digest <file>: verify spec digest before regen)
|
|
1153
|
-
dev pinned-upgrade <dir>
|
|
1154
|
-
|
|
1349
|
+
dev pinned-upgrade <dir> [pin]
|
|
1350
|
+
Report if a lexicon that declares upstreamPin (k8s, k3s, gcp, docker,
|
|
1351
|
+
gitlab, cedar, sql) has a newer upstream release; dry-run bump + regen +
|
|
1352
|
+
surface-diff, then revert. A pin that moves with other constants (sql's
|
|
1353
|
+
image digest) is reported with how to move it, not edited. A lexicon
|
|
1354
|
+
with several pins (sql: clickhouse, postgres-14 .. postgres-18) gets one
|
|
1355
|
+
report per pin; name a pin to check only that one
|
|
1155
1356
|
(reports only; --force bypasses the spec cache, -f json for JSON)
|
|
1156
1357
|
dev rolling-upgrade <dir> Report rolling-spec drift (aws, azure, github): regen from
|
|
1157
1358
|
latest, diff surface vs committed baseline, print delta + PR
|
|
@@ -1194,8 +1395,9 @@ Options:
|
|
|
1194
1395
|
-h, --help Show this help message
|
|
1195
1396
|
-V, --version Print the installed chant's version
|
|
1196
1397
|
--on <lexicon> Which runtime hosts the run: a configured lexicon with
|
|
1197
|
-
an opRuntime, or
|
|
1198
|
-
|
|
1398
|
+
an opRuntime, or local. Omitted, run.on in
|
|
1399
|
+
chant.config.ts decides, then the built-in local
|
|
1400
|
+
runtime (every run subcommand; #2121, #2523)
|
|
1199
1401
|
--local Run an Op with the local in-process executor (default)
|
|
1200
1402
|
-p, --profile <name> Named connection profile the hosting runtime targets
|
|
1201
1403
|
(fountain.profiles in chant.config.ts); each runtime's
|
|
@@ -1287,6 +1489,7 @@ Examples:
|
|
|
1287
1489
|
chant components export prod --component search-service -o ./dist/search-service
|
|
1288
1490
|
chant import template.json --output ./infra/
|
|
1289
1491
|
chant import manifest.yaml --lexicon k8s --output ./infra/
|
|
1492
|
+
chant import dash.json --lexicon grafana --parser-option acceptLossyV1
|
|
1290
1493
|
chant import --from prod --name my-bucket --output src/
|
|
1291
1494
|
chant lint ./infra/
|
|
1292
1495
|
chant lint ./infra/ --format sarif
|
|
@@ -1512,6 +1715,8 @@ export const commandRegistry: CommandDef[] = [
|
|
|
1512
1715
|
// Status read over a tree of carve manifests (#2038): the contract a
|
|
1513
1716
|
// renderer replaces its own walk-and-guess discovery with. Read-only.
|
|
1514
1717
|
{ name: "carve status", handler: runCarveStatus },
|
|
1718
|
+
// #3188 — the grouped plan summary of a change-set document. Reads one file; imported on first use.
|
|
1719
|
+
{ name: "change-set summary", runsNoConfig: true, handler: async (ctx) => (await import("./handlers/change-set")).runChangeSetSummary(ctx) },
|
|
1515
1720
|
{ name: "init", handler: runInit, runsNoConfig: true },
|
|
1516
1721
|
{ name: "init lexicon", handler: runInitLexicon },
|
|
1517
1722
|
{ name: "update", handler: runUpdate },
|
|
@@ -1552,6 +1757,8 @@ export const commandRegistry: CommandDef[] = [
|
|
|
1552
1757
|
{ name: "workspace ls", handler: async (ctx) => (await import("../workspace/ls")).runWorkspaceLs(ctx) },
|
|
1553
1758
|
// #2732 — the work lease: claim, renew and release a work item.
|
|
1554
1759
|
{ name: "workspace work", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/work-cli")).runWorkspaceWork(ctx) },
|
|
1760
|
+
// #3033 — the agent run record: what each run cost and which commits it made. chant records runs and never starts one.
|
|
1761
|
+
{ name: "workspace runs", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/runs-cli")).runWorkspaceRuns(ctx) },
|
|
1555
1762
|
{ name: "workspace status", handler: async (ctx) => (await import("../workspace/status")).runWorkspaceStatus(ctx) },
|
|
1556
1763
|
{ name: "workspace lineage", handler: async (ctx) => (await import("../workspace/lineage-cli")).runWorkspaceLineage(ctx) },
|
|
1557
1764
|
{ name: "workspace upgrade", handler: async (ctx) => (await import("../workspace/lineage-upgrade-cli")).runWorkspaceUpgrade(ctx) },
|
|
@@ -1576,6 +1783,12 @@ export const commandRegistry: CommandDef[] = [
|
|
|
1576
1783
|
{ name: "workspace graph", handler: async (ctx) => (await import("../workspace/member-commands")).runWorkspaceMembers(ctx, "graph") },
|
|
1577
1784
|
// Each unit decides for itself whether its config is loaded (runCommandInProcess).
|
|
1578
1785
|
{ name: "workspace member-run", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/member-run")).runWorkspaceMemberRun(ctx, runCommandInProcess) },
|
|
1786
|
+
// #3308 — a box's listing, written through chant so a tool never edits the declaration itself (ws-074).
|
|
1787
|
+
{ name: "workspace box", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/box-cli")).runWorkspaceBox(ctx) },
|
|
1788
|
+
// #3173 — the working tree's write lock, held across chant calls for a batch of writes (ws-089).
|
|
1789
|
+
{ name: "workspace lock", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/write-lock-cli")).runWorkspaceLock(ctx) },
|
|
1790
|
+
// #3172 — work in progress under refs/chant/wip/<branch>, replicated under the box's policy (ws-085).
|
|
1791
|
+
{ name: "workspace wip", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/wip-cli")).runWorkspaceWip(ctx) },
|
|
1579
1792
|
{ name: "workspace pin", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/pin-cli")).runWorkspacePin(ctx) },
|
|
1580
1793
|
// #2548 — an agent session's member, write scope and spec, for a session that resumes.
|
|
1581
1794
|
{ name: "workspace agent", runsNoConfig: true, handler: async (ctx) => (await import("../workspace/agent-cli")).runWorkspaceAgent(ctx) },
|
|
@@ -1601,6 +1814,9 @@ export const commandRegistry: CommandDef[] = [
|
|
|
1601
1814
|
|
|
1602
1815
|
// Component release ledger + status surface (#568, epic #551)
|
|
1603
1816
|
{ name: "components fan-out", requiresPlugins: true, handler: runComponentsFanOut },
|
|
1817
|
+
// #3183 — the pull-request loop the generated CI runs. Imported on first use.
|
|
1818
|
+
{ name: "components pr-plan", requiresPlugins: true, handler: async (ctx) => (await import("./handlers/pr")).runComponentsPrPlan(ctx) },
|
|
1819
|
+
{ name: "components pr-apply", requiresPlugins: true, handler: async (ctx) => (await import("./handlers/pr")).runComponentsPrApply(ctx) },
|
|
1604
1820
|
{ name: "components status", requiresPlugins: true, handler: runComponentsStatus },
|
|
1605
1821
|
{ name: "components release", handler: runComponentsReleaseRecord },
|
|
1606
1822
|
{ name: "components export", handler: runComponentsExport },
|