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
|
@@ -86,6 +86,11 @@ feedback signals and usage patterns, then generates proposals — it never
|
|
|
86
86
|
writes directly to your bundle. By default, generated proposals always queue
|
|
87
87
|
for review; the underlying autonomy gate and strategy configuration are
|
|
88
88
|
covered in [Architecture: The Improvement Loop](../architecture/improvement.md).
|
|
89
|
+
Its model calls run on your default connection, else your default harness
|
|
90
|
+
(`--connection`, `--harness` and `--model` choose another for a run; see
|
|
91
|
+
[Configuration](../reference/configuration.md#where-each-process-runs)). With
|
|
92
|
+
neither, `akm improve` skips each process that needs a model, says so, and points
|
|
93
|
+
at `akm setup`.
|
|
89
94
|
|
|
90
95
|
```sh
|
|
91
96
|
akm improve # Full bundle pass
|
|
@@ -194,10 +199,11 @@ akm proposal accept abc12345 # write it to the bundle
|
|
|
194
199
|
|
|
195
200
|
## akm proposal new
|
|
196
201
|
|
|
197
|
-
`akm proposal new` asks an
|
|
202
|
+
`akm proposal new` asks an agent to author a brand-new asset — useful
|
|
198
203
|
when you want to create something from scratch rather than improving an
|
|
199
|
-
existing asset.
|
|
200
|
-
|
|
204
|
+
existing asset. It runs on your default harness, or on akm's own runtime over
|
|
205
|
+
your connection when you have no harness (`--harness` and `--connection` choose
|
|
206
|
+
another): the agent returns the asset as JSON, which akm validates.
|
|
201
207
|
Output always goes to the proposal queue, never directly to the bundle.
|
|
202
208
|
|
|
203
209
|
```sh
|
|
@@ -240,7 +246,7 @@ autonomy gate that governs the few lanes that can act without one.
|
|
|
240
246
|
## See also
|
|
241
247
|
|
|
242
248
|
- [Discover & Load](discover-and-load.md) — finding and loading assets
|
|
243
|
-
- [Knowledge
|
|
249
|
+
- [Capture Knowledge](capture-knowledge.md) — capturing memories and docs
|
|
244
250
|
- [Agent Integration](use-with-any-agent.md) — wiring feedback into agent workflows
|
|
245
251
|
- [CLI Reference](../reference/cli.md) — full flag documentation for `feedback`, `log`, `improve`, `proposal`
|
|
246
252
|
- [Architecture: The Improvement Loop](../architecture/improvement.md) — utility scoring, strategies, autonomy gates, auto-sync, and session extraction
|
|
@@ -43,28 +43,23 @@ echo "akm setup complete"
|
|
|
43
43
|
Node.js >= 22; a working Bun >= 1.0 is optional and preferred for execution
|
|
44
44
|
after Node starts the package launcher.
|
|
45
45
|
|
|
46
|
-
**Setup.** `akm setup --yes`
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
**Setup.** `akm setup --yes` takes the detected default for every question:
|
|
47
|
+
each agent program found on `PATH` is enabled and the first is the default. When
|
|
48
|
+
akm can limit that program to reading and searching it takes akm's own model
|
|
49
|
+
calls too; otherwise a local model server setup finds becomes the connection. To give akm an endpoint
|
|
50
|
+
yourself, answer the question with a flag; the key is named by the environment variable that holds
|
|
51
|
+
it and never appears on the command line:
|
|
50
52
|
|
|
51
53
|
```sh
|
|
52
|
-
akm setup --
|
|
53
|
-
"engines": {
|
|
54
|
-
"default": {
|
|
55
|
-
"kind": "llm",
|
|
56
|
-
"endpoint": "http://localhost:11434/v1/chat/completions",
|
|
57
|
-
"model": "llama3.2"
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"defaults": { "llmEngine": "default" }
|
|
61
|
-
}' --probe
|
|
54
|
+
akm setup --yes --endpoint https://api.example.com/v1 --api-key-env EXAMPLE_API_KEY
|
|
62
55
|
```
|
|
63
56
|
|
|
64
|
-
|
|
57
|
+
`--no-probe` keeps the run offline (the endpoint's model list is not fetched), so a
|
|
58
|
+
new connection has no model until `akm models set` names one.
|
|
59
|
+
For the full set of flags, see `akm setup --help`; for the config they write,
|
|
65
60
|
see [configuration.md](../../reference/configuration.md).
|
|
66
61
|
|
|
67
|
-
**Semantic search.** Headless setups (`--yes` or `--
|
|
62
|
+
**Semantic search.** Headless setups (`--yes` or `--from`, no wizard
|
|
68
63
|
prompts) defer the embedding-model download to the first `akm index` run,
|
|
69
64
|
unlike the interactive wizard which downloads immediately during `akm
|
|
70
65
|
setup`. Set the mode explicitly rather than relying on the implicit default:
|
|
@@ -12,15 +12,23 @@ see [Scheduling](scheduling.md).
|
|
|
12
12
|
|
|
13
13
|
## Start or continue a run
|
|
14
14
|
|
|
15
|
-
`akm workflow run <
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
`akm workflow run <workflows/ref>` always starts a new persisted run, and
|
|
16
|
+
`akm workflow run <run-id>` continues that exact run. Either way it executes
|
|
17
|
+
until completion, failure, verification rejection, interruption, or an
|
|
18
|
+
explicit invocation limit. A run is identified by its run id and a workflow by
|
|
19
|
+
its ref; the directory you run from never matters, so `akm workflow list` and
|
|
20
|
+
`akm workflow status` show the same runs from anywhere.
|
|
21
|
+
|
|
22
|
+
If other runs of the same ref are still active, a start says so in one
|
|
23
|
+
warning that names their ids and the `akm workflow run <id>` /
|
|
24
|
+
`akm workflow abandon <id>` commands. Starting is never refused.
|
|
25
|
+
`akm workflow resume <id>` is only for a blocked or failed run: it re-activates
|
|
26
|
+
the run so `akm workflow run <id>` can continue it.
|
|
27
|
+
`--new` is a deprecated no-op (a ref always starts a new run), kept through
|
|
28
|
+
0.10 so existing scripts keep working.
|
|
21
29
|
|
|
22
30
|
Every new run/start compiles source IR v1 and freezes the durable plan v4
|
|
23
|
-
family's current executable format (`irVersion:
|
|
31
|
+
family's current executable format (`irVersion: 8`) before publishing the run.
|
|
24
32
|
A workflow ref is a Markdown `.md` source.
|
|
25
33
|
|
|
26
34
|
```sh
|
|
@@ -29,6 +37,9 @@ akm workflow run workflows/review --changed_files a.ts --changed_files b.ts
|
|
|
29
37
|
akm workflow run <run-id> --max-retries 2 --timeout 10m
|
|
30
38
|
```
|
|
31
39
|
|
|
40
|
+
Parameters are accepted on every ref start. They cannot be combined with a run
|
|
41
|
+
id, which already has its parameters.
|
|
42
|
+
|
|
32
43
|
Parameter flags must come after the target and exactly match declared
|
|
33
44
|
`params` keys. Values are coerced through each parameter's JSON Schema:
|
|
34
45
|
repeat an array flag, pass an object or whole array as JSON, and use a bare
|
|
@@ -58,7 +69,7 @@ and evidence — for a given run ID or workflow ref.
|
|
|
58
69
|
```sh
|
|
59
70
|
akm workflow status <run-id>
|
|
60
71
|
akm workflow status workflows/ship-release
|
|
61
|
-
# When given a ref,
|
|
72
|
+
# When given a ref, shows the most recently updated run of that ref
|
|
62
73
|
```
|
|
63
74
|
|
|
64
75
|
Use this to inspect where a run is after a context window break, or to verify
|
|
@@ -151,12 +162,13 @@ A child run id always works directly, listed or not — `akm workflow status
|
|
|
151
162
|
<childRunId>`, `resume`, `abandon`, and `run` all operate on it exactly like
|
|
152
163
|
any other run.
|
|
153
164
|
|
|
154
|
-
## List runs
|
|
165
|
+
## List runs
|
|
155
166
|
|
|
156
|
-
`akm workflow list` shows workflow
|
|
167
|
+
`akm workflow list` shows every workflow run on this host, most recently
|
|
168
|
+
updated first. `--all-scopes` is a deprecated no-op, kept through 0.10.
|
|
157
169
|
|
|
158
170
|
```sh
|
|
159
|
-
akm workflow list # All runs
|
|
171
|
+
akm workflow list # All runs (any status)
|
|
160
172
|
akm workflow list --active # Only status=active (executable) runs
|
|
161
173
|
akm workflow list --ref workflows/ship-release # Runs for a specific workflow
|
|
162
174
|
```
|
|
@@ -190,7 +202,7 @@ completed are skipped, not re-run (see
|
|
|
190
202
|
A resume consumes the frozen plan and journaled attempts; it does not re-read
|
|
191
203
|
configuration or the index, and reads the authored workflow only to warn once
|
|
192
204
|
when it changed since the run was frozen (the run continues on the frozen
|
|
193
|
-
plan; `akm workflow run <ref
|
|
205
|
+
plan; `akm workflow run <ref>` starts a new run that picks up the edit). A stored plan this akm
|
|
194
206
|
cannot decode is abandoned with a message naming how to start a new run.
|
|
195
207
|
|
|
196
208
|
## Abandon a run
|
|
@@ -225,11 +237,10 @@ Workflow steps that include shell commands run with **the full filesystem and
|
|
|
225
237
|
network access of the user invoking `akm workflow run`** — same as if the user
|
|
226
238
|
had typed those commands in their shell. There is no sandbox and no separation
|
|
227
239
|
between trusted and untrusted workflows. An `exec` unit's *environment* is
|
|
228
|
-
|
|
229
|
-
([Workflow Schema](../reference/workflow-schema.md#the-childs-environment
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
boundary, not a containment one. AKM
|
|
240
|
+
yours
|
|
241
|
+
([Workflow Schema](../reference/workflow-schema.md#the-childs-environment)):
|
|
242
|
+
every variable of the process that ran `akm workflow run` reaches the command,
|
|
243
|
+
credentials included. AKM
|
|
233
244
|
directly orchestrates workflows as a defined execution surface — it does not
|
|
234
245
|
blindly execute arbitrary indexed content — but that orchestration still runs
|
|
235
246
|
the workflow's own declared shell commands with your full access once you
|
|
@@ -248,9 +259,7 @@ treat package dependencies**:
|
|
|
248
259
|
workflow file first (`akm show workflows/<name>`) before running it.
|
|
249
260
|
- **Audit before run** for any workflow that touches secrets, deploys to
|
|
250
261
|
production, or writes outside the project tree. Read the `env:` bindings a
|
|
251
|
-
workflow declares
|
|
252
|
-
The durable v4 family (`irVersion: 5`) rejects `inherit_env`. Authors must
|
|
253
|
-
use exact named bindings and `pass_env` names.
|
|
262
|
+
workflow declares.
|
|
254
263
|
- **Pin known-good versions** when adding workflow sources from a registry
|
|
255
264
|
or git remote (`akm bundle add github:owner/repo#v1.2.3`), and update
|
|
256
265
|
deliberately rather than via `akm bundle update --all`. A trusted workflow
|
|
@@ -61,7 +61,7 @@ different checkout or package. Editing definitions and running ordinary `akm
|
|
|
61
61
|
task sync` preserves that captured runtime.
|
|
62
62
|
|
|
63
63
|
A scheduled fire re-reads the guarded current source and creates a fresh
|
|
64
|
-
durable-v4-family freeze at executable `irVersion:
|
|
64
|
+
durable-v4-family freeze at executable `irVersion: 8`.
|
|
65
65
|
Scheduler sync/validation evidence is not an executable snapshot and is never reused as the later run plan.
|
|
66
66
|
|
|
67
67
|
## A scheduled `akm improve` covers one bundle
|
|
@@ -76,7 +76,7 @@ the command is `akm improve`'s own:
|
|
|
76
76
|
|
|
77
77
|
```sh
|
|
78
78
|
akm task add improve-team --schedule "15 3 * * *" \
|
|
79
|
-
--command "akm improve --bundle team
|
|
79
|
+
--command "akm improve --bundle team"
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
Leave `--skip-if-locked` off a once-a-night run: if a short-cadence improve task
|
|
@@ -31,8 +31,8 @@ akm hints --detail brief >> AGENTS.md
|
|
|
31
31
|
|
|
32
32
|
The output is stable across patch releases and designed for agents rather
|
|
33
33
|
than humans: it describes the lookup workflow (`curate` → `show` →
|
|
34
|
-
`feedback`) and explains how refs work. It prints
|
|
35
|
-
|
|
34
|
+
`feedback`) and explains how refs work. It prints the complete guide by default;
|
|
35
|
+
`--detail brief` prints the short one.
|
|
36
36
|
|
|
37
37
|
## The retrieval loop: curate, show, feedback
|
|
38
38
|
|
|
@@ -80,9 +80,8 @@ recognized and indexed automatically once added as a source — see
|
|
|
80
80
|
which formats are read-only versus writable in the current release.
|
|
81
81
|
The native directory remains the source of truth: AKM translates recognized
|
|
82
82
|
assets while reading the bundle and does not synchronize, copy, or write them
|
|
83
|
-
back.
|
|
84
|
-
|
|
85
|
-
[Agent, Command, Engine, and Model Resolution](../architecture/specs/agent-command-engine-model-design.md).
|
|
83
|
+
back. Execution of these translated agents and commands is described in
|
|
84
|
+
[Architecture: Connections and Harnesses](../architecture/architecture.md#connections-and-harnesses).
|
|
86
85
|
|
|
87
86
|
## AKM complements, rather than replaces
|
|
88
87
|
|
|
@@ -98,15 +97,15 @@ than replacing either.
|
|
|
98
97
|
|
|
99
98
|
- **Tab completion.** `akm completions --install` sets up shell completions
|
|
100
99
|
for subcommands and flags. See [CLI Reference](../reference/cli.md#completions).
|
|
101
|
-
- **Dispatching a bundle agent asset.** `akm agent agents/<name> --
|
|
102
|
-
<
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
[
|
|
108
|
-
|
|
109
|
-
|
|
100
|
+
- **Dispatching a bundle agent asset.** `akm agent agents/<name> --harness
|
|
101
|
+
<harness> --prompt "..."` runs a bundle `agents/<name>` persona and model
|
|
102
|
+
default on a harness (or on akm's own runtime over a connection, with
|
|
103
|
+
`--connection <name>`), with the aliases `fast`, `balanced` and `reasoning`
|
|
104
|
+
resolved on whichever you select. See
|
|
105
|
+
[Configuration](../reference/configuration.md#aliases) for the aliases and
|
|
106
|
+
[Architecture](../architecture/architecture.md#connections-and-harnesses)
|
|
107
|
+
for how dispatch reaches each harness. The harness runs as you would run it by
|
|
108
|
+
hand ([how](../reference/configuration.md#how-akm-runs-a-harness)).
|
|
110
109
|
- **Install refs vs. asset refs.** `npm:@scope/pkg` and `github:owner/repo`
|
|
111
110
|
are install refs, accepted only by `akm bundle add`/`akm clone`, and are a
|
|
112
111
|
different grammar from the `[bundle//]conceptId` refs `show`/`search` use.
|
|
@@ -156,18 +155,17 @@ config to follow prereleases. The exact rules are in the
|
|
|
156
155
|
[`akm upgrade` reference](../reference/cli.md#harness-plugins). `akm health`
|
|
157
156
|
warns when either plugin's bundled `akm-cli` differs from the running CLI.
|
|
158
157
|
|
|
159
|
-
**Which OpenCode akm
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
which plugin you install, and the plugin choice does not change it.
|
|
158
|
+
**Which OpenCode akm runs** does not depend on the plugin: the `opencode`
|
|
159
|
+
harness runs your OpenCode through its CLI (OpenCode 1 and 2), and akm's own
|
|
160
|
+
runtime fetches and runs its own pinned one (see
|
|
161
|
+
[Configuration](../reference/configuration.md#without-a-harness)). Install the plugin for
|
|
162
|
+
the OpenCode you use yourself.
|
|
165
163
|
|
|
166
164
|
## See also
|
|
167
165
|
|
|
168
|
-
- [Configuration](../reference/configuration.md#
|
|
166
|
+
- [Configuration](../reference/configuration.md#connections) — connections, harnesses and model aliases
|
|
169
167
|
- [Discover and Load](discover-and-load.md) — the full curate → show retrieval path
|
|
170
|
-
- [Knowledge
|
|
168
|
+
- [Capture Knowledge](capture-knowledge.md) — capturing agent-generated memories
|
|
171
169
|
- [Improve the Library](improve-the-library.md) — feeding back usage signals
|
|
172
170
|
- [CLI Reference](../reference/cli.md) — `completions`, `agent`, and `hints` command documentation
|
|
173
171
|
- [Concepts](concepts.md) — refs, origins, and the asset type system
|
|
@@ -29,12 +29,17 @@ akm migrate apply
|
|
|
29
29
|
|
|
30
30
|
In order, every run applies (or, under `status`/`--dry-run`, plans):
|
|
31
31
|
|
|
32
|
-
1. **config.json in its current shape** (`configFile`):
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
1. **config.json in its current shape** (`configFile`): unknown keys dropped,
|
|
33
|
+
`configVersion` set, and the `engines` / `defaults` form converted to
|
|
34
|
+
`connections` / `harnesses`. Config loading already does this in memory;
|
|
35
|
+
this persists it under a backup. The API keys a config still holds in any
|
|
36
|
+
form akm no longer reads move to `credentials.json` (`configFile.credentials`
|
|
37
|
+
lists the entry names, never a value), and a leftover `models.json` is folded
|
|
38
|
+
into the `models` of the connections and harnesses it names. A config older
|
|
39
|
+
than 0.9.15 (the legacy `stashDir`/`sources[]`/`installed` layout) is not
|
|
40
|
+
converted by 0.10: it blocks with a message to run `akm migrate apply` under
|
|
41
|
+
akm 0.9.x first. What each retired key becomes is the table in
|
|
42
|
+
[Configuration](../reference/configuration.md#the-engines-form).
|
|
38
43
|
2. **Pending `state.db` migrations**, historical-destructive ones included
|
|
39
44
|
(`stateMigrations`). This is the only path (besides `akm upgrade`, which
|
|
40
45
|
calls the same code) that is allowed to apply a destructive migration to an
|
|
@@ -45,7 +50,11 @@ In order, every run applies (or, under `status`/`--dry-run`, plans):
|
|
|
45
50
|
task source v4 (`taskFiles`) under one backup directory per run. A file
|
|
46
51
|
the planner cannot convert unambiguously is reported `blocked` and left
|
|
47
52
|
alone; the rest still convert.
|
|
48
|
-
4. **
|
|
53
|
+
4. **Asset `engine:` keys** (`assetEngineKeys`): the retired `engine:` key on
|
|
54
|
+
commands, agents, workflows and task sources rewritten to `connection:` or
|
|
55
|
+
`harness:` by what the name is now, under one backup directory per run. A
|
|
56
|
+
bundle akm may not change is skipped.
|
|
57
|
+
5. **Residue sweep**: superseded pre-0.9.0 `.akm` files in the stash and the
|
|
49
58
|
transaction-journal, maintenance-barrier, lock-mutex and version-stamp
|
|
50
59
|
files older releases kept under `$DATA`/`$STATE`/`$CONFIG` (`deadResidue`).
|
|
51
60
|
|
|
@@ -67,6 +76,7 @@ same step names):
|
|
|
67
76
|
"configFile": { "keys": [], "changed": false, "applied": false },
|
|
68
77
|
"stateMigrations": { "pending": [] },
|
|
69
78
|
"taskFiles": { "schemaVersion": 1, "changed": 0, "skipped": 0, "blocked": 0, "files": [] },
|
|
79
|
+
"assetEngineKeys": { "schemaVersion": 1, "changed": 0, "skipped": 0, "files": [] },
|
|
70
80
|
"deadResidue": { "pending": [] }
|
|
71
81
|
}
|
|
72
82
|
```
|
|
@@ -104,8 +114,7 @@ same step names):
|
|
|
104
114
|
conflict; a real `apply` will clear them.
|
|
105
115
|
- **`blocked`** — at least one item cannot be applied automatically (a
|
|
106
116
|
genuine authoring problem, e.g. a task file the migrator can't rewrite
|
|
107
|
-
unambiguously, or a config `
|
|
108
|
-
first-class field). `blockers` names each one. `apply` still applies
|
|
117
|
+
unambiguously, or a config that fails validation). `blockers` names each one. `apply` still applies
|
|
109
118
|
everything it *can*, then reports `blocked` and exits non-zero.
|
|
110
119
|
|
|
111
120
|
A pending `state.db` migration needs no human decision, so it is never
|
|
@@ -119,6 +128,7 @@ Key fields:
|
|
|
119
128
|
| --- | --- |
|
|
120
129
|
| `stateMigrations` | `{ pending: string[] }` under `status`/`--dry-run`; `{ applied: string[], safetyCopyPath?: string }` after a real `apply`. `safetyCopyPath` is present only when a historical-destructive migration ran — see below. |
|
|
121
130
|
| `taskFiles` | `changed`/`skipped`/`blocked` counts and a `files[]` array with each file's `status` and `reason`. |
|
|
131
|
+
| `assetEngineKeys` | `changed`/`skipped` counts and a `files[]` array with each rewritten file's `rewrites` (`at`, `from`, `to`). |
|
|
122
132
|
| `backupPath` / `applied` | Present after a real apply that rewrote at least one task file: the run's backup directory and how many files it rewrote. |
|
|
123
133
|
| `deadResidue` | `{ pending: [...] }` under a read-only run, `{ removed: [...] }` / `{ recovered: [...], quarantined: [...], deferred: [...] }` after apply. An untrusted journal (unreadable `journal.json`, or a fence violation) is quarantined to `$DATA/txn-quarantine`; a trusted, fenced journal whose `rollback`/`finalize` throws is deferred, left in place under `$DATA/txn/<rootNs>/`. Neither is thrown, and neither sets `status` to `blocked`. `staleTxns.pending` entries carry `wouldQuarantine: { reason }` when the journal's read-only fence check alone (not a `rollback`/`finalize` run) already shows it would be quarantined by a real apply. |
|
|
124
134
|
|
|
@@ -8,12 +8,8 @@ actually improve it, and the current state of the `curate` implementation.
|
|
|
8
8
|
kind of contributor check (live source, built launcher, packed-package
|
|
9
9
|
acceptance, global checkout install) and the verification commands to run
|
|
10
10
|
before pushing.
|
|
11
|
-
- [Release Checklist](release-checklist.md) —
|
|
12
|
-
|
|
13
|
-
required before publication.
|
|
11
|
+
- [Release Checklist](release-checklist.md) — the branch model and the steps to
|
|
12
|
+
cut, release and install akm and its plugins.
|
|
14
13
|
- [akm-eval](https://github.com/itlackey/akm-eval) — the evals and benchmarks
|
|
15
14
|
that measure whether `akm improve` and retrieval changes are actually
|
|
16
15
|
working. The old in-repo toolkit is retired: see [eval.md](eval.md).
|
|
17
|
-
- [Curate Workmap](curate-workmap.md) — the current `akm curate` contract,
|
|
18
|
-
where its implementation diverges from intended behavior, and the
|
|
19
|
-
highest-value next fixes.
|
|
@@ -1,135 +1,82 @@
|
|
|
1
1
|
# Release Checklist
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
3
|
+
`main` is the stable line (npm `latest`). The next version is developed on a
|
|
4
|
+
release branch, `release/<version>` (npm `next`), which merges to `main` when
|
|
5
|
+
it becomes stable. A fix for stable lands on `main` and is cherry-picked onto
|
|
6
|
+
the release branch when that branch needs it.
|
|
7
|
+
|
|
8
|
+
## 1. Cut the version
|
|
9
|
+
|
|
10
|
+
On the branch you release from (`main` for stable, the release branch for
|
|
11
|
+
next):
|
|
12
|
+
|
|
13
|
+
1. Set the version: `npm pkg set version=<version>`. From 0.10,
|
|
14
|
+
`bun scripts/release-version.ts next` prints the next free one (see
|
|
15
|
+
[Versions](#versions)).
|
|
16
|
+
2. Cut the changelog: add `## [<version>] - <YYYY-MM-DD>` (UTC date) directly
|
|
17
|
+
under `## [Unreleased]`, so the unreleased entries become this release's
|
|
18
|
+
section. CI fails the release commit when the newest section does not name
|
|
19
|
+
the `package.json` version (`tests/workflow-release.test.ts`).
|
|
20
|
+
3. Add a migration note if the release needs one (see
|
|
21
|
+
[CONTRIBUTING](https://github.com/itlackey/akm/blob/main/.github/CONTRIBUTING.md#shipping-a-release--migration-notes)).
|
|
22
|
+
4. Commit `release: <version>`, push it to the branch, and let CI run on it.
|
|
23
|
+
|
|
24
|
+
## 2. Release akm
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
gh workflow run release.yml --ref <branch> -f version=<version> [-f stage=alpha|beta|rc]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The Release workflow, on the pushed commit:
|
|
31
|
+
|
|
32
|
+
1. runs Gated CI: semantic search with real embeddings, the Docker install
|
|
33
|
+
matrix, and the native schedulers on Linux, macOS and Windows;
|
|
34
|
+
2. requires CI to have passed on the same commit (it does not run lint, the
|
|
35
|
+
typecheck or the test suites again);
|
|
36
|
+
3. runs `tests/release-check.sh --skip-docker`: the packaged artifact's bin
|
|
37
|
+
targets and migrator, package acceptance, and the upgrade rehearsal against
|
|
38
|
+
the packed tarball;
|
|
39
|
+
4. builds the package and standalone binaries, publishes to npm (`latest` for
|
|
40
|
+
a stable version, `next` for a prerelease) and creates the GitHub release.
|
|
41
|
+
|
|
42
|
+
If a job fails on a flake, rerun the failed jobs. If the fix needs a code
|
|
43
|
+
change, commit it and release that commit. npm can take several minutes to show
|
|
44
|
+
a new version: check `npm view akm-cli@<tag> version` before upgrading.
|
|
45
|
+
|
|
46
|
+
## 3. Release the plugins
|
|
31
47
|
|
|
32
48
|
```sh
|
|
33
|
-
|
|
34
|
-
candidate_short_sha="$(git rev-parse --short=12 HEAD)"
|
|
35
|
-
candidate_version="$(node -p 'require("./package.json").version')"
|
|
36
|
-
candidate_tag="gated-ci/candidate-${candidate_version}-${candidate_short_sha}"
|
|
37
|
-
git tag "$candidate_tag" "$candidate_sha"
|
|
38
|
-
git push origin "refs/tags/$candidate_tag"
|
|
49
|
+
gh workflow run release.yml --repo itlackey/akm-plugins --ref <plugins branch> -f akm_version=<published akm version>
|
|
39
50
|
```
|
|
40
51
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
commit for every gate. Wait for all of these stable checks to succeed on either
|
|
59
|
-
candidate path:
|
|
60
|
-
|
|
61
|
-
- `Gated / Semantic Search`
|
|
62
|
-
- `Gated / Docker Install`
|
|
63
|
-
- `Gated / Native Scheduler / Linux`
|
|
64
|
-
- `Gated / Native Scheduler / macOS`
|
|
65
|
-
- `Gated / Native Scheduler / Windows`
|
|
66
|
-
- `Gated / Release Candidate Evidence`
|
|
67
|
-
|
|
68
|
-
The final evidence job records the requested and resolved SHA, the trigger ref,
|
|
69
|
-
each suite's result, and a run link in the workflow summary. A weekly run is
|
|
70
|
-
drift detection, not release evidence, because it may cover a different
|
|
71
|
-
commit.
|
|
72
|
-
|
|
73
|
-
Manual and tagged candidate runs are cache restore-only. Only a successful
|
|
74
|
-
scheduled run of the workflow on the repository's default branch may save the
|
|
75
|
-
HuggingFace model cache; its key identifies both the embedding model and the
|
|
76
|
-
source/lock inputs. This prevents candidate-controlled workflow code from
|
|
77
|
-
publishing cache entries while still avoiding repeated model downloads.
|
|
78
|
-
|
|
79
|
-
Copy the successful run URL (for example,
|
|
80
|
-
`https://github.com/itlackey/akm/actions/runs/<run-id>`) and the exact candidate
|
|
81
|
-
SHA into both the release PR and its milestone/parent tracker. Do not publish
|
|
82
|
-
from a candidate whose evidence link names a different SHA, whose final
|
|
83
|
-
evidence job is skipped, or whose run was re-run after the candidate changed.
|
|
84
|
-
|
|
85
|
-
## 3. Gated CI does not run on pull requests
|
|
86
|
-
|
|
87
|
-
Gated CI runs on three triggers only: the weekly schedule, an exact-SHA
|
|
88
|
-
`workflow_dispatch`, and a `gated-ci/candidate-*` tag. All three run every
|
|
89
|
-
suite.
|
|
90
|
-
|
|
91
|
-
There used to be a `Gated / Detect Changed Paths` job that also ran these on
|
|
92
|
-
PRs, selecting suites by regex-matching the diff against path lists. It was
|
|
93
|
-
deleted in 0.9.8: the patterns had gone stale — they still named test files a
|
|
94
|
-
reorganisation had moved or deleted, so it was silently under-selecting suites
|
|
95
|
-
and nobody noticed. A build-policing job that quietly stops policing is worse
|
|
96
|
-
than no job, because its green status is read as coverage.
|
|
97
|
-
|
|
98
|
-
Nothing about release evidence changes. Step 2 was always the requirement, and
|
|
99
|
-
it never went through the PR path.
|
|
100
|
-
|
|
101
|
-
The candidate-tag trigger is reserved for release evidence and workflow
|
|
102
|
-
rollout: it always runs `all`, because a tag-push workflow is the path available
|
|
103
|
-
before the workflow file reaches the default branch.
|
|
104
|
-
|
|
105
|
-
## 4. Publish
|
|
106
|
-
|
|
107
|
-
After the exact-SHA gated run and local release check are green, trigger the
|
|
108
|
-
Release workflow with the version already committed in `package.json`. Keep the
|
|
109
|
-
candidate SHA and Gated CI run URL in the release record so the published
|
|
110
|
-
artifact's validation can be audited later.
|
|
52
|
+
Plugins match akm's major.minor and keep their own patch numbers; each plugin
|
|
53
|
+
release's notes name the akm version it requires. A plugin-only fix is released
|
|
54
|
+
the same way, with the akm version already published. The Claude marketplace
|
|
55
|
+
reads the plugins repository's `main`, so stable plugin releases come from
|
|
56
|
+
`main`.
|
|
57
|
+
|
|
58
|
+
## 4. Upgrade
|
|
59
|
+
|
|
60
|
+
`akm upgrade` (stable) or `akm upgrade --next` (prerelease) updates akm and the
|
|
61
|
+
installed plugins.
|
|
62
|
+
|
|
63
|
+
## Gated CI on its own
|
|
64
|
+
|
|
65
|
+
Gated CI also runs weekly on `main` to catch drift, and on demand from the
|
|
66
|
+
Actions tab on any ref. Only the weekly run saves the Hugging Face model cache.
|
|
67
|
+
|
|
68
|
+
## Versions
|
|
111
69
|
|
|
112
70
|
0.10 and later use monthly release numbers, `0.10.YYMMNN`: `YY` the UTC year,
|
|
113
71
|
`MM` the month and `NN` the release in that month (`01` to `99`), two digits
|
|
114
|
-
each (see [`STABILITY.md`](../../STABILITY.md)).
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
`
|
|
120
|
-
|
|
121
|
-
The
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
`tests/release-version.test.ts`): two digits each for `YY`, `MM`, `NN`, a
|
|
126
|
-
month 01 to 12, `NN` 01 to 99; the old 8-digit daily form is rejected. For
|
|
127
|
-
0.9 and older it is the `X.Y.Z` as before.
|
|
128
|
-
- `stage`: `none` publishes `<version>` to the npm `latest` tag and as a GitHub
|
|
129
|
-
release. `alpha`, `beta` or `rc` publishes `<version>-<stage>` to `next` as a
|
|
130
|
-
GitHub prerelease (no `.N`: every release has its own number). There is no
|
|
131
|
-
promoting one build through stages: the next release, at any stage, commits
|
|
132
|
-
the next number (`0.10.261001-alpha`, then `0.10.261002-beta`, then
|
|
133
|
-
`0.10.261003`).
|
|
134
|
-
|
|
135
|
-
`bun scripts/release-version.ts validate <version>` checks a version by hand.
|
|
72
|
+
each (see [`STABILITY.md`](../../STABILITY.md)). `bun scripts/release-version.ts
|
|
73
|
+
next` takes `NN` as one above the highest release already on npm for this UTC
|
|
74
|
+
month, with or without a stage, and `bun scripts/release-version.ts validate
|
|
75
|
+
<version>` checks one by hand. The retired 8-digit daily builds
|
|
76
|
+
(`0.10.26101001-alpha` to `0.10.26101202-alpha`) are not counted. 0.9 and older
|
|
77
|
+
use `X.Y.Z`.
|
|
78
|
+
|
|
79
|
+
The `stage` input is not committed: `none` (the default) publishes `<version>`
|
|
80
|
+
to `latest`; `alpha`, `beta` or `rc` publishes `<version>-<stage>` to `next` as
|
|
81
|
+
a GitHub prerelease. Every release, at any stage, takes the next number; a
|
|
82
|
+
build is not promoted through stages.
|
package/docs/migration/README.md
CHANGED
|
@@ -2,14 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Upgrade guides and per-release migration notes.
|
|
4
4
|
|
|
5
|
+
## Current
|
|
6
|
+
|
|
5
7
|
- [v0.9 -> v0.10 migration guide](v0.9-to-v0.10.md) -- Upgrade order for a 0.9.15+ install, every removed CLI spelling, strategy, config key and workflow feature with its replacement, changed `akm improve` defaults, the OpenCode plugins, and `0.10.YYMMNN` version numbers
|
|
6
8
|
- [v0.10.0 release note](release-notes/0.10.0.md) -- Summary of the 0.10 series: the 0.9.15 version floor, `--shape`/`--target`/`help agents` removals, `default` and `consolidate` as the only built-in strategies, OpenCode 2, feedback-scaled ranking, and what is gone
|
|
9
|
+
- [Release notes index](release-notes/README.md) -- The short per-release notes `akm help migrate <version>` prints, with links to every bundled note
|
|
10
|
+
|
|
11
|
+
## Historical
|
|
12
|
+
|
|
13
|
+
Guides and notes for earlier releases. They describe the commands and formats of
|
|
14
|
+
their own release, which the current CLI may no longer have, and are not checked
|
|
15
|
+
against it.
|
|
16
|
+
|
|
7
17
|
- [v0.9.1 -> v0.9.2 migration guide](v0.9.1-to-v0.9.2.md) -- Task-v2/task-v3 to task source v4 conversion, the durable-v4-family workflow boundary at executable `irVersion: 5`, and release behavior changes
|
|
8
18
|
- [v0.9.2 release note](release-notes/0.9.2.md) -- Self-contained terminal upgrade summary shipped for `akm help migrate 0.9.2`
|
|
9
19
|
- [v0.9.16 release note](release-notes/0.9.16.md) -- Source-bound scheduler grants, local execution authority, and split unsafe overrides
|
|
10
20
|
- [v0.9.17 release note](release-notes/0.9.17.md) -- Consolidate's retire proposals and index layout 26, replacing the LLM entity graph with declared links, and `akm improve` scoped to what retrieval actually returns
|
|
11
21
|
- [v0.9.19 release note](release-notes/0.9.19.md) -- `akm improve` scoped to the bundle it writes to (scheduled runs need one `--bundle` run per other bundle), `akm proposal reopen` and the retire-proposal diff, and fewer repeat consolidate promotions
|
|
12
22
|
- [v0.8 -> current v0.9 migration guide](v0.8-to-v0.9.md) -- Package upgrade with fresh current config/state and explicit task conversion
|
|
13
|
-
- [v0.7 -> v0.8 migration guide](v0.7-to-v0.8.md) -- Task schema and 0.8-era changes
|
|
14
|
-
- [v0.5 -> v0.6 migration guide](v0.5-to-v0.6.md) -- Terminology cut, registry schema v3, publisher changes
|
|
15
|
-
- [Release notes index](release-notes/README.md) -- The short per-release notes `akm help migrate <version>` prints, with links to every bundled note
|