akm-cli 0.10.261012-beta → 0.10.261014-beta
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 +710 -3
- package/README.md +15 -0
- package/SECURITY.md +11 -10
- package/STABILITY.md +47 -51
- package/dist/assets/hints/cli-hints-full.md +21 -19
- package/dist/assets/hints/cli-hints-short.md +3 -4
- package/dist/assets/opencode/akm-plugin.js +177 -0
- package/dist/assets/stash-skeleton/README.md +1 -1
- package/dist/assets/tasks/core/improve.yml +1 -1
- package/dist/assets/tasks/improve/akm-improve-consolidate.yml +1 -1
- package/dist/assets/ui/config.js +27 -10
- package/dist/assets/workflows/workflow-template.md +2 -2
- package/dist/cli/clack.js +3 -1
- package/dist/cli/selection.js +33 -0
- package/dist/cli/shared.js +14 -1
- package/dist/cli/unknown-flags.js +6 -37
- package/dist/cli.js +69 -48
- package/dist/commands/agent/agent-dispatch.js +17 -25
- package/dist/commands/agent/contribute-cli.js +9 -8
- package/dist/commands/command/command-cli.js +4 -8
- package/dist/commands/command/command-execution.js +25 -39
- package/dist/commands/command/execution-source-loader.js +10 -14
- package/dist/commands/completions.js +1 -1
- package/dist/commands/config-cli.js +14 -5
- package/dist/commands/env/child-env.js +12 -14
- package/dist/commands/env/env-binding.js +47 -58
- package/dist/commands/env/env-cli.js +22 -24
- package/dist/commands/env/env.js +10 -58
- package/dist/commands/env/secret-cli.js +11 -29
- package/dist/commands/env/secret.js +3 -10
- package/dist/commands/health/checks.js +10 -849
- package/dist/commands/health/connections-and-harnesses-check.js +109 -0
- package/dist/commands/health/egress.js +3 -3
- package/dist/commands/health/html-report.js +9 -10
- package/dist/commands/health/plugin-staleness.js +18 -11
- package/dist/commands/health/report-view-model.js +16 -12
- package/dist/commands/health/scheduler-binary.js +1 -1
- package/dist/commands/health/semantic-search-check.js +85 -0
- package/dist/commands/health/type-directory-check.js +0 -3
- package/dist/commands/health.js +30 -42
- package/dist/commands/improve/consolidate/pair-pass.js +10 -25
- package/dist/commands/improve/consolidate.js +10 -15
- package/dist/commands/improve/distill.js +5 -17
- package/dist/commands/improve/eligibility.js +1 -3
- package/dist/commands/improve/execution.js +37 -40
- package/dist/commands/improve/extract-cli.js +6 -11
- package/dist/commands/improve/extract-prompt.js +2 -2
- package/dist/commands/improve/extract.js +67 -97
- package/dist/commands/improve/improve-cli.js +22 -128
- package/dist/commands/improve/improve-report.js +1 -1
- package/dist/commands/improve/improve-strategies.js +25 -108
- package/dist/commands/improve/improve.js +10 -14
- package/dist/commands/improve/loop-stages.js +3 -0
- package/dist/commands/improve/memory/memory-improve.js +1 -1
- package/dist/commands/improve/preparation.js +8 -13
- package/dist/commands/improve/reflect.js +203 -332
- package/dist/commands/improve/retrieval-scope.js +1 -1
- package/dist/commands/improve/session-asset.js +3 -2
- package/dist/commands/improve/stage.js +87 -115
- package/dist/commands/lint/base-linter.js +3 -3
- package/dist/commands/lint/env-key-rules.js +7 -6
- package/dist/commands/lint/index.js +3 -3
- package/dist/commands/models-cli.js +103 -63
- package/dist/commands/proposal/drain.js +26 -39
- package/dist/commands/proposal/proposal-cli.js +14 -18
- package/dist/commands/proposal/propose-cli.js +4 -2
- package/dist/commands/proposal/propose.js +37 -64
- package/dist/commands/proposal/repository.js +17 -17
- package/dist/commands/proposal/validators/proposal-validators.js +3 -6
- package/dist/commands/read/curate.js +10 -6
- package/dist/commands/read/registry-search.js +2 -48
- package/dist/commands/read/search-cli.js +1 -8
- package/dist/commands/read/search.js +5 -6
- package/dist/commands/read/show.js +6 -29
- package/dist/commands/remember.js +25 -40
- package/dist/commands/sources/add-cli.js +8 -63
- package/dist/commands/sources/bundle-cli.js +8 -9
- package/dist/commands/sources/bundle-config-ops.js +2 -2
- package/dist/commands/sources/info.js +12 -1
- package/dist/commands/sources/init.js +1 -1
- package/dist/commands/sources/installed-stashes.js +119 -63
- package/dist/commands/sources/migration-help.js +1 -1
- package/dist/commands/sources/plugin-upgrade.js +8 -15
- package/dist/commands/sources/schema-repair.js +4 -10
- package/dist/commands/sources/source-add.js +2 -2
- package/dist/commands/sources/source-clone.js +31 -7
- package/dist/commands/sources/source-manage.js +4 -4
- package/dist/commands/targets.js +175 -0
- package/dist/commands/tasks/explain.js +104 -69
- package/dist/commands/tasks/tasks-cli.js +9 -11
- package/dist/commands/tasks/tasks.js +75 -97
- package/dist/commands/ui/api.js +11 -3
- package/dist/commands/ui/redact.js +5 -31
- package/dist/commands/ui/workspace-actions.js +1 -1
- package/dist/commands/workflow/plan.js +48 -9
- package/dist/commands/workflow-cli.js +40 -45
- package/dist/core/adapter/adapters/agent-skills-adapter.js +10 -11
- package/dist/core/adapter/adapters/akm-adapter.js +36 -41
- package/dist/core/adapter/adapters/akm-lint.js +10 -12
- package/dist/core/adapter/adapters/akm-metadata.js +2 -2
- package/dist/core/adapter/adapters/akm-task-adapter.js +8 -9
- package/dist/core/adapter/adapters/akm-workflow-adapter.js +5 -5
- package/dist/core/adapter/adapters/claude-adapter.js +1 -1
- package/dist/core/adapter/adapters/dotenv-adapter.js +7 -6
- package/dist/core/adapter/adapters/generic-files-adapter.js +5 -5
- package/dist/core/adapter/adapters/index.js +3 -4
- package/dist/core/adapter/adapters/llm-wiki-adapter.js +12 -14
- package/dist/core/adapter/adapters/okf-adapter.js +8 -10
- package/dist/core/adapter/adapters/opencode-adapter.js +1 -1
- package/dist/core/adapter/adapters/shared.js +3 -3
- package/dist/core/adapter/adapters/tool-dir-shared.js +7 -25
- package/dist/core/adapter/adapters/website-snapshot-adapter.js +3 -3
- package/dist/core/adapter/detect-adapter.js +1 -1
- package/dist/core/adapter/execution-source.js +13 -35
- package/dist/core/adapter/registry.js +1 -1
- package/dist/core/adapter/validate-context.js +2 -4
- package/dist/core/asset/asset-placement.js +1 -1
- package/dist/core/asset/asset-ref.js +3 -3
- package/dist/core/asset/resolve-ref.js +5 -0
- package/dist/core/bundle-rename.js +12 -4
- package/dist/core/closest-match.js +37 -0
- package/dist/core/common.js +37 -57
- package/dist/core/config/config-io.js +26 -18
- package/dist/core/config/config-schema.js +19 -106
- package/dist/core/config/config-sources.js +3 -3
- package/dist/core/config/config-types.js +4 -4
- package/dist/core/config/config-walker.js +50 -77
- package/dist/core/config/config.js +438 -109
- package/dist/core/config/convert-engine-references.js +114 -0
- package/dist/core/config/convert-engines-shared.js +40 -0
- package/dist/core/config/convert-engines.js +300 -0
- package/dist/core/config/convert-models-overlay.js +137 -0
- package/dist/core/config/credentials.js +304 -0
- package/dist/core/config/engine-semantics.js +3 -3
- package/dist/core/config/migrate-keys.js +222 -0
- package/dist/core/config/model-aliases.js +37 -0
- package/dist/core/config/models-file.js +34 -0
- package/dist/core/config/retired-engines.js +53 -0
- package/dist/core/config/schema/connections.js +41 -0
- package/dist/core/config/schema/embedding.js +2 -2
- package/dist/core/config/schema/harnesses.js +41 -0
- package/dist/core/config/schema/improve-processes.js +9 -28
- package/dist/core/config/schema/improve.js +36 -1
- package/dist/core/config/schema/index-config.js +18 -20
- package/dist/core/config/schema/primitives.js +42 -17
- package/dist/core/config/schema/search.js +6 -11
- package/dist/core/config/schema/sources-bundles.js +9 -9
- package/dist/core/config/schema/workflow.js +2 -6
- package/dist/core/config/unusable-entries.js +66 -0
- package/dist/core/content-safety.js +3 -6
- package/dist/core/endpoint-url.js +47 -0
- package/dist/core/env-secret-ref.js +84 -73
- package/dist/core/errors.js +10 -16
- package/dist/core/extra-params.js +3 -3
- package/dist/core/improve-result.js +8 -9
- package/dist/core/json-schema.js +1 -1
- package/dist/core/lesson-lint.js +1 -1
- package/dist/core/llm-inference.js +80 -0
- package/dist/core/parse.js +2 -2
- package/dist/core/paths.js +33 -10
- package/dist/core/recognition-util.js +8 -10
- package/dist/core/redaction.js +94 -55
- package/dist/core/ref-token.js +82 -0
- package/dist/core/secret-value.js +14 -0
- package/dist/core/state/migrations.js +17 -22
- package/dist/core/structured.js +2 -68
- package/dist/core/subprocess.js +63 -22
- package/dist/core/type-presentation.js +10 -14
- package/dist/core/write-source.js +20 -4
- package/dist/execution/input-contract.js +3 -6
- package/dist/execution/notices.js +49 -0
- package/dist/execution/resolved-request.js +24 -40
- package/dist/execution/source.js +21 -45
- package/dist/execution/target-ref.js +2 -2
- package/dist/indexer/bundle-identity-guard.js +6 -5
- package/dist/indexer/ensure-index.js +1 -1
- package/dist/indexer/index-writer-lock.js +1 -1
- package/dist/indexer/indexer.js +46 -42
- package/dist/indexer/installations.js +12 -22
- package/dist/indexer/lookup/adapter-concept-owner.js +40 -14
- package/dist/indexer/materialize-embeddings.js +20 -16
- package/dist/indexer/passes/memory-inference.js +21 -50
- package/dist/indexer/passes/metadata.js +5 -5
- package/dist/indexer/scan/doc-to-entry.js +1 -1
- package/dist/indexer/scan/drain-dir.js +9 -11
- package/dist/indexer/search/db-search.js +9 -7
- package/dist/indexer/search/search-source.js +42 -22
- package/dist/indexer/usage/usage-events.js +2 -3
- package/dist/indexer/walk/index-context.js +2 -1
- package/dist/indexer/walk/matchers.js +3 -11
- package/dist/indexer/walk/path-resolver.js +13 -68
- package/dist/indexer/walk/walker.js +32 -26
- package/dist/integrations/agent/akm-read-tools.js +81 -0
- package/dist/integrations/agent/config.js +1 -1
- package/dist/integrations/agent/detect.js +32 -36
- package/dist/integrations/agent/execution.js +130 -428
- package/dist/integrations/agent/index.js +1 -1
- package/dist/integrations/agent/profiles.js +24 -28
- package/dist/integrations/agent/prompts.js +17 -30
- package/dist/integrations/agent/request-lowering.js +67 -101
- package/dist/integrations/agent/resolution.js +332 -0
- package/dist/integrations/agent/runner-dispatch.js +156 -181
- package/dist/integrations/agent/runner.js +20 -70
- package/dist/integrations/agent/runtime-port.js +4 -0
- package/dist/integrations/agent/runtime.js +10 -0
- package/dist/integrations/agent/spawn.js +65 -190
- package/dist/integrations/harnesses/aider/index.js +19 -39
- package/dist/integrations/harnesses/amazonq/index.js +17 -32
- package/dist/integrations/harnesses/claude/index.js +59 -28
- package/dist/integrations/harnesses/claude/session-log.js +7 -5
- package/dist/integrations/harnesses/codex/index.js +19 -31
- package/dist/integrations/harnesses/copilot/index.js +17 -35
- package/dist/integrations/harnesses/gemini/index.js +18 -34
- package/dist/integrations/harnesses/harness.js +36 -0
- package/dist/integrations/harnesses/index.js +20 -51
- package/dist/integrations/harnesses/opencode/agent-builder.js +132 -100
- package/dist/integrations/harnesses/opencode/index.js +11 -33
- package/dist/integrations/harnesses/opencode/roots.js +50 -0
- package/dist/integrations/harnesses/opencode/runtime/binary.js +206 -0
- package/dist/integrations/harnesses/opencode/runtime/command.js +152 -0
- package/dist/integrations/harnesses/opencode/runtime/index.js +177 -0
- package/dist/integrations/harnesses/opencode/runtime/tar.js +107 -0
- package/dist/integrations/harnesses/opencode/session-log-v1.js +15 -7
- package/dist/integrations/harnesses/opencode/session-log-v2.js +72 -48
- package/dist/integrations/harnesses/opencode/session-log.js +58 -137
- package/dist/integrations/harnesses/opencode/version.js +34 -53
- package/dist/integrations/harnesses/openhands/index.js +13 -37
- package/dist/integrations/harnesses/pi/index.js +21 -32
- package/dist/integrations/lockfile.js +1 -1
- package/dist/integrations/session-logs/index.js +11 -31
- package/dist/llm/client.js +93 -111
- package/dist/llm/embedder.js +19 -34
- package/dist/llm/embedders/connection.js +31 -0
- package/dist/llm/embedders/local-model-files.js +56 -0
- package/dist/llm/embedders/local.js +146 -115
- package/dist/llm/embedders/remote.js +26 -23
- package/dist/llm/embedders/types.js +1 -1
- package/dist/llm/index-passes.js +33 -39
- package/dist/llm/memory-infer.js +67 -77
- package/dist/llm/model-list.js +35 -0
- package/dist/llm/rerank-client.js +8 -14
- package/dist/llm/structured-call.js +45 -99
- package/dist/llm/structured.js +60 -0
- package/dist/output/renderers.js +2 -8
- package/dist/output/shapes/helpers.js +18 -44
- package/dist/output/shapes/passthrough.js +1 -0
- package/dist/output/shapes.js +1 -7
- package/dist/output/text/command-format.js +41 -39
- package/dist/output/text/health-format.js +8 -2
- package/dist/output/text/helpers.js +1 -1
- package/dist/output/text/migrate.js +12 -0
- package/dist/output/text/models.js +3 -2
- package/dist/output/text/registry-commands.js +1 -2
- package/dist/output/text/show-directives.js +16 -28
- package/dist/output/text/show-format.js +0 -2
- package/dist/output/text/targets-table.js +70 -0
- package/dist/output/text/workflow-format.js +44 -15
- package/dist/output/text.js +1 -1
- package/dist/registry/providers/skills-sh.js +1 -28
- package/dist/registry/providers/static-index.js +1 -71
- package/dist/runtime.js +6 -2
- package/dist/scripts/akm-migrate-node.js +47095 -44905
- package/dist/scripts/akm-migrate.js +46946 -44755
- package/dist/setup/detect.js +28 -273
- package/dist/setup/endpoint.js +36 -0
- package/dist/setup/semantic-assets.js +13 -19
- package/dist/setup/setup-flags.js +77 -0
- package/dist/setup/setup-plan.js +144 -0
- package/dist/setup/setup.js +134 -358
- package/dist/setup/steps/connection-shared.js +49 -101
- package/dist/setup/steps/connection.js +121 -524
- package/dist/setup/steps/embeddings.js +151 -0
- package/dist/setup/steps/harnesses.js +118 -0
- package/dist/setup/steps/platforms.js +2 -81
- package/dist/setup/steps/tasks.js +1 -2
- package/dist/setup/steps.js +10 -0
- package/dist/setup/summary.js +67 -0
- package/dist/sources/freshness.js +16 -21
- package/dist/sources/providers/git-provider.js +2 -9
- package/dist/sources/providers/provider-utils.js +13 -5
- package/dist/sources/resolve.js +12 -16
- package/dist/sources/snapshot-fetchers/robots.js +11 -12
- package/dist/sources/snapshot-fetchers/secret-seam.js +2 -4
- package/dist/sources/snapshot-fetchers/website-ingest.js +8 -15
- package/dist/sources/snapshot-fetchers/x.js +1 -1
- package/dist/standalone/onnxruntime-library.js +52 -0
- package/dist/storage/repositories/improve-ledger-repository.js +1 -1
- package/dist/storage/repositories/improve-runs-repository.js +0 -13
- package/dist/storage/repositories/index-entries-repository.js +2 -2
- package/dist/storage/repositories/proposals-repository.js +2 -2
- package/dist/storage/repositories/task-history-repository.js +2 -2
- package/dist/storage/repositories/workflow-runs-repository.js +44 -129
- package/dist/storage/sqlite-read-snapshot.js +33 -29
- package/dist/tasks/embedded.js +1 -1
- package/dist/tasks/log-redaction.js +7 -119
- package/dist/tasks/prepare/prepare-support.js +8 -7
- package/dist/tasks/prepare/prepare.js +8 -9
- package/dist/tasks/prepare/script-capture.js +9 -25
- package/dist/tasks/run/attempt-lifecycle.js +17 -35
- package/dist/tasks/run/load-task.js +54 -27
- package/dist/tasks/run/run-command-task.js +15 -10
- package/dist/tasks/run/run-native-task.js +8 -21
- package/dist/tasks/run/run-task.js +5 -8
- package/dist/tasks/run/run-workflow-task.js +14 -21
- package/dist/tasks/run/task-history.js +9 -17
- package/dist/tasks/run/task-log.js +1 -5
- package/dist/tasks/scheduler-invocation.js +13 -18
- package/dist/tasks/scheduler-sync.js +0 -1
- package/dist/tasks/source/bounded-document.js +31 -117
- package/dist/tasks/source/parse-task-source.js +0 -1
- package/dist/tasks/source/project-v4.js +5 -3
- package/dist/tasks/source/task-input-diagnostics.js +3 -4
- package/dist/tasks/source/task-source-v4.js +48 -72
- package/dist/tasks/source-v3.js +2 -5
- package/dist/tasks/task-run-reserved-flags.js +1 -2
- package/dist/workflows/authoring/authoring.js +2 -7
- package/dist/workflows/compile.js +1 -15
- package/dist/workflows/concurrency-policy.js +4 -4
- package/dist/workflows/exec/child-workflow.js +1 -4
- package/dist/workflows/exec/dispatch-redaction.js +35 -86
- package/dist/workflows/exec/environment.js +13 -77
- package/dist/workflows/exec/exec-unit.js +14 -55
- package/dist/workflows/exec/frozen-judge.js +26 -28
- package/dist/workflows/exec/native-executor.js +126 -71
- package/dist/workflows/exec/run-workflow.js +38 -42
- package/dist/workflows/exec/step-work.js +13 -17
- package/dist/workflows/exec/unit-dispatch.js +7 -21
- package/dist/workflows/freeze/environment.js +14 -119
- package/dist/workflows/freeze/freeze.js +14 -33
- package/dist/workflows/freeze/step-values.js +6 -13
- package/dist/workflows/freeze/targets/child-workflow.js +3 -5
- package/dist/workflows/freeze/targets/command.js +9 -15
- package/dist/workflows/freeze/targets/shell.js +0 -3
- package/dist/workflows/freeze/task-bindings.js +0 -1
- package/dist/workflows/parser.js +50 -59
- package/dist/workflows/plan.js +8 -2
- package/dist/workflows/renderer.js +83 -9
- package/dist/workflows/resource-limits.js +2 -2
- package/dist/workflows/runtime/run-plan.js +38 -23
- package/dist/workflows/runtime/runs.js +55 -93
- package/dist/workflows/runtime/workflow-asset-loader.js +55 -86
- package/dist/workflows/source-files.js +7 -19
- package/docs/README.md +10 -16
- package/docs/architecture/README.md +2 -37
- package/docs/architecture/adapters.md +2 -2
- package/docs/architecture/akm-core-principles.md +256 -118
- package/docs/architecture/architecture.md +283 -99
- package/docs/architecture/improvement.md +8 -2
- package/docs/architecture/internals/classification.md +1 -3
- package/docs/architecture/internals/fresh-host-rebuild-runbook.md +7 -6
- package/docs/architecture/internals/health-advisories.md +35 -74
- package/docs/architecture/internals/improve-workflow.md +27 -26
- package/docs/architecture/internals/indexing.md +3 -3
- package/docs/architecture/internals/storage-locations.md +48 -15
- package/docs/architecture/persisted-data-compat.md +10 -6
- package/docs/architecture/specs/okf-support.md +9 -11
- package/docs/architecture/specs/ref.md +7 -9
- package/docs/architecture/testing/testing-workflow.md +172 -52
- package/docs/architecture/workflow-engine.md +51 -34
- package/docs/guides/README.md +0 -1
- package/docs/guides/author-bundles.md +15 -20
- package/docs/guides/author-workflows.md +93 -71
- package/docs/guides/bundles.md +20 -16
- package/docs/guides/discover-and-load.md +1 -1
- package/docs/guides/getting-started.md +49 -3
- package/docs/guides/improve-the-library.md +10 -4
- package/docs/guides/recipes/headless-install.md +11 -16
- package/docs/guides/run-workflows.md +29 -20
- package/docs/guides/scheduling.md +2 -2
- package/docs/guides/use-with-any-agent.md +20 -22
- package/docs/integration/bundling-akm.md +19 -9
- package/docs/maintainers/README.md +2 -6
- package/docs/maintainers/release-checklist.md +73 -126
- package/docs/migration/README.md +10 -3
- package/docs/migration/release-notes/0.10.0.md +81 -16
- package/docs/migration/release-notes/0.6.0.md +1 -1
- package/docs/migration/release-notes/0.7.0.md +1 -1
- package/docs/migration/release-notes/0.9.0.md +1 -1
- package/docs/migration/release-notes/README.md +1 -1
- package/docs/migration/v0.9-to-v0.10.md +300 -60
- package/docs/migration/v0.9.1-to-v0.9.2.md +6 -5
- package/docs/posts/config-v2-lessons-16.md +1 -1
- package/docs/posts/llm-mode-reflect-13.md +1 -1
- package/docs/posts/release-0.6.0.md +11 -11
- package/docs/posts/release-0.8.0.md +4 -4
- package/docs/posts/workflows-vaults-09.md +1 -1
- package/docs/reference/README.md +1 -1
- package/docs/reference/asset-types.md +2 -2
- package/docs/reference/cli.md +477 -388
- package/docs/reference/configuration.md +569 -550
- package/docs/reference/data-and-telemetry.md +9 -6
- package/docs/reference/env-and-secrets.md +72 -15
- package/docs/reference/refs.md +3 -20
- package/docs/reference/registry.md +12 -38
- package/docs/reference/supported-formats.md +1 -1
- package/docs/reference/tasks.md +22 -11
- package/docs/reference/ui-api.md +14 -9
- package/docs/reference/workflow-schema.md +199 -154
- package/docs/reference/workflows.md +4 -6
- package/package.json +9 -11
- package/schemas/akm-config.json +1696 -2922
- package/schemas/akm-task.json +4 -4
- package/schemas/akm-workflow.json +36 -9
- package/ROADMAP.md +0 -112
- package/dist/assets/models.json +0 -35
- package/dist/commands/health/engine-usage.js +0 -45
- package/dist/commands/sources/dangerous-env-audit.js +0 -134
- package/dist/core/activation-policy.js +0 -67
- package/dist/core/config/schema/engines.js +0 -160
- package/dist/core/config/schema/execution.js +0 -23
- package/dist/core/spawn-env.js +0 -268
- package/dist/execution/directory-identity.js +0 -78
- package/dist/integrations/agent/builder-shared.js +0 -33
- package/dist/integrations/agent/builders.js +0 -43
- package/dist/integrations/agent/engine-fallback.js +0 -59
- package/dist/integrations/agent/engine-resolution.js +0 -333
- package/dist/integrations/agent/model-map.js +0 -475
- package/dist/integrations/harnesses/aider/agent-builder.js +0 -107
- package/dist/integrations/harnesses/aider/result-extractor.js +0 -53
- package/dist/integrations/harnesses/amazonq/agent-builder.js +0 -138
- package/dist/integrations/harnesses/amazonq/result-extractor.js +0 -48
- package/dist/integrations/harnesses/claude/agent-builder.js +0 -106
- package/dist/integrations/harnesses/claude/config-import.js +0 -67
- package/dist/integrations/harnesses/claude/result-extractor.js +0 -67
- package/dist/integrations/harnesses/codex/agent-builder.js +0 -150
- package/dist/integrations/harnesses/codex/result-extractor.js +0 -110
- package/dist/integrations/harnesses/copilot/agent-builder.js +0 -117
- package/dist/integrations/harnesses/copilot/result-extractor.js +0 -178
- package/dist/integrations/harnesses/gemini/agent-builder.js +0 -114
- package/dist/integrations/harnesses/gemini/result-extractor.js +0 -149
- package/dist/integrations/harnesses/opencode/config-import.js +0 -149
- package/dist/integrations/harnesses/opencode/model-config.js +0 -33
- package/dist/integrations/harnesses/opencode/model-work-agent.js +0 -115
- package/dist/integrations/harnesses/opencode/session-log-types.js +0 -12
- package/dist/integrations/harnesses/opencode-sdk/index.js +0 -44
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +0 -1052
- package/dist/integrations/harnesses/opencode-sdk/v1-adapter.js +0 -199
- package/dist/integrations/harnesses/opencode-sdk/v2-adapter.js +0 -254
- package/dist/integrations/harnesses/opencode-sdk/wire.js +0 -66
- package/dist/integrations/harnesses/openhands/agent-builder.js +0 -120
- package/dist/integrations/harnesses/openhands/result-extractor.js +0 -135
- package/dist/integrations/harnesses/pi/agent-builder.js +0 -89
- package/dist/integrations/harnesses/pi/result-extractor.js +0 -168
- package/dist/integrations/harnesses/shared.js +0 -18
- package/dist/integrations/harnesses/types.js +0 -55
- package/dist/llm/feature-gate.js +0 -115
- package/dist/output/shapes/models-list.js +0 -16
- package/dist/output/shapes/registry-search.js +0 -10
- package/dist/setup/detected-engines.js +0 -136
- package/dist/setup/engine-config.js +0 -97
- package/dist/setup/harness-config-import.js +0 -47
- package/dist/setup/providers.js +0 -14
- package/dist/setup/steps/semantic.js +0 -39
- package/dist/workflows/authoring/scope-key.js +0 -79
- package/dist/workflows/exec/lowering-notices.js +0 -23
- package/dist/workflows/source-semantics.js +0 -110
- package/docs/architecture/0.10-process-rules.md +0 -832
- package/docs/architecture/akm-architecture-decision-history.md +0 -2055
- package/docs/architecture/comparisons/claude-code-vs-akm-workflows-full.md +0 -550
- package/docs/architecture/decisions/0001-no-interpolation-attached-structured-context.md +0 -72
- package/docs/architecture/decisions/0002-unit-reuse-and-input-hash-scope.md +0 -142
- package/docs/architecture/decisions/0003-child-env-allowlist-and-provenance.md +0 -189
- package/docs/architecture/decisions/0004-task-input-contract-and-flag-coercion.md +0 -97
- package/docs/architecture/decisions/0005-task-result-vocabulary-and-legacy-read-mapping.md +0 -108
- package/docs/architecture/decisions/0006-task-source-version-routing.md +0 -124
- package/docs/architecture/decisions/0007-workflow-composition-bounds.md +0 -83
- package/docs/architecture/decisions/0008-task-binding-normalization.md +0 -88
- package/docs/architecture/decisions/0009-child-run-publication-column-parity.md +0 -80
- package/docs/architecture/decisions/0010-driver-protocol-cut.md +0 -36
- package/docs/architecture/decisions/0011-engine-run-loop-invariants.md +0 -125
- package/docs/architecture/decisions/README.md +0 -62
- package/docs/architecture/internals/functional-contract-patterns.md +0 -340
- package/docs/architecture/internals/registry-network-boundary.md +0 -57
- package/docs/architecture/internals/search.md +0 -248
- package/docs/architecture/reviews/env-secret-access.md +0 -319
- package/docs/architecture/runtime-boundary-design.md +0 -153
- package/docs/architecture/specs/0.9.0-close-out-plan.md +0 -361
- package/docs/architecture/specs/0.9.0-decisions.md +0 -532
- package/docs/architecture/specs/0.9.0-docs-code-drift-register.md +0 -745
- package/docs/architecture/specs/0.9.0-open-items-register.md +0 -135
- package/docs/architecture/specs/0.9.0-public-api-issue-backlog.md +0 -740
- package/docs/architecture/specs/0.9.0-release-surface-review.md +0 -636
- package/docs/architecture/specs/agent-command-engine-model-design.md +0 -513
- package/docs/architecture/specs/akm-0.9.0-bundle-adapter-spec.md +0 -501
- package/docs/architecture/specs/akm-0.9.0-ref-grammar-decision.md +0 -291
- package/docs/architecture/specs/akm-format-neutral-bundle-workspace-spec.md +0 -2059
- package/docs/architecture/specs/di-seams-plan.md +0 -539
- package/docs/architecture/specs/driver-protocol-keep-or-cut.md +0 -275
- package/docs/architecture/specs/fact-asset-type.md +0 -142
- package/docs/architecture/specs/improve-collapse-churn-detector-design.md +0 -634
- package/docs/architecture/specs/reviews/task-workflow-unification/README.md +0 -72
- package/docs/architecture/specs/reviews/task-workflow-unification/findings-consolidated.md +0 -152
- package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-alternatives.md +0 -352
- package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-bunqueue.md +0 -300
- package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-openworkflow.md +0 -402
- package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-1.md +0 -758
- package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-2.md +0 -645
- package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-3.md +0 -602
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-adversarial.md +0 -27
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-architecture.md +0 -27
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-coverage.md +0 -74
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-security.md +0 -15
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r2-adversarial.md +0 -132
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r2-verification.md +0 -147
- package/docs/architecture/specs/stash-conventions-code-spec.md +0 -275
- package/docs/architecture/specs/stash-organization-conventions.md +0 -377
- package/docs/architecture/specs/task-workflow-format-unification.md +0 -721
- package/docs/architecture/specs/workflow-engine-buy-vs-build.md +0 -231
- package/docs/architecture/specs/workflow-format-unification.md +0 -432
- package/docs/architecture/testing/manual-testing-checklist.md +0 -3411
- package/docs/architecture/testing/okf-v0.2-conformance-runbook.md +0 -924
- package/docs/architecture/testing/task-workflow-manual-tests.md +0 -1720
- package/docs/guides/claude-code-vs-akm-workflows.md +0 -29
- package/docs/guides/knowledge-management.md +0 -18
- package/docs/maintainers/curate-workmap.md +0 -335
- package/docs/migration/v0.5-to-v0.6.md +0 -759
- package/docs/migration/v0.7-to-v0.8.md +0 -1378
- package/docs/plans/0.9.2-agent-command-workflow-plan.md +0 -423
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Moving from akm 0.9 to 0.10
|
|
2
2
|
|
|
3
|
-
0.10 is a clean-up and tuning release. It
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
0.10 is a clean-up and tuning release. It replaces the `engines` in your config
|
|
4
|
+
with `connections` (the endpoints akm sends model requests to) and `harnesses`
|
|
5
|
+
(the agent programs you already have), and runs OpenCode 2 inside akm. It adds
|
|
6
|
+
no `state.db` migration and does not change the `index.db` layout (still 26). It
|
|
7
|
+
does remove CLI spellings, built-in improve strategies and a few workflow
|
|
8
|
+
features, it changes what a nightly `akm improve` does on its own, and it
|
|
9
|
+
changes how releases are numbered. This guide lists what to do, in order, and
|
|
10
|
+
every change that can break a script, a task or a config.
|
|
11
|
+
|
|
12
|
+
Checked against build 0.10.261013 with the connections and harnesses rework
|
|
13
|
+
(#1244). The
|
|
11
14
|
user-facing summary of the whole series is the
|
|
12
15
|
[0.10.0 release note](release-notes/0.10.0.md); the per-build detail is in the
|
|
13
16
|
[CHANGELOG](https://github.com/itlackey/akm/blob/main/CHANGELOG.md).
|
|
@@ -15,16 +18,17 @@ user-facing summary of the whole series is the
|
|
|
15
18
|
## What the upgrade preserves
|
|
16
19
|
|
|
17
20
|
- config, `state.db`, `index.db`, task sources, frozen workflow plans and
|
|
18
|
-
scheduler rows that 0.9.15 or later wrote;
|
|
21
|
+
scheduler rows that 0.9.15 or later wrote; a config in the `engines` form
|
|
22
|
+
loads as `connections` and `harnesses` until you migrate it (see
|
|
23
|
+
[Connections, harnesses and OpenCode](#connections-harnesses-and-opencode));
|
|
19
24
|
- every authored asset in your bundles;
|
|
20
25
|
- the `akm upgrade` and `akm migrate` commands, with the same behaviour.
|
|
21
26
|
|
|
22
27
|
## What it does not cover
|
|
23
28
|
|
|
24
29
|
0.10 reads what 0.9.15 and later wrote and converts nothing older. A config
|
|
25
|
-
still in the old `stashDir` / `sources[]` / `installed[]` layout
|
|
26
|
-
|
|
27
|
-
fails to load with one message that names `akm migrate apply` under akm 0.9.x.
|
|
30
|
+
still in the old `stashDir` / `sources[]` / `installed[]` layout fails to load
|
|
31
|
+
with one message that names `akm migrate apply` under akm 0.9.x.
|
|
28
32
|
An install older than 0.9.15 must go through 0.9.x first (step 1).
|
|
29
33
|
|
|
30
34
|
## Upgrade procedure
|
|
@@ -45,10 +49,16 @@ akm workflow list --active
|
|
|
45
49
|
If it does not, run `akm migrate apply` now, under 0.9.x, and read what it
|
|
46
50
|
changed.
|
|
47
51
|
- **Workflow runs in flight.** A stored run whose plan has a `route` step or a
|
|
48
|
-
`script` target (both came from features 0.10 removed)
|
|
49
|
-
|
|
52
|
+
`script` target (both came from features 0.10 removed), or a command target
|
|
53
|
+
frozen before plan version 8 (it froze an engine), cannot be decoded in 0.10;
|
|
54
|
+
`akm workflow run` abandons it (status `failed`) and names `akm workflow run
|
|
55
|
+
<ref>` to start afresh. A run whose plan has `unit.isolation`
|
|
50
56
|
still decodes and runs in the engine's working directory. Let active runs
|
|
51
|
-
finish, or abandon them on purpose, before you upgrade.
|
|
57
|
+
finish, or abandon them on purpose, before you upgrade. In 0.10
|
|
58
|
+
`akm workflow run <ref>` always starts a new run (`akm workflow run <run-id>`
|
|
59
|
+
continues one; `resume` only re-activates a blocked or failed one), runs are no longer scoped
|
|
60
|
+
to a directory, and 0.9.15 does not see runs 0.10 started on the same
|
|
61
|
+
`state.db`. `--new` and `--all-scopes` are accepted and do nothing.
|
|
52
62
|
- **Quit OpenCode.** `akm upgrade` skips (reports `deferred`) a plugin update
|
|
53
63
|
while an OpenCode process runs. See [Plugins](#plugins).
|
|
54
64
|
|
|
@@ -68,6 +78,11 @@ crontab -l | grep akm
|
|
|
68
78
|
`--target` is still valid on `env run`, `bundle remove`, `bundle update` and
|
|
69
79
|
`registry remove` (it names the thing to act on there). Read each hit.
|
|
70
80
|
|
|
81
|
+
`--engine NAME` is not in that list because it still runs, but search for it
|
|
82
|
+
too (`grep -rn -- '--engine' <your script and task directories>`): after the
|
|
83
|
+
migration it reaches only a connection or harness called `NAME`
|
|
84
|
+
([step 5](#5-fix-what-the-migration-cannot)).
|
|
85
|
+
|
|
71
86
|
### 3. Upgrade the program
|
|
72
87
|
|
|
73
88
|
```sh
|
|
@@ -103,24 +118,57 @@ akm migrate apply
|
|
|
103
118
|
`akm upgrade` already ran `apply`; run `status` to confirm. What `apply` does
|
|
104
119
|
in 0.10:
|
|
105
120
|
|
|
106
|
-
- rewrites `config.json`
|
|
107
|
-
|
|
108
|
-
|
|
121
|
+
- rewrites `config.json` under a backup in `<cache dir>/config-backups/`: the
|
|
122
|
+
`engines` / `defaults` form becomes `connections` / `harnesses`, the keys akm
|
|
123
|
+
no longer reads from config move to `credentials.json`, a leftover
|
|
124
|
+
`models.json` is folded in and moved, and every other retired or unknown key
|
|
125
|
+
is dropped (see [Connections, harnesses and
|
|
126
|
+
OpenCode](#connections-harnesses-and-opencode) and the [removed
|
|
127
|
+
keys](#improve-strategies-tasks-and-config-keys) below);
|
|
109
128
|
- applies pending `state.db` migrations. 0.10 adds none, so on a 0.9.31 install
|
|
110
129
|
this step has nothing to do;
|
|
111
130
|
- rewrites task files still at version 2 or 3 as task source v4 and reports
|
|
112
131
|
any it cannot convert as `blocked`;
|
|
132
|
+
- rewrites the retired `engine:` key on commands, agents, workflows and task
|
|
133
|
+
sources to `connection:` or `harness:`, under one backup directory per run;
|
|
113
134
|
- removes superseded residue files.
|
|
114
135
|
|
|
115
|
-
Until you run it, a
|
|
116
|
-
names
|
|
136
|
+
Until you run it, a config in the `engines` form loads as `connections` and
|
|
137
|
+
`harnesses` in memory, with one warning that names `akm migrate apply`, and any
|
|
138
|
+
other retired key is harmless: the config loads, names the key once, and
|
|
139
|
+
ignores it.
|
|
117
140
|
|
|
118
141
|
### 5. Fix what the migration cannot
|
|
119
142
|
|
|
120
|
-
- **`defaults.improveStrategy` or `--strategy` names a
|
|
121
|
-
config still loads, but `akm improve`
|
|
122
|
-
`
|
|
123
|
-
Change the name, or define a strategy of that name yourself (below).
|
|
143
|
+
- **`improve.strategy` (was `defaults.improveStrategy`) or `--strategy` names a
|
|
144
|
+
removed strategy.** The config still loads, but `akm improve` and `akm task
|
|
145
|
+
doctor` fail (exit 78, `UNKNOWN_IMPROVE_STRATEGY`) with an error that names
|
|
146
|
+
`default`. Change the name, or define a strategy of that name yourself (below).
|
|
147
|
+
- **Notes from `akm migrate apply`.** Each names a setting it dropped, or a key
|
|
148
|
+
or an entry it could not move. A key it could not move stays on its connection
|
|
149
|
+
as `apiKey`, which akm warns about and never sends: put it in
|
|
150
|
+
`credentials.json` (`akm setup` does) or reference an environment variable
|
|
151
|
+
(`"apiKey": "$NAME"`). `AKM_ENGINE_<NAME>_API_KEY` and `AKM_LLM_API_KEY`
|
|
152
|
+
become an `apiKey` only when they were set in the environment you ran `apply`
|
|
153
|
+
in; if not, the connection has no key and a note names the variables. Set the
|
|
154
|
+
one you used and run `akm setup --api-key-env NAME`, or store the key with `akm
|
|
155
|
+
setup`.
|
|
156
|
+
- **Scripts that pass `--engine` or `--require-engines`.** They keep running,
|
|
157
|
+
with one warning each. Change `--engine NAME` to `--connection <name>` or
|
|
158
|
+
`--harness <name>`: how an old engine name resolves, and when it stops, is
|
|
159
|
+
under [The `engines` form](../reference/configuration.md#the-engines-form).
|
|
160
|
+
`--require-engines` does nothing now, and a scheduled caller that relied on it
|
|
161
|
+
loses its guarantee: the run no longer checks, before any side effect, that
|
|
162
|
+
every enabled process has a usable target (a configured connection or harness
|
|
163
|
+
to run on, a harness program that exists, a connection that answers). `akm
|
|
164
|
+
improve` stops at planning (exit 78) only when no process has anywhere to
|
|
165
|
+
run; when some do and some do not, it runs the ones that do and lists the
|
|
166
|
+
rest in `skippedProcesses`. Use `akm health` for the check: `akm health &&
|
|
167
|
+
akm improve ...` stops before the run when it exits 4, and its
|
|
168
|
+
`connections-and-harnesses` check names each connection that does not answer,
|
|
169
|
+
each harness program that is not installed and a missing default. It looks at
|
|
170
|
+
the configuration and the endpoints, not at whether a completion works (only a
|
|
171
|
+
run shows that).
|
|
124
172
|
- **Scheduled tasks that call a removed strategy, flag or command.** Edit the
|
|
125
173
|
task source, then run `akm task sync`. Tasks copied from the shipped
|
|
126
174
|
templates `akm-improve-nightly`, `akm-improve-frequent` and
|
|
@@ -219,8 +267,15 @@ carries the old built-in's settings. A reflect-only replacement for `quick`:
|
|
|
219
267
|
|
|
220
268
|
**Shipped task templates.** `akm-improve-nightly`, `akm-improve-frequent` and
|
|
221
269
|
`akm-improve-catchup` are gone. The nightly template for a server install is
|
|
222
|
-
now `core/improve` (`akm improve
|
|
223
|
-
|
|
270
|
+
now `core/improve` (`akm improve`, 02:00), and `akm setup` preselects it. A
|
|
271
|
+
scheduled command written for 0.9 keeps running: `--require-engines` is
|
|
272
|
+
accepted and does nothing (the run stops at planning, exit 78, only when no
|
|
273
|
+
process has a connection or harness to run on; the check it used to make, that
|
|
274
|
+
every enabled process has a usable target, is gone, and `akm health` is the
|
|
275
|
+
replacement), and `--engine NAME` on `agent`,
|
|
276
|
+
`command run`, `task add`, `proposal new` and `proposal extract` keeps running
|
|
277
|
+
([step 5](#5-fix-what-the-migration-cannot)). Each warns once, and neither is
|
|
278
|
+
listed in `--help`.
|
|
224
279
|
|
|
225
280
|
**Config keys.** These are removed. A config that still sets one loads (the key
|
|
226
281
|
is named once by the unknown-key warning and ignored), and `akm migrate apply`
|
|
@@ -232,12 +287,19 @@ drops it. Paths are under `improve.strategies.<name>.processes.` unless noted.
|
|
|
232
287
|
| `improve.salience.salienceThreshold` | The high-salience lane it tuned is gone. |
|
|
233
288
|
| `distill.limit`, `memoryInference.cls`, `proactiveMaintenance.limit`, `triage.policy` | Nothing read them. `distill.cls` and the `limit` of `reflect` and `consolidate` are read and stay. |
|
|
234
289
|
| `defaults.llm`, `defaults.agent`, `defaults.improve`, `feedbackDistillation`, `index.<pass>.{endpoint,provider,apiKey,baseUrl,temperature,maxTokens,capabilities}`, `index.stalenessDetection` | 0.9 rejected these with a bespoke error. They now load like any unknown key. |
|
|
290
|
+
| `execution.allowedTools` (top level) | Asset tool requests are gone (below), so there is nothing to cap. |
|
|
291
|
+
|
|
292
|
+
**Asset `tools:`.** Agents, commands and tasks no longer restrict an agent's
|
|
293
|
+
tools: an agent or command's `tools:` (or a Claude command's
|
|
294
|
+
`allowed-tools:`) is not read, and a task's `tools:` is ignored with a warning.
|
|
295
|
+
`akm show` no longer reports `toolPolicy`, a file is no longer recognized as an
|
|
296
|
+
agent by a `tools:` key alone, and the `EXECUTION_NOT_AUTHORIZED` error is gone.
|
|
297
|
+
To run an agent with restricted tools, define that agent in the harness itself
|
|
298
|
+
(a Claude or OpenCode agent) and select it with the harness's `agent`.
|
|
235
299
|
|
|
236
300
|
Config that is newly refused: a retired source key (`stashDir`, `sources`,
|
|
237
|
-
`installed`)
|
|
238
|
-
|
|
239
|
-
were only warned about in 0.9.15 and later; the error says to run
|
|
240
|
-
`akm migrate apply` under akm 0.9.x.
|
|
301
|
+
`installed`). It was only warned about in 0.9.15 and later; the error says to
|
|
302
|
+
run `akm migrate apply` under akm 0.9.x.
|
|
241
303
|
|
|
242
304
|
### Workflows
|
|
243
305
|
|
|
@@ -283,6 +345,169 @@ stop.
|
|
|
283
345
|
object form. The `targetVocab` marker on `task_history` rows is no longer
|
|
284
346
|
written, and the `"mcp"` package keyword is gone (akm has no MCP code).
|
|
285
347
|
|
|
348
|
+
### Connections, harnesses and OpenCode
|
|
349
|
+
|
|
350
|
+
`engines` become `connections` and `harnesses`, `akm setup` and `akm health`
|
|
351
|
+
are rebuilt around them, and OpenCode 2 runs inside akm. Read this section even
|
|
352
|
+
if you never wrote an engine: `akm migrate apply` rewrites your config and
|
|
353
|
+
moves your keys.
|
|
354
|
+
|
|
355
|
+
- **A connection** is an OpenAI-compatible endpoint (`endpoint`, `apiKey`,
|
|
356
|
+
`models`, `contextLength`, `timeoutMs`, `concurrency`; any other key, on the
|
|
357
|
+
connection or in a model entry, is a request field sent as written). **A
|
|
358
|
+
harness** is an agent program you already have (`platform`, `bin`, `args`,
|
|
359
|
+
`workspace`, `agent`, `timeoutMs`, `models`). There is no `defaults` block: the
|
|
360
|
+
entry named `default`, or the only entry, is the default connection or
|
|
361
|
+
harness, and anywhere one can be named and none is, the default is used. With
|
|
362
|
+
neither configured, model features and agent work are off and each command
|
|
363
|
+
that needs one points at `akm setup`; there is no fallback to an `opencode`
|
|
364
|
+
binary on `PATH`.
|
|
365
|
+
- **Where a process runs** is set by `improve.connection` and `improve.harness`
|
|
366
|
+
(all of `akm improve`), `improve.processes.<process>`, `improve.qualityGate`
|
|
367
|
+
and `index`. A strategy says which processes run, never where.
|
|
368
|
+
`defaults.improveStrategy` is now `improve.strategy`.
|
|
369
|
+
- **Aliases.** `fast`, `balanced` and `reasoning` are set on a connection's or
|
|
370
|
+
harness's `models`. `akm models` lists a connection's aliases, then the models
|
|
371
|
+
its endpoint lists, and `akm models set <alias> <model>` changes one.
|
|
372
|
+
`models.json` and the `akm models list` and `copy-defaults` commands are gone.
|
|
373
|
+
- **Keys.** `apiKey` is a `$VAR` reference. Without one, the key is the entry
|
|
374
|
+
stored for the connection and its endpoint in `credentials.json`, next to
|
|
375
|
+
`config.json` (mode 0600); `akm setup` fills it from a masked prompt. A key is
|
|
376
|
+
read for the endpoint it was stored for and no other. A literal
|
|
377
|
+
`apiKey` in the file is warned about and never sent. `apiKeyFile`,
|
|
378
|
+
`${secrets/...}` and the implicit `AKM_ENGINE_<NAME>_API_KEY` and
|
|
379
|
+
`AKM_LLM_API_KEY` lookups are gone. Until `akm migrate apply` has filed it, a
|
|
380
|
+
key held in `apiKeyFile`, a literal or a `${secrets/...}` reference is not sent
|
|
381
|
+
(akm warns); `akm upgrade` runs `apply` for you.
|
|
382
|
+
- **`akm setup`** takes one flag per question (`--endpoint`, `--api-key-env`,
|
|
383
|
+
`--name`, `--harness`, `--embedding`, `--embedding-endpoint`,
|
|
384
|
+
`--embedding-api-key-env`) and `--yes` for the detected default; `akm setup
|
|
385
|
+
--endpoint http://localhost:11434/v1 --yes` is the quick start. `--probe` and
|
|
386
|
+
`--config` are gone.
|
|
387
|
+
- **`akm health` and `akm info`** print one table (the `connections-and-harnesses`
|
|
388
|
+
check, and `connectionsAndHarnesses` in `akm info`; a row for each
|
|
389
|
+
connection, each harness and each kind of work, with the connection or harness
|
|
390
|
+
and model it resolves to) in place of the engine checks. The checks
|
|
391
|
+
`default-engine`, `default-llm-engine`, `configured-engines`,
|
|
392
|
+
`active-improve-strategy`, `thinking-control` and `engine-last-used` are gone,
|
|
393
|
+
and an unreachable connection is a warning, not a failure.
|
|
394
|
+
- **`--connection`, `--harness` and `--model`** replace `--engine` on `akm agent`,
|
|
395
|
+
`akm command run`, `akm proposal new`, `akm proposal extract` and `akm task
|
|
396
|
+
add`. A scheduled command that still passes `--engine NAME` or
|
|
397
|
+
`--require-engines` keeps running, with one warning each and neither listed in
|
|
398
|
+
`--help`; `--require-engines` does nothing (see above). `akm migrate
|
|
399
|
+
apply` renames the default engine `default` and moves an old `default` aside
|
|
400
|
+
to `legacy-default`; what `--engine` and `engine:` mean until it has rewritten
|
|
401
|
+
every key it can reach is under [The `engines`
|
|
402
|
+
form](../reference/configuration.md#the-engines-form). It cannot rewrite a
|
|
403
|
+
command line or script: change those to `--connection` or `--harness` yourself.
|
|
404
|
+
- **`GET /api/config`** (the `akm ui` server) lists `connections` and `harnesses`
|
|
405
|
+
where it listed `engines`.
|
|
406
|
+
|
|
407
|
+
**An old config still loads.** A `config.json` with `engines` and `defaults` is
|
|
408
|
+
read as the new form in memory, with one warning that names `akm migrate
|
|
409
|
+
apply`; the file is not rewritten until you run it. An ordinary `akm config
|
|
410
|
+
set` edits the file as it is, and removing a value the old form supplies is
|
|
411
|
+
refused until the file is migrated. A connection or harness whose own settings
|
|
412
|
+
akm cannot use (no endpoint, an endpoint that is not a URL, a harness akm cannot
|
|
413
|
+
run) is ignored with one warning naming it, and the rest of the file loads.
|
|
414
|
+
|
|
415
|
+
**`akm migrate apply` converts the file.** Under a backup of `config.json` it
|
|
416
|
+
writes `connections` and `harnesses`, renames the default LLM engine to
|
|
417
|
+
`default` (references follow), moves what a strategy said about where a process
|
|
418
|
+
runs to `improve.processes` and `improve.qualityGate`, and keeps a connection or
|
|
419
|
+
harness the loader cannot use in the file, with a note on what to fix. It also:
|
|
420
|
+
|
|
421
|
+
- moves every key akm no longer reads from config (an engine's `apiKeyFile`, a
|
|
422
|
+
literal or `${secrets/...}` `apiKey`, and the same on a connection,
|
|
423
|
+
`embedding` or `search.curateRerank`) into `credentials.json`, for the
|
|
424
|
+
connection (or the `embedding` or `curateRerank` service) and the endpoint the
|
|
425
|
+
block names, with one note per key and never its value. A key that cannot be
|
|
426
|
+
moved (its secret does not resolve, the block names no endpoint of its own, a
|
|
427
|
+
`connections` entry now gives it another endpoint than its engine wrote the key
|
|
428
|
+
for, or `credentials.json` already holds a different key or endpoint for that
|
|
429
|
+
slot) stays on the
|
|
430
|
+
connection as `apiKey`, with a note, until you move it. `AKM_ENGINE_<NAME>_API_KEY`
|
|
431
|
+
and `AKM_LLM_API_KEY`, when set in the environment you run `apply` in, become
|
|
432
|
+
`apiKey: "$VAR"` instead;
|
|
433
|
+
- files a key in `credentials.json`'s older flat `{ "<name>": "<key>" }` form
|
|
434
|
+
under the endpoint your config gives that block, after copying the file to
|
|
435
|
+
`<cache dir>/config-backups/credentials.json.<timestamp>`. A block that already
|
|
436
|
+
has a stored key is not overwritten: the same key for the same endpoint drops
|
|
437
|
+
the older entry, and a different key or endpoint leaves both, with a note;
|
|
438
|
+
- folds `models.json` into the `models` of the connections and harnesses it
|
|
439
|
+
names (a connection's own column first, then the `*` column and the flat
|
|
440
|
+
shorthand, then the engine's own model; a model the config already names
|
|
441
|
+
stands; the entries it cannot place are listed in the notes) and moves the
|
|
442
|
+
file to `<cache dir>/config-backups/`;
|
|
443
|
+
- rewrites `engine:` on commands, agents, workflows and task sources to
|
|
444
|
+
`connection:` or `harness:` by what the name is now (a name that is neither is
|
|
445
|
+
written as `harness:`, with a note), under one backup directory per run. A
|
|
446
|
+
file you (or an editor or a bundle sync) changed after the plan was made is
|
|
447
|
+
left exactly as it now is, in no backup and no rewrite, and is reported as
|
|
448
|
+
skipped or still ready: running `akm migrate apply` again plans it afresh. An
|
|
449
|
+
asset that is a symbolic link is read but never rewritten: it is reported as
|
|
450
|
+
skipped, and its `engine:` key keeps its meaning until you change the file it
|
|
451
|
+
leads to.
|
|
452
|
+
|
|
453
|
+
`akm migrate apply --dry-run` lists all of it first, and `akm upgrade` runs it
|
|
454
|
+
for you.
|
|
455
|
+
|
|
456
|
+
**Dropped, with a note.** `provider`, an `extraParams` key that shadows a
|
|
457
|
+
first-class setting (the setting wins), `supportsJsonSchema` (akm retries
|
|
458
|
+
without a schema when an endpoint rejects one), `workflow.judgeEngine`, a
|
|
459
|
+
strategy's `engine`, `model`, `llm` and `timeoutMs`, an index pass's `engine`
|
|
460
|
+
that names a harness (an index pass can only name a connection; with none named
|
|
461
|
+
it runs where all model work does, on the default connection, else the default
|
|
462
|
+
harness, restricted where the harness can be), `models.json`
|
|
463
|
+
entries that name nothing configured, and an `opencode-sdk` engine's own model,
|
|
464
|
+
timeout and workspace (akm's own runtime has no entry in config; the connection
|
|
465
|
+
its `llmEngine` named becomes `default`). A workflow run frozen by an earlier
|
|
466
|
+
release (plan version 7 or lower) whose plan holds a command target cannot be
|
|
467
|
+
resumed: `akm workflow run` abandons it with a message naming `akm workflow run
|
|
468
|
+
<ref>` to start afresh. Let such runs finish before you upgrade.
|
|
469
|
+
|
|
470
|
+
**Harnesses run as thin shells.** akm writes only the arguments a program needs
|
|
471
|
+
to run without a person, hands it the prompt, and takes its standard output as
|
|
472
|
+
the reply, as written. It no longer asks a harness for JSON output or reads a
|
|
473
|
+
result or a session id out of it. Claude Code and pi take the prompt on stdin.
|
|
474
|
+
A harness's child gets your environment as it is, with akm's directories set
|
|
475
|
+
over it ([The environment programs run
|
|
476
|
+
in](#the-environment-programs-run-in)).
|
|
477
|
+
`akm agent` with no `--prompt` starts the harness for a person.
|
|
478
|
+
|
|
479
|
+
**OpenCode 1 is legacy, not deprecated for removal.** The `opencode` harness runs
|
|
480
|
+
`opencode run` for both majors, with no change to the config. Where akm reads
|
|
481
|
+
its version (`akm setup`, `akm upgrade`, and model work) and finds OpenCode 1, it
|
|
482
|
+
warns once that OpenCode 2 is recommended; OpenCode 1 keeps working, its model
|
|
483
|
+
work cannot be restricted, and no removal date is set.
|
|
484
|
+
|
|
485
|
+
**Model work runs on any harness**, with its tools restricted where the harness
|
|
486
|
+
can be (Claude Code, Codex, OpenCode 2) and unrestricted, with a notice, where it
|
|
487
|
+
cannot ([How akm runs a
|
|
488
|
+
harness](../reference/configuration.md#how-akm-runs-a-harness)). A config that
|
|
489
|
+
names an `opencode` harness for model work loads.
|
|
490
|
+
|
|
491
|
+
**akm's own runtime is a pinned OpenCode 2 binary that akm fetches and runs.**
|
|
492
|
+
Agent work on a connection, with no harness configured, runs on it: no entry in
|
|
493
|
+
config, no `opencode` of yours, driven by your connections only (no user or
|
|
494
|
+
project OpenCode config loads, though it still loads `~/.agents` and OpenCode's
|
|
495
|
+
system config, `/etc/opencode`; OpenCode's own free-model provider and model
|
|
496
|
+
catalog fetch are off). The first run downloads the binary for your platform from
|
|
497
|
+
the npm registry (about 114 MB, once, into `<akm cache dir>/opencode/<version>/`)
|
|
498
|
+
and checks it against the registry's integrity hash; if akm cannot reach the
|
|
499
|
+
registry for that step, enable the `opencode` harness with an installed OpenCode
|
|
500
|
+
2 instead. On bare Alpine (musl) the binary needs `libstdc++` and `libgcc`, which
|
|
501
|
+
the Alpine Node image already has. Its sessions are stored in
|
|
502
|
+
`<akm data dir>/opencode-runtime/data/opencode/opencode.db`, with the rest of its
|
|
503
|
+
files under `<akm data dir>/opencode-runtime/`. A run reports its token usage, and
|
|
504
|
+
a persona goes in the prompt, not a system channel.
|
|
505
|
+
|
|
506
|
+
**`platform: "opencode"` is your OpenCode**, whichever major is installed, run
|
|
507
|
+
through its CLI (`opencode run`, the prompt on stdin). Your OpenCode owns its
|
|
508
|
+
configuration, logins and sessions: akm reads, copies and embeds nothing of
|
|
509
|
+
yours to run it, and its runs are in your OpenCode history, which improve reads.
|
|
510
|
+
|
|
286
511
|
## Behaviour changes you will notice
|
|
287
512
|
|
|
288
513
|
### `akm improve`
|
|
@@ -375,8 +600,8 @@ stop.
|
|
|
375
600
|
default install. It warns only for a remote `embedding.endpoint` with no
|
|
376
601
|
`embedding.model`.
|
|
377
602
|
- **Command tasks (`uses: commands/...`) get the 6-hour unattended timeout** that
|
|
378
|
-
workflow and shell tasks already had. An explicit task `timeout:`,
|
|
379
|
-
|
|
603
|
+
workflow and shell tasks already had. An explicit task `timeout:`, a connection's or
|
|
604
|
+
harness's `timeoutMs` or `timeout: null` still wins.
|
|
380
605
|
- **Memory inference** writes to the default bundle (it used the first bundle in
|
|
381
606
|
the list), and no longer reverts an edit made to the parent memory while the
|
|
382
607
|
model ran.
|
|
@@ -384,13 +609,20 @@ stop.
|
|
|
384
609
|
- **A transient reflect failure** (transport error, timeout, crash) no longer
|
|
385
610
|
uses up the feedback that planned it; the ref is retried next run.
|
|
386
611
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
612
|
+
### The environment programs run in
|
|
613
|
+
|
|
614
|
+
A harness (agent tasks and workflow agent steps included) and an `exec` unit's
|
|
615
|
+
command now run with your environment as it is. In 0.9 each got an allowlist
|
|
616
|
+
(`PATH`, `HOME`, locale and a few more, plus the provider keys a harness named,
|
|
617
|
+
and an `exec` unit's `pass_env:` names); a variable outside it, a token in your
|
|
618
|
+
shell included, did not reach the program. Now every variable does, and
|
|
619
|
+
`pass_env:` still loads and selects nothing. What akm scrubs from an agent's reply
|
|
620
|
+
is under [Architecture: Connections and
|
|
621
|
+
Harnesses](../architecture/architecture.md#connections-and-harnesses); an `exec`
|
|
622
|
+
command's output is not scrubbed of what it inherited. Where a program must not
|
|
623
|
+
see a credential, scope the process that runs akm (a dedicated account, a clean
|
|
624
|
+
environment). See [How akm runs a
|
|
625
|
+
harness](../reference/configuration.md#how-akm-runs-a-harness).
|
|
394
626
|
|
|
395
627
|
## Plugins
|
|
396
628
|
|
|
@@ -419,19 +651,12 @@ run. For OpenCode 2, run `opencode plugin add akm-opencode-v2`.
|
|
|
419
651
|
old build folders behind.) If your config pins another spec, such as `akm-opencode@0.9.30`, `akm upgrade`
|
|
420
652
|
leaves it alone: change the spec, quit OpenCode, move that cache folder aside
|
|
421
653
|
and start OpenCode again.
|
|
422
|
-
- **
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
model carries on.
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
`"permissions": [{"action": "external_directory", "resource": "*", "effect": "ask"}]`.
|
|
429
|
-
When akm rejects a request on OpenCode 2 the turn ends with `ok: false` and
|
|
430
|
-
`reason: "aborted"`. See [Configuration](../reference/configuration.md#engines).
|
|
431
|
-
- **Which OpenCode akm drives is detected**, from the engine's `bin` (or
|
|
432
|
-
`opencode2`, else `opencode`, on `PATH`). There is no setting. OpenCode 1
|
|
433
|
-
logs one warning recommending OpenCode 2; a binary of an unknown major is
|
|
434
|
-
driven as OpenCode 2 with a warning.
|
|
654
|
+
- **Questions and permission requests.** Nobody can answer an akm run:
|
|
655
|
+
OpenCode's headless `run`, which akm's own runtime and the `opencode` harness
|
|
656
|
+
both use, cancels every question and rejects every permission request that
|
|
657
|
+
would ask, and the model carries on. akm changes no OpenCode permission
|
|
658
|
+
default. See
|
|
659
|
+
[Configuration](../reference/configuration.md#harnesses).
|
|
435
660
|
- **Claude Code and Codex plugins** come from the `akm-plugins` marketplace and
|
|
436
661
|
are updated by `akm upgrade`. Use the 0.10 plugin set with 0.10 (it passes
|
|
437
662
|
`--detail agent`; see itlackey/akm-plugins#133); the plugins require akm
|
|
@@ -445,7 +670,7 @@ run. For OpenCode 2, run `opencode plugin add akm-opencode-v2`.
|
|
|
445
670
|
retrieval, skillret and longmemeval benchmarks are the known ones
|
|
446
671
|
(itlackey/akm-eval#33).
|
|
447
672
|
- **A signal to `akm agent` now ends the harness.** `akm agent` on the
|
|
448
|
-
`opencode`, `claude` and `codex` CLI
|
|
673
|
+
`opencode`, `claude` and `codex` CLI harnesses runs the harness in its own
|
|
449
674
|
process group, and SIGTERM or SIGINT to akm now takes it down too.
|
|
450
675
|
|
|
451
676
|
## Version numbers
|
|
@@ -479,7 +704,7 @@ only.
|
|
|
479
704
|
akm --version # the 0.10.YYMMNN you meant to install
|
|
480
705
|
akm migrate status # status "current", ok true
|
|
481
706
|
akm health # exit 0 ok; 4 means a warning, read the check names
|
|
482
|
-
akm task doctor # scheduler backend, akm path,
|
|
707
|
+
akm task doctor # scheduler backend, akm path, connections and harnesses, improve triage and autonomy
|
|
483
708
|
akm upgrade --check # per-plugin outcomes: current, pending, deferred, failed
|
|
484
709
|
akm improve --dry-run # the strategy resolves, plan.triage shows the drain
|
|
485
710
|
akm lint --type tasks # task files parse and pass the gates task sync runs
|
|
@@ -489,8 +714,16 @@ akm search --type task # your tasks are indexed
|
|
|
489
714
|
|
|
490
715
|
Things to look for:
|
|
491
716
|
|
|
492
|
-
- `akm health` check `
|
|
493
|
-
|
|
717
|
+
- `akm health` check `connections-and-harnesses` lists a row for each connection and harness (its
|
|
718
|
+
key held and reachable, or its binary found) and for each kind of work with
|
|
719
|
+
the connection or harness and model it resolves to; `akm info` prints the same
|
|
720
|
+
rows without probing, and `akm models` shows each alias of the default
|
|
721
|
+
connection. A connection that is not reachable is a warning (exit 4), not a
|
|
722
|
+
failure.
|
|
723
|
+
- `akm improve --dry-run` fails (exit 78, `UNKNOWN_IMPROVE_STRATEGY`) when the
|
|
724
|
+
configured strategy was removed.
|
|
725
|
+
- `config.json` no longer has `engines` or `defaults`, `credentials.json` holds
|
|
726
|
+
any keys that were in it, and `models.json` is in `<cache dir>/config-backups/`.
|
|
494
727
|
- `akm task doctor` reports `improveTriage` (enabled, mode) and
|
|
495
728
|
`improveAutonomy` with the lanes the `experimental.improveAutonomy` gate holds
|
|
496
729
|
off.
|
|
@@ -504,13 +737,20 @@ Things to look for:
|
|
|
504
737
|
0.10 changes neither database schema, so a downgrade needs no data change. To
|
|
505
738
|
go back, stop AKM and any OpenCode process, install the earlier version
|
|
506
739
|
(`akm-cli@0.9.31`), and restore `config.json` from the backup that
|
|
507
|
-
`akm migrate apply` wrote under `<cache dir>/config-backups
|
|
508
|
-
|
|
509
|
-
|
|
740
|
+
`akm migrate apply` wrote under `<cache dir>/config-backups/`: 0.9 does not read
|
|
741
|
+
`connections`, `harnesses` or `credentials.json`, so a migrated config leaves it
|
|
742
|
+
with no engines (the backup holds your keys as they were, and `models.json` is
|
|
743
|
+
in the same directory). The assets whose `engine:` key `apply` rewrote are in the
|
|
744
|
+
backup directory the report names as `assetEngineKeys.backupPath`, under
|
|
745
|
+
`<akm data dir>/backups/asset-engine-keys/`. Finish or abandon workflow runs
|
|
746
|
+
started under 0.10 first; 0.9 refuses a plan a newer akm froze. Downgrade the
|
|
747
|
+
plugins with the CLI: a 0.9 CLI rejects `--detail agent` and a 0.10 CLI rejects
|
|
748
|
+
`--shape agent`.
|
|
510
749
|
|
|
511
750
|
For the CHANGELOG entries behind each item, see the
|
|
512
751
|
[CHANGELOG](https://github.com/itlackey/akm/blob/main/CHANGELOG.md) sections
|
|
513
752
|
`0.10.26101001` to `0.10.26101202` (the daily alphas) and the monthly releases after them. For the stability tier of each command, see
|
|
514
753
|
[STABILITY.md](https://github.com/itlackey/akm/blob/main/STABILITY.md). The
|
|
515
754
|
rules each improve process follows in 0.10 are in
|
|
516
|
-
[the
|
|
755
|
+
[the improvement loop](../architecture/improvement.md) and the
|
|
756
|
+
[improve workflow reference](../architecture/internals/improve-workflow.md).
|
|
@@ -518,10 +518,10 @@ executor's replay-divergence error ("journaled with different inputs")
|
|
|
518
518
|
instead of silently reusing a row bound to the now-stale value. Units
|
|
519
519
|
without bindings are unaffected.
|
|
520
520
|
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
521
|
+
A workflow step that composes a task (`uses: tasks/<ref>`), with its `with:`
|
|
522
|
+
bindings and the `AKM_TASK_INPUTS` and `## Task inputs` delivery surfaces, was
|
|
523
|
+
removed in 0.10 (see [Workflows](v0.9-to-v0.10.md#workflows)). `akm task
|
|
524
|
+
explain` remains: see [`akm task explain`](../reference/tasks.md#akm-task-explain).
|
|
525
525
|
|
|
526
526
|
## Child workflows
|
|
527
527
|
|
|
@@ -629,7 +629,8 @@ composing parent step's own output — see
|
|
|
629
629
|
This is a Markdown-frontmatter-only key — a GitHub-shaped workflow's closed
|
|
630
630
|
root key set (`name`, `on`, `jobs`) has no extension surface for it, the
|
|
631
631
|
same reason it cannot declare `params:` either. See
|
|
632
|
-
[
|
|
632
|
+
[Moving from akm 0.9 to 0.10: Workflows](v0.9-to-v0.10.md#workflows), which
|
|
633
|
+
removed top-level `outputs:`.
|
|
633
634
|
|
|
634
635
|
## New commands
|
|
635
636
|
|
|
@@ -176,7 +176,7 @@ akm config
|
|
|
176
176
|
# Full config in the new shape
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
The complete old-to-new key mapping is in [docs/migration/v0.7-to-v0.8.md](https://github.com/itlackey/akm/blob/
|
|
179
|
+
The complete old-to-new key mapping is in [docs/migration/v0.7-to-v0.8.md](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.7-to-v0.8.md).
|
|
180
180
|
|
|
181
181
|
## What Adding a Field Looks Like Now
|
|
182
182
|
|
|
@@ -161,6 +161,6 @@ The next improve run after that shows reflect calls completing in the 6–10 sec
|
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
164
|
-
LLM mode reflect is available in akm 0.8.0. The full configuration reference is in [configuration reference](../reference/configuration.md). The Config v2 key mapping is in the [v0.7 to v0.8 migration guide](
|
|
164
|
+
LLM mode reflect is available in akm 0.8.0. The full configuration reference is in [configuration reference](../reference/configuration.md). The Config v2 key mapping is in the [v0.7 to v0.8 migration guide](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.7-to-v0.8.md#config-080-migration-unified-profiles).
|
|
165
165
|
|
|
166
166
|
For a broader view of the improve pipeline — all five phases, scheduling, and how reflect feeds the downstream consolidation and distill passes — see [The Improvement Loop: How akm Keeps Your Agent Sharp](https://dev.to/itlackey/the-improvement-loop-how-akm-keeps-your-agent-sharp-2d4d). For debugging improve runs when something goes wrong (stale DB entries, hallucinated merge plans, pre-flight filters), see [Your Agent Has a Memory That Runs While You Sleep](https://dev.to/itlackey/your-agent-has-a-memory-that-runs-while-you-sleep-20oh).
|
|
@@ -18,7 +18,7 @@ date: '2026-05-05T02:19:46Z'
|
|
|
18
18
|
|
|
19
19
|
akm 0.6.0 is out. This one is deliberately boring: a stabilization release that takes a clean break from pre-v1 terminology so the surface area we carry into v1 is honest. The domain model now has one noun for "a source of content" (stash) and one noun for "a service that helps discover them" (registry). The parallel vocabulary that accreted during earlier experiments — "kit", "source", hand-special-cased provider types — is gone. A handful of additive quality-of-life improvements ship alongside, but the headline story is fewer concepts, not more.
|
|
20
20
|
|
|
21
|
-
If you are on 0.5.x, read [the v0.5 → v0.6 migration guide](https://github.com/itlackey/akm/blob/
|
|
21
|
+
If you are on 0.5.x, read [the v0.5 → v0.6 migration guide](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md) before upgrading. Most projects will work without edits thanks to automatic on-disk migrations; a small number of config fields and CLI flags need explicit updates.
|
|
22
22
|
|
|
23
23
|
## TL;DR
|
|
24
24
|
|
|
@@ -51,14 +51,14 @@ The registry wire format follows the same logic. Schema v3 drops `kits[]` and pa
|
|
|
51
51
|
|
|
52
52
|
Each bullet below links to its section in the migration guide, which has the exact before/after code or config diff.
|
|
53
53
|
|
|
54
|
-
- [`stash.lock` → `akm.lock`](https://github.com/itlackey/akm/blob/
|
|
55
|
-
- [`installed[]` → `stashes[]` + `akm.lock`](https://github.com/itlackey/akm/blob/
|
|
56
|
-
- [`stashDir` → `primary: true`](https://github.com/itlackey/akm/blob/
|
|
57
|
-
- [`disableGlobalStashes` → `stashInheritance`](https://github.com/itlackey/akm/blob/
|
|
58
|
-
- [`--for-agent` → `--detail=agent`](https://github.com/itlackey/akm/blob/
|
|
59
|
-
- [`akm enable/disable context-hub` removed](https://github.com/itlackey/akm/blob/
|
|
60
|
-
- [Wire format `kits[]` → `stashes[]`](https://github.com/itlackey/akm/blob/
|
|
61
|
-
- [Discovery keyword / topic `akm-kit` → `akm-stash`](https://github.com/itlackey/akm/blob/
|
|
54
|
+
- [`stash.lock` → `akm.lock`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#1-stashlock--akmlock) — auto-copied on first run.
|
|
55
|
+
- [`installed[]` → `stashes[]` + `akm.lock`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#2-installed--stashes--akmlock) — config cleanup happens on next write.
|
|
56
|
+
- [`stashDir` → `primary: true`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#3-stashdir--primary-true) — automatic.
|
|
57
|
+
- [`disableGlobalStashes` → `stashInheritance`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#1-replace-disableglobalstashes) — **manual**, one-line config edit.
|
|
58
|
+
- [`--for-agent` → `--detail=agent`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#2-replace---for-agent-with---detailagent) — old flag still works as a deprecated alias for one release cycle.
|
|
59
|
+
- [`akm enable/disable context-hub` removed](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#3-replace-akm-enable-context-hub--akm-disable-context-hub) — add it as a regular git stash.
|
|
60
|
+
- [Wire format `kits[]` → `stashes[]`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#wire-format-change-kits--stashes) — registry publishers must regenerate.
|
|
61
|
+
- [Discovery keyword / topic `akm-kit` → `akm-stash`](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#publisher--kit-maker-changes) — publishers must re-tag.
|
|
62
62
|
|
|
63
63
|
If you consume only the public registry and do not maintain your own, the publisher changes do not apply to you.
|
|
64
64
|
|
|
@@ -96,7 +96,7 @@ akm upgrade
|
|
|
96
96
|
|
|
97
97
|
Read:
|
|
98
98
|
|
|
99
|
-
- [v0.5 → v0.6 migration guide](https://github.com/itlackey/akm/blob/
|
|
99
|
+
- [v0.5 → v0.6 migration guide](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md) — every breaking change with before/after code; publisher checklist if you maintain a registry or an npm/GitHub stash.
|
|
100
100
|
|
|
101
101
|
Verify:
|
|
102
102
|
|
|
@@ -106,7 +106,7 @@ akm config list # stashes[] populated, no installed[]
|
|
|
106
106
|
akm list # your sources resolve cleanly # doclint:ignore (historical — pre-0.9.0 command spelling)
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
If something looks wrong after upgrade, the guide has a [troubleshooting section](https://github.com/itlackey/akm/blob/
|
|
109
|
+
If something looks wrong after upgrade, the guide has a [troubleshooting section](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.5-to-v0.6.md#troubleshooting) covering the common pitfalls (stale context-hub entries, v2 registry URLs, empty `stashes[]` after a read-only upgrade path).
|
|
110
110
|
|
|
111
111
|
## What's next
|
|
112
112
|
|
|
@@ -187,7 +187,7 @@ visible wins:
|
|
|
187
187
|
asset that mentions a given entity, by confidence). `akm graph orphans`
|
|
188
188
|
surfaces assets that produced zero entities — quality-triage candidates.
|
|
189
189
|
See the 0.8.0 migration guide's
|
|
190
|
-
[graph extraction section](
|
|
190
|
+
[graph extraction section](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.7-to-v0.8.md#memory-inference-and-graph-extraction-moved-out-of-index).
|
|
191
191
|
- **Better output.** `akm graph relations` and `akm graph entities` now show
|
|
192
192
|
per-row confidence. Search hits annotate the graph-boost contribution in
|
|
193
193
|
`whyMatched`. Related results end with a `Next: akm show '<ref>'` hint
|
|
@@ -202,7 +202,7 @@ the next `akm improve` cycle, which makes LLM calls. The first improve cycle
|
|
|
202
202
|
after upgrade is slower than steady state, but the Phase 1 / Phase 2
|
|
203
203
|
improvements above make it dramatically faster than equivalent re-extraction
|
|
204
204
|
on 0.7.x. See the migration guide section
|
|
205
|
-
[Graph extraction will re-run after upgrade](
|
|
205
|
+
[Graph extraction will re-run after upgrade](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.7-to-v0.8.md#graph-extraction-will-re-run-after-upgrade).
|
|
206
206
|
|
|
207
207
|
## Config v2 and reflect LLM mode
|
|
208
208
|
|
|
@@ -269,7 +269,7 @@ akm config migrate # doclint:ignore (historical — akm 0.8.0 release announcem
|
|
|
269
269
|
```
|
|
270
270
|
|
|
271
271
|
Full reference: [configuration reference](../reference/configuration.md).
|
|
272
|
-
Full key mapping: [v0.7 to v0.8 migration guide — Config 0.8.0 migration](
|
|
272
|
+
Full key mapping: [v0.7 to v0.8 migration guide — Config 0.8.0 migration](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.7-to-v0.8.md#config-080-migration-unified-profiles).
|
|
273
273
|
|
|
274
274
|
## Migration Guidance
|
|
275
275
|
|
|
@@ -327,6 +327,6 @@ akm task list # shows your defined tasks — doclint:ignore (histor
|
|
|
327
327
|
akm config get configVersion # "0.8.0" after akm config migrate
|
|
328
328
|
```
|
|
329
329
|
|
|
330
|
-
Full details in the [v0.7 to v0.8 migration guide](
|
|
330
|
+
Full details in the [v0.7 to v0.8 migration guide](https://github.com/itlackey/akm/blob/7a4f302febfc0fe8c0bf3028c6156e6edc5aae33/docs/migration/v0.7-to-v0.8.md) and the [configuration reference](../reference/configuration.md).
|
|
331
331
|
|
|
332
332
|
Full changelog at [CHANGELOG.md](https://github.com/itlackey/akm/blob/main/CHANGELOG.md).
|