@intentius/chant 0.124.51 → 0.124.54
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/audit/discover.d.ts.map +1 -1
- package/dist/audit/discover.js +3 -1
- package/dist/behaviour.d.ts +1 -1
- package/dist/behaviour.d.ts.map +1 -1
- package/dist/capabilities/templates.d.ts +65 -0
- package/dist/capabilities/templates.d.ts.map +1 -0
- package/dist/capabilities/templates.js +193 -0
- package/dist/capabilities/templates.json +145 -0
- package/dist/change-set-graph.d.ts +35 -3
- package/dist/change-set-graph.d.ts.map +1 -1
- package/dist/change-set-graph.js +60 -9
- package/dist/change-set.d.ts +65 -7
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +23 -12
- package/dist/ci-identity.d.ts +7 -2
- package/dist/ci-identity.d.ts.map +1 -1
- package/dist/ci-identity.js +4 -1
- package/dist/cli/commands/import-index.d.ts +52 -0
- package/dist/cli/commands/import-index.d.ts.map +1 -0
- package/dist/cli/commands/import-index.js +226 -0
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +4 -2
- package/dist/cli/handlers/components.d.ts.map +1 -1
- package/dist/cli/handlers/components.js +11 -2
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.js +16 -3
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/graph.js +22 -4
- package/dist/cli/handlers/index-cloud.d.ts +14 -0
- package/dist/cli/handlers/index-cloud.d.ts.map +1 -0
- package/dist/cli/handlers/index-cloud.js +22 -0
- package/dist/cli/handlers/index-diff.d.ts +18 -0
- package/dist/cli/handlers/index-diff.d.ts.map +1 -0
- package/dist/cli/handlers/index-diff.js +142 -0
- package/dist/cli/handlers/lifecycle-drift.d.ts +25 -0
- package/dist/cli/handlers/lifecycle-drift.d.ts.map +1 -0
- package/dist/cli/handlers/lifecycle-drift.js +64 -0
- package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
- package/dist/cli/handlers/lifecycle.js +188 -28
- package/dist/cli/handlers/misc.d.ts +9 -0
- package/dist/cli/handlers/misc.d.ts.map +1 -1
- package/dist/cli/handlers/misc.js +77 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +17 -3
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +89 -15
- package/dist/cli/handlers/query.d.ts.map +1 -1
- package/dist/cli/handlers/query.js +28 -4
- package/dist/cli/handlers/scenario.d.ts.map +1 -1
- package/dist/cli/handlers/scenario.js +8 -7
- package/dist/cli/handlers/search.d.ts +34 -4
- package/dist/cli/handlers/search.d.ts.map +1 -1
- package/dist/cli/handlers/search.js +216 -36
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +55 -1
- package/dist/cli/mcp/lifecycle-tools.d.ts.map +1 -1
- package/dist/cli/mcp/lifecycle-tools.js +3 -2
- package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
- package/dist/cli/mcp/resource-handlers.js +4 -3
- package/dist/cli/mcp/workspace-tools.js +1 -1
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +55 -2
- package/dist/cli/registry.d.ts +19 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cloud-lister/aws.d.ts +35 -0
- package/dist/cloud-lister/aws.d.ts.map +1 -0
- package/dist/cloud-lister/aws.js +203 -0
- package/dist/cloud-lister/azure.d.ts +34 -0
- package/dist/cloud-lister/azure.d.ts.map +1 -0
- package/dist/cloud-lister/azure.js +129 -0
- package/dist/cloud-lister/common.d.ts +40 -0
- package/dist/cloud-lister/common.d.ts.map +1 -0
- package/dist/cloud-lister/common.js +83 -0
- package/dist/cloud-lister/credentials.d.ts +50 -0
- package/dist/cloud-lister/credentials.d.ts.map +1 -0
- package/dist/cloud-lister/credentials.js +86 -0
- package/dist/cloud-lister/fakes.d.ts +27 -0
- package/dist/cloud-lister/fakes.d.ts.map +1 -0
- package/dist/cloud-lister/fakes.js +50 -0
- package/dist/cloud-lister/gcp.d.ts +42 -0
- package/dist/cloud-lister/gcp.d.ts.map +1 -0
- package/dist/cloud-lister/gcp.js +143 -0
- package/dist/cloud-lister/guard.d.ts +49 -0
- package/dist/cloud-lister/guard.d.ts.map +1 -0
- package/dist/cloud-lister/guard.js +103 -0
- package/dist/cloud-lister/ids.d.ts +23 -0
- package/dist/cloud-lister/ids.d.ts.map +1 -0
- package/dist/cloud-lister/ids.js +42 -0
- package/dist/cloud-lister/index.d.ts +67 -0
- package/dist/cloud-lister/index.d.ts.map +1 -0
- package/dist/cloud-lister/index.js +102 -0
- package/dist/cloud-lister/kubernetes.d.ts +64 -0
- package/dist/cloud-lister/kubernetes.d.ts.map +1 -0
- package/dist/cloud-lister/kubernetes.js +276 -0
- package/dist/cloud-lister/markers.d.ts +31 -0
- package/dist/cloud-lister/markers.d.ts.map +1 -0
- package/dist/cloud-lister/markers.js +73 -0
- package/dist/cloud-lister/mask.d.ts +31 -0
- package/dist/cloud-lister/mask.d.ts.map +1 -0
- package/dist/cloud-lister/mask.js +74 -0
- package/dist/cloud-lister/sigv4.d.ts +29 -0
- package/dist/cloud-lister/sigv4.d.ts.map +1 -0
- package/dist/cloud-lister/sigv4.js +54 -0
- package/dist/cloud-lister/transport.d.ts +55 -0
- package/dist/cloud-lister/transport.d.ts.map +1 -0
- package/dist/cloud-lister/transport.js +86 -0
- package/dist/cloud-lister/types.d.ts +121 -0
- package/dist/cloud-lister/types.d.ts.map +1 -0
- package/dist/cloud-lister/types.js +24 -0
- package/dist/components/capability-plugin-loader.d.ts.map +1 -1
- package/dist/components/capability-plugin-loader.js +6 -0
- package/dist/components/capability-plugin.d.ts +9 -0
- package/dist/components/capability-plugin.d.ts.map +1 -1
- package/dist/components/capability.d.ts +224 -0
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/cli-support.d.ts +21 -0
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/cli-support.js +58 -14
- package/dist/components/covered-round.d.ts +173 -0
- package/dist/components/covered-round.d.ts.map +1 -0
- package/dist/components/covered-round.js +200 -0
- package/dist/components/declared-reads.d.ts +38 -0
- package/dist/components/declared-reads.d.ts.map +1 -0
- package/dist/components/declared-reads.js +131 -0
- package/dist/components/deploy-units.d.ts.map +1 -1
- package/dist/components/deploy-units.js +4 -0
- package/dist/components/driver.d.ts +42 -1
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/driver.js +74 -3
- package/dist/components/fan-out-run.d.ts +23 -1
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-run.js +82 -14
- package/dist/components/fan-out-support.d.ts +6 -0
- package/dist/components/fan-out-support.d.ts.map +1 -1
- package/dist/components/fan-out-support.js +4 -1
- package/dist/components/fan-out.d.ts +28 -0
- package/dist/components/fan-out.d.ts.map +1 -1
- package/dist/components/groups.d.ts +229 -0
- package/dist/components/groups.d.ts.map +1 -0
- package/dist/components/groups.js +760 -0
- package/dist/components/index.d.ts +7 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -0
- package/dist/components/plan-shape-conformance.d.ts +48 -0
- package/dist/components/plan-shape-conformance.d.ts.map +1 -0
- package/dist/components/plan-shape-conformance.js +122 -0
- package/dist/components/pr-run.d.ts +62 -7
- package/dist/components/pr-run.d.ts.map +1 -1
- package/dist/components/pr-run.js +354 -53
- package/dist/components/promote-rounds.d.ts +9 -0
- package/dist/components/promote-rounds.d.ts.map +1 -1
- package/dist/components/promote-rounds.js +23 -2
- package/dist/components/promote.d.ts +17 -0
- package/dist/components/promote.d.ts.map +1 -1
- package/dist/components/promote.js +36 -6
- package/dist/components/release-gate.d.ts +23 -1
- package/dist/components/release-gate.d.ts.map +1 -1
- package/dist/components/release-gate.js +97 -33
- package/dist/components/run-groups.d.ts +58 -0
- package/dist/components/run-groups.d.ts.map +1 -0
- package/dist/components/run-groups.js +78 -0
- package/dist/components/starter-plugin.d.ts +1 -0
- package/dist/components/starter-plugin.d.ts.map +1 -1
- package/dist/components/starter-plugin.js +6 -1
- package/dist/components/verbs/index.d.ts +1 -0
- package/dist/components/verbs/index.d.ts.map +1 -1
- package/dist/components/verbs/index.js +1 -0
- package/dist/components/verbs/member-outputs.d.ts +187 -0
- package/dist/components/verbs/member-outputs.d.ts.map +1 -0
- package/dist/components/verbs/member-outputs.js +218 -0
- package/dist/components/wave-plan.d.ts +2 -0
- package/dist/components/wave-plan.d.ts.map +1 -1
- package/dist/components/wave-plan.js +4 -1
- package/dist/config.d.ts +60 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +27 -0
- package/dist/deep-observation.d.ts +1 -13
- package/dist/deep-observation.d.ts.map +1 -1
- package/dist/deep-observation.js +5 -22
- package/dist/drift-record.d.ts +542 -0
- package/dist/drift-record.d.ts.map +1 -0
- package/dist/drift-record.js +886 -0
- package/dist/engine-facts.d.ts +144 -0
- package/dist/engine-facts.d.ts.map +1 -0
- package/dist/engine-facts.js +14 -0
- package/dist/graph-ir.d.ts +153 -2
- package/dist/graph-ir.d.ts.map +1 -1
- package/dist/graph-ir.js +224 -6
- package/dist/graph-refs.d.ts +145 -0
- package/dist/graph-refs.d.ts.map +1 -1
- package/dist/graph-refs.js +305 -0
- package/dist/graph-schema/fixtures/adopt.json +15 -0
- package/dist/graph-schema/fixtures/choudoufu.engine-graph.json +169 -0
- package/dist/graph-schema/fixtures/index.json +68 -0
- package/dist/graph-schema/fixtures/plunge.engine-graph.json +158 -0
- package/dist/graph-schema/fixtures.d.ts +23 -0
- package/dist/graph-schema/fixtures.d.ts.map +1 -0
- package/dist/graph-schema/fixtures.js +246 -0
- package/dist/graph-schema/generate.d.ts +15 -0
- package/dist/graph-schema/generate.d.ts.map +1 -0
- package/dist/graph-schema/generate.js +267 -0
- package/dist/graph-schema/graph.schema.json +1387 -0
- package/dist/health.schema.json +2 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/instance-nodes.d.ts +159 -0
- package/dist/instance-nodes.d.ts.map +1 -0
- package/dist/instance-nodes.js +231 -0
- package/dist/lexicon.d.ts +72 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/adoption-file.d.ts +56 -0
- package/dist/lifecycle/adoption-file.d.ts.map +1 -0
- package/dist/lifecycle/adoption-file.js +123 -0
- package/dist/lifecycle/cloud-index.d.ts +186 -0
- package/dist/lifecycle/cloud-index.d.ts.map +1 -0
- package/dist/lifecycle/cloud-index.js +618 -0
- package/dist/lifecycle/derive-edges.d.ts +59 -0
- package/dist/lifecycle/derive-edges.d.ts.map +1 -0
- package/dist/lifecycle/derive-edges.js +126 -0
- package/dist/lifecycle/git.d.ts +10 -9
- package/dist/lifecycle/git.d.ts.map +1 -1
- package/dist/lifecycle/git.js +7 -1
- package/dist/lifecycle/identity-match.d.ts +133 -0
- package/dist/lifecycle/identity-match.d.ts.map +1 -0
- package/dist/lifecycle/identity-match.js +147 -0
- package/dist/lifecycle/index-diff.d.ts +224 -0
- package/dist/lifecycle/index-diff.d.ts.map +1 -0
- package/dist/lifecycle/index-diff.js +327 -0
- package/dist/lifecycle/index-document.d.ts +130 -0
- package/dist/lifecycle/index-document.d.ts.map +1 -0
- package/dist/lifecycle/index-document.js +189 -0
- package/dist/lifecycle/index-drift.d.ts +121 -0
- package/dist/lifecycle/index-drift.d.ts.map +1 -0
- package/dist/lifecycle/index-drift.js +178 -0
- package/dist/lifecycle/index-import.d.ts +168 -0
- package/dist/lifecycle/index-import.d.ts.map +1 -0
- package/dist/lifecycle/index-import.js +515 -0
- package/dist/lifecycle/index-join.d.ts +129 -0
- package/dist/lifecycle/index-join.d.ts.map +1 -0
- package/dist/lifecycle/index-join.js +248 -0
- 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/observation-baseline.d.ts +61 -21
- package/dist/lifecycle/observation-baseline.d.ts.map +1 -1
- package/dist/lifecycle/observation-baseline.js +144 -19
- package/dist/lifecycle/observe.d.ts.map +1 -1
- package/dist/lifecycle/observe.js +6 -1
- package/dist/lifecycle/query.d.ts +45 -4
- package/dist/lifecycle/query.d.ts.map +1 -1
- package/dist/lifecycle/query.js +89 -7
- package/dist/lifecycle/replay.d.ts +10 -3
- package/dist/lifecycle/replay.d.ts.map +1 -1
- package/dist/lifecycle/replay.js +10 -6
- package/dist/lifecycle/scenario.d.ts +4 -3
- package/dist/lifecycle/scenario.d.ts.map +1 -1
- package/dist/lifecycle/snapshot-store-fake.d.ts +9 -0
- package/dist/lifecycle/snapshot-store-fake.d.ts.map +1 -0
- package/dist/lifecycle/snapshot-store-fake.js +21 -0
- package/dist/lifecycle/snapshot-store-s3.d.ts +102 -0
- package/dist/lifecycle/snapshot-store-s3.d.ts.map +1 -0
- package/dist/lifecycle/snapshot-store-s3.js +254 -0
- package/dist/lifecycle/snapshot-store.d.ts +170 -0
- package/dist/lifecycle/snapshot-store.d.ts.map +1 -0
- package/dist/lifecycle/snapshot-store.js +832 -0
- package/dist/lifecycle/snapshot.d.ts +11 -0
- package/dist/lifecycle/snapshot.d.ts.map +1 -1
- package/dist/lifecycle/snapshot.js +18 -5
- package/dist/lifecycle/type-listing.d.ts +148 -0
- package/dist/lifecycle/type-listing.d.ts.map +1 -0
- package/dist/lifecycle/type-listing.js +166 -0
- package/dist/lint/component-checks.d.ts +15 -1
- package/dist/lint/component-checks.d.ts.map +1 -1
- package/dist/lint/component-checks.js +1 -0
- package/dist/lint/presets/relaxed.json +2 -1
- package/dist/lint/presets/strict.json +2 -1
- package/dist/lint/rules/__fixtures__/comp/comp008/fail/dns.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/fail/dns.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/fail/dns.component.js +13 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/pass/dns.component.d.ts +4 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/pass/dns.component.d.ts.map +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp008/pass/dns.component.js +8 -0
- package/dist/lint/rules/comp/comp008-applies-signal-only-root.d.ts +33 -0
- package/dist/lint/rules/comp/comp008-applies-signal-only-root.d.ts.map +1 -0
- package/dist/lint/rules/comp/comp008-applies-signal-only-root.js +123 -0
- package/dist/lint/rules/comp/index.d.ts +2 -1
- package/dist/lint/rules/comp/index.d.ts.map +1 -1
- package/dist/lint/rules/comp/index.js +4 -1
- package/dist/observation.d.ts +19 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +18 -1
- package/dist/op/activities/activity-contracts.d.ts +1 -1
- package/dist/op/activities/activity-contracts.js +1 -1
- package/dist/op/activities/change-set.d.ts +6 -4
- package/dist/op/activities/change-set.d.ts.map +1 -1
- package/dist/op/activities/change-set.js +4 -2
- package/dist/op/activity-failure.d.ts +27 -0
- package/dist/op/activity-failure.d.ts.map +1 -1
- package/dist/op/activity-failure.js +31 -0
- package/dist/op/index.d.ts +2 -1
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/index.js +1 -1
- package/dist/op/local-executor.d.ts +5 -1
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +22 -8
- package/dist/pr-loop.d.ts +92 -3
- package/dist/pr-loop.d.ts.map +1 -1
- package/dist/pr-loop.js +62 -3
- package/dist/pulumi-urn.d.ts +101 -0
- package/dist/pulumi-urn.d.ts.map +1 -0
- package/dist/pulumi-urn.js +131 -0
- package/dist/release-floors.d.ts +23 -0
- package/dist/release-floors.d.ts.map +1 -0
- package/dist/release-floors.js +22 -0
- package/dist/sensitive-key.d.ts +23 -0
- package/dist/sensitive-key.d.ts.map +1 -0
- package/dist/sensitive-key.js +31 -0
- package/dist/wave-runtime.mjs +234 -234
- package/dist/workspace/adoption-report.d.ts +53 -0
- package/dist/workspace/adoption-report.d.ts.map +1 -0
- package/dist/workspace/adoption-report.js +76 -0
- package/dist/workspace/capabilities-contract.d.ts +7 -0
- package/dist/workspace/capabilities-contract.d.ts.map +1 -1
- package/dist/workspace/capabilities-contract.js +2 -1
- package/dist/workspace/capabilities.schema.json +98 -0
- package/dist/workspace/change-set.schema.json +42 -3
- package/dist/workspace/ci-cloud-identity.d.ts +13 -1
- package/dist/workspace/ci-cloud-identity.d.ts.map +1 -1
- package/dist/workspace/ci-cloud-identity.js +30 -1
- package/dist/workspace/compose-graph.d.ts +10 -1
- package/dist/workspace/compose-graph.d.ts.map +1 -1
- package/dist/workspace/compose-graph.js +6 -1
- package/dist/workspace/conformance/index.d.ts +1 -1
- package/dist/workspace/conformance/index.d.ts.map +1 -1
- package/dist/workspace/conformance/index.js +6 -1
- package/dist/workspace/drift-cli.d.ts +81 -0
- package/dist/workspace/drift-cli.d.ts.map +1 -0
- package/dist/workspace/drift-cli.js +317 -0
- package/dist/workspace/drift.schema.json +672 -0
- package/dist/workspace/graph-cli.d.ts +2 -0
- package/dist/workspace/graph-cli.d.ts.map +1 -1
- package/dist/workspace/graph-cli.js +3 -0
- package/dist/workspace/graph.schema.json +72 -0
- package/dist/workspace/init.d.ts +5 -1
- package/dist/workspace/init.d.ts.map +1 -1
- package/dist/workspace/init.js +55 -9
- package/dist/workspace/ledger.schema.json +1 -1
- package/dist/workspace/nested-graph.d.ts.map +1 -1
- package/dist/workspace/nested-graph.js +2 -0
- package/dist/workspace/pr-report.schema.json +76 -3
- package/dist/workspace/promote-waves.d.ts +112 -0
- package/dist/workspace/promote-waves.d.ts.map +1 -0
- package/dist/workspace/promote-waves.js +290 -0
- package/dist/workspace/promote.d.ts +84 -2
- package/dist/workspace/promote.d.ts.map +1 -1
- package/dist/workspace/promote.js +347 -61
- package/dist/workspace/reason-codes.d.ts +12 -0
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +14 -0
- package/dist/workspace/search-contract.d.ts +3 -3
- package/dist/workspace/search-contract.d.ts.map +1 -1
- package/dist/workspace/search-contract.js +2 -0
- package/dist/workspace/search.schema.json +103 -5
- package/package.json +14 -1
- package/src/__fixtures__/drift-record/README.md +58 -0
- package/src/__fixtures__/drift-record/choudoufu-cone.ndjson +4 -0
- package/src/__fixtures__/drift-record/choudoufu-resource.ndjson +3 -0
- package/src/__fixtures__/drift-record/component-status-ledger.json +65 -0
- package/src/__fixtures__/drift-record/component-status.json +91 -0
- package/src/__fixtures__/drift-record/deep-diff.json +259 -0
- package/src/__fixtures__/drift-record/lifecycle-diff-live.json +825 -0
- package/src/__fixtures__/drift-record/live-diff.json +125 -0
- package/src/audit/discover.e2e.test.ts +14 -0
- package/src/audit/discover.ts +3 -1
- package/src/behaviour.ts +1 -1
- package/src/capabilities/templates.json +145 -0
- package/src/capabilities/templates.test.ts +212 -0
- package/src/capabilities/templates.ts +204 -0
- package/src/change-set-bundle.test.ts +83 -0
- package/src/change-set-graph.ts +80 -9
- package/src/change-set.test.ts +24 -0
- package/src/change-set.ts +77 -14
- package/src/ci-identity-targets.test.ts +23 -0
- package/src/ci-identity.ts +10 -4
- package/src/cli/commands/import-index.test.ts +117 -0
- package/src/cli/commands/import-index.ts +265 -0
- package/src/cli/commands/lint.ts +4 -2
- package/src/cli/handlers/components.test.ts +9 -0
- package/src/cli/handlers/components.ts +12 -2
- package/src/cli/handlers/fan-out.ts +17 -3
- package/src/cli/handlers/graph.test.ts +42 -0
- package/src/cli/handlers/graph.ts +26 -4
- package/src/cli/handlers/index-cloud.ts +32 -0
- package/src/cli/handlers/index-diff.test.ts +68 -0
- package/src/cli/handlers/index-diff.ts +146 -0
- package/src/cli/handlers/ledger-root-member.test.ts +161 -0
- package/src/cli/handlers/lifecycle-drift.ts +68 -0
- package/src/cli/handlers/lifecycle.test.ts +33 -11
- package/src/cli/handlers/lifecycle.ts +205 -30
- package/src/cli/handlers/misc.ts +73 -0
- package/src/cli/handlers/pr-waves-blocked.test.ts +37 -2
- package/src/cli/handlers/pr.ts +16 -3
- package/src/cli/handlers/promote.test.ts +64 -0
- package/src/cli/handlers/promote.ts +81 -6
- package/src/cli/handlers/query.ts +27 -4
- package/src/cli/handlers/run-declared-reads-cli.test.ts +187 -0
- package/src/cli/handlers/run-groups-cli.test.ts +229 -0
- package/src/cli/handlers/scenario.test.ts +13 -0
- package/src/cli/handlers/scenario.ts +8 -7
- package/src/cli/handlers/search-index.test.ts +255 -0
- package/src/cli/handlers/search-json.test.ts +1 -1
- package/src/cli/handlers/search-ownership.test.ts +194 -0
- package/src/cli/handlers/search.ts +271 -38
- package/src/cli/main.test.ts +7 -0
- package/src/cli/main.ts +56 -1
- package/src/cli/mcp/lifecycle-tools.ts +3 -2
- package/src/cli/mcp/resource-handlers.ts +4 -3
- package/src/cli/mcp/workspace-tools.ts +1 -1
- package/src/cli/parse-args.ts +40 -2
- package/src/cli/registry.ts +19 -1
- package/src/cloud-lister/aws.test.ts +202 -0
- package/src/cloud-lister/aws.ts +226 -0
- package/src/cloud-lister/azure.test.ts +132 -0
- package/src/cloud-lister/azure.ts +142 -0
- package/src/cloud-lister/common.ts +115 -0
- package/src/cloud-lister/credentials.ts +110 -0
- package/src/cloud-lister/fakes.ts +66 -0
- package/src/cloud-lister/gcp.test.ts +121 -0
- package/src/cloud-lister/gcp.ts +159 -0
- package/src/cloud-lister/guard.test.ts +198 -0
- package/src/cloud-lister/guard.ts +111 -0
- package/src/cloud-lister/ids.ts +54 -0
- package/src/cloud-lister/index.ts +134 -0
- package/src/cloud-lister/kubernetes.test.ts +160 -0
- package/src/cloud-lister/kubernetes.ts +284 -0
- package/src/cloud-lister/markers.ts +74 -0
- package/src/cloud-lister/mask.ts +77 -0
- package/src/cloud-lister/shape.test.ts +81 -0
- package/src/cloud-lister/sigv4.ts +70 -0
- package/src/cloud-lister/transport.ts +118 -0
- package/src/cloud-lister/types.ts +135 -0
- package/src/components/capability-plugin-loader.ts +4 -0
- package/src/components/capability-plugin.ts +10 -0
- package/src/components/capability.ts +238 -0
- package/src/components/cli-support.ts +70 -14
- package/src/components/covered-round.test.ts +166 -0
- package/src/components/covered-round.ts +293 -0
- package/src/components/declared-reads.test.ts +103 -0
- package/src/components/declared-reads.ts +134 -0
- package/src/components/deploy-units.ts +4 -0
- package/src/components/driver.ts +101 -4
- package/src/components/fan-out-run.ts +95 -15
- package/src/components/fan-out-support.ts +10 -1
- package/src/components/fan-out.ts +30 -0
- package/src/components/groups.test.ts +320 -0
- package/src/components/groups.ts +880 -0
- package/src/components/index.ts +59 -0
- package/src/components/plan-shape-conformance.ts +130 -0
- package/src/components/pr-env-run-bundle.test.ts +2 -0
- package/src/components/pr-run.test.ts +728 -4
- package/src/components/pr-run.ts +395 -55
- package/src/components/promote-rounds.ts +25 -2
- package/src/components/promote.ts +55 -5
- package/src/components/registry.test.ts +1 -1
- package/src/components/release-gate.ts +115 -30
- package/src/components/release-groups.test.ts +362 -0
- package/src/components/run-groups.ts +113 -0
- package/src/components/starter-plugin.ts +6 -0
- package/src/components/verbs/index.ts +1 -0
- package/src/components/verbs/member-outputs.test.ts +205 -0
- package/src/components/verbs/member-outputs.ts +308 -0
- package/src/components/wave-plan.ts +5 -2
- package/src/config.ts +44 -0
- package/src/deep-observation.ts +5 -23
- package/src/drift-record.test.ts +596 -0
- package/src/drift-record.ts +1206 -0
- package/src/engine-facts.guard.test.ts +111 -0
- package/src/engine-facts.test.ts +178 -0
- package/src/engine-facts.ts +154 -0
- package/src/gated-waves-bundle.test.ts +2 -0
- package/src/graph-ir-live.test.ts +92 -0
- package/src/graph-ir.ts +317 -7
- package/src/graph-refs.ts +416 -0
- package/src/graph-schema/fixtures/adopt.json +15 -0
- package/src/graph-schema/fixtures/choudoufu.engine-graph.json +169 -0
- package/src/graph-schema/fixtures/index.json +68 -0
- package/src/graph-schema/fixtures/plunge.engine-graph.json +158 -0
- package/src/graph-schema/fixtures.ts +267 -0
- package/src/graph-schema/generate.ts +263 -0
- package/src/graph-schema/graph-schema.test.ts +153 -0
- package/src/graph-schema/graph.schema.json +1387 -0
- package/src/health.schema.json +2 -1
- package/src/identity.ts +2 -0
- package/src/index.ts +2 -0
- package/src/instance-nodes.ts +288 -0
- package/src/lexicon.ts +76 -0
- package/src/lifecycle/__fixtures__/index-diff/20261026T120000Z-aaaaaaaaaaaa.json +149 -0
- package/src/lifecycle/__fixtures__/index-diff/20261026T130000Z-bbbbbbbbbbbb.json +127 -0
- package/src/lifecycle/adoption-file.test.ts +100 -0
- package/src/lifecycle/adoption-file.ts +154 -0
- package/src/lifecycle/cloud-index.test.ts +517 -0
- package/src/lifecycle/cloud-index.ts +736 -0
- package/src/lifecycle/derive-edges.test.ts +193 -0
- package/src/lifecycle/derive-edges.ts +182 -0
- package/src/lifecycle/git.ts +10 -4
- package/src/lifecycle/identity-match.test.ts +308 -0
- package/src/lifecycle/identity-match.ts +257 -0
- package/src/lifecycle/index-diff.test.ts +198 -0
- package/src/lifecycle/index-diff.ts +476 -0
- package/src/lifecycle/index-document.test.ts +64 -0
- package/src/lifecycle/index-document.ts +299 -0
- package/src/lifecycle/index-drift.test.ts +191 -0
- package/src/lifecycle/index-drift.ts +304 -0
- package/src/lifecycle/index-import.test.ts +255 -0
- package/src/lifecycle/index-import.ts +634 -0
- package/src/lifecycle/index-join.test.ts +250 -0
- package/src/lifecycle/index-join.ts +304 -0
- package/src/lifecycle/index-store-load-bearing.test.ts +187 -0
- package/src/lifecycle/index.ts +4 -0
- package/src/lifecycle/member-ledger.test.ts +25 -7
- package/src/lifecycle/observation-baseline.test.ts +72 -1
- package/src/lifecycle/observation-baseline.ts +190 -27
- package/src/lifecycle/observe.ts +6 -1
- package/src/lifecycle/query.test.ts +69 -1
- package/src/lifecycle/query.ts +103 -10
- package/src/lifecycle/replay.test.ts +9 -5
- package/src/lifecycle/replay.ts +9 -5
- package/src/lifecycle/scenario.ts +4 -3
- package/src/lifecycle/snapshot-store-fake.ts +29 -0
- package/src/lifecycle/snapshot-store-s3.ts +316 -0
- package/src/lifecycle/snapshot-store.test.ts +385 -0
- package/src/lifecycle/snapshot-store.ts +981 -0
- package/src/lifecycle/snapshot.test.ts +13 -0
- package/src/lifecycle/snapshot.ts +23 -6
- package/src/lifecycle/type-listing.test.ts +166 -0
- package/src/lifecycle/type-listing.ts +309 -0
- package/src/lint/component-checks.ts +17 -1
- package/src/lint/config.test.ts +3 -0
- package/src/lint/presets/relaxed.json +2 -1
- package/src/lint/presets/strict.json +2 -1
- package/src/lint/rules/__fixtures__/comp/comp008/fail/dns.component.ts +15 -0
- package/src/lint/rules/__fixtures__/comp/comp008/pass/dns.component.ts +10 -0
- package/src/lint/rules/comp/comp.test.ts +2 -1
- package/src/lint/rules/comp/comp008-applies-signal-only-root.ts +121 -0
- package/src/lint/rules/comp/comp008.test.ts +77 -0
- package/src/lint/rules/comp/index.ts +4 -1
- package/src/observation-edges.test.ts +33 -0
- package/src/observation.ts +36 -1
- package/src/op/activities/activity-contracts.ts +1 -1
- package/src/op/activities/change-set.ts +8 -5
- package/src/op/activity-failure.ts +36 -0
- package/src/op/index.ts +2 -1
- package/src/op/local-executor.test.ts +80 -0
- package/src/op/local-executor.ts +27 -9
- package/src/pr-loop-bundle.test.ts +5 -2
- package/src/pr-loop.test.ts +57 -1
- package/src/pr-loop.ts +154 -6
- package/src/pulumi-urn.ts +151 -0
- package/src/release-floors.ts +22 -0
- package/src/sensitive-key.ts +34 -0
- package/src/workspace/adoption-report.test.ts +61 -0
- package/src/workspace/adoption-report.ts +103 -0
- package/src/workspace/capabilities-contract.test.ts +4 -0
- package/src/workspace/capabilities-contract.ts +9 -1
- package/src/workspace/capabilities.schema.json +98 -0
- package/src/workspace/change-set.schema.json +42 -3
- package/src/workspace/ci-cloud-identity.ts +31 -1
- package/src/workspace/compose-graph.test.ts +12 -0
- package/src/workspace/compose-graph.ts +12 -1
- package/src/workspace/conformance/conformance.e2e.test.ts +2 -1
- package/src/workspace/conformance/index.ts +6 -1
- package/src/workspace/drift-cli.test.ts +65 -0
- package/src/workspace/drift-cli.ts +365 -0
- package/src/workspace/drift.schema.json +672 -0
- package/src/workspace/graph-cli.ts +5 -0
- package/src/workspace/graph.schema.json +72 -0
- package/src/workspace/init.test.ts +38 -1
- package/src/workspace/init.ts +50 -8
- package/src/workspace/intent-gaps.test.ts +18 -2
- package/src/workspace/ledger.schema.json +1 -1
- package/src/workspace/nested-graph.ts +1 -0
- package/src/workspace/pr-report.schema.json +76 -3
- package/src/workspace/promote-waves.test.ts +296 -0
- package/src/workspace/promote-waves.ts +340 -0
- package/src/workspace/promote.test.ts +158 -4
- package/src/workspace/promote.ts +398 -57
- package/src/workspace/reason-codes.test.ts +4 -1
- package/src/workspace/reason-codes.ts +14 -0
- package/src/workspace/search-contract.ts +2 -0
- package/src/workspace/search.schema.json +103 -5
|
@@ -19,7 +19,7 @@ export declare const SEARCH_OUTPUT_SCHEMA_ID = "https://intentius.io/chant/schem
|
|
|
19
19
|
* Why `chant search` printed no answer. A member's own refusal under
|
|
20
20
|
* `chant workspace search` carries the same code as its reason.
|
|
21
21
|
*/
|
|
22
|
-
export declare const SEARCH_ERROR_CODES: readonly ["query-invalid", "usage-invalid", "environment-unknown", "snapshot-unavailable", "build-failed"];
|
|
22
|
+
export declare const SEARCH_ERROR_CODES: readonly ["query-invalid", "usage-invalid", "environment-unknown", "snapshot-unavailable", "build-failed", "index-unavailable"];
|
|
23
23
|
export type SearchErrorCode = (typeof SEARCH_ERROR_CODES)[number];
|
|
24
24
|
/**
|
|
25
25
|
* Why `chant workspace search` printed no answer: the declaration's codes and
|
|
@@ -29,13 +29,13 @@ export type SearchErrorCode = (typeof SEARCH_ERROR_CODES)[number];
|
|
|
29
29
|
export declare const WORKSPACE_SEARCH_ERROR_CODES: readonly ["declaration-missing", "declaration-ambiguous", "declaration-unparseable", "declaration-invalid", "placement-invalid", "reader-too-old", "root-chant-required", "not-a-git-repository", "revision-unknown", "live-at-revision", "snapshot-at-revision", "query-invalid", "usage-invalid"];
|
|
30
30
|
export type WorkspaceSearchErrorCode = (typeof WORKSPACE_SEARCH_ERROR_CODES)[number];
|
|
31
31
|
/** Every `error.code` a `search` document can carry, in either form. */
|
|
32
|
-
export declare const SEARCH_DOCUMENT_ERROR_CODES: ("agent-unknown" | "amend-id-immutable" | "amend-supersede-instead" | "answer-field-unsupported" | "answer-in-steward-turn" | "answer-never-over-mcp" | "answer-not-answered" | "answer-not-candidate" | "answer-point-changed" | "answer-point-unknown" | "answer-points-unreadable" | "asset-drift" | "asset-missing" | "asset-stale" | "box-capability-unbrokered" | "box-credential-declared" | "box-fountain-callback-undeclared" | "box-intent-unconstrained" | "box-intent-unknown" | "box-isolation-collision" | "box-isolation-literal" | "box-none" | "box-several" | "build-failed" | "capability-not-derivable" | "change-out-of-scope" | "change-uncovered" | "chant-config-left" | "chant-dependency" | "chant-in-ci" | "choudoufu-steps-missing" | "ci-branch-route-differs" | "ci-branch-unknown" | "ci-green-undeclared" | "ci-workflow-apply-in-green" | "ci-workflow-green-undeclared" | "ci-workflow-no-components" | "ci-workflow-no-environments" | "ci-workflow-no-pre-merge" | "ci-workflow-pipeline-differs" | "ci-workflow-pipeline-missing" | "ci-workflow-publish-missing" | "ci-workflow-ungated-env" | "command-failed" | "commit-unlinked" | "commit-wrongly-linked" | "composites-no-chant-member" | "composites-no-component" | "composites-none-declared" | "declaration-ambiguous" | "declaration-invalid" | "declaration-missing" | "declaration-not-other" | "declaration-unparseable" | "diagram-render-drift" | "diagram-render-missing" | "diagram-source-missing" | "dir-missing" | "envelope-invalid" | "envelope-unreadable" | "envelope-untrusted" | "environment-invalid" | "environment-unknown" | "environments-component-undeclared" | "environments-ledger-undeclared" | "environments-ledger-unreadable" | "environments-none-declared" | "evidence-payload-type" | "evidence-runner-mismatch" | "evidence-statement-invalid" | "executor-config-unreadable" | "executor-none-declared" | "exit-failed" | "factory-box-missing" | "factory-member-unknown" | "filter-invalid" | "flag-stale" | "flag-work-unknown" | "gate-approval-unbased" | "gates-ledger-unreadable" | "gates-no-gate-ledger" | "gates-no-ledger" | "intent-artifact-unpinned" | "intent-commit-bare" | "intent-commit-join-conflict" | "intent-commit-undecided" | "intent-constraint-coarse" | "intent-constraint-lost" | "intent-decision-contested" | "intent-decision-provisional" | "intent-decision-superseded-live" | "intent-decision-unimplemented" | "intent-evidence-unpinned" | "intent-history-shallow" | "intent-pin-drifted" | "intent-pin-missing" | "intent-pin-stale" | "intent-plugin-failed" | "intent-record-unknown" | "intent-region-invalid" | "intent-region-unconstrained" | "intent-symbol-ambiguous" | "intent-symbol-unknown" | "intent-symbol-unsupported" | "intent-trailer-unverified" | "intent-why-no-decision" | "intent-why-no-run" | "intent-why-run-ambiguous" | "intent-why-uncommitted" | "intent-work-blocked" | "intent-work-open-decided-code" | "ir-version-unsupported" | "kind-invalid" | "kind-not-run" | "kind-probe-failed" | "kind-unreadable" | "lease-held" | "lease-not-held" | "lease-push-rejected" | "lease-race" | "lease-token-mismatch" | "ledger-malformed" | "ledger-unreadable" | "lexicon-has-no-mapping" | "lexicon-not-loaded" | "lexicon-unsupported" | "listing-box-missing" | "listing-cover-invalid" | "listing-member-unknown" | "live-at-revision" | "location-missing" | "lock-invalid" | "manual-step-open" | "member-chant-too-old" | "member-exists" | "member-unknown" | "missing-dir" | "native-missing" | "native-unreadable" | "no-deploy-command" | "no-lexicon" | "no-matches" | "not-a-git-repository" | "output-unreadable" | "patch-path-invalid" | "placement-invalid" | "point-candidates-invalid" | "point-decider-failed" | "point-inputs-invalid" | "point-unknown" | "points-invalid" | "points-undeclared" | "principal-unidentified" | "publish-answer-invalid" | "publish-failed" | "publish-member-unknown" | "publish-none" | "publish-refused" | "publish-unrecorded" | "query-invalid" | "quorum-not-met" | "ratify-quorum-not-met" | "reader-too-old" | "record-closed" | "record-conflict" | "record-id-duplicate" | "record-id-taken" | "record-id-unallocatable" | "record-no-evidence" | "record-not-found" | "record-path-unmatched" | "record-ratified-below-quorum" | "record-remediates-not-closed" | "record-remediates-unknown" | "record-schema-invalid" | "record-seal-mismatch" | "record-sign-failed" | "record-state-not-initial" | "record-supersedes-conflict" | "record-supersedes-pending" | "record-supersedes-unknown" | "record-unattested" | "record-unparseable" | "review-agent" | "review-decider" | "review-duplicate" | "review-note-required" | "review-older-digest" | "review-sign-failed" | "review-unattested" | "review-undigested" | "review-unsupported" | "revision-unknown" | "root-chant-required" | "rotation-first-version" | "rotation-invalid" | "rotation-missing" | "rotation-previous-mismatch" | "rotation-threshold-not-met" | "rotation-threshold-unsatisfiable" | "rotation-unparseable" | "rotation-version-skew" | "run-ended" | "run-exists" | "run-not-ended" | "run-statement-invalid" | "run-statement-mismatch" | "run-statement-signer-mismatch" | "run-unknown" | "runner-exists" | "runner-key-invalid" | "runner-key-is-signer" | "runner-key-unlisted" | "runner-unknown" | "runs-ledger-malformed" | "runs-no-ledger" | "runtimes-config-unreadable" | "runtimes-lexicon-unreadable" | "schema-id-mismatch" | "schema-invalid" | "schema-unreadable" | "seal-missing" | "seal-signature-invalid" | "seal-signer-unlisted" | "seal-unverifiable" | "security-attribution-any" | "security-component-no-sbom" | "security-component-no-verify" | "security-gate-unsigned" | "security-publish-allows-unsigned" | "security-publish-no-provenance" | "security-release-gate-missing" | "security-review-not-required" | "security-runner-start-no-key" | "security-runner-start-no-role" | "security-runner-untrusted" | "security-sbom-disabled" | "security-sbom-unsourced" | "security-signed-since-unset" | "security-signers-missing" | "security-tick-no-key" | "security-trust-unreadable" | "session-not-open" | "session-seal-mismatch" | "session-unknown" | "session-verdict-unknown-record" | "signers-file-missing" | "signers-removed" | "since-rev-unknown" | "since-session-open" | "since-session-unknown" | "snapshot-at-revision" | "snapshot-unavailable" | "source-harvest-not-proposed" | "source-transcript-drift" | "squash-unfollowed" | "steward-runs-unreadable" | "stewards-conflict" | "stewards-unreadable" | "table-unknown" | "trust-config-invalid" | "trust-conflict" | "trust-policy-unreadable" | "unknown-kind" | "usage-invalid" | "wip-branch-other" | "wip-no-branch" | "wip-none" | "wip-policy-none" | "wip-race" | "wip-remote-unknown" | "wip-snapshot-unknown" | "work-acceptance-self-verified" | "work-acceptance-unmet" | "work-closed-without-date" | "work-contract-undecided" | "work-contract-unknown" | "work-criterion-unknown" | "work-done-gap-open" | "work-done-unpinned" | "work-evidence-ops-mismatch" | "work-evidence-ops-missing" | "work-evidence-ops-unfinished" | "work-implements-undecided" | "work-implements-unknown" | "work-item-closed" | "work-item-unknown" | "work-kind-ambiguous" | "work-kind-missing" | "work-needs-cycle" | "work-needs-unknown" | "work-tier-unknown" | "write-input-invalid" | "write-lock-not-held" | "write-lock-timeout" | "write-scope-class-unknown" | "write-scope-kind" | "write-scope-member" | "write-scope-protected" | "write-usage-invalid")[];
|
|
32
|
+
export declare const SEARCH_DOCUMENT_ERROR_CODES: ("agent-unknown" | "amend-id-immutable" | "amend-supersede-instead" | "answer-field-unsupported" | "answer-in-steward-turn" | "answer-never-over-mcp" | "answer-not-answered" | "answer-not-candidate" | "answer-point-changed" | "answer-point-unknown" | "answer-points-unreadable" | "asset-drift" | "asset-missing" | "asset-stale" | "box-capability-unbrokered" | "box-credential-declared" | "box-fountain-callback-undeclared" | "box-intent-unconstrained" | "box-intent-unknown" | "box-isolation-collision" | "box-isolation-literal" | "box-none" | "box-several" | "build-failed" | "capability-not-derivable" | "change-out-of-scope" | "change-uncovered" | "chant-config-left" | "chant-dependency" | "chant-in-ci" | "choudoufu-steps-missing" | "ci-branch-route-differs" | "ci-branch-unknown" | "ci-green-undeclared" | "ci-workflow-apply-in-green" | "ci-workflow-green-undeclared" | "ci-workflow-no-components" | "ci-workflow-no-environments" | "ci-workflow-no-pre-merge" | "ci-workflow-pipeline-differs" | "ci-workflow-pipeline-missing" | "ci-workflow-publish-missing" | "ci-workflow-ungated-env" | "command-failed" | "commit-unlinked" | "commit-wrongly-linked" | "composites-no-chant-member" | "composites-no-component" | "composites-none-declared" | "declaration-ambiguous" | "declaration-invalid" | "declaration-missing" | "declaration-not-other" | "declaration-unparseable" | "diagram-render-drift" | "diagram-render-missing" | "diagram-source-missing" | "dir-missing" | "env-required" | "envelope-invalid" | "envelope-unreadable" | "envelope-untrusted" | "environment-invalid" | "environment-unknown" | "environments-component-undeclared" | "environments-ledger-undeclared" | "environments-ledger-unreadable" | "environments-none-declared" | "evidence-payload-type" | "evidence-runner-mismatch" | "evidence-statement-invalid" | "executor-config-unreadable" | "executor-none-declared" | "exit-failed" | "factory-box-missing" | "factory-member-unknown" | "filter-invalid" | "flag-stale" | "flag-work-unknown" | "gate-approval-unbased" | "gates-ledger-unreadable" | "gates-no-gate-ledger" | "gates-no-ledger" | "index-unavailable" | "instances-each-value" | "instances-form-unread" | "instances-merge" | "instances-module-uncounted" | "instances-over-limit" | "instances-value-unknown" | "intent-artifact-unpinned" | "intent-commit-bare" | "intent-commit-join-conflict" | "intent-commit-undecided" | "intent-constraint-coarse" | "intent-constraint-lost" | "intent-decision-contested" | "intent-decision-provisional" | "intent-decision-superseded-live" | "intent-decision-unimplemented" | "intent-evidence-unpinned" | "intent-history-shallow" | "intent-pin-drifted" | "intent-pin-missing" | "intent-pin-stale" | "intent-plugin-failed" | "intent-record-unknown" | "intent-region-invalid" | "intent-region-unconstrained" | "intent-symbol-ambiguous" | "intent-symbol-unknown" | "intent-symbol-unsupported" | "intent-trailer-unverified" | "intent-why-no-decision" | "intent-why-no-run" | "intent-why-run-ambiguous" | "intent-why-uncommitted" | "intent-work-blocked" | "intent-work-open-decided-code" | "ir-version-unsupported" | "kind-invalid" | "kind-not-run" | "kind-probe-failed" | "kind-unreadable" | "lease-held" | "lease-not-held" | "lease-push-rejected" | "lease-race" | "lease-token-mismatch" | "ledger-malformed" | "ledger-unreadable" | "lexicon-has-no-mapping" | "lexicon-not-loaded" | "lexicon-unsupported" | "listing-box-missing" | "listing-cover-invalid" | "listing-member-unknown" | "live-at-revision" | "location-missing" | "lock-invalid" | "manual-step-open" | "member-chant-too-old" | "member-exists" | "member-required" | "member-unknown" | "missing-dir" | "native-missing" | "native-unreadable" | "no-deploy-command" | "no-drift-read" | "no-lexicon" | "no-matches" | "not-a-git-repository" | "output-unreadable" | "patch-path-invalid" | "placement-invalid" | "point-candidates-invalid" | "point-decider-failed" | "point-inputs-invalid" | "point-unknown" | "points-invalid" | "points-undeclared" | "principal-unidentified" | "publish-answer-invalid" | "publish-failed" | "publish-member-unknown" | "publish-none" | "publish-refused" | "publish-unrecorded" | "query-invalid" | "quorum-not-met" | "ratify-quorum-not-met" | "read-unsupported" | "reader-too-old" | "record-closed" | "record-conflict" | "record-id-duplicate" | "record-id-taken" | "record-id-unallocatable" | "record-no-evidence" | "record-not-found" | "record-path-unmatched" | "record-ratified-below-quorum" | "record-remediates-not-closed" | "record-remediates-unknown" | "record-schema-invalid" | "record-seal-mismatch" | "record-sign-failed" | "record-state-not-initial" | "record-supersedes-conflict" | "record-supersedes-pending" | "record-supersedes-unknown" | "record-unattested" | "record-unparseable" | "resource-unsupported" | "review-agent" | "review-decider" | "review-duplicate" | "review-note-required" | "review-older-digest" | "review-sign-failed" | "review-unattested" | "review-undigested" | "review-unsupported" | "revision-unknown" | "root-chant-required" | "rotation-first-version" | "rotation-invalid" | "rotation-missing" | "rotation-previous-mismatch" | "rotation-threshold-not-met" | "rotation-threshold-unsatisfiable" | "rotation-unparseable" | "rotation-version-skew" | "run-ended" | "run-exists" | "run-not-ended" | "run-statement-invalid" | "run-statement-mismatch" | "run-statement-signer-mismatch" | "run-unknown" | "runner-exists" | "runner-key-invalid" | "runner-key-is-signer" | "runner-key-unlisted" | "runner-unknown" | "runs-ledger-malformed" | "runs-no-ledger" | "runtimes-config-unreadable" | "runtimes-lexicon-unreadable" | "schema-id-mismatch" | "schema-invalid" | "schema-unreadable" | "seal-missing" | "seal-signature-invalid" | "seal-signer-unlisted" | "seal-unverifiable" | "security-attribution-any" | "security-component-no-sbom" | "security-component-no-verify" | "security-gate-unsigned" | "security-publish-allows-unsigned" | "security-publish-no-provenance" | "security-release-gate-missing" | "security-review-not-required" | "security-runner-start-no-key" | "security-runner-start-no-role" | "security-runner-untrusted" | "security-sbom-disabled" | "security-sbom-unsourced" | "security-signed-since-unset" | "security-signers-missing" | "security-tick-no-key" | "security-trust-unreadable" | "session-not-open" | "session-seal-mismatch" | "session-unknown" | "session-verdict-unknown-record" | "signers-file-missing" | "signers-removed" | "since-rev-unknown" | "since-session-open" | "since-session-unknown" | "snapshot-at-revision" | "snapshot-unavailable" | "source-harvest-not-proposed" | "source-transcript-drift" | "squash-unfollowed" | "steward-runs-unreadable" | "stewards-conflict" | "stewards-unreadable" | "table-unknown" | "trust-config-invalid" | "trust-conflict" | "trust-policy-unreadable" | "unknown-kind" | "usage-invalid" | "wip-branch-other" | "wip-no-branch" | "wip-none" | "wip-policy-none" | "wip-race" | "wip-remote-unknown" | "wip-snapshot-unknown" | "work-acceptance-self-verified" | "work-acceptance-unmet" | "work-closed-without-date" | "work-contract-undecided" | "work-contract-unknown" | "work-criterion-unknown" | "work-done-gap-open" | "work-done-unpinned" | "work-evidence-ops-mismatch" | "work-evidence-ops-missing" | "work-evidence-ops-unfinished" | "work-implements-undecided" | "work-implements-unknown" | "work-item-closed" | "work-item-unknown" | "work-kind-ambiguous" | "work-kind-missing" | "work-needs-cycle" | "work-needs-unknown" | "work-tier-unknown" | "write-input-invalid" | "write-lock-not-held" | "write-lock-timeout" | "write-scope-class-unknown" | "write-scope-kind" | "write-scope-member" | "write-scope-protected" | "write-usage-invalid")[];
|
|
33
33
|
/**
|
|
34
34
|
* Why a member of `chant workspace search` has no answer. A member that ran
|
|
35
35
|
* and refused carries its own {@link SEARCH_ERROR_CODES} code; the rest are
|
|
36
36
|
* the per-member codes `workspace graph` uses, and `member-chant-too-old`.
|
|
37
37
|
*/
|
|
38
|
-
export declare const SEARCH_MEMBER_REASON_CODES: readonly ["kind-not-run", "dir-missing", "unknown-kind", "kind-probe-failed", "command-failed", "output-unreadable", "member-chant-too-old", "query-invalid", "usage-invalid", "environment-unknown", "snapshot-unavailable", "build-failed"];
|
|
38
|
+
export declare const SEARCH_MEMBER_REASON_CODES: readonly ["kind-not-run", "dir-missing", "unknown-kind", "kind-probe-failed", "command-failed", "output-unreadable", "member-chant-too-old", "query-invalid", "usage-invalid", "environment-unknown", "snapshot-unavailable", "build-failed", "index-unavailable"];
|
|
39
39
|
export type SearchMemberReasonCode = (typeof SEARCH_MEMBER_REASON_CODES)[number];
|
|
40
40
|
/** The head every `search` document opens with. */
|
|
41
41
|
export interface SearchHead {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-contract.d.ts","sourceRoot":"","sources":["../../src/workspace/search-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,8EAA8E,CAAC;AAEnH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"search-contract.d.ts","sourceRoot":"","sources":["../../src/workspace/search-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,8EAA8E,CAAC;AAEnH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,iIAaW,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,qSAcC,CAAC;AAC3C,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,yiPAAqF,CAAC;AAE9H;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,oQASG,CAAC;AAC3C,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,uBAAuB,CAAC;IACxC,QAAQ,EAAE,OAAO,uBAAuB,CAAC;IACzC,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yGAAyG;AACzG,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD"}
|
|
@@ -30,6 +30,8 @@ export const SEARCH_ERROR_CODES = [
|
|
|
30
30
|
"snapshot-unavailable",
|
|
31
31
|
/** The build, or a build root, failed: the graph would be incomplete. */
|
|
32
32
|
"build-failed",
|
|
33
|
+
/** --index names no index version the store holds, or one stamped for another scope (#4525). */
|
|
34
|
+
"index-unavailable",
|
|
33
35
|
];
|
|
34
36
|
/**
|
|
35
37
|
* Why `chant workspace search` printed no answer: the declaration's codes and
|
|
@@ -112,7 +112,8 @@
|
|
|
112
112
|
"enum": [
|
|
113
113
|
"declared",
|
|
114
114
|
"live",
|
|
115
|
-
"snapshot"
|
|
115
|
+
"snapshot",
|
|
116
|
+
"index"
|
|
116
117
|
]
|
|
117
118
|
},
|
|
118
119
|
"notEvaluated": {
|
|
@@ -253,7 +254,8 @@
|
|
|
253
254
|
"usage-invalid",
|
|
254
255
|
"environment-unknown",
|
|
255
256
|
"snapshot-unavailable",
|
|
256
|
-
"build-failed"
|
|
257
|
+
"build-failed",
|
|
258
|
+
"index-unavailable"
|
|
257
259
|
]
|
|
258
260
|
},
|
|
259
261
|
"message": {
|
|
@@ -289,7 +291,7 @@
|
|
|
289
291
|
}
|
|
290
292
|
},
|
|
291
293
|
"source": {
|
|
292
|
-
"description": "Which observation answered. `declared` is the source graph; `live` reads the account now; `snapshot` replays a recorded lifecycle snapshot. In the workspace form the top-level source names the axis asked for, and each member's source names the snapshot commit it replayed.",
|
|
294
|
+
"description": "Which observation answered. `declared` is the source graph; `live` reads the account now; `snapshot` replays a recorded lifecycle snapshot; `index` answers from an index version in the store (`--index`, #4525). In the workspace form the top-level source names the axis asked for, and each member's source names the snapshot commit it replayed.",
|
|
293
295
|
"type": "object",
|
|
294
296
|
"required": [
|
|
295
297
|
"kind"
|
|
@@ -299,9 +301,42 @@
|
|
|
299
301
|
"enum": [
|
|
300
302
|
"declared",
|
|
301
303
|
"live",
|
|
302
|
-
"snapshot"
|
|
304
|
+
"snapshot",
|
|
305
|
+
"index"
|
|
303
306
|
]
|
|
304
307
|
},
|
|
308
|
+
"index": {
|
|
309
|
+
"type": "string",
|
|
310
|
+
"description": "`index` only: the index version answered from, as `<scope key>@<version>`."
|
|
311
|
+
},
|
|
312
|
+
"scopeKey": {
|
|
313
|
+
"type": "string",
|
|
314
|
+
"description": "`index` only: the index's `stamp.scopeKey`, the store path of its source and scope."
|
|
315
|
+
},
|
|
316
|
+
"version": {
|
|
317
|
+
"type": "string",
|
|
318
|
+
"description": "`index` only: the version name, `<observedAt>-<digest12>`."
|
|
319
|
+
},
|
|
320
|
+
"observedAt": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"description": "`index` only: when the read that wrote the index started, ISO UTC."
|
|
323
|
+
},
|
|
324
|
+
"completedAt": {
|
|
325
|
+
"type": "string",
|
|
326
|
+
"description": "`index` only: when that read's last call returned, when the index records it."
|
|
327
|
+
},
|
|
328
|
+
"digest": {
|
|
329
|
+
"type": "string",
|
|
330
|
+
"description": "`index` only: the index document's digest."
|
|
331
|
+
},
|
|
332
|
+
"by": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"description": "`index` only: the source that wrote the index, with its version when it has one, such as `behold-lister 0.4.0`."
|
|
335
|
+
},
|
|
336
|
+
"project": {
|
|
337
|
+
"type": "boolean",
|
|
338
|
+
"description": "`index` only: false when there was no project, so every row is an indexed node; true when the rows are declared and each carries a `join`."
|
|
339
|
+
},
|
|
305
340
|
"env": {
|
|
306
341
|
"type": "string",
|
|
307
342
|
"description": "The environment, for `live` and `snapshot`."
|
|
@@ -389,6 +424,68 @@
|
|
|
389
424
|
"$ref": "#/$defs/path"
|
|
390
425
|
},
|
|
391
426
|
"description": "One per positive edge term and cap: term the node matched through. Empty when the query has none."
|
|
427
|
+
},
|
|
428
|
+
"join": {
|
|
429
|
+
"$ref": "#/$defs/indexJoin"
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
"indexJoin": {
|
|
434
|
+
"description": "`--index` with a project (#4525): how the declared row joined to the index version, through its lexicon's index match. `bound` names the indexed node; `absent` means the index listed the type and location and holds no such resource; `not-observed` means the index did not look, with the reason; `no-binding` means the declaration spells no identity to match by; `ambiguous` names every candidate and binds none.",
|
|
435
|
+
"type": "object",
|
|
436
|
+
"required": [
|
|
437
|
+
"verdict"
|
|
438
|
+
],
|
|
439
|
+
"properties": {
|
|
440
|
+
"verdict": {
|
|
441
|
+
"enum": [
|
|
442
|
+
"bound",
|
|
443
|
+
"absent",
|
|
444
|
+
"not-observed",
|
|
445
|
+
"no-binding",
|
|
446
|
+
"ambiguous"
|
|
447
|
+
]
|
|
448
|
+
},
|
|
449
|
+
"listedType": {
|
|
450
|
+
"type": "string",
|
|
451
|
+
"description": "The inventory type the declaration's identity belongs to."
|
|
452
|
+
},
|
|
453
|
+
"identifier": {
|
|
454
|
+
"type": "string",
|
|
455
|
+
"description": "The identifier the declaration spells, as the index's nativeId spells it."
|
|
456
|
+
},
|
|
457
|
+
"location": {
|
|
458
|
+
"type": "string",
|
|
459
|
+
"description": "The location the identity was looked for in."
|
|
460
|
+
},
|
|
461
|
+
"node": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"description": "`bound`: the indexed node's id."
|
|
464
|
+
},
|
|
465
|
+
"nativeId": {
|
|
466
|
+
"type": "string",
|
|
467
|
+
"description": "`bound`: the indexed node's native id."
|
|
468
|
+
},
|
|
469
|
+
"reason": {
|
|
470
|
+
"enum": [
|
|
471
|
+
"read-failed",
|
|
472
|
+
"no-credentials",
|
|
473
|
+
"no-binding",
|
|
474
|
+
"unsupported-kind",
|
|
475
|
+
"filtered",
|
|
476
|
+
"not-reached"
|
|
477
|
+
],
|
|
478
|
+
"description": "`not-observed`: why the index has no verdict for the row."
|
|
479
|
+
},
|
|
480
|
+
"candidates": {
|
|
481
|
+
"type": "array",
|
|
482
|
+
"items": {
|
|
483
|
+
"type": "string"
|
|
484
|
+
},
|
|
485
|
+
"description": "`ambiguous`: every indexed node carrying the identity."
|
|
486
|
+
},
|
|
487
|
+
"detail": {
|
|
488
|
+
"type": "string"
|
|
392
489
|
}
|
|
393
490
|
}
|
|
394
491
|
},
|
|
@@ -750,7 +847,8 @@
|
|
|
750
847
|
"usage-invalid",
|
|
751
848
|
"environment-unknown",
|
|
752
849
|
"snapshot-unavailable",
|
|
753
|
-
"build-failed"
|
|
850
|
+
"build-failed",
|
|
851
|
+
"index-unavailable"
|
|
754
852
|
],
|
|
755
853
|
"description": "A member that ran and refused carries its own search refusal code. `member-chant-too-old` is a member whose chant prints no search document of the contract, or, for a query with a capability term, no capability view (#4378)."
|
|
756
854
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant",
|
|
3
|
-
"version": "0.124.
|
|
3
|
+
"version": "0.124.54",
|
|
4
4
|
"description": "Declarative infrastructure-as-code toolkit — TypeScript on Node.js",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://intentius.io/chant",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"default": "./src/cli/index.ts"
|
|
52
52
|
},
|
|
53
53
|
"./workspace/*.schema.json": "./src/workspace/*.schema.json",
|
|
54
|
+
"./capabilities/templates.json": "./src/capabilities/templates.json",
|
|
54
55
|
"./notify.schema.json": "./src/notify.schema.json",
|
|
55
56
|
"./health.schema.json": "./src/health.schema.json",
|
|
56
57
|
"./workspace/factory-rules": {
|
|
@@ -142,9 +143,21 @@
|
|
|
142
143
|
"@cdktn/hcl2json": "^0.24.0"
|
|
143
144
|
},
|
|
144
145
|
"peerDependencies": {
|
|
146
|
+
"@aws-sdk/credential-providers": "^3.0.0",
|
|
147
|
+
"@azure/identity": "^4.0.0",
|
|
148
|
+
"google-auth-library": "^9.0.0 || ^10.0.0",
|
|
145
149
|
"vitest": ">=2"
|
|
146
150
|
},
|
|
147
151
|
"peerDependenciesMeta": {
|
|
152
|
+
"@aws-sdk/credential-providers": {
|
|
153
|
+
"optional": true
|
|
154
|
+
},
|
|
155
|
+
"@azure/identity": {
|
|
156
|
+
"optional": true
|
|
157
|
+
},
|
|
158
|
+
"google-auth-library": {
|
|
159
|
+
"optional": true
|
|
160
|
+
},
|
|
148
161
|
"vitest": {
|
|
149
162
|
"optional": true
|
|
150
163
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Drift-record adapter fixtures (#4451)
|
|
2
|
+
|
|
3
|
+
Every fixture here is recorded from a run (#4475, 2026-10-26). None is hand-written.
|
|
4
|
+
|
|
5
|
+
## The chant reads
|
|
6
|
+
|
|
7
|
+
Recorded on the floci emulator (`ghcr.io/lex00/floci@sha256:5ec92ae8046445d62c0009590dd09f04560886e5a5ef31248cb3fcc09b2961ec`) with chant 0.124.34 from INTENTIUS/chant `integration/engine-ship` at
|
|
8
|
+
9ae806b69 plus this change, running from source. The project is a small chant AWS project (a bucket and its policy,
|
|
9
|
+
a queue, an IAM role tagged `api-token-owner`, two security groups and three topics) deployed with
|
|
10
|
+
`chant run --components` (cfn-deploy) into stack `recy`, plus four one-resource components (`api`, `jobs`, `edge`,
|
|
11
|
+
`docs`) on their own stacks. The sequence:
|
|
12
|
+
|
|
13
|
+
1. deploy `demo-infra`, `api` and `jobs` with release records, `edge` with `--no-release-record`, `docs` never;
|
|
14
|
+
2. `chant lifecycle snapshot recy --deep`;
|
|
15
|
+
3. add the two security groups and `alertsTopic` and deploy `demo-infra` again;
|
|
16
|
+
4. out of band through floci's API: delete stack `recy-jobs`, retag the role, delete the queue;
|
|
17
|
+
5. change the source without deploying: drop `strayTopic`, add `cacheTopic`, change `webSg`'s description;
|
|
18
|
+
6. read.
|
|
19
|
+
|
|
20
|
+
- `lifecycle-diff-live.json`: `chant lifecycle diff recy --live --json`, the whole document as `chant workspace
|
|
21
|
+
drift` reads it. The one edit: the scratch project's absolute path in `reconcile[].sourceFile` is `<project>/`.
|
|
22
|
+
- `live-diff.json`: that document's `lexicons.aws.resources` (a `LiveDiffResult`), unchanged.
|
|
23
|
+
- `deep-diff.json`: its `lexicons.aws.deep` (a `DeepDiffResult`), unchanged.
|
|
24
|
+
- `component-status.json`: `chant components status recy --live --json`.
|
|
25
|
+
- `component-status-ledger.json`: `chant components status recy --json` (no `--live`).
|
|
26
|
+
|
|
27
|
+
What the recording showed beside the earlier hand-written files:
|
|
28
|
+
|
|
29
|
+
- `components status --json` prints a bare array of rows, not `{ env, rows, malformedLedgerLines }`.
|
|
30
|
+
`chant workspace drift` already read it as an array; the test now does too.
|
|
31
|
+
- `LiveDiffResult` also carries `queried` and `definitions`.
|
|
32
|
+
- A redeploy since the snapshot shows as thin drift on `lastUpdated`, `status` and, for a bucket policy,
|
|
33
|
+
`physicalId`. An entity dropped from the source while its stack still holds it reads as `disappeared`, not
|
|
34
|
+
`orphan`: the stack carries no chant ownership marker, so the read looks only at declared names.
|
|
35
|
+
- floci's Cloud Control `GetResource` returns identity properties only, so most declared deep properties read
|
|
36
|
+
`absent` (declared value, no live value). A source change after deploy gives a `changed` property
|
|
37
|
+
(`webSg`'s `GroupDescription`). The deep read also lists the security groups under `unclaimed`.
|
|
38
|
+
- The deep read addresses keyed array elements by key (`Tags[#api-token-owner].Value`). The drift record did not
|
|
39
|
+
read that form as a key, so a tag named like a token kept its value. `attributePathKeys` now reads `[#key]` as a
|
|
40
|
+
key, and those paths redact.
|
|
41
|
+
- A queue deleted through SQS still reads as present: the read lists the stack's resources, and the stack still
|
|
42
|
+
names it.
|
|
43
|
+
|
|
44
|
+
What floci cannot produce, kept as constructed inputs inside `drift-record.test.ts` (not as files): a runtime
|
|
45
|
+
child, an orphan, an unchanged thin entity, a thin attribute change beyond timestamps, a failed deep read, a deep
|
|
46
|
+
unchanged entity, a component whose live digest differs from its record, and missing credentials.
|
|
47
|
+
|
|
48
|
+
## The choudoufu stream
|
|
49
|
+
|
|
50
|
+
`choudoufu-resource.ndjson` and `choudoufu-cone.ndjson` are recorded (#4475, 2026-10-26): choudoufu
|
|
51
|
+
v0.31.1-local.c4f468a235, a build of INTENTIUS/choudoufu `integration/engine-ship` at c4f468a235, ran
|
|
52
|
+
choudoufu's own `live/e2e/estate-block` fixture (estate renamed `rec4475-block`) on the floci emulator
|
|
53
|
+
(`ghcr.io/lex00/floci@sha256:5ec92ae8046445d62c0009590dd09f04560886e5a5ef31248cb3fcc09b2961ec`) after an apply.
|
|
54
|
+
`choudoufu-resource.ndjson` is `live-plan -resource=aws_cloudwatch_log_group.app` after the log group's retention
|
|
55
|
+
was changed through floci's API; `choudoufu-cone.ndjson` is `live-plan -resource=aws_subnet.app`, whose cone holds
|
|
56
|
+
the VPC. What the recording showed beside the earlier hand-written stream: records carry no `resourceType`, a
|
|
57
|
+
drifted record names its paths with no values, neither the start nor the settle line has an `at`, and the settle's
|
|
58
|
+
`reads` adds `tagIndexCalls`.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
{"type":"drift-start","drift":"v1","member":"rec4475-block","engine":"choudoufu","read":"plan","resource":"aws_subnet.app","expected":["aws_subnet.app","aws_vpc.main"]}
|
|
2
|
+
{"type":"drift-record","member":"rec4475-block","engine":"choudoufu","address":"aws_vpc.main","node":null,"observedAt":"2026-10-26T05:42:52Z","read":"plan","status":"in-sync","ownership":{"verdict":"owned","by":"marker"},"evidence":{"tool":"choudoufu","version":"v0.31.1-local.c4f468a235","command":"live-plan -resource=aws_subnet.app","engineCode":"noop"}}
|
|
3
|
+
{"type":"drift-record","member":"rec4475-block","engine":"choudoufu","address":"aws_subnet.app","node":null,"observedAt":"2026-10-26T05:42:52Z","read":"plan","status":"in-sync","ownership":{"verdict":"owned","by":"marker"},"evidence":{"tool":"choudoufu","version":"v0.31.1-local.c4f468a235","command":"live-plan -resource=aws_subnet.app","engineCode":"noop"}}
|
|
4
|
+
{"type":"drift-settle","drift":"v1","member":"rec4475-block","engine":"choudoufu","read":"plan","counts":{"in-sync":2},"reads":{"recordsRead":18,"recordKeys":2,"recordListCalls":0,"sweepCalls":0,"scanTypes":[],"scanListCalls":0,"tagIndexCalls":0}}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"type":"drift-start","drift":"v1","member":"rec4475-block","engine":"choudoufu","read":"plan","resource":"aws_cloudwatch_log_group.app","expected":["aws_cloudwatch_log_group.app"]}
|
|
2
|
+
{"type":"drift-record","member":"rec4475-block","engine":"choudoufu","address":"aws_cloudwatch_log_group.app","node":null,"observedAt":"2026-10-26T05:42:45Z","read":"plan","status":"drifted","attributes":[{"path":"retention_in_days"}],"ownership":{"verdict":"owned","by":"derived"},"evidence":{"tool":"choudoufu","version":"v0.31.1-local.c4f468a235","command":"live-plan -resource=aws_cloudwatch_log_group.app","engineCode":"update"}}
|
|
3
|
+
{"type":"drift-settle","drift":"v1","member":"rec4475-block","engine":"choudoufu","read":"plan","counts":{"drifted":1},"reads":{"recordsRead":6,"recordKeys":1,"recordListCalls":0,"sweepCalls":0,"scanTypes":[],"scanListCalls":0,"tagIndexCalls":0}}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"component": "api",
|
|
4
|
+
"env": "recy",
|
|
5
|
+
"recorded": {
|
|
6
|
+
"digest": "jcs1-sha256:7a8b3f47cd6c729c15efb2324f7b9ebc26037752155832e60ca2b5770f78c835",
|
|
7
|
+
"gitSha": "baaa6bb09bc4ff7fe22e559af62e1d32256b7392",
|
|
8
|
+
"runId": "local-1792996303605",
|
|
9
|
+
"timestamp": "2026-10-26T06:31:45.462Z",
|
|
10
|
+
"actor": "alex"
|
|
11
|
+
},
|
|
12
|
+
"build": null,
|
|
13
|
+
"componentBom": null,
|
|
14
|
+
"reconciliation": "unknown",
|
|
15
|
+
"detail": "recorded; live status not queried (pass --live to reconcile)"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"component": "demo-infra",
|
|
19
|
+
"env": "recy",
|
|
20
|
+
"recorded": {
|
|
21
|
+
"digest": "jcs1-sha256:32a05af0532a86b9ec5b8693f6c7a5b5e1ff8c41c65fb1cc1a9bf5d3064a2a98",
|
|
22
|
+
"gitSha": "e2014e95f134d2273a2b5b7c56bf085b36ddae6a",
|
|
23
|
+
"runId": "local-1792996318960",
|
|
24
|
+
"timestamp": "2026-10-26T06:32:00.401Z",
|
|
25
|
+
"actor": "alex"
|
|
26
|
+
},
|
|
27
|
+
"build": null,
|
|
28
|
+
"componentBom": null,
|
|
29
|
+
"reconciliation": "unknown",
|
|
30
|
+
"detail": "recorded; live status not queried (pass --live to reconcile)"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"component": "docs",
|
|
34
|
+
"env": "recy",
|
|
35
|
+
"recorded": null,
|
|
36
|
+
"build": null,
|
|
37
|
+
"componentBom": null,
|
|
38
|
+
"reconciliation": "unrecorded",
|
|
39
|
+
"detail": "no release record found"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"component": "edge",
|
|
43
|
+
"env": "recy",
|
|
44
|
+
"recorded": null,
|
|
45
|
+
"build": null,
|
|
46
|
+
"componentBom": null,
|
|
47
|
+
"reconciliation": "unrecorded",
|
|
48
|
+
"detail": "no release record found"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"component": "jobs",
|
|
52
|
+
"env": "recy",
|
|
53
|
+
"recorded": {
|
|
54
|
+
"digest": "jcs1-sha256:829ac8939f9b487e82c1488dc31f5d1fe832ba7d292f28bfad1ca48a60e0c4dd",
|
|
55
|
+
"gitSha": "baaa6bb09bc4ff7fe22e559af62e1d32256b7392",
|
|
56
|
+
"runId": "local-1792996303605",
|
|
57
|
+
"timestamp": "2026-10-26T06:31:45.723Z",
|
|
58
|
+
"actor": "alex"
|
|
59
|
+
},
|
|
60
|
+
"build": null,
|
|
61
|
+
"componentBom": null,
|
|
62
|
+
"reconciliation": "unknown",
|
|
63
|
+
"detail": "recorded; live status not queried (pass --live to reconcile)"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"component": "api",
|
|
4
|
+
"env": "recy",
|
|
5
|
+
"recorded": {
|
|
6
|
+
"digest": "jcs1-sha256:7a8b3f47cd6c729c15efb2324f7b9ebc26037752155832e60ca2b5770f78c835",
|
|
7
|
+
"gitSha": "baaa6bb09bc4ff7fe22e559af62e1d32256b7392",
|
|
8
|
+
"runId": "local-1792996303605",
|
|
9
|
+
"timestamp": "2026-10-26T06:31:45.462Z",
|
|
10
|
+
"actor": "alex"
|
|
11
|
+
},
|
|
12
|
+
"build": null,
|
|
13
|
+
"componentBom": null,
|
|
14
|
+
"reconciliation": "reconciled",
|
|
15
|
+
"detail": "recorded 2026-10-26T06:31:45.462Z (digest jcs1-sha256:7a8b3f47cd6c729c15efb2324f7b9ebc26037752155832e60ca2b5770f78c835), live and consistent",
|
|
16
|
+
"live": true,
|
|
17
|
+
"stack": {
|
|
18
|
+
"name": "recy-api",
|
|
19
|
+
"status": "CREATE_COMPLETE",
|
|
20
|
+
"healthy": true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"component": "demo-infra",
|
|
25
|
+
"env": "recy",
|
|
26
|
+
"recorded": {
|
|
27
|
+
"digest": "jcs1-sha256:32a05af0532a86b9ec5b8693f6c7a5b5e1ff8c41c65fb1cc1a9bf5d3064a2a98",
|
|
28
|
+
"gitSha": "e2014e95f134d2273a2b5b7c56bf085b36ddae6a",
|
|
29
|
+
"runId": "local-1792996318960",
|
|
30
|
+
"timestamp": "2026-10-26T06:32:00.401Z",
|
|
31
|
+
"actor": "alex"
|
|
32
|
+
},
|
|
33
|
+
"build": null,
|
|
34
|
+
"componentBom": null,
|
|
35
|
+
"reconciliation": "reconciled",
|
|
36
|
+
"detail": "recorded 2026-10-26T06:32:00.401Z (digest jcs1-sha256:32a05af0532a86b9ec5b8693f6c7a5b5e1ff8c41c65fb1cc1a9bf5d3064a2a98), live and consistent",
|
|
37
|
+
"live": true,
|
|
38
|
+
"stack": {
|
|
39
|
+
"name": "recy",
|
|
40
|
+
"status": "UPDATE_COMPLETE",
|
|
41
|
+
"healthy": true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"component": "docs",
|
|
46
|
+
"env": "recy",
|
|
47
|
+
"recorded": null,
|
|
48
|
+
"build": null,
|
|
49
|
+
"componentBom": null,
|
|
50
|
+
"reconciliation": "unrecorded",
|
|
51
|
+
"detail": "no release record and nothing observed live",
|
|
52
|
+
"live": false,
|
|
53
|
+
"stack": {
|
|
54
|
+
"name": "recy-docs"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"component": "edge",
|
|
59
|
+
"env": "recy",
|
|
60
|
+
"recorded": null,
|
|
61
|
+
"build": null,
|
|
62
|
+
"componentBom": null,
|
|
63
|
+
"reconciliation": "unrecorded",
|
|
64
|
+
"detail": "live and chant-owned, but no release record exists \u2014 deployed outside the recorded path",
|
|
65
|
+
"live": true,
|
|
66
|
+
"stack": {
|
|
67
|
+
"name": "recy-edge",
|
|
68
|
+
"status": "CREATE_COMPLETE",
|
|
69
|
+
"healthy": true
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"component": "jobs",
|
|
74
|
+
"env": "recy",
|
|
75
|
+
"recorded": {
|
|
76
|
+
"digest": "jcs1-sha256:829ac8939f9b487e82c1488dc31f5d1fe832ba7d292f28bfad1ca48a60e0c4dd",
|
|
77
|
+
"gitSha": "baaa6bb09bc4ff7fe22e559af62e1d32256b7392",
|
|
78
|
+
"runId": "local-1792996303605",
|
|
79
|
+
"timestamp": "2026-10-26T06:31:45.723Z",
|
|
80
|
+
"actor": "alex"
|
|
81
|
+
},
|
|
82
|
+
"build": null,
|
|
83
|
+
"componentBom": null,
|
|
84
|
+
"reconciliation": "stale",
|
|
85
|
+
"detail": "recorded 2026-10-26T06:31:45.723Z (digest jcs1-sha256:829ac8939f9b487e82c1488dc31f5d1fe832ba7d292f28bfad1ca48a60e0c4dd), but nothing observed live now",
|
|
86
|
+
"live": false,
|
|
87
|
+
"stack": {
|
|
88
|
+
"name": "recy-jobs"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
]
|