akm-cli 0.9.0-rc.9 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1063 -44
- package/README.md +51 -25
- package/SECURITY.md +14 -1
- package/STABILITY.md +497 -0
- package/dist/akm +148 -35
- package/dist/{akm-migrate-storage → akm-migrate} +6 -9
- package/dist/assets/hints/cli-hints-full.md +223 -95
- package/dist/assets/hints/cli-hints-short.md +85 -22
- package/dist/assets/improve-strategies/default.json +1 -1
- package/dist/assets/improve-strategies/reflect-distill.json +1 -1
- package/dist/assets/prompts/memory-infer-user.md +2 -3
- package/dist/assets/stash-skeleton/README.md +6 -5
- package/dist/assets/stash-skeleton/facts/conventions/assets/agent.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/command.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/fact.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/knowledge.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/lesson.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/memory.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/script.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/skill.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/assets/workflow.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/backlinks.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/domains.md +2 -0
- package/dist/assets/stash-skeleton/facts/conventions/organization.md +20 -9
- package/dist/assets/tasks/core/extract.yml +1 -1
- package/dist/assets/tasks/core/version-check.yml +1 -1
- package/dist/assets/tasks/improve/akm-graph-refresh-weekly.yml +5 -0
- package/dist/assets/tasks/improve/akm-improve-catchup.yml +8 -0
- package/dist/assets/tasks/improve/akm-improve-consolidate.yml +5 -0
- package/dist/assets/tasks/improve/akm-improve-frequent.yml +5 -0
- package/dist/assets/tasks/improve/akm-improve-nightly.yml +5 -0
- package/dist/assets/templates/html/health.html +1 -3
- package/dist/assets/workflows/workflow-template.md +32 -15
- package/dist/cli/invocation.js +40 -15
- package/dist/cli/parse-args.js +0 -22
- package/dist/cli/retired-commands.js +121 -0
- package/dist/cli/shared.js +154 -22
- package/dist/cli/unknown-flags.js +236 -0
- package/dist/cli-node.mjs +2 -1
- package/dist/cli.js +696 -258
- package/dist/commands/agent/agent-dispatch.js +14 -3
- package/dist/commands/agent/contribute-cli.js +73 -88
- package/dist/commands/completions.js +79 -22
- package/dist/commands/config-cli.js +17 -150
- package/dist/commands/env/env-cli.js +59 -143
- package/dist/commands/env/env.js +12 -163
- package/dist/commands/env/marker-path.js +6 -0
- package/dist/commands/env/secret-cli.js +36 -66
- package/dist/commands/env/secret.js +24 -57
- package/dist/commands/feedback-cli.js +141 -87
- package/dist/commands/health/accept-rate.js +58 -0
- package/dist/commands/health/advisories.js +3 -4
- package/dist/commands/health/checks.js +85 -23
- package/dist/commands/health/html-report.js +7 -10
- package/dist/commands/health/improve-metrics.js +25 -83
- package/dist/commands/health/md-report.js +5 -9
- package/dist/commands/health/metrics.js +62 -20
- package/dist/commands/health/renderers.js +47 -0
- package/dist/commands/health/report-view-model.js +4 -5
- package/dist/commands/health/stash-exposure.js +1 -1
- package/dist/commands/health/surfaces.js +3 -48
- package/dist/commands/health/task-runs.js +3 -67
- package/dist/commands/health/types-improve.js +7 -0
- package/dist/commands/health.js +99 -28
- package/dist/commands/improve/anti-collapse.js +2 -2
- package/dist/commands/improve/autonomy-gate.js +68 -0
- package/dist/commands/improve/collapse-detector.js +41 -40
- package/dist/commands/improve/consolidate/eligibility.js +1 -23
- package/dist/commands/improve/consolidate/merge.js +4 -0
- package/dist/commands/improve/consolidate.js +140 -1000
- package/dist/commands/improve/distill/promote-memory.js +12 -12
- package/dist/commands/improve/distill/quality-gate.js +6 -6
- package/dist/commands/improve/distill.js +58 -69
- package/dist/commands/improve/eligibility.js +95 -55
- package/dist/commands/improve/extract-cli.js +14 -133
- package/dist/commands/improve/improve-cli.js +98 -114
- package/dist/commands/improve/improve-result-file.js +1 -28
- package/dist/commands/improve/improve-strategies.js +8 -5
- package/dist/commands/improve/improve.js +128 -91
- package/dist/commands/improve/loop-stages.js +182 -20
- package/dist/commands/improve/memory/derived-ref.js +45 -43
- package/dist/commands/improve/memory/memory-belief.js +1 -1
- package/dist/commands/improve/memory/memory-contradiction-detect.js +4 -12
- package/dist/commands/improve/memory/memory-improve.js +6 -5
- package/dist/commands/improve/outcome-loop.js +22 -65
- package/dist/commands/improve/preparation.js +114 -123
- package/dist/commands/improve/proactive-maintenance.js +2 -5
- package/dist/commands/improve/reflect.js +56 -160
- package/dist/commands/improve/salience.js +11 -122
- package/dist/commands/improve/source-identity.js +10 -38
- package/dist/commands/lint/base-linter.js +20 -124
- package/dist/commands/lint/env-key-rules.js +31 -47
- package/dist/commands/lint/index.js +249 -43
- package/dist/commands/{events.js → log.js} +33 -38
- package/dist/commands/migrate-cli.js +92 -12
- package/dist/commands/migration-tool.js +46 -0
- package/dist/commands/observability-cli.js +70 -209
- package/dist/commands/proposal/drain.js +101 -29
- package/dist/commands/proposal/proposal-cli.js +76 -48
- package/dist/commands/proposal/proposal.js +54 -18
- package/dist/commands/proposal/propose-cli.js +88 -0
- package/dist/commands/proposal/propose.js +23 -15
- package/dist/commands/proposal/repository.js +701 -278
- package/dist/commands/proposal/validators/proposal-quality-validators.js +2 -8
- package/dist/commands/proposal/validators/proposal-validators.js +55 -7
- package/dist/commands/proposal/validators/proposals.js +4 -7
- package/dist/commands/read/curate.js +34 -53
- package/dist/commands/read/knowledge.js +150 -95
- package/dist/commands/read/registry-search.js +2 -2
- package/dist/commands/read/remember-cli.js +42 -15
- package/dist/commands/read/search-cli.js +180 -78
- package/dist/commands/read/search.js +58 -43
- package/dist/commands/read/show.js +197 -141
- package/dist/commands/registry-cli.js +12 -51
- package/dist/commands/remember.js +14 -57
- package/dist/commands/sources/add-cli.js +100 -31
- package/dist/commands/sources/bundle-cli.js +166 -0
- package/dist/commands/sources/bundle-config-ops.js +7 -2
- package/dist/commands/sources/info.js +18 -5
- package/dist/commands/sources/init.js +12 -12
- package/dist/commands/sources/installed-stashes.js +382 -98
- package/dist/commands/sources/schema-repair.js +3 -2
- package/dist/commands/sources/self-update.js +131 -38
- package/dist/commands/sources/source-add.js +72 -17
- package/dist/commands/sources/source-clone.js +129 -45
- package/dist/commands/sources/source-manage.js +43 -23
- package/dist/commands/sources/sources-cli.js +57 -208
- package/dist/commands/sources/stash-cli.js +46 -53
- package/dist/commands/tasks/tasks-cli.js +91 -97
- package/dist/commands/tasks/tasks.js +276 -421
- package/dist/commands/workflow-cli.js +175 -450
- package/dist/core/adapter/adapters/akm-adapter.js +47 -28
- package/dist/core/adapter/adapters/akm-lint.js +42 -27
- package/dist/core/adapter/adapters/akm-metadata.js +15 -44
- package/dist/core/adapter/adapters/akm-task-adapter.js +15 -13
- package/dist/core/adapter/adapters/akm-workflow-adapter.js +55 -71
- package/dist/core/adapter/adapters/dotenv-adapter.js +1 -1
- package/dist/core/adapter/adapters/generic-files-adapter.js +2 -0
- package/dist/core/adapter/adapters/index.js +6 -6
- package/dist/core/adapter/adapters/llm-wiki-adapter.js +14 -8
- package/dist/core/adapter/adapters/okf-adapter.js +187 -19
- package/dist/core/adapter/adapters/shared.js +3 -19
- package/dist/core/adapter/adapters/tool-dir-shared.js +8 -3
- package/dist/core/adapter/adapters/website-snapshot-adapter.js +1 -0
- package/dist/core/adapter/detect-adapter.js +17 -0
- package/dist/core/adapter/recognize-match.js +6 -4
- package/dist/core/adapter/validate-context.js +214 -0
- package/dist/core/asset/akm-markdown.js +63 -0
- package/dist/core/asset/asset-placement.js +20 -6
- package/dist/core/asset/asset-ref.js +11 -9
- package/dist/core/asset/frontmatter-lint.js +30 -0
- package/dist/core/asset/frontmatter.js +25 -9
- package/dist/core/asset/markdown.js +40 -51
- package/dist/core/asset/resolve-ref.js +89 -18
- package/dist/core/asset/stash-meta.js +1 -1
- package/dist/core/bundle-id.js +51 -0
- package/dist/core/common.js +152 -38
- package/dist/core/config/config-io.js +12 -1
- package/dist/core/config/config-schema.js +35 -8
- package/dist/core/config/config-sources.js +55 -11
- package/dist/core/config/config-walker.js +25 -9
- package/dist/core/config/config.js +9 -48
- package/dist/core/config/experimental.js +21 -0
- package/dist/core/config/schema/embedding.js +5 -1
- package/dist/core/config/schema/experimental.js +30 -0
- package/dist/core/config/schema/improve-processes.js +0 -6
- package/dist/core/config/schema/improve.js +21 -3
- package/dist/core/config/schema/index-config.js +8 -15
- package/dist/core/config/schema/output.js +4 -1
- package/dist/core/config/schema/setup.js +9 -18
- package/dist/core/config/schema/sources-bundles.js +49 -33
- package/dist/core/config/schema/workflow.js +3 -3
- package/dist/core/env-secret-ref.js +76 -46
- package/dist/core/errors.js +18 -12
- package/dist/core/events.js +46 -128
- package/dist/core/file-change.js +6 -5
- package/dist/core/fs-txn.js +83 -7
- package/dist/core/git-message.js +2 -2
- package/dist/core/improve-result.js +1 -100
- package/dist/core/lesson-lint.js +1 -17
- package/dist/core/logs-db.js +2 -1
- package/dist/core/migration-operation.js +16 -0
- package/dist/core/mutation-target.js +78 -0
- package/dist/core/parse.js +4 -1
- package/dist/core/paths.js +17 -20
- package/dist/core/recognition-util.js +12 -14
- package/dist/core/redaction.js +34 -0
- package/dist/core/standards/resolve-standards-context.js +2 -14
- package/dist/core/standards/resolve-stash-standards.js +2 -2
- package/dist/core/standards/resolve-type-conventions.js +2 -2
- package/dist/core/state/migrations.js +41 -18
- package/dist/core/state-db.js +5 -14
- package/dist/core/structured.js +1 -1
- package/dist/core/subprocess.js +6 -4
- package/dist/core/text-truncation.js +9 -5
- package/dist/core/type-presentation.js +3 -3
- package/dist/core/warn.js +0 -3
- package/dist/core/write-source.js +771 -95
- package/dist/indexer/bundle-identity-guard.js +3 -2
- package/dist/indexer/db/graph-db.js +0 -24
- package/dist/indexer/ensure-index.js +1 -0
- package/dist/indexer/graph/graph-boost.js +9 -34
- package/dist/indexer/graph/graph-extraction.js +8 -5
- package/dist/indexer/index-writer-lock.js +53 -17
- package/dist/indexer/index-written-assets.js +16 -22
- package/dist/indexer/indexer.js +497 -239
- package/dist/indexer/installations.js +14 -96
- package/dist/indexer/passes/dir-staleness.js +16 -9
- package/dist/indexer/passes/memory-inference.js +11 -9
- package/dist/indexer/passes/metadata.js +113 -47
- package/dist/indexer/scan/doc-to-entry.js +38 -1
- package/dist/indexer/scan/drain-dir.js +13 -23
- package/dist/indexer/search/db-search.js +99 -54
- package/dist/indexer/search/fts-query.js +47 -24
- package/dist/indexer/search/ranking-contributors.js +42 -20
- package/dist/indexer/search/ranking.js +18 -99
- package/dist/indexer/search/search-fields.js +7 -2
- package/dist/indexer/search/search-source.js +82 -93
- package/dist/indexer/usage/usage-events.js +0 -89
- package/dist/indexer/walk/file-context.js +2 -1
- package/dist/indexer/walk/matchers.js +30 -43
- package/dist/indexer/walk/path-resolver.js +7 -2
- package/dist/indexer/walk/walker.js +38 -12
- package/dist/integrations/agent/builders.js +0 -6
- package/dist/integrations/agent/config.js +2 -2
- package/dist/integrations/agent/detect.js +49 -19
- package/dist/integrations/agent/engine-fallback.js +76 -0
- package/dist/integrations/agent/profiles.js +14 -0
- package/dist/integrations/agent/prompts.js +12 -8
- package/dist/integrations/agent/runner-dispatch.js +4 -2
- package/dist/integrations/agent/runner.js +0 -1
- package/dist/integrations/agent/spawn.js +5 -6
- package/dist/integrations/github.js +1 -1
- package/dist/integrations/harnesses/aider/agent-builder.js +6 -4
- package/dist/integrations/harnesses/amazonq/agent-builder.js +7 -4
- package/dist/integrations/harnesses/claude/session-log.js +0 -10
- package/dist/integrations/harnesses/codex/agent-builder.js +5 -2
- package/dist/integrations/harnesses/copilot/agent-builder.js +5 -3
- package/dist/integrations/harnesses/gemini/agent-builder.js +5 -3
- package/dist/integrations/harnesses/index.js +3 -7
- package/dist/integrations/harnesses/opencode/agent-builder.js +21 -2
- package/dist/integrations/harnesses/opencode/session-log.js +0 -15
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +13 -4
- package/dist/integrations/harnesses/openhands/agent-builder.js +9 -6
- package/dist/integrations/harnesses/pi/agent-builder.js +6 -4
- package/dist/integrations/lockfile.js +88 -7
- package/dist/integrations/session-logs/index.js +3 -28
- package/dist/llm/client.js +136 -100
- package/dist/llm/embedders/remote.js +13 -5
- package/dist/llm/feature-gate.js +4 -12
- package/dist/llm/graph-extract.js +5 -11
- package/dist/llm/memory-infer.js +144 -1
- package/dist/llm/metadata-enhance.js +5 -7
- package/dist/llm/structured-call.js +1 -1
- package/dist/llm/usage-persist.js +26 -5
- package/dist/llm/usage-telemetry.js +25 -2
- package/dist/output/cli-hints.js +1 -2
- package/dist/output/context.js +22 -7
- package/dist/output/format-exempt.js +80 -0
- package/dist/output/generic-render.js +259 -0
- package/dist/output/render-registry.js +57 -0
- package/dist/output/renderers.js +14 -36
- package/dist/output/shapes/curate.js +10 -1
- package/dist/output/shapes/events.js +12 -7
- package/dist/output/shapes/helpers.js +56 -83
- package/dist/output/shapes/migrate.js +8 -0
- package/dist/output/shapes/passthrough.js +7 -41
- package/dist/output/shapes/proposal/producer.js +15 -7
- package/dist/output/shapes.js +2 -9
- package/dist/output/text/{init.js → bundle-create.js} +3 -1
- package/dist/output/text/bundle-show.js +7 -0
- package/dist/output/text/command-format.js +164 -96
- package/dist/output/text/env.js +1 -3
- package/dist/output/text/events.js +8 -7
- package/dist/output/text/health-format.js +103 -0
- package/dist/output/text/health.js +7 -0
- package/dist/output/text/helpers.js +10 -8
- package/dist/output/text/lint-format.js +43 -0
- package/dist/output/text/{save.js → lint.js} +2 -2
- package/dist/output/text/migrate.js +88 -0
- package/dist/output/text/proposal/producer.js +4 -2
- package/dist/output/text/proposal-format.js +44 -72
- package/dist/output/text/registry-commands.js +1 -2
- package/dist/output/text/show-directives.js +15 -7
- package/dist/output/text/status-list.js +32 -0
- package/dist/output/text/sync.js +5 -0
- package/dist/output/text/workflow-format.js +24 -203
- package/dist/output/text/workflow.js +1 -7
- package/dist/output/text.js +16 -17
- package/dist/registry/factory.js +4 -6
- package/dist/registry/origin-resolve.js +16 -27
- package/dist/registry/providers/skills-sh.js +3 -3
- package/dist/registry/providers/static-index.js +13 -23
- package/dist/registry/resolve.js +42 -7
- package/dist/registry/semver.js +34 -84
- package/dist/runtime.js +2 -23
- package/dist/scripts/akm-migrate-node.js +60290 -0
- package/dist/scripts/akm-migrate.js +59628 -0
- package/dist/setup/detect.js +42 -15
- package/dist/setup/registry-stash-loader.js +2 -2
- package/dist/setup/setup.js +236 -136
- package/dist/setup/steps/connection.js +7 -9
- package/dist/setup/steps/platforms.js +9 -9
- package/dist/setup/steps/semantic.js +15 -3
- package/dist/setup/steps/sources.js +12 -13
- package/dist/setup/steps/stashdir.js +2 -3
- package/dist/setup/steps/tasks.js +237 -120
- package/dist/sources/freshness.js +1 -1
- package/dist/sources/provider-factory.js +11 -17
- package/dist/sources/providers/filesystem.js +2 -3
- package/dist/sources/providers/git-install.js +278 -34
- package/dist/sources/providers/git-provider.js +25 -23
- package/dist/sources/providers/git-stash.js +395 -106
- package/dist/sources/providers/git.js +2 -2
- package/dist/sources/providers/npm.js +16 -19
- package/dist/sources/providers/provider-utils.js +7 -4
- package/dist/sources/providers/sync-from-ref.js +3 -9
- package/dist/sources/providers/website.js +6 -1
- package/dist/sources/resolve.js +6 -5
- package/dist/sources/snapshot-fetchers/bluesky.js +146 -0
- package/dist/sources/snapshot-fetchers/content-extract.js +566 -0
- package/dist/sources/snapshot-fetchers/fetcher-util.js +41 -0
- package/dist/sources/snapshot-fetchers/github.js +100 -0
- package/dist/sources/snapshot-fetchers/host-guard.js +291 -0
- package/dist/sources/snapshot-fetchers/registry.js +17 -1
- package/dist/sources/snapshot-fetchers/robots.js +348 -0
- package/dist/sources/snapshot-fetchers/rss.js +282 -0
- package/dist/sources/snapshot-fetchers/secret-seam.js +42 -0
- package/dist/sources/snapshot-fetchers/website-ingest.js +566 -268
- package/dist/sources/snapshot-fetchers/x.js +910 -0
- package/dist/storage/database.js +7 -0
- package/dist/storage/engines/sqlite-migrations.js +23 -111
- package/dist/storage/managed-db.js +2 -2
- package/dist/storage/repositories/canaries-repository.js +1 -1
- package/dist/storage/repositories/events-repository.js +27 -11
- package/dist/storage/repositories/improve-runs-repository.js +6 -12
- package/dist/storage/repositories/index-connection.js +17 -6
- package/dist/storage/repositories/index-entries-repository.js +151 -240
- package/dist/storage/repositories/index-entry-mapper.js +15 -11
- package/dist/storage/repositories/index-fts-repository.js +5 -2
- package/dist/storage/repositories/index-llm-cache-repository.js +0 -1
- package/dist/storage/repositories/index-meta-repository.js +2 -3
- package/dist/storage/repositories/index-schema.js +10 -25
- package/dist/storage/repositories/index-utility-repository.js +15 -28
- package/dist/storage/repositories/index-vec-repository.js +6 -1
- package/dist/storage/repositories/outcome-repository.js +119 -0
- package/dist/storage/repositories/proposals-repository.js +296 -59
- package/dist/storage/repositories/registry-cache.js +19 -0
- package/dist/storage/repositories/salience-repository.js +172 -0
- package/dist/storage/repositories/task-history-repository.js +15 -13
- package/dist/storage/repositories/workflow-runs-repository.js +52 -40
- package/dist/tasks/backends/cron.js +105 -15
- package/dist/tasks/backends/index.js +1 -1
- package/dist/tasks/backends/launchd.js +85 -38
- package/dist/tasks/backends/schtasks.js +135 -15
- package/dist/tasks/embedded.js +56 -40
- package/dist/tasks/parser.js +7 -157
- package/dist/tasks/resolve-akm-bin.js +137 -59
- package/dist/tasks/runner.js +79 -42
- package/dist/tasks/scheduler-invocation.js +220 -10
- package/dist/tasks/schema.js +24 -1
- package/dist/tasks/task-id.js +1 -3
- package/dist/tasks/validator.js +20 -6
- package/dist/workflows/authoring/authoring.js +94 -143
- package/dist/workflows/authoring/scope-key.js +1 -1
- package/dist/workflows/exec/frozen-judge.js +28 -2
- package/dist/workflows/exec/native-executor.js +77 -57
- package/dist/workflows/exec/param-secrets.js +9 -9
- package/dist/workflows/exec/run-workflow.js +133 -79
- package/dist/workflows/exec/step-work.js +219 -346
- package/dist/{migrate-storage-node.mjs → workflows/exec/unit-dispatch.js} +1 -5
- package/dist/workflows/ir/compile.js +141 -270
- package/dist/workflows/ir/freeze.js +40 -30
- package/dist/workflows/ir/params.js +135 -11
- package/dist/workflows/ir/plan-hash.js +1 -1
- package/dist/workflows/ir/schema.js +25 -26
- package/dist/workflows/parser.js +872 -307
- package/dist/workflows/program/expressions.js +20 -208
- package/dist/workflows/program/schema.js +7 -10
- package/dist/workflows/renderer.js +95 -68
- package/dist/workflows/resource-limits.js +2 -0
- package/dist/workflows/runtime/checkin.js +3 -3
- package/dist/workflows/runtime/plan-classifier.js +16 -75
- package/dist/workflows/runtime/runs.js +186 -127
- package/dist/workflows/runtime/unit-checkin.js +1 -1
- package/dist/workflows/runtime/unit-phases.js +2 -2
- package/dist/workflows/runtime/workflow-asset-loader.js +232 -83
- package/dist/workflows/schema.js +1 -11
- package/dist/workflows/validate-summary.js +30 -36
- package/dist/workflows/validator.js +21 -62
- package/docs/README.md +68 -0
- package/docs/migration/README.md +8 -0
- package/docs/migration/release-notes/0.7.0.md +11 -11
- package/docs/migration/release-notes/0.9.0.md +208 -27
- package/docs/migration/v0.7-to-v0.8.md +46 -47
- package/docs/migration/v0.8-to-v0.9.md +564 -208
- package/docs/migration/v0.9.0-troubleshooting.md +561 -0
- package/docs/reference/README.md +12 -0
- package/docs/reference/cli.md +2253 -0
- package/docs/reference/configuration.md +358 -0
- package/docs/reference/data-and-telemetry.md +105 -42
- package/docs/reference/workflows.md +647 -0
- package/package.json +22 -11
- package/schemas/akm-asset-envelope.json +93 -0
- package/schemas/akm-config.json +81 -128
- package/schemas/akm-workflow.json +74 -73
- package/dist/assets/tasks/core/backup.yml +0 -5
- package/dist/assets/tasks/graph-refresh-weekly.yml +0 -10
- package/dist/cli/config-migrate.js +0 -1878
- package/dist/cli/config-validate.js +0 -41
- package/dist/commands/backup-cli.js +0 -56
- package/dist/commands/bundle/bundle-cli.js +0 -68
- package/dist/commands/bundle/bundle.js +0 -219
- package/dist/commands/graph/graph-cli.js +0 -124
- package/dist/commands/graph/graph.js +0 -489
- package/dist/commands/improve/extract-watch.js +0 -140
- package/dist/commands/mv-cli.js +0 -1221
- package/dist/commands/sources/history.js +0 -201
- package/dist/commands/tasks/default-tasks.js +0 -186
- package/dist/core/migration-backup.js +0 -1231
- package/dist/indexer/usage/unmigrated-vaults-guard.js +0 -95
- package/dist/llm/memory-infer-impl.js +0 -138
- package/dist/migrate/legacy/config-source-migration.js +0 -257
- package/dist/migrate/legacy/content-migration.js +0 -350
- package/dist/migrate/legacy/legacy-layout.js +0 -779
- package/dist/migrate/legacy/legacy-paths.js +0 -25
- package/dist/migrate/legacy/legacy-stash-json.js +0 -80
- package/dist/migrate/legacy/proposal-fs-import.js +0 -168
- package/dist/migrate/legacy/task-target-ref-migration.js +0 -278
- package/dist/migrate/legacy/three-db-cutover.js +0 -845
- package/dist/migrate/legacy/workflow-migrations-bodies.js +0 -52
- package/dist/migrate/legacy/workflow-migrations-frozen.js +0 -21
- package/dist/migrate/legacy-ref-grammar.js +0 -214
- package/dist/output/shapes/distill.js +0 -14
- package/dist/output/shapes/history.js +0 -11
- package/dist/output/text/distill.js +0 -6
- package/dist/output/text/enable-disable.js +0 -8
- package/dist/output/text/history.js +0 -6
- package/dist/registry/build-index.js +0 -382
- package/dist/schemas/akm-config.json +0 -4704
- package/dist/schemas/akm-task.json +0 -87
- package/dist/schemas/akm-workflow.json +0 -372
- package/dist/scripts/migrate-storage.js +0 -3816
- package/dist/workflows/authoring/workflow-program-template.yaml +0 -31
- package/dist/workflows/cli.js +0 -53
- package/dist/workflows/exec/brief.js +0 -481
- package/dist/workflows/exec/report.js +0 -1460
- package/dist/workflows/exec/watch.js +0 -116
- package/dist/workflows/program/parser.js +0 -813
- package/dist/workflows/program/project.js +0 -104
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://itlackey.github.io/akm/schemas/akm-task.json",
|
|
4
|
-
"title": "AKM Scheduled Task",
|
|
5
|
-
"description": "Strict version-2 YAML task definition. Exactly one target is required.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"required": ["version", "schedule"],
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"version": { "const": 2 },
|
|
11
|
-
"name": { "type": "string" },
|
|
12
|
-
"description": { "type": "string" },
|
|
13
|
-
"when_to_use": { "type": "string" },
|
|
14
|
-
"tags": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
15
|
-
"schedule": { "type": "string", "minLength": 1 },
|
|
16
|
-
"enabled": { "type": "boolean" },
|
|
17
|
-
"workflow": { "type": "string", "minLength": 1 },
|
|
18
|
-
"prompt": { "type": "string", "minLength": 1 },
|
|
19
|
-
"command": {
|
|
20
|
-
"oneOf": [
|
|
21
|
-
{ "type": "string", "minLength": 1 },
|
|
22
|
-
{ "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } }
|
|
23
|
-
]
|
|
24
|
-
},
|
|
25
|
-
"params": { "type": "object" },
|
|
26
|
-
"engine": { "type": "string", "minLength": 1 },
|
|
27
|
-
"model": { "type": "string", "minLength": 1 },
|
|
28
|
-
"timeoutMs": { "type": ["integer", "null"], "minimum": 1 },
|
|
29
|
-
"llm": { "$ref": "#/definitions/llm" }
|
|
30
|
-
},
|
|
31
|
-
"oneOf": [
|
|
32
|
-
{
|
|
33
|
-
"required": ["workflow"],
|
|
34
|
-
"not": { "anyOf": [{ "required": ["prompt"] }, { "required": ["command"] }, { "required": ["engine"] }, { "required": ["model"] }, { "required": ["timeoutMs"] }, { "required": ["llm"] }] }
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"required": ["prompt"],
|
|
38
|
-
"not": { "anyOf": [{ "required": ["workflow"] }, { "required": ["command"] }, { "required": ["params"] }] }
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"required": ["command"],
|
|
42
|
-
"not": { "anyOf": [{ "required": ["workflow"] }, { "required": ["prompt"] }, { "required": ["params"] }, { "required": ["engine"] }, { "required": ["model"] }, { "required": ["llm"] }] }
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"definitions": {
|
|
46
|
-
"llm": {
|
|
47
|
-
"type": "object",
|
|
48
|
-
"additionalProperties": false,
|
|
49
|
-
"properties": {
|
|
50
|
-
"temperature": { "type": "number" },
|
|
51
|
-
"maxTokens": { "type": "integer", "minimum": 1 },
|
|
52
|
-
"supportsJsonSchema": { "type": "boolean" },
|
|
53
|
-
"extraParams": { "$ref": "#/definitions/extraParams" },
|
|
54
|
-
"contextLength": { "type": "integer", "minimum": 1 },
|
|
55
|
-
"enableThinking": { "type": "boolean" }
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
"extraParams": {
|
|
59
|
-
"type": "object",
|
|
60
|
-
"description": "Provider-specific request fields. Top-level AKM-owned fields are forbidden; credential-shaped keys are forbidden recursively after lowercase/non-alphanumeric normalization.",
|
|
61
|
-
"propertyNames": {
|
|
62
|
-
"not": {
|
|
63
|
-
"enum": ["model", "messages", "temperature", "maxtokens", "responseformat", "stream", "streamoptions", "enablethinking", "chattemplatekwargs", "authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
"additionalProperties": { "$ref": "#/definitions/extraParamValue" },
|
|
67
|
-
"x-akm-protectedTopLevelNormalizedKeys": ["model", "messages", "temperature", "maxtokens", "responseformat", "stream", "streamoptions", "enablethinking", "chattemplatekwargs"],
|
|
68
|
-
"x-akm-recursivelyForbiddenNormalizedKeys": ["authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
69
|
-
},
|
|
70
|
-
"extraParamValue": {
|
|
71
|
-
"anyOf": [
|
|
72
|
-
{ "type": ["string", "number", "boolean", "null"] },
|
|
73
|
-
{ "type": "array", "items": { "$ref": "#/definitions/extraParamValue" } },
|
|
74
|
-
{
|
|
75
|
-
"type": "object",
|
|
76
|
-
"propertyNames": {
|
|
77
|
-
"not": {
|
|
78
|
-
"enum": ["authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
"additionalProperties": { "$ref": "#/definitions/extraParamValue" },
|
|
82
|
-
"x-akm-recursivelyForbiddenNormalizedKeys": ["authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://itlackey.github.io/akm/schemas/akm-workflow.json",
|
|
4
|
-
"title": "AKM Workflow Program",
|
|
5
|
-
"description": "YAML workflow program for the akm CLI (Agent Knowledge Management). Files live under workflows/ with extension .yaml or .yml. Hand-authored alongside src/workflows/program/schema.ts; the enum vocabularies and patterns here are pinned against the TypeScript constants by tests/workflows/program-parser.test.ts — update both together.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"required": ["version", "name", "steps"],
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"version": {
|
|
11
|
-
"const": 2,
|
|
12
|
-
"description": "Workflow program format version. Only 2 is valid."
|
|
13
|
-
},
|
|
14
|
-
"name": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"minLength": 1,
|
|
17
|
-
"description": "Workflow name."
|
|
18
|
-
},
|
|
19
|
-
"description": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"description": "Optional human-readable description."
|
|
22
|
-
},
|
|
23
|
-
"params": {
|
|
24
|
-
"type": "object",
|
|
25
|
-
"maxProperties": 128,
|
|
26
|
-
"description": "Run parameters: param name -> JSON Schema declaration. Names must be ${{ params.<name> }}-addressable identifiers.",
|
|
27
|
-
"propertyNames": {
|
|
28
|
-
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
|
|
29
|
-
},
|
|
30
|
-
"additionalProperties": {
|
|
31
|
-
"$ref": "#/definitions/jsonSchemaObject"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"defaults": {
|
|
35
|
-
"$ref": "#/definitions/defaults"
|
|
36
|
-
},
|
|
37
|
-
"budget": {
|
|
38
|
-
"$ref": "#/definitions/budget"
|
|
39
|
-
},
|
|
40
|
-
"steps": {
|
|
41
|
-
"type": "array",
|
|
42
|
-
"minItems": 1,
|
|
43
|
-
"maxItems": 256,
|
|
44
|
-
"items": {
|
|
45
|
-
"$ref": "#/definitions/step"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
"definitions": {
|
|
50
|
-
"identifier": {
|
|
51
|
-
"type": "string",
|
|
52
|
-
"pattern": "^[A-Za-z_][A-Za-z0-9_-]*$",
|
|
53
|
-
"description": "Step id: a letter or underscore first, then letters, digits, underscores, or dashes (no dots, no leading digit). This is exactly the ${{ steps.<id>.output }}-addressable grammar; dots are reserved for the .output path separator and the engine's internal <stepId>.gate node id."
|
|
54
|
-
},
|
|
55
|
-
"timeout": {
|
|
56
|
-
"description": "Duration: \"<n>ms\" | \"<n>s\" | \"<n>m\" | \"none\" (bare integers are milliseconds).",
|
|
57
|
-
"oneOf": [
|
|
58
|
-
{
|
|
59
|
-
"type": "string",
|
|
60
|
-
"pattern": "^([0-9]+(ms|s|m)?|none)$"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"type": "integer",
|
|
64
|
-
"minimum": 1
|
|
65
|
-
}
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"onError": {
|
|
69
|
-
"description": "Failure policy: fail the step on the first unit failure (default), or record failures and let the gate decide.",
|
|
70
|
-
"enum": ["fail", "continue"]
|
|
71
|
-
},
|
|
72
|
-
"llm": {
|
|
73
|
-
"type": "object",
|
|
74
|
-
"additionalProperties": false,
|
|
75
|
-
"properties": {
|
|
76
|
-
"temperature": { "type": "number" },
|
|
77
|
-
"max_tokens": { "type": "integer", "minimum": 1 },
|
|
78
|
-
"supports_json_schema": { "type": "boolean" },
|
|
79
|
-
"extra_params": { "$ref": "#/definitions/extraParams" },
|
|
80
|
-
"context_length": { "type": "integer", "minimum": 1 },
|
|
81
|
-
"enable_thinking": { "type": "boolean" }
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
"extraParams": {
|
|
85
|
-
"type": "object",
|
|
86
|
-
"description": "Provider-specific request fields. Top-level AKM-owned fields are forbidden; credential-shaped keys are forbidden recursively after lowercase/non-alphanumeric normalization.",
|
|
87
|
-
"propertyNames": {
|
|
88
|
-
"not": {
|
|
89
|
-
"enum": ["model", "messages", "temperature", "maxtokens", "responseformat", "stream", "streamoptions", "enablethinking", "chattemplatekwargs", "authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
"additionalProperties": { "$ref": "#/definitions/extraParamValue" },
|
|
93
|
-
"x-akm-protectedTopLevelNormalizedKeys": ["model", "messages", "temperature", "maxtokens", "responseformat", "stream", "streamoptions", "enablethinking", "chattemplatekwargs"],
|
|
94
|
-
"x-akm-recursivelyForbiddenNormalizedKeys": ["authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
95
|
-
},
|
|
96
|
-
"extraParamValue": {
|
|
97
|
-
"anyOf": [
|
|
98
|
-
{ "type": ["string", "number", "boolean", "null"] },
|
|
99
|
-
{ "type": "array", "items": { "$ref": "#/definitions/extraParamValue" } },
|
|
100
|
-
{
|
|
101
|
-
"type": "object",
|
|
102
|
-
"propertyNames": {
|
|
103
|
-
"not": {
|
|
104
|
-
"enum": ["authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
"additionalProperties": { "$ref": "#/definitions/extraParamValue" },
|
|
108
|
-
"x-akm-recursivelyForbiddenNormalizedKeys": ["authorization", "headers", "apikey", "token", "password", "secret", "cookie", "setcookie"]
|
|
109
|
-
}
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
"reducer": {
|
|
113
|
-
"description": "How a map step folds per-item unit results into the step artifact.",
|
|
114
|
-
"enum": ["collect", "vote"]
|
|
115
|
-
},
|
|
116
|
-
"isolation": {
|
|
117
|
-
"description": "Filesystem isolation for file-mutating units (enforcement lands in R2).",
|
|
118
|
-
"enum": ["none", "worktree"]
|
|
119
|
-
},
|
|
120
|
-
"failureReason": {
|
|
121
|
-
"description": "Persisted AgentFailureReason taxonomy (src/integrations/agent/spawn.ts).",
|
|
122
|
-
"enum": [
|
|
123
|
-
"timeout",
|
|
124
|
-
"spawn_failed",
|
|
125
|
-
"non_zero_exit",
|
|
126
|
-
"parse_error",
|
|
127
|
-
"cooldown",
|
|
128
|
-
"llm_rate_limit",
|
|
129
|
-
"llm_content_filter",
|
|
130
|
-
"llm_invalid_json",
|
|
131
|
-
"content_policy_reject",
|
|
132
|
-
"unsupported_type",
|
|
133
|
-
"no_change",
|
|
134
|
-
"aborted"
|
|
135
|
-
]
|
|
136
|
-
},
|
|
137
|
-
"jsonSchemaObject": {
|
|
138
|
-
"type": "object",
|
|
139
|
-
"description": "A JSON Schema declaration (validated as a schema by the compiler, not here)."
|
|
140
|
-
},
|
|
141
|
-
"retry": {
|
|
142
|
-
"type": "object",
|
|
143
|
-
"description": "Bounded retry on transient failures, keyed on the persisted failure_reason taxonomy.",
|
|
144
|
-
"required": ["max", "on"],
|
|
145
|
-
"additionalProperties": false,
|
|
146
|
-
"properties": {
|
|
147
|
-
"max": {
|
|
148
|
-
"type": "integer",
|
|
149
|
-
"minimum": 0,
|
|
150
|
-
"description": "Maximum retry attempts per unit."
|
|
151
|
-
},
|
|
152
|
-
"on": {
|
|
153
|
-
"type": "array",
|
|
154
|
-
"minItems": 1,
|
|
155
|
-
"items": {
|
|
156
|
-
"$ref": "#/definitions/failureReason"
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
"budget": {
|
|
162
|
-
"type": "object",
|
|
163
|
-
"description": "Run-level budget ceilings, enforced by the engine per run (journal-seeded). Hitting a ceiling fails the step hard, regardless of on_error.",
|
|
164
|
-
"additionalProperties": false,
|
|
165
|
-
"properties": {
|
|
166
|
-
"max_tokens": {
|
|
167
|
-
"type": "integer",
|
|
168
|
-
"minimum": 1,
|
|
169
|
-
"description": "Ceiling on total reported token usage across the run (seeded from journaled unit rows)."
|
|
170
|
-
},
|
|
171
|
-
"max_units": {
|
|
172
|
-
"type": "integer",
|
|
173
|
-
"minimum": 1,
|
|
174
|
-
"maximum": 10000,
|
|
175
|
-
"description": "Ceiling on total dispatched units across the run (seeded from journaled unit rows)."
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
},
|
|
179
|
-
"defaults": {
|
|
180
|
-
"type": "object",
|
|
181
|
-
"description": "Run-level defaults, overridable per unit.",
|
|
182
|
-
"additionalProperties": false,
|
|
183
|
-
"properties": {
|
|
184
|
-
"engine": {
|
|
185
|
-
"type": "string",
|
|
186
|
-
"minLength": 1
|
|
187
|
-
},
|
|
188
|
-
"model": {
|
|
189
|
-
"type": "string",
|
|
190
|
-
"minLength": 1,
|
|
191
|
-
"description": "Model alias (tier) or exact id; resolved per-harness at dispatch."
|
|
192
|
-
},
|
|
193
|
-
"timeout": {
|
|
194
|
-
"$ref": "#/definitions/timeout"
|
|
195
|
-
},
|
|
196
|
-
"on_error": {
|
|
197
|
-
"$ref": "#/definitions/onError"
|
|
198
|
-
},
|
|
199
|
-
"llm": {
|
|
200
|
-
"$ref": "#/definitions/llm"
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
},
|
|
204
|
-
"unit": {
|
|
205
|
-
"type": "object",
|
|
206
|
-
"description": "A single dispatchable unit: instructions plus dispatch overrides.",
|
|
207
|
-
"required": ["instructions"],
|
|
208
|
-
"additionalProperties": false,
|
|
209
|
-
"properties": {
|
|
210
|
-
"engine": {
|
|
211
|
-
"type": "string",
|
|
212
|
-
"minLength": 1,
|
|
213
|
-
"description": "Named engine selected at workflow start."
|
|
214
|
-
},
|
|
215
|
-
"model": {
|
|
216
|
-
"type": "string",
|
|
217
|
-
"minLength": 1
|
|
218
|
-
},
|
|
219
|
-
"llm": {
|
|
220
|
-
"$ref": "#/definitions/llm"
|
|
221
|
-
},
|
|
222
|
-
"timeout": {
|
|
223
|
-
"$ref": "#/definitions/timeout"
|
|
224
|
-
},
|
|
225
|
-
"retry": {
|
|
226
|
-
"$ref": "#/definitions/retry"
|
|
227
|
-
},
|
|
228
|
-
"on_error": {
|
|
229
|
-
"$ref": "#/definitions/onError"
|
|
230
|
-
},
|
|
231
|
-
"instructions": {
|
|
232
|
-
"type": "string",
|
|
233
|
-
"minLength": 1,
|
|
234
|
-
"description": "Instruction template. ${{ … }} expressions are parsed against the closed grammar: params.<name> | steps.<id>.output.<path> | item | item_index."
|
|
235
|
-
},
|
|
236
|
-
"output": {
|
|
237
|
-
"$ref": "#/definitions/jsonSchemaObject"
|
|
238
|
-
},
|
|
239
|
-
"env": {
|
|
240
|
-
"type": "array",
|
|
241
|
-
"items": {
|
|
242
|
-
"type": "string",
|
|
243
|
-
"minLength": 1
|
|
244
|
-
},
|
|
245
|
-
"description": "Env asset refs injected into the dispatched unit env."
|
|
246
|
-
},
|
|
247
|
-
"isolation": {
|
|
248
|
-
"$ref": "#/definitions/isolation"
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
"map": {
|
|
253
|
-
"type": "object",
|
|
254
|
-
"description": "Fan the unit template out over an expression-addressed item list.",
|
|
255
|
-
"required": ["over", "unit"],
|
|
256
|
-
"additionalProperties": false,
|
|
257
|
-
"properties": {
|
|
258
|
-
"over": {
|
|
259
|
-
"type": "string",
|
|
260
|
-
"minLength": 1,
|
|
261
|
-
"description": "${{ … }} expression naming the producer of the item list (e.g. ${{ steps.discover.output.files }})."
|
|
262
|
-
},
|
|
263
|
-
"concurrency": {
|
|
264
|
-
"type": "integer",
|
|
265
|
-
"minimum": 1,
|
|
266
|
-
"description": "Max concurrent units for this step; capped by the engine's global limit."
|
|
267
|
-
},
|
|
268
|
-
"reducer": {
|
|
269
|
-
"$ref": "#/definitions/reducer"
|
|
270
|
-
},
|
|
271
|
-
"unit": {
|
|
272
|
-
"$ref": "#/definitions/unit"
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
},
|
|
276
|
-
"route": {
|
|
277
|
-
"type": "object",
|
|
278
|
-
"description": "Route on an explicit ${{ … }} input to a LATER step. Targets must come after the routing step.",
|
|
279
|
-
"required": ["input", "when"],
|
|
280
|
-
"additionalProperties": false,
|
|
281
|
-
"properties": {
|
|
282
|
-
"input": {
|
|
283
|
-
"type": "string",
|
|
284
|
-
"minLength": 1,
|
|
285
|
-
"description": "${{ … }} expression naming the value to route on."
|
|
286
|
-
},
|
|
287
|
-
"when": {
|
|
288
|
-
"type": "object",
|
|
289
|
-
"minProperties": 1,
|
|
290
|
-
"maxProperties": 256,
|
|
291
|
-
"description": "Match value -> target step id.",
|
|
292
|
-
"additionalProperties": {
|
|
293
|
-
"$ref": "#/definitions/identifier"
|
|
294
|
-
}
|
|
295
|
-
},
|
|
296
|
-
"default": {
|
|
297
|
-
"$ref": "#/definitions/identifier"
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
},
|
|
301
|
-
"gate": {
|
|
302
|
-
"type": "object",
|
|
303
|
-
"description": "Completion gate criteria judged against the step artifact.",
|
|
304
|
-
"required": ["criteria"],
|
|
305
|
-
"additionalProperties": false,
|
|
306
|
-
"properties": {
|
|
307
|
-
"criteria": {
|
|
308
|
-
"type": "array",
|
|
309
|
-
"minItems": 1,
|
|
310
|
-
"items": {
|
|
311
|
-
"type": "string",
|
|
312
|
-
"minLength": 1
|
|
313
|
-
}
|
|
314
|
-
},
|
|
315
|
-
"max_loops": {
|
|
316
|
-
"type": "integer",
|
|
317
|
-
"minimum": 1,
|
|
318
|
-
"description": "Evaluator-optimizer loop bound (execution lands in R2)."
|
|
319
|
-
},
|
|
320
|
-
"required": {
|
|
321
|
-
"type": "boolean",
|
|
322
|
-
"description": "When true, the gate must be judged: if no summary-validation judge is available (offline / misconfigured LLM), the step BLOCKS for a human instead of failing open and silently passing. Absent = fail-open default. The engine's --require-gates flag applies this to every criteria-bearing gate for one invocation."
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
"step": {
|
|
327
|
-
"type": "object",
|
|
328
|
-
"description": "One step of the gated spine. Exactly one of unit | map | route.",
|
|
329
|
-
"required": ["id"],
|
|
330
|
-
"additionalProperties": false,
|
|
331
|
-
"properties": {
|
|
332
|
-
"id": {
|
|
333
|
-
"$ref": "#/definitions/identifier"
|
|
334
|
-
},
|
|
335
|
-
"title": {
|
|
336
|
-
"type": "string",
|
|
337
|
-
"minLength": 1
|
|
338
|
-
},
|
|
339
|
-
"unit": {
|
|
340
|
-
"$ref": "#/definitions/unit"
|
|
341
|
-
},
|
|
342
|
-
"map": {
|
|
343
|
-
"$ref": "#/definitions/map"
|
|
344
|
-
},
|
|
345
|
-
"route": {
|
|
346
|
-
"$ref": "#/definitions/route"
|
|
347
|
-
},
|
|
348
|
-
"output": {
|
|
349
|
-
"$ref": "#/definitions/jsonSchemaObject"
|
|
350
|
-
},
|
|
351
|
-
"gate": {
|
|
352
|
-
"$ref": "#/definitions/gate"
|
|
353
|
-
}
|
|
354
|
-
},
|
|
355
|
-
"allOf": [
|
|
356
|
-
{
|
|
357
|
-
"oneOf": [
|
|
358
|
-
{
|
|
359
|
-
"required": ["unit"]
|
|
360
|
-
},
|
|
361
|
-
{
|
|
362
|
-
"required": ["map"]
|
|
363
|
-
},
|
|
364
|
-
{
|
|
365
|
-
"required": ["route"]
|
|
366
|
-
}
|
|
367
|
-
]
|
|
368
|
-
}
|
|
369
|
-
]
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
}
|