@intentius/chant 0.124.12 → 0.124.14
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/bin/chant +11 -0
- package/dist/agents/checks.js +326 -0
- package/dist/agents/discover.js +885 -0
- package/dist/agents/importer.js +17 -0
- package/dist/agents/index.js +12 -0
- package/dist/agents/types.js +19 -0
- package/dist/apply.js +151 -0
- package/dist/attrref.js +70 -0
- package/dist/audit/catalog.js +350 -0
- package/dist/audit/core.js +252 -0
- package/dist/audit/discover.js +633 -0
- package/dist/audit/fetch.js +666 -0
- package/dist/audit/lineage.js +91 -0
- package/dist/audit/nginx.js +366 -0
- package/dist/audit/prior-art.js +132 -0
- package/dist/audit/proof.js +321 -0
- package/dist/audit/report-html.js +194 -0
- package/dist/audit/report-model.js +198 -0
- package/dist/audit/report.js +102 -0
- package/dist/audit/rules-doc.js +144 -0
- package/dist/audit/secrets.js +405 -0
- package/dist/audit/terraform-state.js +140 -0
- package/dist/audit/wrangler.js +262 -0
- package/dist/behaviour-delta.js +401 -0
- package/dist/behaviour-engine.js +357 -0
- package/dist/behaviour-graph.js +83 -0
- package/dist/behaviour-http.js +188 -0
- package/dist/behaviour-kinds.js +172 -0
- package/dist/behaviour-overlay.js +50 -0
- package/dist/behaviour-predict.js +188 -0
- package/dist/behaviour-request.js +194 -0
- package/dist/behaviour.js +1325 -0
- package/dist/build-params.js +108 -0
- package/dist/build.js +668 -0
- package/dist/builder.js +44 -0
- package/dist/cdk/advise.js +30 -0
- package/dist/cdk/assembly.js +122 -0
- package/dist/cdk/graph.js +444 -0
- package/dist/cdk/tier-map.js +64 -0
- package/dist/cdk/types.js +24 -0
- package/dist/change-set.js +312 -0
- package/dist/child-project.js +21 -0
- package/dist/claimed-fields.js +135 -0
- package/dist/cli/build-options.js +70 -0
- package/dist/cli/build-params-cli.js +139 -0
- package/dist/cli/command-group.js +123 -0
- package/dist/cli/commands/audit-agents.js +326 -0
- package/dist/cli/commands/audit.js +571 -0
- package/dist/cli/commands/build.js +920 -0
- package/dist/cli/commands/carve-apply.js +153 -0
- package/dist/cli/commands/carve-bridge.js +201 -0
- package/dist/cli/commands/carve-emit.js +332 -0
- package/dist/cli/commands/carve-status.js +119 -0
- package/dist/cli/commands/carve.js +204 -0
- package/dist/cli/commands/check-lexicon-docs.js +79 -0
- package/dist/cli/commands/check-lexicon-examples.js +177 -0
- package/dist/cli/commands/check-lexicon-intrinsics.js +291 -0
- package/dist/cli/commands/check-lexicon-mcp.js +82 -0
- package/dist/cli/commands/check-lexicon-plugin.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon-plugin.js +104 -0
- package/dist/cli/commands/check-lexicon.js +766 -0
- package/dist/cli/commands/describe.js +85 -0
- package/dist/cli/commands/diff.js +175 -0
- package/dist/cli/commands/doctor.js +350 -0
- package/dist/cli/commands/import-agents.js +155 -0
- package/dist/cli/commands/import.js +670 -0
- package/dist/cli/commands/init-lexicon/templates/codegen.js +194 -0
- package/dist/cli/commands/init-lexicon/templates/docs.js +100 -0
- package/dist/cli/commands/init-lexicon/templates/examples.js +29 -0
- package/dist/cli/commands/init-lexicon/templates/lint.js +34 -0
- package/dist/cli/commands/init-lexicon/templates/lsp.js +37 -0
- package/dist/cli/commands/init-lexicon/templates/plugin.js +108 -0
- package/dist/cli/commands/init-lexicon/templates/project.js +240 -0
- package/dist/cli/commands/init-lexicon/templates/spec.js +56 -0
- package/dist/cli/commands/init-lexicon/templates/tests.js +66 -0
- package/dist/cli/commands/init-lexicon.js +172 -0
- package/dist/cli/commands/init.js +381 -0
- package/dist/cli/commands/lexicon-rolling-upgrade.js +145 -0
- package/dist/cli/commands/lexicon-surface-diff.js +145 -0
- package/dist/cli/commands/licenses.js +125 -0
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +948 -0
- package/dist/cli/commands/list.js +63 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +423 -0
- package/dist/cli/commands/onboard.js +403 -0
- package/dist/cli/commands/pinned-upgrade.js +191 -0
- package/dist/cli/commands/update.js +194 -0
- package/dist/cli/commands/vendor.js +217 -0
- package/dist/cli/conflict-check.js +104 -0
- package/dist/cli/debug.js +8 -0
- package/dist/cli/format.js +104 -0
- package/dist/cli/handlers/build.js +267 -0
- package/dist/cli/handlers/carve-apply.js +30 -0
- package/dist/cli/handlers/carve-bridge.js +28 -0
- package/dist/cli/handlers/carve-emit.js +50 -0
- package/dist/cli/handlers/carve-status.js +26 -0
- package/dist/cli/handlers/carve.js +40 -0
- package/dist/cli/handlers/change-set.js +46 -0
- package/dist/cli/handlers/components.js +730 -0
- package/dist/cli/handlers/dev.js +113 -0
- package/dist/cli/handlers/emulator.js +233 -0
- package/dist/cli/handlers/explain.js +54 -0
- package/dist/cli/handlers/fan-out.js +422 -0
- package/dist/cli/handlers/gate-resume.js +275 -0
- package/dist/cli/handlers/generate.js +84 -0
- package/dist/cli/handlers/graph.js +969 -0
- package/dist/cli/handlers/init.js +102 -0
- package/dist/cli/handlers/lifecycle.js +1727 -0
- package/dist/cli/handlers/lint.js +62 -0
- package/dist/cli/handlers/migrate.js +48 -0
- package/dist/cli/handlers/misc.js +391 -0
- package/dist/cli/handlers/operator.js +1162 -0
- package/dist/cli/handlers/override-approve.js +102 -0
- package/dist/cli/handlers/pr.js +503 -0
- package/dist/cli/handlers/promote.js +342 -0
- package/dist/cli/handlers/run-generate.js +206 -0
- package/dist/cli/handlers/run-wave.js +66 -0
- package/dist/cli/handlers/run.js +1191 -0
- package/dist/cli/handlers/scenario.js +325 -0
- package/dist/cli/handlers/search.js +924 -0
- package/dist/cli/handlers/serve.js +32 -0
- package/dist/cli/handlers/vendor.js +154 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/is-entry-point.js +23 -0
- package/dist/cli/lsp/capabilities.js +28 -0
- package/dist/cli/lsp/diagnostics.js +34 -0
- package/dist/cli/lsp/server.js +329 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +2540 -0
- package/dist/cli/mcp/lifecycle-tools.js +80 -0
- package/dist/cli/mcp/op-tools.js +306 -0
- package/dist/cli/mcp/resource-handlers.js +258 -0
- package/dist/cli/mcp/resources/context.js +85 -0
- package/dist/cli/mcp/server.js +353 -0
- package/dist/cli/mcp/tools/build.js +111 -0
- package/dist/cli/mcp/tools/composites.js +95 -0
- package/dist/cli/mcp/tools/explain.js +166 -0
- package/dist/cli/mcp/tools/import.js +49 -0
- package/dist/cli/mcp/tools/lint.js +41 -0
- package/dist/cli/mcp/tools/scaffold.js +111 -0
- package/dist/cli/mcp/tools/search.js +112 -0
- package/dist/cli/mcp/types.js +1 -0
- package/dist/cli/mcp/workspace-plugins.js +91 -0
- package/dist/cli/mcp/workspace-tools.d.ts +1 -1
- package/dist/cli/mcp/workspace-tools.js +564 -0
- package/dist/cli/mcp-config.js +70 -0
- package/dist/cli/plugins.js +313 -0
- package/dist/cli/registry.js +23 -0
- package/dist/cli/reporters/stylish.js +329 -0
- package/dist/cli/version.js +15 -0
- package/dist/cli/watch.js +79 -0
- package/dist/codegen/bound-property-types.js +82 -0
- package/dist/codegen/coverage.js +119 -0
- package/dist/codegen/docs-file-markers.js +60 -0
- package/dist/codegen/docs-pages.js +115 -0
- package/dist/codegen/docs-rule-scanning.js +164 -0
- package/dist/codegen/docs-rules.js +76 -0
- package/dist/codegen/docs-sections.js +117 -0
- package/dist/codegen/docs-sidebar.js +65 -0
- package/dist/codegen/docs-types.js +4 -0
- package/dist/codegen/docs.js +356 -0
- package/dist/codegen/fetch.js +340 -0
- package/dist/codegen/generate-post-synth-barrel.js +63 -0
- package/dist/codegen/generate-registry.js +71 -0
- package/dist/codegen/generate-runtime-index.js +56 -0
- package/dist/codegen/generate-typescript.js +119 -0
- package/dist/codegen/generate.js +115 -0
- package/dist/codegen/json-patch.js +141 -0
- package/dist/codegen/json-schema-to-ts.js +344 -0
- package/dist/codegen/json-schema.js +246 -0
- package/dist/codegen/lexicon-regen.js +412 -0
- package/dist/codegen/naming.js +217 -0
- package/dist/codegen/okf-lexicon.js +245 -0
- package/dist/codegen/package.js +150 -0
- package/dist/codegen/pinned-upgrade.d.ts.map +1 -1
- package/dist/codegen/pinned-upgrade.js +494 -0
- package/dist/codegen/registry.js +60 -0
- package/dist/codegen/rehype-base-url.mjs +68 -0
- package/dist/codegen/rolling-upgrade.js +217 -0
- package/dist/codegen/surface-snapshot.js +537 -0
- package/dist/codegen/testdata/postgres-tags.json +242 -0
- package/dist/codegen/topo-sort.js +36 -0
- package/dist/codegen/typecheck.js +115 -0
- package/dist/codegen/validate.js +200 -0
- package/dist/codegen/version-bump.js +35 -0
- package/dist/components/auto-release.js +143 -0
- package/dist/components/builders.js +47 -0
- package/dist/components/capability-plugin-loader.js +175 -0
- package/dist/components/capability-plugin-schema.js +46 -0
- package/dist/components/capability-plugin.js +99 -0
- package/dist/components/capability.js +60 -0
- package/dist/components/changed-files.js +72 -0
- package/dist/components/cli-support.js +427 -0
- package/dist/components/component.js +120 -0
- package/dist/components/component.schema.json +271 -0
- package/dist/components/config-defaults.js +130 -0
- package/dist/components/deploy-units.js +60 -0
- package/dist/components/discover.d.ts.map +1 -1
- package/dist/components/discover.js +189 -0
- package/dist/components/driver-output.js +86 -0
- package/dist/components/driver.js +728 -0
- package/dist/components/fan-out-output.js +165 -0
- package/dist/components/fan-out-record.js +94 -0
- package/dist/components/fan-out-run.js +373 -0
- package/dist/components/fan-out-support.js +60 -0
- package/dist/components/fan-out.js +273 -0
- package/dist/components/gate-plan.js +41 -0
- package/dist/components/gated-wave-pipeline.js +46 -0
- package/dist/components/index.js +24 -0
- package/dist/components/layers.js +28 -0
- package/dist/components/manifest-persistence.js +108 -0
- package/dist/components/pilots/alb-ecs.pilot.js +59 -0
- package/dist/components/pilots/dynamodb.pilot.js +51 -0
- package/dist/components/pilots/jar-emr.pilot.js +65 -0
- package/dist/components/pilots/lambda.pilot.js +52 -0
- package/dist/components/pilots/neo4j-fanout.pilot.js +68 -0
- package/dist/components/pilots/project.js +12 -0
- package/dist/components/pr-pipeline.js +134 -0
- package/dist/components/pr-run.js +363 -0
- package/dist/components/presets/ecs-fargate.js +72 -0
- package/dist/components/presets/index.js +28 -0
- package/dist/components/presets/lambda.js +34 -0
- package/dist/components/presets/single-host-compose.js +41 -0
- package/dist/components/promote.js +549 -0
- package/dist/components/registry.js +34 -0
- package/dist/components/run-progress.js +33 -0
- package/dist/components/sandbox/driver.d.ts.map +1 -1
- package/dist/components/sandbox/driver.js +93 -0
- package/dist/components/sandbox/run.js +115 -0
- package/dist/components/starter-plugin.js +104 -0
- package/dist/components/verbs/__tests__/mock-cloud-executor.js +68 -0
- package/dist/components/verbs/__tests__/mock-process-runner.js +45 -0
- package/dist/components/verbs/__tests__/mock-sbom-generator.js +56 -0
- package/dist/components/verbs/bom-writer.js +287 -0
- package/dist/components/verbs/build-archive.js +188 -0
- package/dist/components/verbs/build.js +142 -0
- package/dist/components/verbs/cloud-executor.js +110 -0
- package/dist/components/verbs/component-bom.js +125 -0
- package/dist/components/verbs/ensure-secret.js +50 -0
- package/dist/components/verbs/index.js +61 -0
- package/dist/components/verbs/license-policy.js +75 -0
- package/dist/components/verbs/lockfile-sbom-generator.js +191 -0
- package/dist/components/verbs/process-runner.js +78 -0
- package/dist/components/verbs/r2-sync.js +93 -0
- package/dist/components/verbs/reproducibility.js +62 -0
- package/dist/components/verbs/run-agent.js +577 -0
- package/dist/components/verbs/sbom-generator.js +119 -0
- package/dist/components/verbs/sbom.js +97 -0
- package/dist/components/verbs/shell.js +32 -0
- package/dist/components/verbs/sign.js +221 -0
- package/dist/components/verbs/stub.js +28 -0
- package/dist/components/verbs/tool-sbom-generator.js +154 -0
- package/dist/components/verbs/verify.js +112 -0
- package/dist/components/verbs/vex.js +131 -0
- package/dist/components/verbs/vuln-gate.js +152 -0
- package/dist/components/verbs/vuln-scan.js +288 -0
- package/dist/components/verbs/wait-verify.js +106 -0
- package/dist/components/verbs/wrangler.js +179 -0
- package/dist/components/wave-plan.js +102 -0
- package/dist/composite.js +305 -0
- package/dist/config-import.d.ts.map +1 -1
- package/dist/config-import.js +22 -0
- package/dist/config-sandbox.js +122 -0
- package/dist/config-static.js +206 -0
- package/dist/config.js +605 -0
- package/dist/content-digest.js +23 -0
- package/dist/declarable.js +114 -0
- package/dist/deep-observation.js +437 -0
- package/dist/detectLexicon.js +54 -0
- package/dist/discovery/cache.js +70 -0
- package/dist/discovery/collect.js +208 -0
- package/dist/discovery/cycles.js +95 -0
- package/dist/discovery/entity-wire-codec.js +391 -0
- package/dist/discovery/entity-wire.js +42 -0
- package/dist/discovery/files.js +121 -0
- package/dist/discovery/fold-import.d.ts.map +1 -1
- package/dist/discovery/fold-import.js +4178 -0
- package/dist/discovery/fold-rank.js +292 -0
- package/dist/discovery/graph.js +115 -0
- package/dist/discovery/import.d.ts.map +1 -1
- package/dist/discovery/import.js +65 -0
- package/dist/discovery/index.js +333 -0
- package/dist/discovery/param-deps.js +487 -0
- package/dist/discovery/resolve.js +39 -0
- package/dist/discovery/sandbox/bundle.js +214 -0
- package/dist/discovery/sandbox/child-errors.js +26 -0
- package/dist/discovery/sandbox/config-run.js +100 -0
- package/dist/discovery/sandbox/config-wire.js +183 -0
- package/dist/discovery/sandbox/driver.d.ts.map +1 -1
- package/dist/discovery/sandbox/driver.js +333 -0
- package/dist/discovery/sandbox/fork.js +229 -0
- package/dist/discovery/sandbox/policy-run.js +142 -0
- package/dist/discovery/sandbox/policy-wire.js +152 -0
- package/dist/discovery/sandbox/run.js +77 -0
- package/dist/discovery/specifier-resolve.js +320 -0
- package/dist/discovery/walk.js +284 -0
- package/dist/effect-receipt.js +340 -0
- package/dist/env.js +55 -0
- package/dist/errors.js +62 -0
- package/dist/fold/fold.js +1434 -0
- package/dist/fold/foldable-helpers.js +229 -0
- package/dist/fold/subset.js +696 -0
- package/dist/fold-provenance.js +414 -0
- package/dist/gate-decision.d.ts +36 -4
- package/dist/gate-decision.d.ts.map +1 -1
- package/dist/gate-decision.js +260 -0
- package/dist/gate-resume-run.js +154 -0
- package/dist/gated-waves.js +165 -0
- package/dist/governance.js +43 -0
- package/dist/graph-declared.js +45 -0
- package/dist/graph-detail.js +207 -0
- package/dist/graph-dot.js +54 -0
- package/dist/graph-effective.js +107 -0
- package/dist/graph-ir.js +623 -0
- package/dist/graph-layout.js +184 -0
- package/dist/graph-lens.js +105 -0
- package/dist/graph-mermaid.js +83 -0
- package/dist/graph-ops.js +39 -0
- package/dist/graph-refs.js +156 -0
- package/dist/held-elsewhere.js +87 -0
- package/dist/identity.js +251 -0
- package/dist/import/base-parser.js +34 -0
- package/dist/import/embedded.js +255 -0
- package/dist/import/generator.js +1 -0
- package/dist/import/ir-utils.js +85 -0
- package/dist/import/parser-options.js +45 -0
- package/dist/import/parser.js +1 -0
- package/dist/index.js +118 -0
- package/dist/intrinsic-interpolation.js +73 -0
- package/dist/intrinsic.js +31 -0
- package/dist/join-key.js +35 -0
- package/dist/kubectl-context.js +150 -0
- package/dist/lexicon-config.js +58 -0
- package/dist/lexicon-integrity.js +47 -0
- package/dist/lexicon-manifest.js +70 -0
- package/dist/lexicon-module.d.ts.map +1 -1
- package/dist/lexicon-module.js +241 -0
- package/dist/lexicon-output.js +218 -0
- package/dist/lexicon-plugin-helpers.js +104 -0
- package/dist/lexicon-schema.js +136 -0
- package/dist/lexicon.js +130 -0
- package/dist/lifecycle/affected.js +224 -0
- package/dist/lifecycle/assert-live.js +110 -0
- package/dist/lifecycle/build-ledger-store.js +160 -0
- package/dist/lifecycle/build-ledger.js +155 -0
- package/dist/lifecycle/change-set.js +356 -0
- package/dist/lifecycle/converge-ledger.js +161 -0
- package/dist/lifecycle/deep-diff.js +233 -0
- package/dist/lifecycle/deep-observe.js +147 -0
- package/dist/lifecycle/digest.js +143 -0
- package/dist/lifecycle/disruption.js +135 -0
- package/dist/lifecycle/gate-applied.js +113 -0
- package/dist/lifecycle/gate-audit.js +341 -0
- package/dist/lifecycle/gate-ledger-select.js +89 -0
- package/dist/lifecycle/gate-ledger.d.ts +8 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.js +193 -0
- package/dist/lifecycle/gate-origin.js +117 -0
- package/dist/lifecycle/gate-pending.js +58 -0
- package/dist/lifecycle/git.js +1182 -0
- package/dist/lifecycle/identity.js +58 -0
- package/dist/lifecycle/index.js +26 -0
- package/dist/lifecycle/lease.js +283 -0
- package/dist/lifecycle/ledger-port.js +1 -0
- package/dist/lifecycle/legacy-digest.js +91 -0
- package/dist/lifecycle/live-diff.js +274 -0
- package/dist/lifecycle/local-note.js +15 -0
- package/dist/lifecycle/member-ledger.js +122 -0
- package/dist/lifecycle/observation-baseline.js +155 -0
- package/dist/lifecycle/observe.js +375 -0
- package/dist/lifecycle/oras-referrer-lookup.js +82 -0
- package/dist/lifecycle/override-ledger.js +54 -0
- package/dist/lifecycle/plan-digest.js +110 -0
- package/dist/lifecycle/plan-ledger.js +129 -0
- package/dist/lifecycle/receipt-plan.js +192 -0
- package/dist/lifecycle/release-ledger.js +155 -0
- package/dist/lifecycle/release-read.js +64 -0
- package/dist/lifecycle/replay.js +193 -0
- package/dist/lifecycle/rollback.js +102 -0
- package/dist/lifecycle/run-ledger.js +183 -0
- package/dist/lifecycle/scenario-eval.js +204 -0
- package/dist/lifecycle/scenario.js +214 -0
- package/dist/lifecycle/snapshot.js +239 -0
- package/dist/lifecycle/status.js +447 -0
- package/dist/lifecycle/symptoms.js +117 -0
- package/dist/lifecycle/teardown.js +255 -0
- package/dist/lifecycle/types.js +1 -0
- package/dist/lifecycle/unobserved-gate.js +33 -0
- package/dist/lifecycle/wave-plans.js +68 -0
- package/dist/lifecycle/work-item-id.js +36 -0
- package/dist/lifecycle/work-lease.js +393 -0
- package/dist/lint/component-checks.js +87 -0
- package/dist/lint/config.js +483 -0
- package/dist/lint/declarative.js +122 -0
- package/dist/lint/discover.d.ts.map +1 -1
- package/dist/lint/discover.js +138 -0
- package/dist/lint/engine.js +246 -0
- package/dist/lint/knowledge-checks.js +64 -0
- package/dist/lint/named-checks.js +22 -0
- package/dist/lint/output-checks.js +87 -0
- package/dist/lint/output-docs.js +163 -0
- package/dist/lint/parser.js +33 -0
- package/dist/lint/pipeline-change-gate.js +70 -0
- package/dist/lint/policy-import.d.ts +1 -1
- package/dist/lint/policy-import.d.ts.map +1 -1
- package/dist/lint/policy-import.js +62 -0
- package/dist/lint/policy-sandbox.js +86 -0
- package/dist/lint/policy.js +122 -0
- package/dist/lint/post-synth.js +87 -0
- package/dist/lint/presets/relaxed.json +26 -0
- package/dist/lint/presets/strict.json +24 -24
- package/dist/lint/receipt-checks.js +83 -0
- package/dist/lint/rule-loader.d.ts.map +1 -1
- package/dist/lint/rule-loader.js +89 -0
- package/dist/lint/rule-registry.js +86 -0
- package/dist/lint/rule.js +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-a.component.js +7 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-b.component.js +7 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/fail/orphan-lib.component.js +9 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/emr-job.component.js +11 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/jar-lib.component.js +9 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/fail/search-service.component.js +25 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/jar-lib.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/search-service.component.js +21 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/fail/migrator.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/agent-turn.component.js +24 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/migrator.component.js +17 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/orders-table.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/fail/neo4j-cluster.component.js +18 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.js +20 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/fail/search-service.component.js +12 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/pass/search-service.component.js +16 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/fail/legacy-tool.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/pass/legacy-tool.component.js +12 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/inventory-table.component.js +11 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/orders-table.component.js +11 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/orders-table.component.js +10 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/search-service.component.js +16 -0
- package/dist/lint/rules/comp/comp001-publishes-never-applies.js +69 -0
- package/dist/lint/rules/comp/comp002-dangling-wiring-ref.js +84 -0
- package/dist/lint/rules/comp/comp003-mutating-no-rollback.js +103 -0
- package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.js +70 -0
- package/dist/lint/rules/comp/comp005-capability-kind-is-noun.js +109 -0
- package/dist/lint/rules/comp/comp006-shell-needs-reason.js +49 -0
- package/dist/lint/rules/comp/comp007-composition-sprawl.js +64 -0
- package/dist/lint/rules/comp/index.js +33 -0
- package/dist/lint/rules/comp/support.js +129 -0
- package/dist/lint/rules/composite-scope.js +51 -0
- package/dist/lint/rules/cor017-composite-name-match.js +93 -0
- package/dist/lint/rules/cor018-composite-prefer-lexicon-type.js +136 -0
- package/dist/lint/rules/cor021-env-literal-name.js +100 -0
- package/dist/lint/rules/cor022-receipt-leaf.js +118 -0
- package/dist/lint/rules/cor024-receipt-secret-pointer.js +199 -0
- package/dist/lint/rules/declarable-naming-convention.js +62 -0
- package/dist/lint/rules/evl001-non-literal-expression.js +66 -0
- package/dist/lint/rules/evl002-control-flow-resource.js +69 -0
- package/dist/lint/rules/evl003-dynamic-property-access.js +44 -0
- package/dist/lint/rules/evl004-spread-non-const.js +94 -0
- package/dist/lint/rules/evl005-resource-block-body.js +41 -0
- package/dist/lint/rules/evl007-invalid-siblings.js +105 -0
- package/dist/lint/rules/evl009-composite-no-constant.js +158 -0
- package/dist/lint/rules/evl010-composite-no-transform.js +59 -0
- package/dist/lint/rules/evl011-symbolic-in-template.js +106 -0
- package/dist/lint/rules/export-required.js +115 -0
- package/dist/lint/rules/file-declarable-limit.js +88 -0
- package/dist/lint/rules/flat-declarations.js +62 -0
- package/dist/lint/rules/index.js +90 -0
- package/dist/lint/rules/no-cyclic-declarable-ref.js +138 -0
- package/dist/lint/rules/no-redundant-type-import.js +76 -0
- package/dist/lint/rules/no-redundant-value-cast.js +41 -0
- package/dist/lint/rules/no-string-ref.js +59 -0
- package/dist/lint/rules/no-unused-declarable-import.js +75 -0
- package/dist/lint/rules/no-unused-declarable.js +142 -0
- package/dist/lint/rules/op/index.js +28 -0
- package/dist/lint/rules/op/ops012-activity-contract.js +54 -0
- package/dist/lint/rules/op/ops013-step-output-ref.js +88 -0
- package/dist/lint/rules/op/ops014-converge-rule-refusals.js +114 -0
- package/dist/lint/rules/op/ops015-gate-approval.js +45 -0
- package/dist/lint/rules/op/support.js +11 -0
- package/dist/lint/rules/op/sys010-key-over-plain-http.js +100 -0
- package/dist/lint/rules/property-kind.js +56 -0
- package/dist/lint/rules/single-concern-file.js +71 -0
- package/dist/lint/rules/sys001-no-literal-key.js +60 -0
- package/dist/lint/selectors.js +168 -0
- package/dist/lint/suppressions.js +129 -0
- package/dist/lint/typescript.js +17 -0
- package/dist/live-endpoint.js +113 -0
- package/dist/live-read-session.js +76 -0
- package/dist/lsp/lexicon-providers.js +163 -0
- package/dist/lsp/types.js +5 -0
- package/dist/managed-fields.js +293 -0
- package/dist/mcp/types.js +4 -0
- package/dist/notify-verify.js +0 -1
- package/dist/notify.js +0 -1
- package/dist/notify.schema.json +72 -0
- package/dist/observation.js +266 -0
- package/dist/okf-read.js +134 -0
- package/dist/okf.js +275 -0
- package/dist/op/__fixtures__/decide-stub-backend.js +125 -0
- package/dist/op/activities/activity-contracts.js +313 -0
- package/dist/op/activities/apply.js +582 -0
- package/dist/op/activities/build.js +18 -0
- package/dist/op/activities/change-coverage.js +40 -0
- package/dist/op/activities/change-set.js +64 -0
- package/dist/op/activities/converge.js +492 -0
- package/dist/op/activities/decide.js +211 -0
- package/dist/op/activities/env-teardown.js +110 -0
- package/dist/op/activities/factory.js +591 -0
- package/dist/op/activities/forge-pull-request.js +82 -0
- package/dist/op/activities/gh-host.js +78 -0
- package/dist/op/activities/guard-validate.js +165 -0
- package/dist/op/activities/http-check.js +40 -0
- package/dist/op/activities/index.js +59 -0
- package/dist/op/activities/lexicon-upgrade.js +629 -0
- package/dist/op/activities/lifecycle.js +109 -0
- package/dist/op/activities/pipeline-audit.js +147 -0
- package/dist/op/activities/policy.js +26 -0
- package/dist/op/activities/predict-behaviour.js +341 -0
- package/dist/op/activities/propose-upgrade.js +165 -0
- package/dist/op/activities/reconcile.js +997 -0
- package/dist/op/activities/shell.js +118 -0
- package/dist/op/activities/source-release.js +97 -0
- package/dist/op/activities/source-rollback.js +165 -0
- package/dist/op/activities/teardown.js +17 -0
- package/dist/op/activities/util.js +6 -0
- package/dist/op/activities/wait.js +51 -0
- package/dist/op/activities/work-evidence.js +35 -0
- package/dist/op/activities/workflow-audit.js +133 -0
- package/dist/op/activity-contract-registry.js +106 -0
- package/dist/op/activity-contract.js +232 -0
- package/dist/op/activity-failure.js +31 -0
- package/dist/op/activity-profiles.js +129 -0
- package/dist/op/activity-registry.js +105 -0
- package/dist/op/activity-runtime.js +28 -0
- package/dist/op/builders.js +801 -0
- package/dist/op/change-signal.js +118 -0
- package/dist/op/composites/apply-op.js +151 -0
- package/dist/op/composites/behaviour-op.js +65 -0
- package/dist/op/composites/converge-op.js +141 -0
- package/dist/op/composites/index.js +19 -0
- package/dist/op/composites/lexicon-upgrade-op.js +107 -0
- package/dist/op/composites/pipeline-audit-op.js +50 -0
- package/dist/op/composites/reconcile-op.js +84 -0
- package/dist/op/composites/watch-op.js +69 -0
- package/dist/op/composites/workflow-audit-op.js +57 -0
- package/dist/op/converge-rule.js +205 -0
- package/dist/op/cron.js +146 -0
- package/dist/op/decide-backend.js +181 -0
- package/dist/op/decide-config.js +68 -0
- package/dist/op/decide-read-inputs.js +141 -0
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/discover.js +213 -0
- package/dist/op/duration.js +21 -0
- package/dist/op/emulator-freshness.js +80 -0
- package/dist/op/emulator-lifecycle.js +269 -0
- package/dist/op/factory.js +83 -0
- package/dist/op/gate-approval.js +172 -0
- package/dist/op/gate-name.js +86 -0
- package/dist/op/gate-plan-context.js +167 -0
- package/dist/op/gate-point-run.js +67 -0
- package/dist/op/gate-point.js +111 -0
- package/dist/op/gate-resume-plan.js +155 -0
- package/dist/op/gate-resume.js +31 -0
- package/dist/op/gate-review.js +290 -0
- package/dist/op/gate-run-locator.js +85 -0
- package/dist/op/gate-summary.js +100 -0
- package/dist/op/gate-wait.js +56 -0
- package/dist/op/gate.js +449 -0
- package/dist/op/generate-pipeline.js +124 -0
- package/dist/op/index.js +51 -0
- package/dist/op/lifecycle-receipt-store.js +45 -0
- package/dist/op/local-executor.js +1164 -0
- package/dist/op/local-output.js +140 -0
- package/dist/op/op-ir.js +317 -0
- package/dist/op/op-verb-class.js +131 -0
- package/dist/op/op-waves-notify.js +136 -0
- package/dist/op/op-waves-run.d.ts +1 -1
- package/dist/op/op-waves-run.d.ts.map +1 -1
- package/dist/op/op-waves-run.js +1657 -0
- package/dist/op/op-waves.js +409 -0
- package/dist/op/operator.js +743 -0
- package/dist/op/receipt-store.js +94 -0
- package/dist/op/resource.js +23 -0
- package/dist/op/run-context.js +28 -0
- package/dist/op/run-live.js +256 -0
- package/dist/op/runtime.js +21 -0
- package/dist/op/runtimes/local.js +195 -0
- package/dist/op/source-archive.js +131 -0
- package/dist/op/step-output-ref.js +397 -0
- package/dist/op/steward-beside.js +169 -0
- package/dist/op/steward-points.js +138 -0
- package/dist/op/steward-turn.js +59 -0
- package/dist/op/steward.js +317 -0
- package/dist/op/types.js +25 -0
- package/dist/op/work-lease-decl.js +81 -0
- package/dist/op/work-lease-run.js +393 -0
- package/dist/override-gate.js +284 -0
- package/dist/owner-chain.js +74 -0
- package/dist/ownership.js +92 -0
- package/dist/params.js +61 -0
- package/dist/plan-summary.js +711 -0
- package/dist/point-decision.js +211 -0
- package/dist/pr-forge.js +810 -0
- package/dist/pr-loop.js +203 -0
- package/dist/project-codegen.js +191 -0
- package/dist/project-root.js +74 -0
- package/dist/project-validation.js +50 -0
- package/dist/provenance.js +157 -0
- package/dist/pseudo-parameter.js +40 -0
- package/dist/reconcile.js +450 -0
- package/dist/resource-attributes.js +33 -0
- package/dist/runtime-adapter.js +77 -0
- package/dist/runtime.js +66 -0
- package/dist/secret-materialization.js +153 -0
- package/dist/secret-provenance.js +250 -0
- package/dist/serializer-walker.js +112 -0
- package/dist/serializer.js +1 -0
- package/dist/sort.js +45 -0
- package/dist/stack-output.js +115 -0
- package/dist/telemetry-attribution.js +149 -0
- package/dist/terraform/__fixtures__/build-graph.js +63 -0
- package/dist/terraform/adopt-state.js +40 -0
- package/dist/terraform/aws-resources.js +384 -0
- package/dist/terraform/bridge.js +204 -0
- package/dist/terraform/carve-provider.js +155 -0
- package/dist/terraform/carve.js +138 -0
- package/dist/terraform/data-source-shape.js +57 -0
- package/dist/terraform/emit-source.js +36 -0
- package/dist/terraform/excise.js +123 -0
- package/dist/terraform/graduate.js +128 -0
- package/dist/terraform/graph.js +435 -0
- package/dist/terraform/hcl2json.js +60 -0
- package/dist/terraform/manifest.js +149 -0
- package/dist/terraform/parse.js +81 -0
- package/dist/terraform/providers/aws.js +146 -0
- package/dist/terraform/providers/gcp.js +294 -0
- package/dist/terraform/providers/index.js +17 -0
- package/dist/terraform/providers/kubernetes.js +253 -0
- package/dist/terraform/score.js +151 -0
- package/dist/terraform/state.js +67 -0
- package/dist/terraform/tier-map.js +74 -0
- package/dist/terraform/types.js +13 -0
- package/dist/terraform/unified-diff.js +132 -0
- package/dist/testing.js +295 -0
- package/dist/toml-emit.js +153 -0
- package/dist/toml-parse.js +355 -0
- package/dist/toml-utils.js +60 -0
- package/dist/toml.js +428 -0
- package/dist/ts-loader.d.ts +46 -0
- package/dist/ts-loader.d.ts.map +1 -0
- package/dist/ts-loader.js +103 -0
- package/dist/types.js +1 -0
- package/dist/utils.js +61 -0
- package/dist/validation.js +20 -0
- package/dist/vendor/js-yaml-load.js +1662 -0
- package/dist/workspace/__fixtures__/contract-repo.js +103 -0
- package/dist/workspace/__fixtures__/decide-workspace.js +112 -0
- package/dist/workspace/__fixtures__/sessions.js +91 -0
- package/dist/workspace/__fixtures__/two-member-workspace.js +34 -0
- package/dist/workspace/agent-cli.js +99 -0
- package/dist/workspace/agent.schema.json +390 -0
- package/dist/workspace/answers-ledger.js +89 -0
- package/dist/workspace/box-cli.js +142 -0
- package/dist/workspace/box-factory-write.js +196 -0
- package/dist/workspace/box-factory-write.schema.json +342 -0
- package/dist/workspace/box-factory.js +88 -0
- package/dist/workspace/box-intent.js +126 -0
- package/dist/workspace/box-isolation.js +169 -0
- package/dist/workspace/box-listing-write.schema.json +204 -0
- package/dist/workspace/box-listing.js +298 -0
- package/dist/workspace/box-publish.js +352 -0
- package/dist/workspace/box-publish.schema.json +498 -0
- package/dist/workspace/box-services.js +39 -0
- package/dist/workspace/broker-protocol.js +359 -0
- package/dist/workspace/broker-protocol.schema.json +228 -0
- package/dist/workspace/change-set.schema.json +460 -0
- package/dist/workspace/changes-cli.js +56 -0
- package/dist/workspace/changes.js +446 -0
- package/dist/workspace/changes.schema.json +642 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-fly-site.js +198 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-live-names.js +155 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-rollback.js +214 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-inputs.js +180 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-policy.js +99 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit.js +847 -0
- package/dist/workspace/chant-migrations.js +113 -0
- package/dist/workspace/check.schema.json +433 -0
- package/dist/workspace/checks/box-isolation.js +62 -0
- package/dist/workspace/checks/boxes.js +491 -0
- package/dist/workspace/checks/diagrams.js +104 -0
- package/dist/workspace/checks/generated.js +419 -0
- package/dist/workspace/checks/ledgers.js +212 -0
- package/dist/workspace/checks/links.js +191 -0
- package/dist/workspace/checks/live.js +100 -0
- package/dist/workspace/checks/pipelines.js +188 -0
- package/dist/workspace/checks/records.js +169 -0
- package/dist/workspace/checks.js +426 -0
- package/dist/workspace/ci-green-cli.js +125 -0
- package/dist/workspace/ci-green-forge.js +83 -0
- package/dist/workspace/ci-green-workflow.js +199 -0
- package/dist/workspace/ci-green.js +325 -0
- package/dist/workspace/ci-last-green.schema.json +158 -0
- package/dist/workspace/compose-graph.js +235 -0
- package/dist/workspace/compose-reports.js +146 -0
- package/dist/workspace/composites.js +264 -0
- package/dist/workspace/composites.schema.json +617 -0
- package/dist/workspace/conformance/__fixture__/app/package.json +7 -0
- package/dist/workspace/conformance/__fixture__/app/src/server.mjs +29 -0
- package/dist/workspace/conformance/__fixture__/decisions/decision.kind.mjs +54 -0
- package/dist/workspace/conformance/__fixture__/decisions/decision.schema.json +512 -0
- package/dist/workspace/conformance/__fixture__/decisions/fix-001-how-the-app-is-deployed.md +40 -0
- package/dist/workspace/conformance/__fixture__/delivery/chant.config.ts +7 -0
- package/dist/workspace/conformance/__fixture__/delivery/lexicon/index.ts +26 -0
- package/dist/workspace/conformance/__fixture__/delivery/package.json +7 -0
- package/dist/workspace/conformance/__fixture__/delivery/src/app.component.ts +14 -0
- package/dist/workspace/conformance/__fixture__/delivery/src/app.ts +4 -0
- package/dist/workspace/conformance/__fixtures__/reference-broker.js +205 -0
- package/dist/workspace/conformance/__writer_fixture__/answers/answer.kind.mjs +32 -0
- package/dist/workspace/conformance/__writer_fixture__/answers/answer.schema.json +135 -0
- package/dist/workspace/conformance/__writer_fixture__/contracts/contract.kind.mjs +37 -0
- package/dist/workspace/conformance/__writer_fixture__/contracts/contract.schema.json +213 -0
- package/dist/workspace/conformance/__writer_fixture__/decisions/points.json +228 -0
- package/dist/workspace/conformance/__writer_fixture__/drivers/driver.kind.mjs +15 -0
- package/dist/workspace/conformance/__writer_fixture__/drivers/driver.schema.json +38 -0
- package/dist/workspace/conformance/__writer_fixture__/sessions/session.kind.mjs +54 -0
- package/dist/workspace/conformance/__writer_fixture__/sessions/session.schema.json +289 -0
- package/dist/workspace/conformance/__writer_fixture__/work/W-001-the-writer-suite-works-this-item.md +25 -0
- package/dist/workspace/conformance/__writer_fixture__/work/work.kind.mjs +60 -0
- package/dist/workspace/conformance/__writer_fixture__/work/work.schema.json +603 -0
- package/dist/workspace/conformance/broker.js +736 -0
- package/dist/workspace/conformance/index.js +673 -0
- package/dist/workspace/conformance/vitest.js +108 -0
- package/dist/workspace/conformance/writer.js +1080 -0
- package/dist/workspace/decide.js +879 -0
- package/dist/workspace/decision-points.schema.json +135 -135
- package/dist/workspace/declaration-write-cli.js +74 -0
- package/dist/workspace/declaration-write.js +238 -0
- package/dist/workspace/declaration.js +938 -0
- package/dist/workspace/declaration.schema.json +1413 -1413
- package/dist/workspace/declared-kinds.js +106 -0
- package/dist/workspace/environments.js +164 -0
- package/dist/workspace/evidence.schema.json +279 -0
- package/dist/workspace/export-cli.js +185 -0
- package/dist/workspace/export.js +499 -0
- package/dist/workspace/factory-rules.js +175 -0
- package/dist/workspace/generated-files.js +92 -0
- package/dist/workspace/glob.js +45 -0
- package/dist/workspace/graph-cache.js +352 -0
- package/dist/workspace/graph-cli.js +348 -0
- package/dist/workspace/graph.schema.json +1338 -0
- package/dist/workspace/identity-gate-rule.d.ts +65 -0
- package/dist/workspace/identity-gate-rule.d.ts.map +1 -0
- package/dist/workspace/identity-gate-rule.js +75 -0
- package/dist/workspace/identity.d.ts +4 -2
- package/dist/workspace/identity.d.ts.map +1 -1
- package/dist/workspace/identity.js +126 -0
- package/dist/workspace/import.js +283 -0
- package/dist/workspace/init.js +620 -0
- package/dist/workspace/intent-cli.js +263 -0
- package/dist/workspace/intent-joins.js +201 -0
- package/dist/workspace/intent-record.js +352 -0
- package/dist/workspace/intent-record.schema.json +864 -0
- package/dist/workspace/intent.js +1582 -0
- package/dist/workspace/intent.schema.json +2420 -0
- package/dist/workspace/json-edit.js +221 -0
- package/dist/workspace/jsonc.js +235 -0
- package/dist/workspace/kind-readers.js +103 -0
- package/dist/workspace/kinds.js +587 -0
- package/dist/workspace/lexicon-symbols.js +112 -0
- package/dist/workspace/lineage-adopt-cli.js +102 -0
- package/dist/workspace/lineage-adopt.js +360 -0
- package/dist/workspace/lineage-check.js +282 -0
- package/dist/workspace/lineage-cli.js +121 -0
- package/dist/workspace/lineage-hash-index.js +284 -0
- package/dist/workspace/lineage-init.js +507 -0
- package/dist/workspace/lineage-lock.js +387 -0
- package/dist/workspace/lineage-merge.js +45 -0
- package/dist/workspace/lineage-migrations.d.ts.map +1 -1
- package/dist/workspace/lineage-migrations.js +329 -0
- package/dist/workspace/lineage-provenance.js +36 -0
- package/dist/workspace/lineage-update.js +138 -0
- package/dist/workspace/lineage-upgrade-cli.js +131 -0
- package/dist/workspace/lineage-upgrade.js +889 -0
- package/dist/workspace/lineage-vendor.js +171 -0
- package/dist/workspace/lineage-version.js +128 -0
- package/dist/workspace/lineage-versions.js +275 -0
- package/dist/workspace/links.js +330 -0
- package/dist/workspace/ls-generated.js +95 -0
- package/dist/workspace/ls.js +277 -0
- package/dist/workspace/ls.schema.json +333 -0
- package/dist/workspace/member-commands.js +508 -0
- package/dist/workspace/member-handles.js +216 -0
- package/dist/workspace/member-pipeline.js +258 -0
- package/dist/workspace/member-run.js +117 -0
- package/dist/workspace/member-write.schema.json +193 -0
- package/dist/workspace/nested-graph.js +156 -0
- package/dist/workspace/nesting.js +38 -0
- package/dist/workspace/patch.js +301 -0
- package/dist/workspace/patch.schema.json +321 -0
- package/dist/workspace/pin-cli.js +55 -0
- package/dist/workspace/pin-integrity.js +100 -0
- package/dist/workspace/plan-summary.schema.json +155 -0
- package/dist/workspace/point-answer.schema.json +129 -129
- package/dist/workspace/points-cli.js +291 -0
- package/dist/workspace/points-write.schema.json +660 -0
- package/dist/workspace/points.js +521 -0
- package/dist/workspace/points.schema.json +916 -0
- package/dist/workspace/pr-report.schema.json +108 -0
- package/dist/workspace/principal-classes.d.ts +3 -14
- package/dist/workspace/principal-classes.d.ts.map +1 -1
- package/dist/workspace/principal-classes.js +245 -0
- package/dist/workspace/reason-codes.js +326 -0
- package/dist/workspace/record-assets.js +151 -0
- package/dist/workspace/record-decided.js +105 -0
- package/dist/workspace/record-sessions.js +96 -0
- package/dist/workspace/record-source.js +114 -0
- package/dist/workspace/records-amend.schema.json +284 -0
- package/dist/workspace/records-checkout.js +76 -0
- package/dist/workspace/records-cli.js +707 -0
- package/dist/workspace/records-close.js +116 -0
- package/dist/workspace/records-close.schema.json +278 -0
- package/dist/workspace/records-new.schema.json +202 -0
- package/dist/workspace/records-review.schema.json +367 -0
- package/dist/workspace/records-since.js +317 -0
- package/dist/workspace/records-since.schema.json +218 -0
- package/dist/workspace/records-write.js +1229 -0
- package/dist/workspace/records.js +1345 -0
- package/dist/workspace/records.schema.json +604 -0
- package/dist/workspace/reference-kinds/app/package.json +10 -0
- package/dist/workspace/reference-kinds/app/workspace-kinds.json +45 -0
- package/dist/workspace/returns.js +303 -0
- package/dist/workspace/root-refusal.js +75 -0
- package/dist/workspace/run-statement.schema.json +622 -0
- package/dist/workspace/runs-cli.js +584 -0
- package/dist/workspace/runs-write.schema.json +994 -0
- package/dist/workspace/runs.js +708 -0
- package/dist/workspace/runs.schema.json +1257 -0
- package/dist/workspace/runtimes.js +76 -0
- package/dist/workspace/session-kinds.js +83 -0
- package/dist/workspace/signers.schema.json +206 -0
- package/dist/workspace/source-block.js +125 -0
- package/dist/workspace/squash.js +177 -0
- package/dist/workspace/status-gates.js +162 -0
- package/dist/workspace/status-stewards.js +330 -0
- package/dist/workspace/status.js +514 -0
- package/dist/workspace/status.schema.json +998 -0
- package/dist/workspace/steward-index.js +191 -0
- package/dist/workspace/symbols.js +188 -0
- package/dist/workspace/template-manifest.js +227 -0
- package/dist/workspace/template-pins.js +115 -0
- package/dist/workspace/trailer-joins.js +65 -0
- package/dist/workspace/trailers.js +111 -0
- package/dist/workspace/tree.js +136 -0
- package/dist/workspace/trust/attestor.js +63 -0
- package/dist/workspace/trust/dsse.js +108 -0
- package/dist/workspace/trust/evidence-cli.js +175 -0
- package/dist/workspace/trust/evidence.js +161 -0
- package/dist/workspace/trust/gate-seal.js +226 -0
- package/dist/workspace/trust/policy.js +190 -0
- package/dist/workspace/trust/provenance.js +180 -0
- package/dist/workspace/trust/rotation.js +298 -0
- package/dist/workspace/trust/run-commits.js +101 -0
- package/dist/workspace/trust/run-statement.js +182 -0
- package/dist/workspace/trust/seal.js +272 -0
- package/dist/workspace/trust/signers-cli.js +152 -0
- package/dist/workspace/trust/ssh-commit.js +178 -0
- package/dist/workspace/trust/test-repo.js +118 -0
- package/dist/workspace/trust/trust-files.js +193 -0
- package/dist/workspace/trust/verify-cli.js +63 -0
- package/dist/workspace/trust/verify.js +192 -0
- package/dist/workspace/which-chant.js +141 -0
- package/dist/workspace/wip-cli.js +95 -0
- package/dist/workspace/wip-write.schema.json +504 -0
- package/dist/workspace/wip.js +631 -0
- package/dist/workspace/wip.schema.json +334 -0
- package/dist/workspace/work-cli.js +448 -0
- package/dist/workspace/work-evidence.js +122 -0
- package/dist/workspace/work-evidence.schema.json +222 -0
- package/dist/workspace/work-history.schema.json +421 -0
- package/dist/workspace/work-lease.schema.json +246 -0
- package/dist/workspace/work-size.js +77 -0
- package/dist/workspace/work.js +283 -0
- package/dist/workspace/workspace-kinds.schema.json +259 -259
- package/dist/workspace/workspace-principals.schema.json +53 -53
- package/dist/workspace/write-lock-cli.js +105 -0
- package/dist/workspace/write-lock.js +424 -0
- package/dist/workspace/write-lock.schema.json +172 -0
- package/dist/workspace/write-scope.js +484 -0
- package/dist/yaml.js +459 -0
- package/package.json +2 -2
- package/src/cli/commands/check-lexicon-plugin.ts +2 -0
- package/src/cli/commands/lint.ts +36 -6
- package/src/cli/commands/migrate.ts +2 -0
- package/src/cli/compiled-cli.e2e.test.ts +165 -0
- package/src/cli/main.ts +121 -27
- package/src/cli/mcp/workspace-tools.ts +1 -1
- package/src/codegen/pinned-upgrade.ts +2 -0
- package/src/components/discover.ts +2 -0
- package/src/components/sandbox/driver.ts +3 -1
- package/src/config-import.ts +3 -0
- package/src/discovery/fold-import.ts +23 -14
- package/src/discovery/import.ts +2 -0
- package/src/discovery/sandbox/driver.ts +3 -1
- package/src/gate-decision-bundle.test.ts +3 -2
- package/src/gate-decision-identity.test.ts +176 -0
- package/src/gate-decision.ts +100 -22
- package/src/lexicon-module.ts +3 -0
- package/src/lifecycle/gate-ledger.ts +8 -0
- package/src/lint/config.ts +1 -1
- package/src/lint/discover.ts +28 -8
- package/src/lint/policy-import.ts +4 -1
- package/src/lint/rule-loader.ts +2 -0
- package/src/op/discover.ts +3 -0
- package/src/op/op-waves-point.test.ts +1 -0
- package/src/op/op-waves-run.ts +5 -4
- package/src/op/op-waves.test.ts +14 -0
- package/src/ts-loader.test.ts +23 -0
- package/src/ts-loader.ts +122 -0
- package/src/workspace/chant-migrations/chud-lexicon-exit.ts +1 -1
- package/src/workspace/declaration.ts +1 -1
- package/src/workspace/identity-gate-rule.ts +109 -0
- package/src/workspace/identity.ts +8 -18
- package/src/workspace/kinds.ts +1 -1
- package/src/workspace/lineage-migrations.ts +2 -0
- package/src/workspace/points.ts +1 -1
- package/src/workspace/principal-classes.ts +5 -30
|
@@ -0,0 +1,2420 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://intentius.io/chant/schemas/workspace/intent/v1/intent.schema.json",
|
|
4
|
+
"title": "chant workspace graph --intent output",
|
|
5
|
+
"description": "What `chant workspace graph --intent <region> --json` prints: the intent graph over one region of a workspace (#2651, #2650 section C1, #2524 D8 and D15). The region, the commits that touched it, the decisions whose constrains cover it and their supersession chains, the work items whose constrains cover it (#2683), the artifacts those decisions pin, the units, contracts and evidence a plugin joins to the commits, the member links of the region's member, and findings as nodes with closed codes. chant emits it and a reader such as hud draws it. Readers ignore fields and node or edge kinds they do not know; a field is only ever added within a version. The finding, reason and error codes are closed lists. Contract version 1 is written by chant 0.81.0 and newer, and this document was added to it by #2651; a chant without --intent refuses the flag. Every code is in the one closed list of `reason-codes.ts`.",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "#/$defs/result"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"$ref": "#/$defs/failure"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"$defs": {
|
|
15
|
+
"result": {
|
|
16
|
+
"description": "The region was read. Exit code 0, or 1 when a plugin failed; the document is printed either way.",
|
|
17
|
+
"type": "object",
|
|
18
|
+
"required": [
|
|
19
|
+
"$schema",
|
|
20
|
+
"contract",
|
|
21
|
+
"chant",
|
|
22
|
+
"at",
|
|
23
|
+
"workspace",
|
|
24
|
+
"region",
|
|
25
|
+
"history",
|
|
26
|
+
"kinds",
|
|
27
|
+
"nodes",
|
|
28
|
+
"edges",
|
|
29
|
+
"reasons",
|
|
30
|
+
"summary"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"$schema": {
|
|
34
|
+
"const": "https://intentius.io/chant/schemas/workspace/intent/v1/intent.schema.json"
|
|
35
|
+
},
|
|
36
|
+
"contract": {
|
|
37
|
+
"const": 1
|
|
38
|
+
},
|
|
39
|
+
"chant": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "The chant that wrote the document."
|
|
42
|
+
},
|
|
43
|
+
"at": {
|
|
44
|
+
"type": [
|
|
45
|
+
"string",
|
|
46
|
+
"null"
|
|
47
|
+
],
|
|
48
|
+
"pattern": "^[0-9a-f]{40,64}$",
|
|
49
|
+
"description": "The full commit id read with --at, or null for the working tree. History is read from this commit, or from HEAD for the working tree."
|
|
50
|
+
},
|
|
51
|
+
"workspace": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": [
|
|
54
|
+
"name",
|
|
55
|
+
"root"
|
|
56
|
+
],
|
|
57
|
+
"properties": {
|
|
58
|
+
"name": {
|
|
59
|
+
"type": "string"
|
|
60
|
+
},
|
|
61
|
+
"root": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "The workspace root relative to the git root, \".\" for the git root."
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"region": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "The id of the region node: region:<path>, with :<start>-<end> for a line range or #<symbol> for a symbol."
|
|
70
|
+
},
|
|
71
|
+
"history": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"required": [
|
|
74
|
+
"rev",
|
|
75
|
+
"follows",
|
|
76
|
+
"shallow"
|
|
77
|
+
],
|
|
78
|
+
"properties": {
|
|
79
|
+
"rev": {
|
|
80
|
+
"type": [
|
|
81
|
+
"string",
|
|
82
|
+
"null"
|
|
83
|
+
],
|
|
84
|
+
"pattern": "^[0-9a-f]{40,64}$",
|
|
85
|
+
"description": "The commit the history was read from, or null when the repository has no commits."
|
|
86
|
+
},
|
|
87
|
+
"follows": {
|
|
88
|
+
"enum": [
|
|
89
|
+
"line-range",
|
|
90
|
+
"file",
|
|
91
|
+
"directory"
|
|
92
|
+
],
|
|
93
|
+
"description": "line-range: git log -L over the region's lines, a symbol's current lines included. file: git log --follow over the file. directory: git log over the directory."
|
|
94
|
+
},
|
|
95
|
+
"shallow": {
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"description": "Whether the repository is a shallow clone. When true, reasons holds intent-history-shallow."
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"error": false,
|
|
102
|
+
"kinds": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"description": "Each --kind file, in order: its name, the record kind it reads, if any, and the form of its commitJoins export, if any.",
|
|
105
|
+
"items": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"required": [
|
|
108
|
+
"file",
|
|
109
|
+
"records",
|
|
110
|
+
"joins"
|
|
111
|
+
],
|
|
112
|
+
"properties": {
|
|
113
|
+
"file": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "From the repository root."
|
|
116
|
+
},
|
|
117
|
+
"name": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "The kind's name: the file's commitJoinsName export when it has one (#2663), else the record kind's name, or the file's name without .kind.mjs for a plugin with no records. A plugin's findings use it as their namespace, plugin:<name>:<code> (#2656). Added within version 1, so an older document may lack it."
|
|
120
|
+
},
|
|
121
|
+
"records": {
|
|
122
|
+
"type": [
|
|
123
|
+
"string",
|
|
124
|
+
"null"
|
|
125
|
+
],
|
|
126
|
+
"description": "The record kind's name, or null for a plugin with no records."
|
|
127
|
+
},
|
|
128
|
+
"joins": {
|
|
129
|
+
"description": "The form of the file's commitJoins export: a function commitJoins(commit, context), whose context has read(path) for a file and list(dir) for a directory's entries, both from the workspace root in the tree read (#2663); data, naming the trailers and record paths core reads, with every value of the evidence trailer read; or null when it has none.",
|
|
130
|
+
"enum": [
|
|
131
|
+
"function",
|
|
132
|
+
"data",
|
|
133
|
+
null
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"nodes": {
|
|
140
|
+
"type": "array",
|
|
141
|
+
"description": "In walk order: the region, its files and member, the commits newest first with the units, contracts and evidence joined to them, the decisions and their evidence entries, the artifacts, the links, and the findings.",
|
|
142
|
+
"items": {
|
|
143
|
+
"$ref": "#/$defs/node"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"edges": {
|
|
147
|
+
"type": "array",
|
|
148
|
+
"items": {
|
|
149
|
+
"$ref": "#/$defs/edge"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"reasons": {
|
|
153
|
+
"type": "array",
|
|
154
|
+
"description": "Parts of the walk that could not be read. The rest of the document stands.",
|
|
155
|
+
"items": {
|
|
156
|
+
"$ref": "#/$defs/reason"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"summary": {
|
|
160
|
+
"type": "object",
|
|
161
|
+
"required": [
|
|
162
|
+
"commits",
|
|
163
|
+
"decisions",
|
|
164
|
+
"artifacts",
|
|
165
|
+
"findings"
|
|
166
|
+
],
|
|
167
|
+
"properties": {
|
|
168
|
+
"commits": {
|
|
169
|
+
"type": "integer",
|
|
170
|
+
"minimum": 0
|
|
171
|
+
},
|
|
172
|
+
"decisions": {
|
|
173
|
+
"type": "integer",
|
|
174
|
+
"minimum": 0
|
|
175
|
+
},
|
|
176
|
+
"artifacts": {
|
|
177
|
+
"type": "integer",
|
|
178
|
+
"minimum": 0
|
|
179
|
+
},
|
|
180
|
+
"findings": {
|
|
181
|
+
"type": "integer",
|
|
182
|
+
"minimum": 0
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"why": {
|
|
187
|
+
"$ref": "#/$defs/why"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"node": {
|
|
192
|
+
"oneOf": [
|
|
193
|
+
{
|
|
194
|
+
"$ref": "#/$defs/region"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"$ref": "#/$defs/file"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"$ref": "#/$defs/member"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"$ref": "#/$defs/commit"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"$ref": "#/$defs/joined"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"$ref": "#/$defs/decision"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"$ref": "#/$defs/work"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"$ref": "#/$defs/artifact"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"$ref": "#/$defs/link"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"$ref": "#/$defs/finding"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"$ref": "#/$defs/run"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"lineRange": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"required": [
|
|
231
|
+
"start",
|
|
232
|
+
"end"
|
|
233
|
+
],
|
|
234
|
+
"properties": {
|
|
235
|
+
"start": {
|
|
236
|
+
"type": "integer",
|
|
237
|
+
"minimum": 1
|
|
238
|
+
},
|
|
239
|
+
"end": {
|
|
240
|
+
"type": "integer",
|
|
241
|
+
"minimum": 0
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
"region": {
|
|
246
|
+
"description": "The region the walk starts from. Its id is region:<path>, with :<start>-<end> for a line range, or #<symbol> for a symbol (#3034).",
|
|
247
|
+
"type": "object",
|
|
248
|
+
"required": [
|
|
249
|
+
"id",
|
|
250
|
+
"kind",
|
|
251
|
+
"path",
|
|
252
|
+
"lines",
|
|
253
|
+
"member",
|
|
254
|
+
"at",
|
|
255
|
+
"type",
|
|
256
|
+
"generated",
|
|
257
|
+
"node"
|
|
258
|
+
],
|
|
259
|
+
"properties": {
|
|
260
|
+
"id": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"pattern": "^region:"
|
|
263
|
+
},
|
|
264
|
+
"kind": {
|
|
265
|
+
"const": "region"
|
|
266
|
+
},
|
|
267
|
+
"path": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"description": "From the workspace root, \".\" for the root itself."
|
|
270
|
+
},
|
|
271
|
+
"lines": {
|
|
272
|
+
"oneOf": [
|
|
273
|
+
{
|
|
274
|
+
"type": "null"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"$ref": "#/$defs/lineRange"
|
|
278
|
+
}
|
|
279
|
+
],
|
|
280
|
+
"description": "The line range asked for, in the file as read, or the current lines of the symbol asked for; null for the whole path."
|
|
281
|
+
},
|
|
282
|
+
"member": {
|
|
283
|
+
"type": [
|
|
284
|
+
"string",
|
|
285
|
+
"null"
|
|
286
|
+
],
|
|
287
|
+
"description": "The member whose directory holds the path, or null."
|
|
288
|
+
},
|
|
289
|
+
"at": {
|
|
290
|
+
"type": [
|
|
291
|
+
"string",
|
|
292
|
+
"null"
|
|
293
|
+
],
|
|
294
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
295
|
+
},
|
|
296
|
+
"type": {
|
|
297
|
+
"enum": [
|
|
298
|
+
"file",
|
|
299
|
+
"dir"
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
"generated": {
|
|
303
|
+
"type": [
|
|
304
|
+
"boolean",
|
|
305
|
+
"null"
|
|
306
|
+
],
|
|
307
|
+
"description": "For a file, whether it is generated (#2524 D14): declared in a member's generated entries, or one core registers. Null for a directory."
|
|
308
|
+
},
|
|
309
|
+
"node": {
|
|
310
|
+
"type": [
|
|
311
|
+
"string",
|
|
312
|
+
"null"
|
|
313
|
+
],
|
|
314
|
+
"description": "The graph node id the region was given as, whose sourceLoc it is, or null."
|
|
315
|
+
},
|
|
316
|
+
"symbol": {
|
|
317
|
+
"oneOf": [
|
|
318
|
+
{
|
|
319
|
+
"type": "null"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"type": "object",
|
|
323
|
+
"required": [
|
|
324
|
+
"name",
|
|
325
|
+
"qualified",
|
|
326
|
+
"kind"
|
|
327
|
+
],
|
|
328
|
+
"properties": {
|
|
329
|
+
"name": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"description": "The symbol as given after #."
|
|
332
|
+
},
|
|
333
|
+
"qualified": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"description": "The declaration it resolved to, as a dotted path from the file's top level, such as Server.listen."
|
|
336
|
+
},
|
|
337
|
+
"kind": {
|
|
338
|
+
"type": "string",
|
|
339
|
+
"description": "What declares it: function, class, method, property, interface, type, enum, namespace, variable or member."
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"description": "For a region given as path#symbol (#3034): the symbol and the declaration it resolved to in the tree read; its current lines are in lines and are followed through history as a line range. Null otherwise. Added within version 1, so an older document may lack it."
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
"file": {
|
|
349
|
+
"description": "A file under a directory region.",
|
|
350
|
+
"type": "object",
|
|
351
|
+
"required": [
|
|
352
|
+
"id",
|
|
353
|
+
"kind",
|
|
354
|
+
"path",
|
|
355
|
+
"member",
|
|
356
|
+
"generated"
|
|
357
|
+
],
|
|
358
|
+
"properties": {
|
|
359
|
+
"id": {
|
|
360
|
+
"type": "string",
|
|
361
|
+
"pattern": "^file:"
|
|
362
|
+
},
|
|
363
|
+
"kind": {
|
|
364
|
+
"const": "file"
|
|
365
|
+
},
|
|
366
|
+
"path": {
|
|
367
|
+
"type": "string"
|
|
368
|
+
},
|
|
369
|
+
"member": {
|
|
370
|
+
"type": [
|
|
371
|
+
"string",
|
|
372
|
+
"null"
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
"generated": {
|
|
376
|
+
"type": "boolean"
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"member": {
|
|
381
|
+
"description": "The region's member, and each member a link joins it to.",
|
|
382
|
+
"type": "object",
|
|
383
|
+
"required": [
|
|
384
|
+
"id",
|
|
385
|
+
"kind",
|
|
386
|
+
"name",
|
|
387
|
+
"dir",
|
|
388
|
+
"memberKind"
|
|
389
|
+
],
|
|
390
|
+
"properties": {
|
|
391
|
+
"id": {
|
|
392
|
+
"type": "string",
|
|
393
|
+
"pattern": "^member:"
|
|
394
|
+
},
|
|
395
|
+
"kind": {
|
|
396
|
+
"const": "member"
|
|
397
|
+
},
|
|
398
|
+
"name": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"description": "Joins to members[].name in ls and graph."
|
|
401
|
+
},
|
|
402
|
+
"dir": {
|
|
403
|
+
"type": "string"
|
|
404
|
+
},
|
|
405
|
+
"memberKind": {
|
|
406
|
+
"type": "string"
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"commit": {
|
|
411
|
+
"description": "A commit that touched the region. Linked from the region by a touched-by edge, and to each decision whose path window it falls in by a within edge.",
|
|
412
|
+
"type": "object",
|
|
413
|
+
"required": [
|
|
414
|
+
"id",
|
|
415
|
+
"kind",
|
|
416
|
+
"sha",
|
|
417
|
+
"subject",
|
|
418
|
+
"author",
|
|
419
|
+
"date",
|
|
420
|
+
"trailers",
|
|
421
|
+
"pullRequest",
|
|
422
|
+
"signature",
|
|
423
|
+
"lines"
|
|
424
|
+
],
|
|
425
|
+
"properties": {
|
|
426
|
+
"id": {
|
|
427
|
+
"type": "string",
|
|
428
|
+
"pattern": "^commit:"
|
|
429
|
+
},
|
|
430
|
+
"kind": {
|
|
431
|
+
"const": "commit"
|
|
432
|
+
},
|
|
433
|
+
"sha": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
436
|
+
},
|
|
437
|
+
"subject": {
|
|
438
|
+
"type": "string"
|
|
439
|
+
},
|
|
440
|
+
"author": {
|
|
441
|
+
"type": "object",
|
|
442
|
+
"required": [
|
|
443
|
+
"name",
|
|
444
|
+
"email"
|
|
445
|
+
],
|
|
446
|
+
"properties": {
|
|
447
|
+
"name": {
|
|
448
|
+
"type": "string"
|
|
449
|
+
},
|
|
450
|
+
"email": {
|
|
451
|
+
"type": "string"
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
"date": {
|
|
456
|
+
"type": "string",
|
|
457
|
+
"description": "Author date, ISO 8601."
|
|
458
|
+
},
|
|
459
|
+
"trailers": {
|
|
460
|
+
"type": "object",
|
|
461
|
+
"description": "Every trailer git parses from the message, keyed as written. Core gives no key a meaning; a kind's commitJoins may.",
|
|
462
|
+
"additionalProperties": {
|
|
463
|
+
"type": "array",
|
|
464
|
+
"items": {
|
|
465
|
+
"type": "string"
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
"pullRequest": {
|
|
470
|
+
"type": [
|
|
471
|
+
"integer",
|
|
472
|
+
"null"
|
|
473
|
+
],
|
|
474
|
+
"description": "The number in a (#n) that ends the subject, as a squash merge writes it, or null."
|
|
475
|
+
},
|
|
476
|
+
"signature": {
|
|
477
|
+
"type": "object",
|
|
478
|
+
"required": [
|
|
479
|
+
"level",
|
|
480
|
+
"reason"
|
|
481
|
+
],
|
|
482
|
+
"properties": {
|
|
483
|
+
"level": {
|
|
484
|
+
"enum": [
|
|
485
|
+
"attested",
|
|
486
|
+
"attested-unverifiable-here",
|
|
487
|
+
"adopted",
|
|
488
|
+
"unattested"
|
|
489
|
+
],
|
|
490
|
+
"description": "The commit's provenance level, judged by the signers at base as records judges a record (#2547)."
|
|
491
|
+
},
|
|
492
|
+
"reason": {
|
|
493
|
+
"type": "string"
|
|
494
|
+
},
|
|
495
|
+
"principal": {
|
|
496
|
+
"type": "string"
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
},
|
|
500
|
+
"lines": {
|
|
501
|
+
"oneOf": [
|
|
502
|
+
{
|
|
503
|
+
"type": "null"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"type": "array",
|
|
507
|
+
"items": {
|
|
508
|
+
"$ref": "#/$defs/lineRange"
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
],
|
|
512
|
+
"description": "For a line-range region, the ranges the commit changed within it, numbered in the commit's own version of the file. Null otherwise."
|
|
513
|
+
},
|
|
514
|
+
"state": {
|
|
515
|
+
"enum": [
|
|
516
|
+
"decided",
|
|
517
|
+
"decided-by-window",
|
|
518
|
+
"undecided",
|
|
519
|
+
null
|
|
520
|
+
],
|
|
521
|
+
"description": "How the decisions constraining the region by path relate to the commit (#2656). decided: it falls inside a decision's window and that decision's own unit made it. decided-by-window: it falls inside a window, and it is not the decision's own work, so the person judges it. undecided: outside every window, with the finding intent-commit-undecided. null: no record kind was read. Added within version 1, so an older document may lack it."
|
|
522
|
+
},
|
|
523
|
+
"joins": {
|
|
524
|
+
"$ref": "#/$defs/trailerJoins"
|
|
525
|
+
},
|
|
526
|
+
"squash": {
|
|
527
|
+
"$ref": "#/$defs/squash"
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
"joined": {
|
|
532
|
+
"description": "A unit of work, contract or piece of evidence from a plugin (#2650 C13), or an evidence entry of a decision that has a URL.",
|
|
533
|
+
"type": "object",
|
|
534
|
+
"required": [
|
|
535
|
+
"id",
|
|
536
|
+
"kind",
|
|
537
|
+
"ref",
|
|
538
|
+
"plugin",
|
|
539
|
+
"data"
|
|
540
|
+
],
|
|
541
|
+
"properties": {
|
|
542
|
+
"id": {
|
|
543
|
+
"type": "string",
|
|
544
|
+
"pattern": "^(unit|contract|evidence):"
|
|
545
|
+
},
|
|
546
|
+
"kind": {
|
|
547
|
+
"enum": [
|
|
548
|
+
"unit",
|
|
549
|
+
"contract",
|
|
550
|
+
"evidence"
|
|
551
|
+
]
|
|
552
|
+
},
|
|
553
|
+
"ref": {
|
|
554
|
+
"type": "string",
|
|
555
|
+
"description": "The plugin's own id, or the URL of a decision's evidence entry."
|
|
556
|
+
},
|
|
557
|
+
"plugin": {
|
|
558
|
+
"type": [
|
|
559
|
+
"string",
|
|
560
|
+
"null"
|
|
561
|
+
],
|
|
562
|
+
"description": "The kind file whose commitJoins supplied it, from the repository root, or null for a decision's evidence entry."
|
|
563
|
+
},
|
|
564
|
+
"data": {
|
|
565
|
+
"type": "object",
|
|
566
|
+
"description": "The fields the plugin gave besides the id, such as a unit's role, scope, base_commit, context_hash and outcome, or a contract's sha, status and criteria. For a decision's evidence entry: title, url, path, as_of and sha256."
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
"decision": {
|
|
571
|
+
"description": "A record whose constrains cover the region, or one in the supersession chain of such a record. Its id is record:<kind>/<id>.",
|
|
572
|
+
"type": "object",
|
|
573
|
+
"required": [
|
|
574
|
+
"id",
|
|
575
|
+
"kind",
|
|
576
|
+
"recordKind",
|
|
577
|
+
"record",
|
|
578
|
+
"path",
|
|
579
|
+
"title",
|
|
580
|
+
"state",
|
|
581
|
+
"closed",
|
|
582
|
+
"valid",
|
|
583
|
+
"reasons",
|
|
584
|
+
"provenance",
|
|
585
|
+
"decided_by",
|
|
586
|
+
"decided_on",
|
|
587
|
+
"decidedIn",
|
|
588
|
+
"reviews",
|
|
589
|
+
"supersededBy",
|
|
590
|
+
"supersedes",
|
|
591
|
+
"constrains"
|
|
592
|
+
],
|
|
593
|
+
"properties": {
|
|
594
|
+
"id": {
|
|
595
|
+
"type": "string",
|
|
596
|
+
"pattern": "^record:"
|
|
597
|
+
},
|
|
598
|
+
"kind": {
|
|
599
|
+
"const": "decision"
|
|
600
|
+
},
|
|
601
|
+
"recordKind": {
|
|
602
|
+
"type": "string"
|
|
603
|
+
},
|
|
604
|
+
"record": {
|
|
605
|
+
"type": "string",
|
|
606
|
+
"description": "The record's id; joins to records[].id in graph --kind and records."
|
|
607
|
+
},
|
|
608
|
+
"path": {
|
|
609
|
+
"type": "string",
|
|
610
|
+
"description": "The record file, from the repository root."
|
|
611
|
+
},
|
|
612
|
+
"title": {
|
|
613
|
+
"type": [
|
|
614
|
+
"string",
|
|
615
|
+
"null"
|
|
616
|
+
]
|
|
617
|
+
},
|
|
618
|
+
"state": {
|
|
619
|
+
"type": [
|
|
620
|
+
"string",
|
|
621
|
+
"null"
|
|
622
|
+
]
|
|
623
|
+
},
|
|
624
|
+
"closed": {
|
|
625
|
+
"type": "boolean",
|
|
626
|
+
"description": "Whether the record kind lists the state as closed, such as ratified."
|
|
627
|
+
},
|
|
628
|
+
"valid": {
|
|
629
|
+
"type": "boolean"
|
|
630
|
+
},
|
|
631
|
+
"reasons": {
|
|
632
|
+
"type": "array",
|
|
633
|
+
"items": {
|
|
634
|
+
"type": "object",
|
|
635
|
+
"required": [
|
|
636
|
+
"code",
|
|
637
|
+
"message"
|
|
638
|
+
],
|
|
639
|
+
"properties": {
|
|
640
|
+
"code": {
|
|
641
|
+
"enum": [
|
|
642
|
+
"record-unparseable",
|
|
643
|
+
"record-schema-invalid",
|
|
644
|
+
"record-id-duplicate",
|
|
645
|
+
"record-supersedes-unknown",
|
|
646
|
+
"record-supersedes-conflict",
|
|
647
|
+
"record-remediates-unknown",
|
|
648
|
+
"record-remediates-not-closed"
|
|
649
|
+
]
|
|
650
|
+
},
|
|
651
|
+
"message": {
|
|
652
|
+
"type": "string"
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
"provenance": {
|
|
658
|
+
"type": "object",
|
|
659
|
+
"required": [
|
|
660
|
+
"level",
|
|
661
|
+
"commit",
|
|
662
|
+
"reason"
|
|
663
|
+
],
|
|
664
|
+
"properties": {
|
|
665
|
+
"level": {
|
|
666
|
+
"enum": [
|
|
667
|
+
"attested",
|
|
668
|
+
"attested-unverifiable-here",
|
|
669
|
+
"adopted",
|
|
670
|
+
"unattested"
|
|
671
|
+
]
|
|
672
|
+
},
|
|
673
|
+
"commit": {
|
|
674
|
+
"type": [
|
|
675
|
+
"string",
|
|
676
|
+
"null"
|
|
677
|
+
],
|
|
678
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
679
|
+
},
|
|
680
|
+
"reason": {
|
|
681
|
+
"type": "string"
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
"decided_by": {
|
|
686
|
+
"type": [
|
|
687
|
+
"string",
|
|
688
|
+
"null"
|
|
689
|
+
]
|
|
690
|
+
},
|
|
691
|
+
"decided_on": {
|
|
692
|
+
"type": [
|
|
693
|
+
"string",
|
|
694
|
+
"null"
|
|
695
|
+
]
|
|
696
|
+
},
|
|
697
|
+
"decidedIn": {
|
|
698
|
+
"$ref": "#/$defs/decidedIn",
|
|
699
|
+
"description": "Its window opens at this commit, or, when null, at the commit that added the record."
|
|
700
|
+
},
|
|
701
|
+
"reviews": {
|
|
702
|
+
"type": "object",
|
|
703
|
+
"required": [
|
|
704
|
+
"agree",
|
|
705
|
+
"dissent",
|
|
706
|
+
"abstain",
|
|
707
|
+
"openConcerns"
|
|
708
|
+
],
|
|
709
|
+
"properties": {
|
|
710
|
+
"agree": {
|
|
711
|
+
"type": "integer",
|
|
712
|
+
"minimum": 0
|
|
713
|
+
},
|
|
714
|
+
"dissent": {
|
|
715
|
+
"type": "integer",
|
|
716
|
+
"minimum": 0
|
|
717
|
+
},
|
|
718
|
+
"abstain": {
|
|
719
|
+
"type": "integer",
|
|
720
|
+
"minimum": 0
|
|
721
|
+
},
|
|
722
|
+
"openConcerns": {
|
|
723
|
+
"type": "integer",
|
|
724
|
+
"minimum": 0
|
|
725
|
+
}
|
|
726
|
+
},
|
|
727
|
+
"description": "Verdict counts. openConcerns counts dissents with neither addressed_by nor withdrawn_on."
|
|
728
|
+
},
|
|
729
|
+
"supersededBy": {
|
|
730
|
+
"type": [
|
|
731
|
+
"string",
|
|
732
|
+
"null"
|
|
733
|
+
],
|
|
734
|
+
"description": "Derived as records derives it: the id of the record whose supersedes link replaces this one."
|
|
735
|
+
},
|
|
736
|
+
"supersedes": {
|
|
737
|
+
"type": "array",
|
|
738
|
+
"items": {
|
|
739
|
+
"type": "string"
|
|
740
|
+
},
|
|
741
|
+
"description": "The ids this record's supersedes links name."
|
|
742
|
+
},
|
|
743
|
+
"constrains": {
|
|
744
|
+
"type": "array",
|
|
745
|
+
"description": "The entries that cover the region, with their granularity. Empty for a decision in the graph only through a supersession chain or a path below a directory region.",
|
|
746
|
+
"items": {
|
|
747
|
+
"type": "object",
|
|
748
|
+
"required": [
|
|
749
|
+
"entry",
|
|
750
|
+
"granularity"
|
|
751
|
+
],
|
|
752
|
+
"properties": {
|
|
753
|
+
"entry": {
|
|
754
|
+
"type": "string"
|
|
755
|
+
},
|
|
756
|
+
"granularity": {
|
|
757
|
+
"enum": [
|
|
758
|
+
"path",
|
|
759
|
+
"member",
|
|
760
|
+
"contract",
|
|
761
|
+
"issue"
|
|
762
|
+
]
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
},
|
|
769
|
+
"work": {
|
|
770
|
+
"description": "A work item (#2683), a record of a kind with a work block: in the graph when its constrains cover the region as a decision's would, or when a work item there implements, needs or addresses it. Read only when a work kind is passed with --kind.",
|
|
771
|
+
"type": "object",
|
|
772
|
+
"required": [
|
|
773
|
+
"id",
|
|
774
|
+
"kind",
|
|
775
|
+
"recordKind",
|
|
776
|
+
"record",
|
|
777
|
+
"path",
|
|
778
|
+
"title",
|
|
779
|
+
"state",
|
|
780
|
+
"closed",
|
|
781
|
+
"valid",
|
|
782
|
+
"reasons",
|
|
783
|
+
"provenance",
|
|
784
|
+
"owner",
|
|
785
|
+
"ready",
|
|
786
|
+
"blockedBy",
|
|
787
|
+
"implements",
|
|
788
|
+
"needs",
|
|
789
|
+
"source",
|
|
790
|
+
"supersededBy",
|
|
791
|
+
"constrains",
|
|
792
|
+
"warnings"
|
|
793
|
+
],
|
|
794
|
+
"properties": {
|
|
795
|
+
"id": {
|
|
796
|
+
"type": "string",
|
|
797
|
+
"pattern": "^record:"
|
|
798
|
+
},
|
|
799
|
+
"kind": {
|
|
800
|
+
"const": "work"
|
|
801
|
+
},
|
|
802
|
+
"recordKind": {
|
|
803
|
+
"type": "string"
|
|
804
|
+
},
|
|
805
|
+
"record": {
|
|
806
|
+
"type": "string"
|
|
807
|
+
},
|
|
808
|
+
"path": {
|
|
809
|
+
"type": "string",
|
|
810
|
+
"description": "The record file, from the repository root."
|
|
811
|
+
},
|
|
812
|
+
"title": {
|
|
813
|
+
"type": [
|
|
814
|
+
"string",
|
|
815
|
+
"null"
|
|
816
|
+
]
|
|
817
|
+
},
|
|
818
|
+
"state": {
|
|
819
|
+
"type": [
|
|
820
|
+
"string",
|
|
821
|
+
"null"
|
|
822
|
+
]
|
|
823
|
+
},
|
|
824
|
+
"closed": {
|
|
825
|
+
"type": "boolean",
|
|
826
|
+
"description": "Whether the kind counts the state as closed, such as done or dropped."
|
|
827
|
+
},
|
|
828
|
+
"valid": {
|
|
829
|
+
"type": "boolean"
|
|
830
|
+
},
|
|
831
|
+
"reasons": {
|
|
832
|
+
"type": "array",
|
|
833
|
+
"items": {
|
|
834
|
+
"type": "object",
|
|
835
|
+
"required": [
|
|
836
|
+
"code",
|
|
837
|
+
"message"
|
|
838
|
+
],
|
|
839
|
+
"properties": {
|
|
840
|
+
"code": {
|
|
841
|
+
"enum": [
|
|
842
|
+
"record-unparseable",
|
|
843
|
+
"record-schema-invalid",
|
|
844
|
+
"record-id-duplicate",
|
|
845
|
+
"record-supersedes-unknown",
|
|
846
|
+
"record-supersedes-conflict",
|
|
847
|
+
"record-remediates-unknown",
|
|
848
|
+
"record-remediates-not-closed"
|
|
849
|
+
]
|
|
850
|
+
},
|
|
851
|
+
"message": {
|
|
852
|
+
"type": "string"
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
},
|
|
857
|
+
"provenance": {
|
|
858
|
+
"type": "object",
|
|
859
|
+
"required": [
|
|
860
|
+
"level",
|
|
861
|
+
"commit",
|
|
862
|
+
"reason"
|
|
863
|
+
],
|
|
864
|
+
"properties": {
|
|
865
|
+
"level": {
|
|
866
|
+
"enum": [
|
|
867
|
+
"attested",
|
|
868
|
+
"attested-unverifiable-here",
|
|
869
|
+
"adopted",
|
|
870
|
+
"unattested"
|
|
871
|
+
]
|
|
872
|
+
},
|
|
873
|
+
"commit": {
|
|
874
|
+
"type": [
|
|
875
|
+
"string",
|
|
876
|
+
"null"
|
|
877
|
+
],
|
|
878
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
879
|
+
},
|
|
880
|
+
"reason": {
|
|
881
|
+
"type": "string"
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
},
|
|
885
|
+
"owner": {
|
|
886
|
+
"type": [
|
|
887
|
+
"string",
|
|
888
|
+
"null"
|
|
889
|
+
],
|
|
890
|
+
"description": "The principal the record names as its owner, or null."
|
|
891
|
+
},
|
|
892
|
+
"ready": {
|
|
893
|
+
"type": "boolean",
|
|
894
|
+
"description": "As records reports it: valid, not superseded, in the kind's open state, and every need done."
|
|
895
|
+
},
|
|
896
|
+
"blockedBy": {
|
|
897
|
+
"type": "array",
|
|
898
|
+
"items": {
|
|
899
|
+
"$ref": "#/$defs/workLink"
|
|
900
|
+
},
|
|
901
|
+
"description": "Each need that is not done, with its state."
|
|
902
|
+
},
|
|
903
|
+
"implements": {
|
|
904
|
+
"type": "array",
|
|
905
|
+
"items": {
|
|
906
|
+
"$ref": "#/$defs/workLink"
|
|
907
|
+
},
|
|
908
|
+
"description": "Each decision the item implements, with its state."
|
|
909
|
+
},
|
|
910
|
+
"needs": {
|
|
911
|
+
"type": "array",
|
|
912
|
+
"items": {
|
|
913
|
+
"type": "string"
|
|
914
|
+
},
|
|
915
|
+
"description": "The work ids the item's needs list names."
|
|
916
|
+
},
|
|
917
|
+
"source": {
|
|
918
|
+
"description": "The gap the item came from, when its source names one: a finding code, the region it fired on, and optionally the decision and artifact it concerned. Null for an item whose source is an issue or the workspace.",
|
|
919
|
+
"oneOf": [
|
|
920
|
+
{
|
|
921
|
+
"type": "null"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"type": "object",
|
|
925
|
+
"required": [
|
|
926
|
+
"finding",
|
|
927
|
+
"region"
|
|
928
|
+
],
|
|
929
|
+
"properties": {
|
|
930
|
+
"finding": {
|
|
931
|
+
"type": "string"
|
|
932
|
+
},
|
|
933
|
+
"region": {
|
|
934
|
+
"type": "string"
|
|
935
|
+
},
|
|
936
|
+
"decision": {
|
|
937
|
+
"type": "string"
|
|
938
|
+
},
|
|
939
|
+
"artifact": {
|
|
940
|
+
"type": "string"
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
]
|
|
945
|
+
},
|
|
946
|
+
"supersededBy": {
|
|
947
|
+
"type": [
|
|
948
|
+
"string",
|
|
949
|
+
"null"
|
|
950
|
+
]
|
|
951
|
+
},
|
|
952
|
+
"constrains": {
|
|
953
|
+
"type": "array",
|
|
954
|
+
"description": "The entries that cover the region, with their granularity, matched as a decision's are. Empty for an item in the graph only through a link.",
|
|
955
|
+
"items": {
|
|
956
|
+
"type": "object",
|
|
957
|
+
"required": [
|
|
958
|
+
"entry",
|
|
959
|
+
"granularity"
|
|
960
|
+
],
|
|
961
|
+
"properties": {
|
|
962
|
+
"entry": {
|
|
963
|
+
"type": "string"
|
|
964
|
+
},
|
|
965
|
+
"granularity": {
|
|
966
|
+
"enum": [
|
|
967
|
+
"path",
|
|
968
|
+
"member",
|
|
969
|
+
"contract",
|
|
970
|
+
"issue"
|
|
971
|
+
]
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
},
|
|
976
|
+
"warnings": {
|
|
977
|
+
"type": "array",
|
|
978
|
+
"description": "The item's work warnings as records reports them, and work-done-gap-open: the item is done and the finding in its source still fires on its region. records raises it too, by walking the source's region with this code (#2686).",
|
|
979
|
+
"items": {
|
|
980
|
+
"type": "object",
|
|
981
|
+
"required": [
|
|
982
|
+
"code",
|
|
983
|
+
"message"
|
|
984
|
+
],
|
|
985
|
+
"properties": {
|
|
986
|
+
"code": {
|
|
987
|
+
"enum": [
|
|
988
|
+
"work-needs-unknown",
|
|
989
|
+
"work-implements-unknown",
|
|
990
|
+
"work-needs-cycle",
|
|
991
|
+
"work-implements-undecided",
|
|
992
|
+
"work-done-unpinned",
|
|
993
|
+
"work-closed-without-date",
|
|
994
|
+
"work-done-gap-open",
|
|
995
|
+
"work-acceptance-unmet",
|
|
996
|
+
"work-acceptance-self-verified",
|
|
997
|
+
"work-contract-unknown",
|
|
998
|
+
"work-contract-undecided",
|
|
999
|
+
"work-tier-unknown",
|
|
1000
|
+
"answer-points-unreadable",
|
|
1001
|
+
"answer-point-unknown",
|
|
1002
|
+
"answer-point-changed"
|
|
1003
|
+
]
|
|
1004
|
+
},
|
|
1005
|
+
"message": {
|
|
1006
|
+
"type": "string"
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
},
|
|
1011
|
+
"reviews": {
|
|
1012
|
+
"description": "The review sessions whose comments led to this item (#3154, E21 in arugula-salad/hud#823): each record of a session kind read whose comments[].follow_ups, or its own follow_ups, name the item as <kind>:<id>. A commit that carries the item by its Chant-Record trailer joins back to the review through it. Absent when none does. Added within contract 1.",
|
|
1013
|
+
"type": "array",
|
|
1014
|
+
"items": {
|
|
1015
|
+
"type": "object",
|
|
1016
|
+
"required": [
|
|
1017
|
+
"id",
|
|
1018
|
+
"recordKind",
|
|
1019
|
+
"record",
|
|
1020
|
+
"path",
|
|
1021
|
+
"state",
|
|
1022
|
+
"comments"
|
|
1023
|
+
],
|
|
1024
|
+
"properties": {
|
|
1025
|
+
"id": {
|
|
1026
|
+
"type": "string",
|
|
1027
|
+
"pattern": "^record:"
|
|
1028
|
+
},
|
|
1029
|
+
"recordKind": {
|
|
1030
|
+
"type": "string"
|
|
1031
|
+
},
|
|
1032
|
+
"record": {
|
|
1033
|
+
"type": "string"
|
|
1034
|
+
},
|
|
1035
|
+
"path": {
|
|
1036
|
+
"type": "string",
|
|
1037
|
+
"description": "The session record file, from the repository root."
|
|
1038
|
+
},
|
|
1039
|
+
"state": {
|
|
1040
|
+
"type": [
|
|
1041
|
+
"string",
|
|
1042
|
+
"null"
|
|
1043
|
+
]
|
|
1044
|
+
},
|
|
1045
|
+
"comments": {
|
|
1046
|
+
"type": "array",
|
|
1047
|
+
"items": {
|
|
1048
|
+
"type": "integer",
|
|
1049
|
+
"minimum": 1
|
|
1050
|
+
},
|
|
1051
|
+
"description": "The comments whose follow_ups name the item, numbered from 1; empty when only the session's own follow_ups do."
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
},
|
|
1058
|
+
"artifact": {
|
|
1059
|
+
"description": "A workspace file a decision in the graph pins. Artifacts reach the region only through decisions (#2549).",
|
|
1060
|
+
"type": "object",
|
|
1061
|
+
"required": [
|
|
1062
|
+
"id",
|
|
1063
|
+
"kind",
|
|
1064
|
+
"path",
|
|
1065
|
+
"anchor",
|
|
1066
|
+
"pinnedSha256",
|
|
1067
|
+
"currentSha256",
|
|
1068
|
+
"pinState"
|
|
1069
|
+
],
|
|
1070
|
+
"properties": {
|
|
1071
|
+
"id": {
|
|
1072
|
+
"type": "string",
|
|
1073
|
+
"pattern": "^artifact:"
|
|
1074
|
+
},
|
|
1075
|
+
"kind": {
|
|
1076
|
+
"const": "artifact"
|
|
1077
|
+
},
|
|
1078
|
+
"path": {
|
|
1079
|
+
"type": "string",
|
|
1080
|
+
"description": "From the workspace root the pinning record kind resolves pins in."
|
|
1081
|
+
},
|
|
1082
|
+
"anchor": {
|
|
1083
|
+
"type": [
|
|
1084
|
+
"string",
|
|
1085
|
+
"null"
|
|
1086
|
+
]
|
|
1087
|
+
},
|
|
1088
|
+
"pinnedSha256": {
|
|
1089
|
+
"type": [
|
|
1090
|
+
"string",
|
|
1091
|
+
"null"
|
|
1092
|
+
],
|
|
1093
|
+
"pattern": "^[0-9a-f]{64}$",
|
|
1094
|
+
"description": "The hash a current decision pins, or null when none does."
|
|
1095
|
+
},
|
|
1096
|
+
"currentSha256": {
|
|
1097
|
+
"type": [
|
|
1098
|
+
"string",
|
|
1099
|
+
"null"
|
|
1100
|
+
],
|
|
1101
|
+
"pattern": "^[0-9a-f]{64}$",
|
|
1102
|
+
"description": "The file's hash in the tree read, or null when it is missing or nothing hashed it."
|
|
1103
|
+
},
|
|
1104
|
+
"pinState": {
|
|
1105
|
+
"enum": [
|
|
1106
|
+
"pinned",
|
|
1107
|
+
"drifted",
|
|
1108
|
+
"missing",
|
|
1109
|
+
"stale",
|
|
1110
|
+
"unpinned"
|
|
1111
|
+
],
|
|
1112
|
+
"description": "The state of a current decision's pin (the worst, when several pin it): pinned, drifted, missing or stale as records reports it. unpinned when only superseded decisions pin it, or the evidence entry has no hash."
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
},
|
|
1116
|
+
"link": {
|
|
1117
|
+
"description": "A member link that touches the region's member.",
|
|
1118
|
+
"type": "object",
|
|
1119
|
+
"required": [
|
|
1120
|
+
"id",
|
|
1121
|
+
"kind",
|
|
1122
|
+
"row"
|
|
1123
|
+
],
|
|
1124
|
+
"properties": {
|
|
1125
|
+
"id": {
|
|
1126
|
+
"type": "string",
|
|
1127
|
+
"pattern": "^link:"
|
|
1128
|
+
},
|
|
1129
|
+
"kind": {
|
|
1130
|
+
"const": "link"
|
|
1131
|
+
},
|
|
1132
|
+
"row": {
|
|
1133
|
+
"type": "object",
|
|
1134
|
+
"required": [
|
|
1135
|
+
"consumer",
|
|
1136
|
+
"kind",
|
|
1137
|
+
"origin",
|
|
1138
|
+
"resolves",
|
|
1139
|
+
"status",
|
|
1140
|
+
"reason"
|
|
1141
|
+
],
|
|
1142
|
+
"description": "A declared member link row of the region's member, resolved in source as workspace check resolves it (#2539).",
|
|
1143
|
+
"properties": {
|
|
1144
|
+
"consumer": {
|
|
1145
|
+
"type": "string"
|
|
1146
|
+
},
|
|
1147
|
+
"kind": {
|
|
1148
|
+
"type": "string"
|
|
1149
|
+
},
|
|
1150
|
+
"origin": {
|
|
1151
|
+
"type": "string"
|
|
1152
|
+
},
|
|
1153
|
+
"resolves": {
|
|
1154
|
+
"type": "string"
|
|
1155
|
+
},
|
|
1156
|
+
"status": {
|
|
1157
|
+
"type": "string"
|
|
1158
|
+
},
|
|
1159
|
+
"reason": {
|
|
1160
|
+
"type": [
|
|
1161
|
+
"string",
|
|
1162
|
+
"null"
|
|
1163
|
+
]
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
},
|
|
1169
|
+
"finding": {
|
|
1170
|
+
"description": "A gap the walk found. Findings are nodes so a reader can draw them and a test can assert them; the tool asks, and never answers. A plugin's commitJoins may add findings of its own, with a code in its namespace (#2656).",
|
|
1171
|
+
"type": "object",
|
|
1172
|
+
"required": [
|
|
1173
|
+
"id",
|
|
1174
|
+
"kind",
|
|
1175
|
+
"code",
|
|
1176
|
+
"message",
|
|
1177
|
+
"concerns"
|
|
1178
|
+
],
|
|
1179
|
+
"properties": {
|
|
1180
|
+
"id": {
|
|
1181
|
+
"type": "string",
|
|
1182
|
+
"pattern": "^finding:"
|
|
1183
|
+
},
|
|
1184
|
+
"kind": {
|
|
1185
|
+
"const": "finding"
|
|
1186
|
+
},
|
|
1187
|
+
"code": {
|
|
1188
|
+
"anyOf": [
|
|
1189
|
+
{
|
|
1190
|
+
"enum": [
|
|
1191
|
+
"intent-commit-undecided",
|
|
1192
|
+
"intent-commit-bare",
|
|
1193
|
+
"intent-pin-drifted",
|
|
1194
|
+
"intent-pin-missing",
|
|
1195
|
+
"intent-pin-stale",
|
|
1196
|
+
"intent-artifact-unpinned",
|
|
1197
|
+
"intent-decision-superseded-live",
|
|
1198
|
+
"intent-decision-provisional",
|
|
1199
|
+
"intent-decision-contested",
|
|
1200
|
+
"intent-constraint-coarse",
|
|
1201
|
+
"intent-constraint-lost",
|
|
1202
|
+
"intent-evidence-unpinned",
|
|
1203
|
+
"intent-trailer-unverified",
|
|
1204
|
+
"intent-region-unconstrained",
|
|
1205
|
+
"intent-decision-unimplemented",
|
|
1206
|
+
"intent-work-blocked",
|
|
1207
|
+
"intent-work-open-decided-code",
|
|
1208
|
+
"intent-commit-join-conflict"
|
|
1209
|
+
]
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"type": "string",
|
|
1213
|
+
"pattern": "^plugin:[^:\\s]+:[a-z0-9]+(-[a-z0-9]+)*$",
|
|
1214
|
+
"description": "A plugin's own code, plugin:<name>:<code>, where <name> is the kind's name in kinds. Outside the closed list: the plugin owns its namespace."
|
|
1215
|
+
}
|
|
1216
|
+
]
|
|
1217
|
+
},
|
|
1218
|
+
"message": {
|
|
1219
|
+
"type": "string"
|
|
1220
|
+
},
|
|
1221
|
+
"concerns": {
|
|
1222
|
+
"type": "array",
|
|
1223
|
+
"items": {
|
|
1224
|
+
"type": "string"
|
|
1225
|
+
},
|
|
1226
|
+
"description": "The ids of the nodes the finding is about."
|
|
1227
|
+
},
|
|
1228
|
+
"plugin": {
|
|
1229
|
+
"type": "string",
|
|
1230
|
+
"description": "For a plugin's finding: the kind file that returned it, as in kinds."
|
|
1231
|
+
},
|
|
1232
|
+
"refs": {
|
|
1233
|
+
"type": "array",
|
|
1234
|
+
"items": {
|
|
1235
|
+
"type": "string"
|
|
1236
|
+
},
|
|
1237
|
+
"description": "For a plugin's finding: the refs as the plugin gave them. Those that name a node in the graph are resolved to its id in concerns, after the commit the finding was returned for."
|
|
1238
|
+
},
|
|
1239
|
+
"openConcerns": {
|
|
1240
|
+
"type": "object",
|
|
1241
|
+
"description": "Added by #2686, on intent-decision-contested only: how many open concerns the decision's quorum reports, dissents neither addressed nor withdrawn, and the principals who raised them, normalised as the quorum compares them.",
|
|
1242
|
+
"required": [
|
|
1243
|
+
"count",
|
|
1244
|
+
"principals"
|
|
1245
|
+
],
|
|
1246
|
+
"properties": {
|
|
1247
|
+
"count": {
|
|
1248
|
+
"type": "integer",
|
|
1249
|
+
"minimum": 1
|
|
1250
|
+
},
|
|
1251
|
+
"principals": {
|
|
1252
|
+
"type": "array",
|
|
1253
|
+
"items": {
|
|
1254
|
+
"type": "string"
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
},
|
|
1259
|
+
"addressed": {
|
|
1260
|
+
"type": "boolean",
|
|
1261
|
+
"description": "Added by #2683, present when a work kind was read: whether a work item addresses the finding, because the item's source names this finding code on a region that contains or is contained by this one, or because the item implements a decision the finding concerns. A finding with addressed false is work nobody has taken yet."
|
|
1262
|
+
},
|
|
1263
|
+
"addressedBy": {
|
|
1264
|
+
"type": "array",
|
|
1265
|
+
"items": {
|
|
1266
|
+
"$ref": "#/$defs/workLink"
|
|
1267
|
+
},
|
|
1268
|
+
"description": "Added by #2683, present when a work kind was read: the work items addressing the finding, each with its state. Each has an addressed-by edge from the finding."
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
},
|
|
1272
|
+
"edge": {
|
|
1273
|
+
"description": "constrains: decision or work item to region, file or contract. pins: decision to artifact. touched-by: region to commit. produced-by: commit to unit. serves: unit to contract. supersedes: the newer decision to the one it replaces. cites-evidence: unit, contract or decision to evidence. links: consumer member to producer member. within: commit to a decision whose path window it falls in, or to a work item whose window it falls in. implements: work item to the decision it carries out. needs: work item to a work item it waits on. addressed-by: finding to a work item that addresses it. carries: commit to a decision or work item its Chant-Record trailer names, or to the work item its Chant-Lease was taken on (#3149). made-by: commit to the agent run that made it, joined by its Chant-Run trailer or the run's own list of commits (#3033). worked-on: agent run to the work item it worked on and to each record it names, when a kind read has them; the commits it made carry them as they carry a Chant-Lease's item and a Chant-Record (#3034).",
|
|
1274
|
+
"oneOf": [
|
|
1275
|
+
{
|
|
1276
|
+
"$ref": "#/$defs/constrainsEdge"
|
|
1277
|
+
},
|
|
1278
|
+
{
|
|
1279
|
+
"$ref": "#/$defs/pinsEdge"
|
|
1280
|
+
},
|
|
1281
|
+
{
|
|
1282
|
+
"$ref": "#/$defs/touchedEdge"
|
|
1283
|
+
},
|
|
1284
|
+
{
|
|
1285
|
+
"$ref": "#/$defs/withinEdge"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"$ref": "#/$defs/plainEdge"
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"$ref": "#/$defs/madeByEdge"
|
|
1292
|
+
}
|
|
1293
|
+
]
|
|
1294
|
+
},
|
|
1295
|
+
"reason": {
|
|
1296
|
+
"type": "object",
|
|
1297
|
+
"required": [
|
|
1298
|
+
"code",
|
|
1299
|
+
"message"
|
|
1300
|
+
],
|
|
1301
|
+
"properties": {
|
|
1302
|
+
"code": {
|
|
1303
|
+
"enum": [
|
|
1304
|
+
"intent-history-shallow",
|
|
1305
|
+
"intent-plugin-failed",
|
|
1306
|
+
"squash-unfollowed"
|
|
1307
|
+
]
|
|
1308
|
+
},
|
|
1309
|
+
"message": {
|
|
1310
|
+
"type": "string"
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1313
|
+
},
|
|
1314
|
+
"failure": {
|
|
1315
|
+
"description": "The declaration, a record kind or the region could not be read, and nothing was walked. Exit code 1.",
|
|
1316
|
+
"type": "object",
|
|
1317
|
+
"required": [
|
|
1318
|
+
"$schema",
|
|
1319
|
+
"contract",
|
|
1320
|
+
"chant",
|
|
1321
|
+
"error"
|
|
1322
|
+
],
|
|
1323
|
+
"properties": {
|
|
1324
|
+
"$schema": {
|
|
1325
|
+
"const": "https://intentius.io/chant/schemas/workspace/intent/v1/intent.schema.json"
|
|
1326
|
+
},
|
|
1327
|
+
"contract": {
|
|
1328
|
+
"const": 1
|
|
1329
|
+
},
|
|
1330
|
+
"chant": {
|
|
1331
|
+
"type": "string"
|
|
1332
|
+
},
|
|
1333
|
+
"error": {
|
|
1334
|
+
"type": "object",
|
|
1335
|
+
"required": [
|
|
1336
|
+
"code",
|
|
1337
|
+
"message"
|
|
1338
|
+
],
|
|
1339
|
+
"properties": {
|
|
1340
|
+
"code": {
|
|
1341
|
+
"enum": [
|
|
1342
|
+
"declaration-missing",
|
|
1343
|
+
"declaration-ambiguous",
|
|
1344
|
+
"declaration-unparseable",
|
|
1345
|
+
"declaration-invalid",
|
|
1346
|
+
"placement-invalid",
|
|
1347
|
+
"reader-too-old",
|
|
1348
|
+
"root-chant-required",
|
|
1349
|
+
"not-a-git-repository",
|
|
1350
|
+
"revision-unknown",
|
|
1351
|
+
"kind-unreadable",
|
|
1352
|
+
"kind-invalid",
|
|
1353
|
+
"schema-unreadable",
|
|
1354
|
+
"schema-id-mismatch",
|
|
1355
|
+
"schema-invalid",
|
|
1356
|
+
"location-missing",
|
|
1357
|
+
"intent-region-invalid",
|
|
1358
|
+
"intent-record-unknown",
|
|
1359
|
+
"intent-symbol-unsupported",
|
|
1360
|
+
"intent-symbol-unknown",
|
|
1361
|
+
"intent-symbol-ambiguous"
|
|
1362
|
+
]
|
|
1363
|
+
},
|
|
1364
|
+
"message": {
|
|
1365
|
+
"type": "string"
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
},
|
|
1369
|
+
"nodes": false
|
|
1370
|
+
}
|
|
1371
|
+
},
|
|
1372
|
+
"constrainsEdge": {
|
|
1373
|
+
"type": "object",
|
|
1374
|
+
"required": [
|
|
1375
|
+
"kind",
|
|
1376
|
+
"from",
|
|
1377
|
+
"to",
|
|
1378
|
+
"granularity",
|
|
1379
|
+
"entry"
|
|
1380
|
+
],
|
|
1381
|
+
"properties": {
|
|
1382
|
+
"from": {
|
|
1383
|
+
"type": "string"
|
|
1384
|
+
},
|
|
1385
|
+
"to": {
|
|
1386
|
+
"type": "string"
|
|
1387
|
+
},
|
|
1388
|
+
"kind": {
|
|
1389
|
+
"const": "constrains"
|
|
1390
|
+
},
|
|
1391
|
+
"granularity": {
|
|
1392
|
+
"enum": [
|
|
1393
|
+
"path",
|
|
1394
|
+
"member",
|
|
1395
|
+
"contract",
|
|
1396
|
+
"issue"
|
|
1397
|
+
]
|
|
1398
|
+
},
|
|
1399
|
+
"entry": {
|
|
1400
|
+
"type": "string",
|
|
1401
|
+
"description": "The constrains entry as written."
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
},
|
|
1405
|
+
"pinsEdge": {
|
|
1406
|
+
"type": "object",
|
|
1407
|
+
"required": [
|
|
1408
|
+
"kind",
|
|
1409
|
+
"from",
|
|
1410
|
+
"to",
|
|
1411
|
+
"pinnedSha256",
|
|
1412
|
+
"pinState"
|
|
1413
|
+
],
|
|
1414
|
+
"properties": {
|
|
1415
|
+
"from": {
|
|
1416
|
+
"type": "string"
|
|
1417
|
+
},
|
|
1418
|
+
"to": {
|
|
1419
|
+
"type": "string"
|
|
1420
|
+
},
|
|
1421
|
+
"kind": {
|
|
1422
|
+
"const": "pins"
|
|
1423
|
+
},
|
|
1424
|
+
"pinnedSha256": {
|
|
1425
|
+
"type": [
|
|
1426
|
+
"string",
|
|
1427
|
+
"null"
|
|
1428
|
+
],
|
|
1429
|
+
"pattern": "^[0-9a-f]{64}$"
|
|
1430
|
+
},
|
|
1431
|
+
"pinState": {
|
|
1432
|
+
"enum": [
|
|
1433
|
+
"pinned",
|
|
1434
|
+
"drifted",
|
|
1435
|
+
"missing",
|
|
1436
|
+
"stale",
|
|
1437
|
+
"unpinned"
|
|
1438
|
+
]
|
|
1439
|
+
}
|
|
1440
|
+
}
|
|
1441
|
+
},
|
|
1442
|
+
"touchedEdge": {
|
|
1443
|
+
"type": "object",
|
|
1444
|
+
"required": [
|
|
1445
|
+
"kind",
|
|
1446
|
+
"from",
|
|
1447
|
+
"to",
|
|
1448
|
+
"lines"
|
|
1449
|
+
],
|
|
1450
|
+
"properties": {
|
|
1451
|
+
"from": {
|
|
1452
|
+
"type": "string"
|
|
1453
|
+
},
|
|
1454
|
+
"to": {
|
|
1455
|
+
"type": "string"
|
|
1456
|
+
},
|
|
1457
|
+
"kind": {
|
|
1458
|
+
"const": "touched-by"
|
|
1459
|
+
},
|
|
1460
|
+
"lines": {
|
|
1461
|
+
"oneOf": [
|
|
1462
|
+
{
|
|
1463
|
+
"type": "null"
|
|
1464
|
+
},
|
|
1465
|
+
{
|
|
1466
|
+
"type": "array",
|
|
1467
|
+
"items": {
|
|
1468
|
+
"$ref": "#/$defs/lineRange"
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
]
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
},
|
|
1475
|
+
"plainEdge": {
|
|
1476
|
+
"type": "object",
|
|
1477
|
+
"required": [
|
|
1478
|
+
"kind",
|
|
1479
|
+
"from",
|
|
1480
|
+
"to"
|
|
1481
|
+
],
|
|
1482
|
+
"properties": {
|
|
1483
|
+
"from": {
|
|
1484
|
+
"type": "string"
|
|
1485
|
+
},
|
|
1486
|
+
"to": {
|
|
1487
|
+
"type": "string"
|
|
1488
|
+
},
|
|
1489
|
+
"kind": {
|
|
1490
|
+
"enum": [
|
|
1491
|
+
"produced-by",
|
|
1492
|
+
"serves",
|
|
1493
|
+
"supersedes",
|
|
1494
|
+
"cites-evidence",
|
|
1495
|
+
"links",
|
|
1496
|
+
"implements",
|
|
1497
|
+
"needs",
|
|
1498
|
+
"addressed-by",
|
|
1499
|
+
"carries",
|
|
1500
|
+
"worked-on"
|
|
1501
|
+
]
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
},
|
|
1505
|
+
"withinEdge": {
|
|
1506
|
+
"description": "A commit made inside a decision's window, from the commit that added the decision's record until the one that added its successor (#2656). state is decided when the decision's own unit made the commit, and decided-by-window otherwise. Added by #2683: a commit made inside a work item's window, from the commit that added the record to the commit that closed it, that commit included, or to the revision read while it is open, has state worked. A worked edge leaves the commit's own state as the decisions set it.",
|
|
1507
|
+
"type": "object",
|
|
1508
|
+
"required": [
|
|
1509
|
+
"kind",
|
|
1510
|
+
"from",
|
|
1511
|
+
"to",
|
|
1512
|
+
"state"
|
|
1513
|
+
],
|
|
1514
|
+
"properties": {
|
|
1515
|
+
"from": {
|
|
1516
|
+
"type": "string"
|
|
1517
|
+
},
|
|
1518
|
+
"to": {
|
|
1519
|
+
"type": "string"
|
|
1520
|
+
},
|
|
1521
|
+
"kind": {
|
|
1522
|
+
"const": "within"
|
|
1523
|
+
},
|
|
1524
|
+
"state": {
|
|
1525
|
+
"enum": [
|
|
1526
|
+
"decided",
|
|
1527
|
+
"decided-by-window",
|
|
1528
|
+
"worked"
|
|
1529
|
+
]
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
},
|
|
1533
|
+
"workLink": {
|
|
1534
|
+
"type": "object",
|
|
1535
|
+
"required": [
|
|
1536
|
+
"id",
|
|
1537
|
+
"state"
|
|
1538
|
+
],
|
|
1539
|
+
"properties": {
|
|
1540
|
+
"id": {
|
|
1541
|
+
"type": "string"
|
|
1542
|
+
},
|
|
1543
|
+
"state": {
|
|
1544
|
+
"type": [
|
|
1545
|
+
"string",
|
|
1546
|
+
"null"
|
|
1547
|
+
],
|
|
1548
|
+
"description": "The linked record's state, or null when no record has the id."
|
|
1549
|
+
}
|
|
1550
|
+
}
|
|
1551
|
+
},
|
|
1552
|
+
"decidedIn": {
|
|
1553
|
+
"description": "Added in contract 1. The commit that last moved the record into an approved state and kept it there: a state the kind's approval ranks above 0, or one of its closedStates when it has no approval. Read from the history of the record's file reachable from the revision read, or HEAD in the working tree. A record added approved was decided by the commit that added it. Null when the record is not approved in that history.",
|
|
1554
|
+
"type": [
|
|
1555
|
+
"object",
|
|
1556
|
+
"null"
|
|
1557
|
+
],
|
|
1558
|
+
"required": [
|
|
1559
|
+
"sha",
|
|
1560
|
+
"date",
|
|
1561
|
+
"subject"
|
|
1562
|
+
],
|
|
1563
|
+
"additionalProperties": false,
|
|
1564
|
+
"properties": {
|
|
1565
|
+
"sha": {
|
|
1566
|
+
"type": "string",
|
|
1567
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
1568
|
+
},
|
|
1569
|
+
"date": {
|
|
1570
|
+
"type": "string",
|
|
1571
|
+
"description": "The author date, ISO 8601."
|
|
1572
|
+
},
|
|
1573
|
+
"subject": {
|
|
1574
|
+
"type": "string"
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
},
|
|
1578
|
+
"trailerJoins": {
|
|
1579
|
+
"type": "object",
|
|
1580
|
+
"description": "What chant's own commit trailers join the commit to (#3149, ws-075). Added within version 1, so an older document may lack it.",
|
|
1581
|
+
"required": [
|
|
1582
|
+
"agent",
|
|
1583
|
+
"lease",
|
|
1584
|
+
"run",
|
|
1585
|
+
"records",
|
|
1586
|
+
"applied"
|
|
1587
|
+
],
|
|
1588
|
+
"properties": {
|
|
1589
|
+
"agent": {
|
|
1590
|
+
"type": [
|
|
1591
|
+
"string",
|
|
1592
|
+
"null"
|
|
1593
|
+
],
|
|
1594
|
+
"description": "Chant-Agent: the agent session that wrote the commit (ws-067)."
|
|
1595
|
+
},
|
|
1596
|
+
"lease": {
|
|
1597
|
+
"oneOf": [
|
|
1598
|
+
{
|
|
1599
|
+
"type": "null"
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"type": "object",
|
|
1603
|
+
"required": [
|
|
1604
|
+
"token",
|
|
1605
|
+
"item"
|
|
1606
|
+
],
|
|
1607
|
+
"properties": {
|
|
1608
|
+
"token": {
|
|
1609
|
+
"type": "string",
|
|
1610
|
+
"description": "Chant-Lease: the work lease's fencing token."
|
|
1611
|
+
},
|
|
1612
|
+
"item": {
|
|
1613
|
+
"type": [
|
|
1614
|
+
"string",
|
|
1615
|
+
"null"
|
|
1616
|
+
],
|
|
1617
|
+
"description": "The work item a lease history on the local chant/lifecycle branch names for the token, or null when none does."
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1621
|
+
]
|
|
1622
|
+
},
|
|
1623
|
+
"run": {
|
|
1624
|
+
"type": [
|
|
1625
|
+
"string",
|
|
1626
|
+
"null"
|
|
1627
|
+
],
|
|
1628
|
+
"description": "Chant-Run: the agent run that made the commit (#3033)."
|
|
1629
|
+
},
|
|
1630
|
+
"records": {
|
|
1631
|
+
"type": "array",
|
|
1632
|
+
"description": "Each well-formed Chant-Record value, <kind>:<id>, in order.",
|
|
1633
|
+
"items": {
|
|
1634
|
+
"type": "object",
|
|
1635
|
+
"required": [
|
|
1636
|
+
"kind",
|
|
1637
|
+
"id",
|
|
1638
|
+
"node"
|
|
1639
|
+
],
|
|
1640
|
+
"properties": {
|
|
1641
|
+
"kind": {
|
|
1642
|
+
"type": "string",
|
|
1643
|
+
"description": "The record kind's name."
|
|
1644
|
+
},
|
|
1645
|
+
"id": {
|
|
1646
|
+
"type": "string"
|
|
1647
|
+
},
|
|
1648
|
+
"node": {
|
|
1649
|
+
"type": [
|
|
1650
|
+
"string",
|
|
1651
|
+
"null"
|
|
1652
|
+
],
|
|
1653
|
+
"description": "The id of the record's node, record:<kind>/<id>, when a kind read has the record; null otherwise."
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
},
|
|
1658
|
+
"applied": {
|
|
1659
|
+
"oneOf": [
|
|
1660
|
+
{
|
|
1661
|
+
"type": "null"
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
"type": "object",
|
|
1665
|
+
"required": [
|
|
1666
|
+
"by",
|
|
1667
|
+
"at",
|
|
1668
|
+
"commit"
|
|
1669
|
+
],
|
|
1670
|
+
"properties": {
|
|
1671
|
+
"by": {
|
|
1672
|
+
"type": "string",
|
|
1673
|
+
"description": "Chant-Applied-By: who applied the branch."
|
|
1674
|
+
},
|
|
1675
|
+
"at": {
|
|
1676
|
+
"type": [
|
|
1677
|
+
"string",
|
|
1678
|
+
"null"
|
|
1679
|
+
],
|
|
1680
|
+
"description": "Chant-Applied-At, ISO 8601, or null when it is missing."
|
|
1681
|
+
},
|
|
1682
|
+
"commit": {
|
|
1683
|
+
"type": [
|
|
1684
|
+
"string",
|
|
1685
|
+
"null"
|
|
1686
|
+
],
|
|
1687
|
+
"description": "Chant-Applied-Commit: the applied branch's tip, or null when it is missing or not a commit id."
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
]
|
|
1692
|
+
}
|
|
1693
|
+
}
|
|
1694
|
+
},
|
|
1695
|
+
"run": {
|
|
1696
|
+
"type": "object",
|
|
1697
|
+
"description": "An agent run that made a commit in the walk (#3033), from the run ledger on the local chant/lifecycle branch. Linked from each commit it made by a made-by edge. Added within version 1. A recorded run has a worked-on edge to the work item it worked on and to each record it names, when a kind read has them (#3034).",
|
|
1698
|
+
"required": [
|
|
1699
|
+
"id",
|
|
1700
|
+
"kind",
|
|
1701
|
+
"run",
|
|
1702
|
+
"recorded",
|
|
1703
|
+
"state",
|
|
1704
|
+
"harness",
|
|
1705
|
+
"model",
|
|
1706
|
+
"provider",
|
|
1707
|
+
"by",
|
|
1708
|
+
"agent",
|
|
1709
|
+
"unit",
|
|
1710
|
+
"startedAt",
|
|
1711
|
+
"endedAt",
|
|
1712
|
+
"outcome",
|
|
1713
|
+
"usage",
|
|
1714
|
+
"cost",
|
|
1715
|
+
"transcript"
|
|
1716
|
+
],
|
|
1717
|
+
"properties": {
|
|
1718
|
+
"id": {
|
|
1719
|
+
"type": "string",
|
|
1720
|
+
"pattern": "^run:"
|
|
1721
|
+
},
|
|
1722
|
+
"kind": {
|
|
1723
|
+
"const": "run"
|
|
1724
|
+
},
|
|
1725
|
+
"run": {
|
|
1726
|
+
"type": "string"
|
|
1727
|
+
},
|
|
1728
|
+
"recorded": {
|
|
1729
|
+
"type": "boolean",
|
|
1730
|
+
"description": "Whether the ledger has the run. A Chant-Run trailer can name a run whose record is missing or not fetched; then every other field is null."
|
|
1731
|
+
},
|
|
1732
|
+
"state": {
|
|
1733
|
+
"enum": [
|
|
1734
|
+
"running",
|
|
1735
|
+
"ended",
|
|
1736
|
+
null
|
|
1737
|
+
]
|
|
1738
|
+
},
|
|
1739
|
+
"harness": {
|
|
1740
|
+
"oneOf": [
|
|
1741
|
+
{
|
|
1742
|
+
"type": "null"
|
|
1743
|
+
},
|
|
1744
|
+
{
|
|
1745
|
+
"type": "object",
|
|
1746
|
+
"required": [
|
|
1747
|
+
"name",
|
|
1748
|
+
"version"
|
|
1749
|
+
],
|
|
1750
|
+
"properties": {
|
|
1751
|
+
"name": {
|
|
1752
|
+
"type": "string"
|
|
1753
|
+
},
|
|
1754
|
+
"version": {
|
|
1755
|
+
"type": [
|
|
1756
|
+
"string",
|
|
1757
|
+
"null"
|
|
1758
|
+
]
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1762
|
+
]
|
|
1763
|
+
},
|
|
1764
|
+
"model": {
|
|
1765
|
+
"type": [
|
|
1766
|
+
"string",
|
|
1767
|
+
"null"
|
|
1768
|
+
]
|
|
1769
|
+
},
|
|
1770
|
+
"provider": {
|
|
1771
|
+
"type": [
|
|
1772
|
+
"string",
|
|
1773
|
+
"null"
|
|
1774
|
+
]
|
|
1775
|
+
},
|
|
1776
|
+
"by": {
|
|
1777
|
+
"type": [
|
|
1778
|
+
"string",
|
|
1779
|
+
"null"
|
|
1780
|
+
]
|
|
1781
|
+
},
|
|
1782
|
+
"agent": {
|
|
1783
|
+
"type": [
|
|
1784
|
+
"string",
|
|
1785
|
+
"null"
|
|
1786
|
+
]
|
|
1787
|
+
},
|
|
1788
|
+
"unit": {
|
|
1789
|
+
"type": [
|
|
1790
|
+
"string",
|
|
1791
|
+
"null"
|
|
1792
|
+
]
|
|
1793
|
+
},
|
|
1794
|
+
"startedAt": {
|
|
1795
|
+
"type": [
|
|
1796
|
+
"string",
|
|
1797
|
+
"null"
|
|
1798
|
+
]
|
|
1799
|
+
},
|
|
1800
|
+
"endedAt": {
|
|
1801
|
+
"type": [
|
|
1802
|
+
"string",
|
|
1803
|
+
"null"
|
|
1804
|
+
]
|
|
1805
|
+
},
|
|
1806
|
+
"outcome": {
|
|
1807
|
+
"type": [
|
|
1808
|
+
"string",
|
|
1809
|
+
"null"
|
|
1810
|
+
]
|
|
1811
|
+
},
|
|
1812
|
+
"usage": {
|
|
1813
|
+
"oneOf": [
|
|
1814
|
+
{
|
|
1815
|
+
"type": "null"
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
"$ref": "#/$defs/runUsage"
|
|
1819
|
+
}
|
|
1820
|
+
]
|
|
1821
|
+
},
|
|
1822
|
+
"cost": {
|
|
1823
|
+
"oneOf": [
|
|
1824
|
+
{
|
|
1825
|
+
"type": "null"
|
|
1826
|
+
},
|
|
1827
|
+
{
|
|
1828
|
+
"$ref": "#/$defs/runCost"
|
|
1829
|
+
}
|
|
1830
|
+
]
|
|
1831
|
+
},
|
|
1832
|
+
"transcript": {
|
|
1833
|
+
"oneOf": [
|
|
1834
|
+
{
|
|
1835
|
+
"type": "null"
|
|
1836
|
+
},
|
|
1837
|
+
{
|
|
1838
|
+
"$ref": "#/$defs/runPin"
|
|
1839
|
+
}
|
|
1840
|
+
]
|
|
1841
|
+
},
|
|
1842
|
+
"instruction": {
|
|
1843
|
+
"oneOf": [
|
|
1844
|
+
{
|
|
1845
|
+
"type": "null"
|
|
1846
|
+
},
|
|
1847
|
+
{
|
|
1848
|
+
"$ref": "#/$defs/runPin"
|
|
1849
|
+
}
|
|
1850
|
+
],
|
|
1851
|
+
"description": "The instruction the run was given, pinned by hash, with the writer's excerpt when it gave one (#3034). Added within version 1."
|
|
1852
|
+
},
|
|
1853
|
+
"lease": {
|
|
1854
|
+
"type": [
|
|
1855
|
+
"string",
|
|
1856
|
+
"null"
|
|
1857
|
+
],
|
|
1858
|
+
"description": "The fencing token of the work lease the run worked under (#3034). Added within version 1."
|
|
1859
|
+
}
|
|
1860
|
+
}
|
|
1861
|
+
},
|
|
1862
|
+
"runUsage": {
|
|
1863
|
+
"type": "object",
|
|
1864
|
+
"required": [
|
|
1865
|
+
"turns",
|
|
1866
|
+
"inputTokens",
|
|
1867
|
+
"outputTokens",
|
|
1868
|
+
"cacheReadTokens",
|
|
1869
|
+
"cacheWriteTokens"
|
|
1870
|
+
],
|
|
1871
|
+
"properties": {
|
|
1872
|
+
"turns": {
|
|
1873
|
+
"type": [
|
|
1874
|
+
"integer",
|
|
1875
|
+
"null"
|
|
1876
|
+
],
|
|
1877
|
+
"minimum": 0
|
|
1878
|
+
},
|
|
1879
|
+
"inputTokens": {
|
|
1880
|
+
"type": [
|
|
1881
|
+
"integer",
|
|
1882
|
+
"null"
|
|
1883
|
+
],
|
|
1884
|
+
"minimum": 0
|
|
1885
|
+
},
|
|
1886
|
+
"outputTokens": {
|
|
1887
|
+
"type": [
|
|
1888
|
+
"integer",
|
|
1889
|
+
"null"
|
|
1890
|
+
],
|
|
1891
|
+
"minimum": 0
|
|
1892
|
+
},
|
|
1893
|
+
"cacheReadTokens": {
|
|
1894
|
+
"type": [
|
|
1895
|
+
"integer",
|
|
1896
|
+
"null"
|
|
1897
|
+
],
|
|
1898
|
+
"minimum": 0
|
|
1899
|
+
},
|
|
1900
|
+
"cacheWriteTokens": {
|
|
1901
|
+
"type": [
|
|
1902
|
+
"integer",
|
|
1903
|
+
"null"
|
|
1904
|
+
],
|
|
1905
|
+
"minimum": 0
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
},
|
|
1909
|
+
"runCost": {
|
|
1910
|
+
"type": "object",
|
|
1911
|
+
"required": [
|
|
1912
|
+
"amount",
|
|
1913
|
+
"currency",
|
|
1914
|
+
"source"
|
|
1915
|
+
],
|
|
1916
|
+
"properties": {
|
|
1917
|
+
"amount": {
|
|
1918
|
+
"type": "number",
|
|
1919
|
+
"minimum": 0
|
|
1920
|
+
},
|
|
1921
|
+
"currency": {
|
|
1922
|
+
"type": "string",
|
|
1923
|
+
"pattern": "^[A-Z]{3}$",
|
|
1924
|
+
"description": "ISO 4217, such as USD."
|
|
1925
|
+
},
|
|
1926
|
+
"source": {
|
|
1927
|
+
"type": "string",
|
|
1928
|
+
"description": "What priced it, as the writer names it: a harness's own report (harness:claude-code), a proxy's price table (lobby:list-2026-09), a provider's bill."
|
|
1929
|
+
}
|
|
1930
|
+
}
|
|
1931
|
+
},
|
|
1932
|
+
"runPin": {
|
|
1933
|
+
"type": "object",
|
|
1934
|
+
"description": "A file pinned by hash and never copied.",
|
|
1935
|
+
"required": [
|
|
1936
|
+
"sha256",
|
|
1937
|
+
"bytes",
|
|
1938
|
+
"ref"
|
|
1939
|
+
],
|
|
1940
|
+
"properties": {
|
|
1941
|
+
"sha256": {
|
|
1942
|
+
"type": "string",
|
|
1943
|
+
"pattern": "^[0-9a-f]{64}$"
|
|
1944
|
+
},
|
|
1945
|
+
"bytes": {
|
|
1946
|
+
"type": [
|
|
1947
|
+
"integer",
|
|
1948
|
+
"null"
|
|
1949
|
+
],
|
|
1950
|
+
"minimum": 0,
|
|
1951
|
+
"description": "Its size, when chant hashed the file itself; null when the writer gave the hash."
|
|
1952
|
+
},
|
|
1953
|
+
"ref": {
|
|
1954
|
+
"type": [
|
|
1955
|
+
"string",
|
|
1956
|
+
"null"
|
|
1957
|
+
],
|
|
1958
|
+
"description": "Where the writer keeps it, as the writer named it. chant never reads it back."
|
|
1959
|
+
},
|
|
1960
|
+
"excerpt": {
|
|
1961
|
+
"type": "string",
|
|
1962
|
+
"maxLength": 500,
|
|
1963
|
+
"description": "On the instruction only, and only when the writer gave one (#3034): a short excerpt to show beside the hash, such as its first line. The hash pins the whole instruction; the excerpt is the writer's and is never checked against it. Added within version 1."
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
},
|
|
1967
|
+
"madeByEdge": {
|
|
1968
|
+
"type": "object",
|
|
1969
|
+
"required": [
|
|
1970
|
+
"kind",
|
|
1971
|
+
"from",
|
|
1972
|
+
"to",
|
|
1973
|
+
"joinedBy"
|
|
1974
|
+
],
|
|
1975
|
+
"properties": {
|
|
1976
|
+
"kind": {
|
|
1977
|
+
"const": "made-by"
|
|
1978
|
+
},
|
|
1979
|
+
"from": {
|
|
1980
|
+
"type": "string"
|
|
1981
|
+
},
|
|
1982
|
+
"to": {
|
|
1983
|
+
"type": "string"
|
|
1984
|
+
},
|
|
1985
|
+
"joinedBy": {
|
|
1986
|
+
"type": "array",
|
|
1987
|
+
"minItems": 1,
|
|
1988
|
+
"items": {
|
|
1989
|
+
"enum": [
|
|
1990
|
+
"trailer",
|
|
1991
|
+
"record",
|
|
1992
|
+
"patch-id",
|
|
1993
|
+
"squash"
|
|
1994
|
+
]
|
|
1995
|
+
},
|
|
1996
|
+
"description": "trailer: the commit carries Chant-Run with the run's id. record: the run's end lists the commit. patch-id: neither holds, and the commit's git patch-id --stable equals a commit's the run's end recorded, as after a rebase or a cherry-pick that dropped the trailer (#3036); never alongside the others. Added within version 1. squash: the commit squashes a pull request whose original commits join the run one of those ways, and the read was asked to follow squashes (#3035); via names them. Added within version 1."
|
|
1997
|
+
},
|
|
1998
|
+
"recordedAs": {
|
|
1999
|
+
"type": "string",
|
|
2000
|
+
"pattern": "^[0-9a-f]{40,64}$",
|
|
2001
|
+
"description": "For a patch-id join (#3036): the commit the run's end recorded with the same patch-id, which this one rewrites. Added within version 1."
|
|
2002
|
+
},
|
|
2003
|
+
"via": {
|
|
2004
|
+
"type": "array",
|
|
2005
|
+
"items": {
|
|
2006
|
+
"type": "string",
|
|
2007
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
2008
|
+
},
|
|
2009
|
+
"description": "For a squash join (#3035): the pull request's original commits through which the commit joins the run, oldest first. Added within version 1."
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
},
|
|
2013
|
+
"why": {
|
|
2014
|
+
"type": "object",
|
|
2015
|
+
"description": "The answer to why the region is like this (#3034, hud#700): who last wrote its current lines, from git blame, the agent run behind each, and the decisions governing the region, most relevant first. explained is false, with intent-why-no-decision in gaps, when no current decision accounts for it. Added within version 1, so an older document may lack it.",
|
|
2016
|
+
"required": [
|
|
2017
|
+
"lines",
|
|
2018
|
+
"blame",
|
|
2019
|
+
"decisions",
|
|
2020
|
+
"runs",
|
|
2021
|
+
"explained",
|
|
2022
|
+
"gaps"
|
|
2023
|
+
],
|
|
2024
|
+
"properties": {
|
|
2025
|
+
"lines": {
|
|
2026
|
+
"oneOf": [
|
|
2027
|
+
{
|
|
2028
|
+
"type": "null"
|
|
2029
|
+
},
|
|
2030
|
+
{
|
|
2031
|
+
"$ref": "#/$defs/lineRange"
|
|
2032
|
+
}
|
|
2033
|
+
],
|
|
2034
|
+
"description": "The lines accounted for: the region's range or symbol, the whole file, or null for a directory, which is not blamed."
|
|
2035
|
+
},
|
|
2036
|
+
"blame": {
|
|
2037
|
+
"type": "array",
|
|
2038
|
+
"items": {
|
|
2039
|
+
"$ref": "#/$defs/whySpan"
|
|
2040
|
+
},
|
|
2041
|
+
"description": "The current lines, top to bottom, in spans that one commit and the same runs last wrote. Read with git blame at the revision read, or in the working tree. Empty for a directory."
|
|
2042
|
+
},
|
|
2043
|
+
"decisions": {
|
|
2044
|
+
"type": "array",
|
|
2045
|
+
"items": {
|
|
2046
|
+
"$ref": "#/$defs/whyDecision"
|
|
2047
|
+
},
|
|
2048
|
+
"description": "Every decision node in the graph, most relevant first: current before superseded; then carried, path, contract, issue, member, related; then more of the current lines carried out; closed before open; the narrower path constraint; the later deciding commit."
|
|
2049
|
+
},
|
|
2050
|
+
"runs": {
|
|
2051
|
+
"type": "array",
|
|
2052
|
+
"items": {
|
|
2053
|
+
"$ref": "#/$defs/whyRun"
|
|
2054
|
+
},
|
|
2055
|
+
"description": "For a file, the runs that wrote its current lines, most lines first, then the later start. For a directory, every run in the walk, the latest start first, with lines 0."
|
|
2056
|
+
},
|
|
2057
|
+
"explained": {
|
|
2058
|
+
"type": "boolean",
|
|
2059
|
+
"description": "Whether a current decision governs the region at any granularity, or is carried out by the commits or runs that made its current lines."
|
|
2060
|
+
},
|
|
2061
|
+
"gaps": {
|
|
2062
|
+
"type": "array",
|
|
2063
|
+
"items": {
|
|
2064
|
+
"$ref": "#/$defs/whyGap"
|
|
2065
|
+
},
|
|
2066
|
+
"description": "What the answer can't account for, each with a closed code."
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
},
|
|
2070
|
+
"whySpan": {
|
|
2071
|
+
"type": "object",
|
|
2072
|
+
"required": [
|
|
2073
|
+
"start",
|
|
2074
|
+
"end",
|
|
2075
|
+
"commit",
|
|
2076
|
+
"sha",
|
|
2077
|
+
"runs",
|
|
2078
|
+
"narrowedBy"
|
|
2079
|
+
],
|
|
2080
|
+
"properties": {
|
|
2081
|
+
"start": {
|
|
2082
|
+
"type": "integer",
|
|
2083
|
+
"minimum": 1
|
|
2084
|
+
},
|
|
2085
|
+
"end": {
|
|
2086
|
+
"type": "integer",
|
|
2087
|
+
"minimum": 1
|
|
2088
|
+
},
|
|
2089
|
+
"commit": {
|
|
2090
|
+
"type": [
|
|
2091
|
+
"string",
|
|
2092
|
+
"null"
|
|
2093
|
+
],
|
|
2094
|
+
"description": "The commit node that last wrote the lines, or null for lines not committed yet."
|
|
2095
|
+
},
|
|
2096
|
+
"sha": {
|
|
2097
|
+
"type": [
|
|
2098
|
+
"string",
|
|
2099
|
+
"null"
|
|
2100
|
+
],
|
|
2101
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
2102
|
+
},
|
|
2103
|
+
"runs": {
|
|
2104
|
+
"type": "array",
|
|
2105
|
+
"items": {
|
|
2106
|
+
"type": "string"
|
|
2107
|
+
},
|
|
2108
|
+
"description": "The run nodes behind the lines: the run the commit's Chant-Run names first, then those whose record lists the commit. More than one is intent-why-run-ambiguous."
|
|
2109
|
+
},
|
|
2110
|
+
"narrowedBy": {
|
|
2111
|
+
"enum": [
|
|
2112
|
+
"hunks",
|
|
2113
|
+
null
|
|
2114
|
+
],
|
|
2115
|
+
"description": "hunks: runs' recorded hunks chose among the runs that made the commit, and a run whose hunks miss the lines is left out. null: every run that made the commit is listed."
|
|
2116
|
+
},
|
|
2117
|
+
"joinedBy": {
|
|
2118
|
+
"type": "array",
|
|
2119
|
+
"items": {
|
|
2120
|
+
"enum": [
|
|
2121
|
+
"trailer",
|
|
2122
|
+
"record",
|
|
2123
|
+
"patch-id",
|
|
2124
|
+
"squash"
|
|
2125
|
+
]
|
|
2126
|
+
},
|
|
2127
|
+
"description": "How the runs in runs join the commit, as their made-by edges say, without repeats; empty with no runs. patch-id marks a join by content, which a reader shows apart from a trailer or a record (#3036). Added within version 1, so an older document may lack it."
|
|
2128
|
+
},
|
|
2129
|
+
"via": {
|
|
2130
|
+
"type": "array",
|
|
2131
|
+
"items": {
|
|
2132
|
+
"type": "string",
|
|
2133
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
2134
|
+
},
|
|
2135
|
+
"description": "Only on the lines of a followed squash (#3035): the original commit that last wrote them, one of the commit node's squash.commits, by git blame at the pull request's head, and runs keeps that commit's runs and the squash's own. Empty when the file at the head differs from the squash's, so blame there can't say. Added within version 1."
|
|
2136
|
+
}
|
|
2137
|
+
}
|
|
2138
|
+
},
|
|
2139
|
+
"whyDecision": {
|
|
2140
|
+
"type": "object",
|
|
2141
|
+
"required": [
|
|
2142
|
+
"decision",
|
|
2143
|
+
"relevance",
|
|
2144
|
+
"current",
|
|
2145
|
+
"closed",
|
|
2146
|
+
"lines"
|
|
2147
|
+
],
|
|
2148
|
+
"properties": {
|
|
2149
|
+
"decision": {
|
|
2150
|
+
"type": "string",
|
|
2151
|
+
"description": "The decision node."
|
|
2152
|
+
},
|
|
2153
|
+
"relevance": {
|
|
2154
|
+
"enum": [
|
|
2155
|
+
"carried",
|
|
2156
|
+
"path",
|
|
2157
|
+
"contract",
|
|
2158
|
+
"issue",
|
|
2159
|
+
"member",
|
|
2160
|
+
"related"
|
|
2161
|
+
],
|
|
2162
|
+
"description": "carried: a commit or run that made current lines carries the decision out, through a unit, a Chant-Record or Chant-Lease trailer, or the run's work item and records (for a directory, any commit in the walk). path, contract, issue, member: it constrains the region that way. related: it is in the graph only through supersession, or through a commit that made no current line."
|
|
2163
|
+
},
|
|
2164
|
+
"current": {
|
|
2165
|
+
"type": "boolean",
|
|
2166
|
+
"description": "Not superseded."
|
|
2167
|
+
},
|
|
2168
|
+
"closed": {
|
|
2169
|
+
"type": "boolean",
|
|
2170
|
+
"description": "Its state is one its kind closes, such as ratified."
|
|
2171
|
+
},
|
|
2172
|
+
"lines": {
|
|
2173
|
+
"type": "integer",
|
|
2174
|
+
"minimum": 0,
|
|
2175
|
+
"description": "How many current lines were made as its own work."
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
},
|
|
2179
|
+
"whyRun": {
|
|
2180
|
+
"type": "object",
|
|
2181
|
+
"required": [
|
|
2182
|
+
"run",
|
|
2183
|
+
"lines",
|
|
2184
|
+
"commits",
|
|
2185
|
+
"unit",
|
|
2186
|
+
"decisions"
|
|
2187
|
+
],
|
|
2188
|
+
"properties": {
|
|
2189
|
+
"run": {
|
|
2190
|
+
"type": "string",
|
|
2191
|
+
"description": "The run node."
|
|
2192
|
+
},
|
|
2193
|
+
"lines": {
|
|
2194
|
+
"type": "integer",
|
|
2195
|
+
"minimum": 0
|
|
2196
|
+
},
|
|
2197
|
+
"commits": {
|
|
2198
|
+
"type": "array",
|
|
2199
|
+
"items": {
|
|
2200
|
+
"type": "string"
|
|
2201
|
+
},
|
|
2202
|
+
"description": "The commit nodes through which it made the lines."
|
|
2203
|
+
},
|
|
2204
|
+
"unit": {
|
|
2205
|
+
"oneOf": [
|
|
2206
|
+
{
|
|
2207
|
+
"type": "null"
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"type": "object",
|
|
2211
|
+
"required": [
|
|
2212
|
+
"id",
|
|
2213
|
+
"kind",
|
|
2214
|
+
"node"
|
|
2215
|
+
],
|
|
2216
|
+
"properties": {
|
|
2217
|
+
"id": {
|
|
2218
|
+
"type": "string"
|
|
2219
|
+
},
|
|
2220
|
+
"kind": {
|
|
2221
|
+
"type": [
|
|
2222
|
+
"string",
|
|
2223
|
+
"null"
|
|
2224
|
+
]
|
|
2225
|
+
},
|
|
2226
|
+
"node": {
|
|
2227
|
+
"type": [
|
|
2228
|
+
"string",
|
|
2229
|
+
"null"
|
|
2230
|
+
],
|
|
2231
|
+
"description": "The work node, when a work kind read has the item."
|
|
2232
|
+
}
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
],
|
|
2236
|
+
"description": "The work item the run record names."
|
|
2237
|
+
},
|
|
2238
|
+
"decisions": {
|
|
2239
|
+
"type": "array",
|
|
2240
|
+
"items": {
|
|
2241
|
+
"type": "string"
|
|
2242
|
+
},
|
|
2243
|
+
"description": "The decision nodes it carried out: the ones its work item implements and the decision records it names."
|
|
2244
|
+
},
|
|
2245
|
+
"joinedBy": {
|
|
2246
|
+
"type": "array",
|
|
2247
|
+
"items": {
|
|
2248
|
+
"enum": [
|
|
2249
|
+
"trailer",
|
|
2250
|
+
"record",
|
|
2251
|
+
"patch-id",
|
|
2252
|
+
"squash"
|
|
2253
|
+
]
|
|
2254
|
+
},
|
|
2255
|
+
"description": "How the run joins the commits in commits, as their made-by edges say, without repeats (#3036). Added within version 1, so an older document may lack it."
|
|
2256
|
+
}
|
|
2257
|
+
}
|
|
2258
|
+
},
|
|
2259
|
+
"whyGap": {
|
|
2260
|
+
"type": "object",
|
|
2261
|
+
"required": [
|
|
2262
|
+
"code",
|
|
2263
|
+
"message"
|
|
2264
|
+
],
|
|
2265
|
+
"properties": {
|
|
2266
|
+
"code": {
|
|
2267
|
+
"enum": [
|
|
2268
|
+
"intent-why-no-decision",
|
|
2269
|
+
"intent-why-no-run",
|
|
2270
|
+
"intent-why-uncommitted",
|
|
2271
|
+
"intent-why-run-ambiguous"
|
|
2272
|
+
]
|
|
2273
|
+
},
|
|
2274
|
+
"message": {
|
|
2275
|
+
"type": "string"
|
|
2276
|
+
},
|
|
2277
|
+
"lines": {
|
|
2278
|
+
"type": "array",
|
|
2279
|
+
"items": {
|
|
2280
|
+
"$ref": "#/$defs/lineRange"
|
|
2281
|
+
},
|
|
2282
|
+
"description": "The lines the gap is about, for intent-why-uncommitted and intent-why-run-ambiguous."
|
|
2283
|
+
}
|
|
2284
|
+
}
|
|
2285
|
+
},
|
|
2286
|
+
"squash": {
|
|
2287
|
+
"type": "object",
|
|
2288
|
+
"description": "Present only when the read follows squashes (--follow-squash, #3035) and the commit squashes a pull request: its subject ends with (#<n>), it has one parent, and the pull request's head is not in its history. The commit carries what the original commits' trailers carry and joins their runs. Added within version 1.",
|
|
2289
|
+
"required": [
|
|
2290
|
+
"pullRequest",
|
|
2291
|
+
"forge",
|
|
2292
|
+
"ref",
|
|
2293
|
+
"head",
|
|
2294
|
+
"fetched",
|
|
2295
|
+
"followed",
|
|
2296
|
+
"commits"
|
|
2297
|
+
],
|
|
2298
|
+
"properties": {
|
|
2299
|
+
"pullRequest": {
|
|
2300
|
+
"type": "integer",
|
|
2301
|
+
"minimum": 1
|
|
2302
|
+
},
|
|
2303
|
+
"forge": {
|
|
2304
|
+
"enum": [
|
|
2305
|
+
"github",
|
|
2306
|
+
"forgejo",
|
|
2307
|
+
null
|
|
2308
|
+
],
|
|
2309
|
+
"description": "The forge origin points at, from its URL, or null for one chant doesn't know or no origin. Both keep the pull request's head at refs/pull/<n>/head."
|
|
2310
|
+
},
|
|
2311
|
+
"ref": {
|
|
2312
|
+
"type": [
|
|
2313
|
+
"string",
|
|
2314
|
+
"null"
|
|
2315
|
+
],
|
|
2316
|
+
"description": "The local ref the head was read from: refs/chant/pull/<n>/head where a read fetched it, refs/pull/<n>/head, or refs/remotes/origin/pr/<n>. Null when none could be read."
|
|
2317
|
+
},
|
|
2318
|
+
"head": {
|
|
2319
|
+
"oneOf": [
|
|
2320
|
+
{
|
|
2321
|
+
"type": "string",
|
|
2322
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
2323
|
+
},
|
|
2324
|
+
{
|
|
2325
|
+
"type": "null"
|
|
2326
|
+
}
|
|
2327
|
+
],
|
|
2328
|
+
"description": "The pull request's head commit, or null."
|
|
2329
|
+
},
|
|
2330
|
+
"fetched": {
|
|
2331
|
+
"type": "boolean",
|
|
2332
|
+
"description": "Whether this read fetched the ref from origin."
|
|
2333
|
+
},
|
|
2334
|
+
"followed": {
|
|
2335
|
+
"type": "boolean",
|
|
2336
|
+
"description": "Whether the original commits were read. When false, squash-unfollowed in reasons says why, and commits is empty."
|
|
2337
|
+
},
|
|
2338
|
+
"commits": {
|
|
2339
|
+
"type": "array",
|
|
2340
|
+
"items": {
|
|
2341
|
+
"type": "object",
|
|
2342
|
+
"required": [
|
|
2343
|
+
"sha",
|
|
2344
|
+
"subject",
|
|
2345
|
+
"author",
|
|
2346
|
+
"date",
|
|
2347
|
+
"trailers",
|
|
2348
|
+
"signature",
|
|
2349
|
+
"joins"
|
|
2350
|
+
],
|
|
2351
|
+
"properties": {
|
|
2352
|
+
"sha": {
|
|
2353
|
+
"type": "string",
|
|
2354
|
+
"pattern": "^[0-9a-f]{40,64}$"
|
|
2355
|
+
},
|
|
2356
|
+
"subject": {
|
|
2357
|
+
"type": "string"
|
|
2358
|
+
},
|
|
2359
|
+
"author": {
|
|
2360
|
+
"type": "object",
|
|
2361
|
+
"required": [
|
|
2362
|
+
"name",
|
|
2363
|
+
"email"
|
|
2364
|
+
],
|
|
2365
|
+
"properties": {
|
|
2366
|
+
"name": {
|
|
2367
|
+
"type": "string"
|
|
2368
|
+
},
|
|
2369
|
+
"email": {
|
|
2370
|
+
"type": "string"
|
|
2371
|
+
}
|
|
2372
|
+
}
|
|
2373
|
+
},
|
|
2374
|
+
"date": {
|
|
2375
|
+
"type": "string"
|
|
2376
|
+
},
|
|
2377
|
+
"trailers": {
|
|
2378
|
+
"type": "object",
|
|
2379
|
+
"additionalProperties": {
|
|
2380
|
+
"type": "array",
|
|
2381
|
+
"items": {
|
|
2382
|
+
"type": "string"
|
|
2383
|
+
}
|
|
2384
|
+
}
|
|
2385
|
+
},
|
|
2386
|
+
"joins": {
|
|
2387
|
+
"$ref": "#/$defs/trailerJoins"
|
|
2388
|
+
},
|
|
2389
|
+
"signature": {
|
|
2390
|
+
"type": "object",
|
|
2391
|
+
"required": [
|
|
2392
|
+
"level",
|
|
2393
|
+
"reason"
|
|
2394
|
+
],
|
|
2395
|
+
"properties": {
|
|
2396
|
+
"level": {
|
|
2397
|
+
"enum": [
|
|
2398
|
+
"attested",
|
|
2399
|
+
"attested-unverifiable-here",
|
|
2400
|
+
"adopted",
|
|
2401
|
+
"unattested"
|
|
2402
|
+
],
|
|
2403
|
+
"description": "The commit's provenance level, judged by the signers at base as records judges a record (#2547)."
|
|
2404
|
+
},
|
|
2405
|
+
"reason": {
|
|
2406
|
+
"type": "string"
|
|
2407
|
+
},
|
|
2408
|
+
"principal": {
|
|
2409
|
+
"type": "string"
|
|
2410
|
+
}
|
|
2411
|
+
}
|
|
2412
|
+
}
|
|
2413
|
+
}
|
|
2414
|
+
},
|
|
2415
|
+
"description": "The original commits, oldest first: the head's commits the squash's parent doesn't have, merges left out."
|
|
2416
|
+
}
|
|
2417
|
+
}
|
|
2418
|
+
}
|
|
2419
|
+
}
|
|
2420
|
+
}
|