akm-cli 0.9.30 → 0.10.261001-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 +438 -0
- package/README.md +10 -10
- package/ROADMAP.md +112 -0
- package/STABILITY.md +99 -57
- package/dist/api-node.mjs +20 -0
- package/dist/api.d.ts +23 -0
- package/dist/api.js +45 -0
- package/dist/assets/hints/cli-hints-full.md +15 -29
- package/dist/assets/hints/cli-hints-short.md +2 -2
- package/dist/assets/improve-strategies/default.json +3 -3
- package/dist/assets/prompts/consolidate-pair.md +9 -7
- package/dist/assets/stash-skeleton/README.md +1 -1
- package/dist/assets/tasks/improve/akm-improve-consolidate.yml +1 -1
- package/dist/cli/shared.js +31 -48
- package/dist/cli/unknown-flags.js +6 -43
- package/dist/cli.js +8 -34
- package/dist/commands/agent/contribute-cli.js +1 -1
- package/dist/commands/completions.js +1 -2
- package/dist/commands/config-cli.js +5 -28
- package/dist/commands/env/env-cli.js +5 -5
- package/dist/commands/env/secret-cli.js +2 -2
- package/dist/commands/feedback-cli.js +75 -49
- package/dist/commands/health/checks.js +41 -16
- package/dist/commands/health/plugin-staleness.js +52 -22
- package/dist/commands/improve/autonomy-gate.js +5 -3
- package/dist/commands/improve/consolidate/chunking.js +3 -10
- package/dist/commands/improve/consolidate/continuity-check.js +4 -4
- package/dist/commands/improve/consolidate/pair-pass.js +29 -10
- package/dist/commands/improve/consolidate.js +10 -65
- package/dist/commands/improve/distill/lesson-update.js +91 -0
- package/dist/commands/improve/distill-guards.js +1 -43
- package/dist/commands/improve/distill.js +148 -21
- package/dist/commands/improve/eligibility.js +14 -1
- package/dist/commands/improve/extract-cli.js +1 -1
- package/dist/commands/improve/extract-prompt.js +17 -7
- package/dist/commands/improve/extract.js +5 -7
- package/dist/commands/improve/improve-cli.js +125 -118
- package/dist/commands/improve/improve-strategies.js +8 -12
- package/dist/commands/improve/improve.js +134 -52
- package/dist/commands/improve/loop-stages.js +18 -5
- package/dist/commands/improve/planner.js +0 -1
- package/dist/commands/improve/preparation.js +40 -99
- package/dist/commands/improve/proactive-maintenance.js +2 -2
- package/dist/commands/improve/reflect-noise.js +3 -55
- package/dist/commands/improve/reflect.js +29 -34
- package/dist/commands/improve/retrieval-queries.js +37 -0
- package/dist/commands/improve/retrieval-scope.js +2 -2
- package/dist/commands/improve/salience.js +2 -9
- package/dist/commands/improve/session-asset.js +4 -1
- package/dist/commands/improve/stage.js +23 -12
- package/dist/commands/lint/index.js +5 -20
- package/dist/commands/observability-cli.js +3 -9
- package/dist/commands/proposal/drain.js +43 -6
- package/dist/commands/proposal/proposal-cli.js +11 -31
- package/dist/commands/proposal/repository.js +20 -14
- package/dist/commands/proposal/validators/proposal-quality-validators.js +0 -3
- package/dist/commands/read/knowledge.js +3 -3
- package/dist/commands/read/remember-cli.js +0 -13
- package/dist/commands/read/search-cli.js +29 -97
- package/dist/commands/read/search.js +0 -11
- package/dist/commands/read/show.js +0 -19
- package/dist/commands/sources/plugin-upgrade.js +164 -101
- package/dist/commands/sources/sources-cli.js +1 -15
- package/dist/commands/sources/stash-cli.js +6 -14
- package/dist/commands/tasks/tasks-cli.js +4 -115
- package/dist/commands/workflow/plan.js +11 -33
- package/dist/commands/workflow-cli.js +2 -7
- package/dist/core/adapter/adapter-ids.js +1 -2
- package/dist/core/adapter/adapters/agent-skills-adapter.js +0 -4
- package/dist/core/adapter/adapters/akm-adapter.js +9 -48
- package/dist/core/adapter/adapters/akm-lint.js +10 -26
- package/dist/core/adapter/adapters/akm-metadata.js +2 -72
- package/dist/core/adapter/adapters/akm-task-adapter.js +0 -5
- package/dist/core/adapter/adapters/akm-workflow-adapter.js +9 -28
- package/dist/core/adapter/adapters/dotenv-adapter.js +1 -20
- package/dist/core/adapter/adapters/generic-files-adapter.js +0 -10
- package/dist/core/adapter/adapters/llm-wiki-adapter.js +0 -4
- package/dist/core/adapter/adapters/tool-dir-shared.js +0 -24
- package/dist/core/adapter/adapters/website-snapshot-adapter.js +4 -4
- package/dist/core/adapter/recognize-match.js +3 -4
- package/dist/core/common.js +18 -2
- package/dist/core/config/config-schema.js +12 -15
- package/dist/core/config/config-types.js +6 -15
- package/dist/core/config/config-walker.js +6 -23
- package/dist/core/config/config.js +17 -80
- package/dist/core/config/engine-semantics.js +7 -3
- package/dist/core/config/schema/engines.js +7 -7
- package/dist/core/config/schema/improve-processes.js +10 -63
- package/dist/core/config/schema/improve.js +2 -21
- package/dist/core/config/schema/index-config.js +6 -39
- package/dist/core/env-secret-ref.js +2 -45
- package/dist/core/errors.js +1 -2
- package/dist/core/extra-params.js +2 -86
- package/dist/core/file-lock.js +12 -7
- package/dist/core/improve-result.js +13 -1
- package/dist/core/mutation-target.js +2 -2
- package/dist/core/paths.js +4 -0
- package/dist/core/recognition-util.js +4 -5
- package/dist/core/run-lock.js +1 -1
- package/dist/core/subprocess.js +49 -0
- package/dist/core/warn.js +21 -4
- package/dist/core/write-source.js +3 -3
- package/dist/execution/target-ref.js +1 -2
- package/dist/indexer/indexer.js +15 -6
- package/dist/indexer/passes/memory-inference.js +15 -6
- package/dist/indexer/search/db-search.js +49 -36
- package/dist/indexer/search/fts-query.js +0 -19
- package/dist/indexer/search/ranking.js +29 -1
- package/dist/indexer/usage/usage-events.js +21 -16
- package/dist/integrations/agent/engine-resolution.js +5 -2
- package/dist/integrations/agent/index.js +1 -1
- package/dist/integrations/agent/profiles.js +41 -98
- package/dist/integrations/agent/request-lowering.js +3 -3
- package/dist/integrations/harnesses/aider/index.js +5 -0
- package/dist/integrations/harnesses/amazonq/index.js +1 -0
- package/dist/integrations/harnesses/claude/config-import.js +2 -3
- package/dist/integrations/harnesses/claude/index.js +5 -0
- package/dist/integrations/harnesses/codex/index.js +1 -0
- package/dist/integrations/harnesses/copilot/index.js +1 -0
- package/dist/integrations/harnesses/gemini/index.js +1 -0
- package/dist/integrations/harnesses/index.js +18 -39
- package/dist/integrations/harnesses/opencode/agent-builder.js +60 -35
- package/dist/integrations/harnesses/opencode/config-import.js +121 -52
- package/dist/integrations/harnesses/opencode/index.js +22 -0
- package/dist/integrations/harnesses/opencode/plugin-layout.js +68 -0
- package/dist/integrations/harnesses/opencode/session-log-types.js +12 -0
- package/dist/integrations/harnesses/opencode/session-log-v1.js +72 -0
- package/dist/integrations/harnesses/opencode/session-log-v2.js +140 -0
- package/dist/integrations/harnesses/opencode/session-log.js +104 -115
- package/dist/integrations/harnesses/opencode/version.js +98 -0
- package/dist/integrations/harnesses/opencode-sdk/{harness.js → index.js} +5 -17
- package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +105 -206
- package/dist/integrations/harnesses/opencode-sdk/v1-adapter.js +199 -0
- package/dist/integrations/harnesses/opencode-sdk/v2-adapter.js +254 -0
- package/dist/integrations/harnesses/opencode-sdk/wire.js +66 -0
- package/dist/integrations/harnesses/openhands/index.js +1 -0
- package/dist/integrations/harnesses/pi/index.js +1 -0
- package/dist/integrations/harnesses/shared.js +2 -0
- package/dist/integrations/harnesses/types.js +2 -0
- package/dist/llm/client.js +74 -14
- package/dist/output/cli-hints.js +1 -1
- package/dist/output/context.js +10 -19
- package/dist/output/format-exempt.js +5 -8
- package/dist/output/shapes/helpers.js +1 -22
- package/dist/output/shapes/passthrough.js +0 -1
- package/dist/output/shapes.js +3 -31
- package/dist/output/stdout.js +5 -1
- package/dist/output/text/command-format.js +6 -1
- package/dist/output/text/workflow-format.js +4 -22
- package/dist/scripts/akm-migrate-node.js +15769 -16731
- package/dist/scripts/akm-migrate.js +16339 -17297
- package/dist/setup/detect.js +10 -4
- package/dist/setup/harness-config-import.js +5 -14
- package/dist/setup/setup.js +1 -1
- package/dist/setup/steps/tasks.js +12 -13
- package/dist/sources/providers/git-stash.js +94 -13
- package/dist/storage/repositories/index-utility-repository.js +2 -32
- package/dist/storage/repositories/index-vec-repository.js +4 -0
- package/dist/storage/repositories/task-history-repository.js +0 -5
- package/dist/storage/repositories/workflow-runs-repository.js +5 -15
- package/dist/tasks/embedded.js +2 -1
- package/dist/tasks/run/run-command-task.js +9 -1
- package/dist/tasks/run/run-workflow-task.js +4 -3
- package/dist/tasks/run/task-history.js +0 -2
- package/dist/tasks/run/task-log.js +38 -1
- package/dist/tasks/schedule-gates.js +39 -0
- package/dist/tasks/scheduler-binding.js +0 -16
- package/dist/tasks/scheduler-sync.js +3 -97
- package/dist/tasks/source/bounded-document.js +1 -1
- package/dist/tasks/source/task-source-v4.js +2 -12
- package/dist/tasks/task-run-reserved-flags.js +2 -31
- package/dist/workflows/authoring/authoring.js +6 -6
- package/dist/workflows/compile.js +8 -65
- package/dist/workflows/exec/child-workflow.js +22 -3
- package/dist/workflows/exec/native-executor.js +12 -147
- package/dist/workflows/exec/run-workflow.js +31 -103
- package/dist/workflows/exec/step-work.js +9 -178
- package/dist/workflows/exec/unit-dispatch.js +0 -10
- package/dist/workflows/freeze/environment.js +3 -44
- package/dist/workflows/freeze/freeze.js +8 -41
- package/dist/workflows/freeze/targets/child-workflow.js +27 -63
- package/dist/workflows/freeze/targets/command.js +2 -16
- package/dist/workflows/freeze/targets/shell.js +0 -2
- package/dist/workflows/freeze/task-bindings.js +2 -28
- package/dist/workflows/ir/params.js +12 -2
- package/dist/workflows/parser.js +82 -232
- package/dist/workflows/plan.js +1 -1
- package/dist/workflows/renderer.js +10 -19
- package/dist/workflows/runtime/run-plan.js +11 -53
- package/dist/workflows/runtime/runs.js +4 -27
- package/dist/workflows/source-files.js +12 -16
- package/dist/workflows/source-semantics.js +1 -93
- package/docs/README.md +43 -42
- package/docs/agents/README.md +15 -0
- package/docs/agents/agent-install.md +14 -0
- package/docs/architecture/0.10-process-rules.md +827 -0
- package/docs/architecture/README.md +67 -0
- package/docs/architecture/adapters.md +258 -0
- package/docs/architecture/akm-architecture-decision-history.md +2055 -0
- package/docs/architecture/akm-core-principles.md +126 -0
- package/docs/architecture/architecture.md +578 -0
- package/docs/architecture/comparisons/claude-code-vs-akm-workflows-full.md +550 -0
- package/docs/architecture/decisions/0001-no-interpolation-attached-structured-context.md +72 -0
- package/docs/architecture/decisions/0002-unit-reuse-and-input-hash-scope.md +142 -0
- package/docs/architecture/decisions/0003-child-env-allowlist-and-provenance.md +189 -0
- package/docs/architecture/decisions/0004-task-input-contract-and-flag-coercion.md +97 -0
- package/docs/architecture/decisions/0005-task-result-vocabulary-and-legacy-read-mapping.md +108 -0
- package/docs/architecture/decisions/0006-task-source-version-routing.md +124 -0
- package/docs/architecture/decisions/0007-workflow-composition-bounds.md +83 -0
- package/docs/architecture/decisions/0008-task-binding-normalization.md +88 -0
- package/docs/architecture/decisions/0009-child-run-publication-column-parity.md +80 -0
- package/docs/architecture/decisions/0010-driver-protocol-cut.md +36 -0
- package/docs/architecture/decisions/0011-engine-run-loop-invariants.md +125 -0
- package/docs/architecture/decisions/README.md +62 -0
- package/docs/architecture/improvement.md +479 -0
- package/docs/architecture/internals/classification.md +154 -0
- package/docs/architecture/internals/fresh-host-rebuild-runbook.md +40 -0
- package/docs/architecture/internals/functional-contract-patterns.md +340 -0
- package/docs/architecture/internals/health-advisories.md +110 -0
- package/docs/architecture/internals/improve-workflow.md +719 -0
- package/docs/architecture/internals/indexing.md +498 -0
- package/docs/architecture/internals/registry-network-boundary.md +57 -0
- package/docs/architecture/internals/search.md +248 -0
- package/docs/architecture/internals/storage-locations.md +943 -0
- package/docs/architecture/persisted-data-compat.md +68 -0
- package/docs/architecture/reviews/env-secret-access.md +319 -0
- package/docs/architecture/runtime-boundary-design.md +153 -0
- package/docs/architecture/specs/0.9.0-close-out-plan.md +361 -0
- package/docs/architecture/specs/0.9.0-decisions.md +532 -0
- package/docs/architecture/specs/0.9.0-docs-code-drift-register.md +745 -0
- package/docs/architecture/specs/0.9.0-open-items-register.md +135 -0
- package/docs/architecture/specs/0.9.0-public-api-issue-backlog.md +740 -0
- package/docs/architecture/specs/0.9.0-release-surface-review.md +636 -0
- package/docs/architecture/specs/agent-command-engine-model-design.md +513 -0
- package/docs/architecture/specs/akm-0.9.0-bundle-adapter-spec.md +501 -0
- package/docs/architecture/specs/akm-0.9.0-ref-grammar-decision.md +291 -0
- package/docs/architecture/specs/akm-format-neutral-bundle-workspace-spec.md +2059 -0
- package/docs/architecture/specs/di-seams-plan.md +539 -0
- package/docs/architecture/specs/driver-protocol-keep-or-cut.md +275 -0
- package/docs/architecture/specs/fact-asset-type.md +142 -0
- package/docs/architecture/specs/improve-collapse-churn-detector-design.md +634 -0
- package/docs/architecture/specs/okf-support.md +148 -0
- package/docs/architecture/specs/ref.md +329 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/README.md +72 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/findings-consolidated.md +152 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-alternatives.md +352 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-bunqueue.md +300 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-openworkflow.md +402 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-1.md +758 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-2.md +645 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-3.md +602 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-adversarial.md +27 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-architecture.md +27 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-coverage.md +74 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-security.md +15 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r2-adversarial.md +132 -0
- package/docs/architecture/specs/reviews/task-workflow-unification/panel-r2-verification.md +147 -0
- package/docs/architecture/specs/stash-conventions-code-spec.md +275 -0
- package/docs/architecture/specs/stash-organization-conventions.md +377 -0
- package/docs/architecture/specs/task-workflow-format-unification.md +721 -0
- package/docs/architecture/specs/workflow-engine-buy-vs-build.md +231 -0
- package/docs/architecture/specs/workflow-format-unification.md +432 -0
- package/docs/architecture/testing/manual-testing-checklist.md +3411 -0
- package/docs/architecture/testing/okf-v0.2-conformance-runbook.md +924 -0
- package/docs/architecture/testing/task-workflow-manual-tests.md +1720 -0
- package/docs/architecture/testing/testing-workflow.md +446 -0
- package/docs/architecture/workflow-engine.md +223 -0
- package/docs/guides/README.md +33 -0
- package/docs/guides/author-bundles.md +310 -0
- package/docs/guides/author-workflows.md +490 -0
- package/docs/guides/bundles.md +323 -0
- package/docs/guides/capture-knowledge.md +136 -0
- package/docs/guides/claude-code-vs-akm-workflows.md +29 -0
- package/docs/guides/concepts.md +93 -0
- package/docs/guides/discover-and-load.md +158 -0
- package/docs/guides/getting-started.md +240 -0
- package/docs/guides/improve-the-library.md +247 -0
- package/docs/guides/knowledge-management.md +18 -0
- package/docs/guides/recipes/headless-install.md +97 -0
- package/docs/guides/recipes/website-source.md +28 -0
- package/docs/guides/run-workflows.md +279 -0
- package/docs/guides/scheduling.md +131 -0
- package/docs/guides/use-with-any-agent.md +174 -0
- package/docs/guides/wikis.md +81 -0
- package/docs/integration/bundling-akm.md +7 -6
- package/docs/maintainers/README.md +19 -0
- package/docs/maintainers/curate-workmap.md +335 -0
- package/docs/maintainers/eval.md +3 -0
- package/docs/maintainers/local-development.md +108 -0
- package/docs/maintainers/release-checklist.md +135 -0
- package/docs/migration/README.md +4 -2
- package/docs/migration/release-notes/0.0.13.md +1 -1
- package/docs/migration/release-notes/0.1.0.md +1 -1
- package/docs/migration/release-notes/0.10.0.md +201 -0
- package/docs/migration/release-notes/0.2.0.md +1 -1
- package/docs/migration/release-notes/0.3.0.md +1 -1
- package/docs/migration/release-notes/0.5.0.md +1 -1
- 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.7.3.md +2 -2
- package/docs/migration/release-notes/0.7.4.md +1 -1
- package/docs/migration/release-notes/0.7.5.md +1 -1
- package/docs/migration/release-notes/0.8.0.md +1 -1
- package/docs/migration/release-notes/0.9.0.md +1 -1
- package/docs/migration/release-notes/0.9.14.md +1 -1
- package/docs/migration/release-notes/0.9.15.md +1 -1
- package/docs/migration/release-notes/0.9.16.md +1 -1
- package/docs/migration/release-notes/0.9.17.md +1 -1
- package/docs/migration/release-notes/0.9.19.md +1 -1
- package/docs/migration/release-notes/0.9.2.md +1 -1
- package/docs/migration/release-notes/README.md +28 -31
- package/docs/migration/v0.5-to-v0.6.md +759 -0
- package/docs/migration/v0.8-to-v0.9.md +1 -1
- package/docs/migration/v0.9-to-v0.10.md +507 -0
- package/docs/plans/0.9.2-agent-command-workflow-plan.md +423 -0
- package/docs/posts/README.md +30 -0
- package/docs/posts/akm-command-tour.md +495 -0
- package/docs/posts/akm-logo-sized.webp +0 -0
- package/docs/posts/belief-aware-memory-12.md +139 -0
- package/docs/posts/config-v2-lessons-16.md +191 -0
- package/docs/posts/improve-loop-autonomous-10.md +225 -0
- package/docs/posts/improve-pipeline-debugging-0803.md +179 -0
- package/docs/posts/intro-part-01.md +76 -0
- package/docs/posts/intro-part-02.md +221 -0
- package/docs/posts/intro-part-03.md +190 -0
- package/docs/posts/intro-part-04.md +221 -0
- package/docs/posts/llm-mode-reflect-13.md +166 -0
- package/docs/posts/openpalm-built-on-akm.md +86 -0
- package/docs/posts/progressive-disclosure-06.md +129 -0
- package/docs/posts/proposal-safety-net-15.md +112 -0
- package/docs/posts/release-0.5.0.md +247 -0
- package/docs/posts/release-0.6.0.md +117 -0
- package/docs/posts/release-0.7.0.md +159 -0
- package/docs/posts/release-0.8.0.md +332 -0
- package/docs/posts/scattered-skills-05.md +100 -0
- package/docs/posts/task-assets-persistent-workflows-11.md +222 -0
- package/docs/posts/team-skills-07.md +198 -0
- package/docs/posts/wiki-agent-knowledge-08.md +223 -0
- package/docs/posts/workflows-vaults-09.md +321 -0
- package/docs/product-surface.md +54 -0
- package/docs/reference/README.md +2 -2
- package/docs/reference/api.md +65 -0
- package/docs/reference/asset-types.md +166 -0
- package/docs/reference/bundle-types.md +2 -4
- package/docs/reference/cli.md +163 -192
- package/docs/reference/configuration.md +101 -20
- package/docs/reference/data-and-telemetry.md +2 -2
- package/docs/reference/env-and-secrets.md +126 -0
- package/docs/reference/memory.md +124 -0
- package/docs/reference/refs.md +156 -0
- package/docs/reference/registry.md +489 -0
- package/docs/reference/supported-formats.md +3 -4
- package/docs/reference/tasks.md +12 -19
- package/docs/reference/website-sources.md +141 -0
- package/docs/reference/workflow-schema.md +89 -317
- package/docs/reference/workflows.md +20 -48
- package/package.json +23 -16
- package/schemas/akm-config.json +2 -243
- package/schemas/akm-task.json +2 -3
- package/schemas/akm-workflow.json +47 -84
- package/dist/assets/improve-strategies/catchup.json +0 -41
- package/dist/assets/improve-strategies/proactive-maintenance.json +0 -24
- package/dist/assets/improve-strategies/quick.json +0 -17
- package/dist/assets/improve-strategies/reflect-distill.json +0 -29
- package/dist/assets/improve-strategies/thorough.json +0 -49
- package/dist/assets/prompts/retrieval-relevance-judge.md +0 -6
- package/dist/assets/tasks/improve/akm-improve-catchup.yml +0 -6
- package/dist/assets/tasks/improve/akm-improve-frequent.yml +0 -4
- package/dist/assets/tasks/improve/akm-improve-nightly.yml +0 -4
- package/dist/cli/retired-commands.js +0 -118
- package/dist/commands/improve/retrieval-gate.js +0 -132
- package/dist/commands/tasks/validate.js +0 -176
- package/dist/core/config/legacy-source-shape-shim.js +0 -117
- package/dist/indexer/feedback/utility-policy.js +0 -75
- package/dist/integrations/harnesses/ids.js +0 -28
- package/dist/tasks/source/task-source-v3-frozen.js +0 -424
- package/dist/tasks/source/task-to-v4.js +0 -863
- package/dist/workflows/exec/worktree.js +0 -372
- package/dist/workflows/freeze/child-output-references.js +0 -83
- package/dist/workflows/freeze/identity.js +0 -22
- package/dist/workflows/freeze/targets/script.js +0 -50
- package/dist/workflows/freeze/targets/task.js +0 -124
- package/dist/workflows/github-yaml.js +0 -506
- package/dist/workflows/runtime/run-outputs.js +0 -80
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Local Development
|
|
2
|
+
|
|
3
|
+
Use an explicit launcher for each kind of contributor check. This keeps live
|
|
4
|
+
source, build output, packed-package behavior, and the machine-wide `akm`
|
|
5
|
+
installation from being mistaken for one another.
|
|
6
|
+
|
|
7
|
+
The npm package requires Node.js >= 22 and npm. A working Bun >= 1.0 is optional
|
|
8
|
+
for the installed launcher and remains the repository's primary development and
|
|
9
|
+
test runtime. The standalone binaries are runtime-free.
|
|
10
|
+
|
|
11
|
+
## Live Source
|
|
12
|
+
|
|
13
|
+
Run the working tree directly for the normal edit-test loop:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
bun src/cli.ts search "deploy"
|
|
17
|
+
bun src/cli.ts task doctor
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This executes current uncommitted source. Tests that spawn the CLI should use
|
|
21
|
+
the same explicit `bun src/cli.ts` form with the repository as their working
|
|
22
|
+
directory rather than resolving `akm` from `PATH`.
|
|
23
|
+
|
|
24
|
+
## Built Launcher
|
|
25
|
+
|
|
26
|
+
Build first, then invoke the package launcher from `dist/`:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
bun run build
|
|
30
|
+
node dist/akm search "deploy"
|
|
31
|
+
node dist/akm task doctor
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
This checks generated imports, copied assets, and launcher behavior while still
|
|
35
|
+
keeping the invocation tied to this checkout. `node dist/akm` is portable across
|
|
36
|
+
Windows, macOS, and Linux; on POSIX systems the executable `./dist/akm` form is
|
|
37
|
+
also available.
|
|
38
|
+
|
|
39
|
+
## Isolated Package Acceptance
|
|
40
|
+
|
|
41
|
+
Run the repository's package acceptance command. It builds and packs the package,
|
|
42
|
+
installs it under an isolated temporary prefix, and exercises that installed
|
|
43
|
+
launcher without replacing the machine's global `akm`:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
bun run test:package
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The command builds, packs, installs under a temporary npm prefix, and checks the
|
|
50
|
+
installed launchers. It does not run setup or test application-state isolation.
|
|
51
|
+
|
|
52
|
+
## Intentional Global Checkout Install
|
|
53
|
+
|
|
54
|
+
Only install the checkout globally when you deliberately want the machine-wide
|
|
55
|
+
`akm` command to resolve to this checkout's package:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
bun run build:install
|
|
59
|
+
command -v akm
|
|
60
|
+
akm --version
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This replaces the globally resolved package and can affect agents, shells, and
|
|
64
|
+
scheduled tasks that invoke `akm`. Re-run `akm task sync --rebind` only when you
|
|
65
|
+
intend existing scheduler entries to capture the new installed runtime, then
|
|
66
|
+
verify with `akm task doctor`.
|
|
67
|
+
|
|
68
|
+
## Transitional Machine-Local Wrapper
|
|
69
|
+
|
|
70
|
+
Some development machines still have a historical machine-local wrapper. Leave
|
|
71
|
+
that file untouched, but treat it as transitional: do not document wrapper
|
|
72
|
+
modes, depend on it in tests, or use it to choose between source and package
|
|
73
|
+
behavior. Invoke `bun src/cli.ts`, `node dist/akm`, or `bun run test:package`
|
|
74
|
+
explicitly instead.
|
|
75
|
+
|
|
76
|
+
## Inspecting a Live Database
|
|
77
|
+
|
|
78
|
+
`state.db`, `logs.db`, and `index.db` are WAL-mode SQLite databases that akm
|
|
79
|
+
(or a scheduled task) may be writing at any moment. Open a live one only with
|
|
80
|
+
`sqlite3 -readonly`:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
sqlite3 -readonly ~/.local/share/akm/state.db "PRAGMA integrity_check;"
|
|
84
|
+
sqlite3 -readonly ~/.local/share/akm/state.db ".backup /tmp/state-snapshot.db"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Do not open a live akm database with a plain (read-write) `sqlite3`
|
|
88
|
+
connection, even just to run `.backup`. Through 0.9.17 an akm process could
|
|
89
|
+
silently lose its SQLite file locks (copying the database file inside a
|
|
90
|
+
process that holds it open drops them). An older `sqlite3` (< 3.51, and
|
|
91
|
+
Python's `sqlite3` module on many hosts) opened read-write at that moment
|
|
92
|
+
sees no other reader, takes an exclusive lock when it closes, and deletes the
|
|
93
|
+
`-wal`/`-shm` files akm is still using: that produced a `state.db` with
|
|
94
|
+
colliding rowids and stale index entries. `-readonly` avoids the whole class
|
|
95
|
+
of risk by never taking a write connection.
|
|
96
|
+
|
|
97
|
+
## Verification
|
|
98
|
+
|
|
99
|
+
Use focused tests while iterating, then the repository gates before pushing:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
bun test tests/<focused-file>.test.ts
|
|
103
|
+
bun run check:changed
|
|
104
|
+
bun run check
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
For eval scripts that accept `AKM_BIN`, point it at the exact launcher under
|
|
108
|
+
test rather than relying on `PATH`.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Release Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist for every release candidate. Local release validation and
|
|
4
|
+
scheduled CI are useful inputs, but neither substitutes for a successful gated
|
|
5
|
+
run of the exact commit that will be published.
|
|
6
|
+
|
|
7
|
+
## 1. Freeze the candidate
|
|
8
|
+
|
|
9
|
+
1. Finish the version, changelog, migration-note, and release-PR changes. From
|
|
10
|
+
0.10 the version is a monthly release number, `0.10.YYMMNN` (see step 4):
|
|
11
|
+
`bun scripts/release-version.ts next` prints the next free one for this
|
|
12
|
+
month (UTC). Every release, whatever its stage, takes the next number.
|
|
13
|
+
Commit it in `package.json` and cut the CHANGELOG as
|
|
14
|
+
`## [0.10.YYMMNN] - YYYY-MM-DD`. A prerelease stage is not committed: it is
|
|
15
|
+
chosen when the Release workflow runs, and the release's CHANGELOG section
|
|
16
|
+
covers it.
|
|
17
|
+
2. Record `git rev-parse HEAD`. This is the full 40-character release-candidate SHA.
|
|
18
|
+
3. Run `bun run release:check` locally. If Docker is unavailable, run
|
|
19
|
+
`./tests/release-check.sh --skip-docker` and rely on the gated Docker job
|
|
20
|
+
below for the container matrix.
|
|
21
|
+
|
|
22
|
+
Any commit added after this point creates a new candidate and invalidates the
|
|
23
|
+
gated evidence collected for the previous SHA.
|
|
24
|
+
|
|
25
|
+
## 2. Collect exact-SHA gated evidence
|
|
26
|
+
|
|
27
|
+
GitHub only offers a scheduled or manually dispatched workflow after its file
|
|
28
|
+
exists on the default branch. When validating the commit that first introduces
|
|
29
|
+
or changes this workflow, create a unique lightweight candidate tag at the
|
|
30
|
+
recorded SHA:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
candidate_sha="$(git rev-parse HEAD)"
|
|
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"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Verify that the tag target is the exact candidate commit recorded in step 1.
|
|
42
|
+
The `gated-ci/candidate-*` trigger runs every gated suite from the workflow in
|
|
43
|
+
that tagged commit. The resolver checks that the checkout equals the immutable
|
|
44
|
+
event SHA, and the final evidence job records both that SHA and the tag ref.
|
|
45
|
+
Never force-move or reuse a candidate tag; a changed commit needs a new tag and
|
|
46
|
+
a new run.
|
|
47
|
+
|
|
48
|
+
After **Gated CI** exists on the default branch, manual dispatch is an
|
|
49
|
+
equivalent exact-SHA path. From the repository's Actions page, choose **Run
|
|
50
|
+
workflow** and supply:
|
|
51
|
+
|
|
52
|
+
- `candidate_sha`: the full 40-character SHA recorded above, never a branch or
|
|
53
|
+
tag name.
|
|
54
|
+
|
|
55
|
+
Every suite runs; there is no suite selector.
|
|
56
|
+
|
|
57
|
+
The manual request rejects abbreviated SHAs and checks out that immutable
|
|
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.
|
|
111
|
+
|
|
112
|
+
0.10 and later use monthly release numbers, `0.10.YYMMNN`: `YY` the UTC year,
|
|
113
|
+
`MM` the month and `NN` the release in that month (`01` to `99`), two digits
|
|
114
|
+
each (see [`STABILITY.md`](../../STABILITY.md)). The first release of 2026-10 is
|
|
115
|
+
`0.10.261001`. `bun scripts/release-version.ts next` takes `NN` as one above the
|
|
116
|
+
highest release already on npm for this UTC month, with or without a stage
|
|
117
|
+
(`npm view akm-cli versions`), so numbering follows what was published, not
|
|
118
|
+
what was committed. The retired 8-digit daily builds (`0.10.26101001-alpha` to
|
|
119
|
+
`0.10.26101202-alpha`) are not counted.
|
|
120
|
+
|
|
121
|
+
The workflow has two inputs:
|
|
122
|
+
|
|
123
|
+
- `version`: the version committed in `package.json`, as before. The workflow
|
|
124
|
+
rejects a malformed one (`scripts/release-version.ts`, tested in
|
|
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.
|
package/docs/migration/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Upgrade guides and per-release migration notes.
|
|
4
4
|
|
|
5
|
+
- [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
|
+
- [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
|
|
5
7
|
- [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
|
|
6
8
|
- [v0.9.2 release note](release-notes/0.9.2.md) -- Self-contained terminal upgrade summary shipped for `akm help migrate 0.9.2`
|
|
7
9
|
- [v0.9.16 release note](release-notes/0.9.16.md) -- Source-bound scheduler grants, local execution authority, and split unsafe overrides
|
|
@@ -9,5 +11,5 @@ Upgrade guides and per-release migration notes.
|
|
|
9
11
|
- [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
|
|
10
12
|
- [v0.8 -> current v0.9 migration guide](v0.8-to-v0.9.md) -- Package upgrade with fresh current config/state and explicit task conversion
|
|
11
13
|
- [v0.7 -> v0.8 migration guide](v0.7-to-v0.8.md) -- Task schema and 0.8-era changes
|
|
12
|
-
- [v0.5 -> v0.6 migration guide](
|
|
13
|
-
- [Release notes](release-notes/) -- The short per-release notes `akm help migrate <version>` prints
|
|
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
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# akm v0.10.0 migration notes
|
|
2
|
+
|
|
3
|
+
0.10 is a clean-up and tuning release. It covers the daily alphas
|
|
4
|
+
0.10.26101001 through 0.10.26101202 and the monthly releases that follow
|
|
5
|
+
(`0.10.YYMMNN`). It
|
|
6
|
+
removes surface that nothing used, merges CLI spellings, sets the improve
|
|
7
|
+
defaults from measurements, and adds OpenCode 2 support. It adds no `state.db`
|
|
8
|
+
migration and keeps `index.db` at layout 26.
|
|
9
|
+
|
|
10
|
+
To upgrade from 0.9.15 or later:
|
|
11
|
+
|
|
12
|
+
```sh
|
|
13
|
+
akm upgrade
|
|
14
|
+
akm migrate status
|
|
15
|
+
akm health
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`akm upgrade` installs the new release and runs `akm migrate apply`. Before
|
|
19
|
+
you upgrade, search your scripts, tasks and agent instructions for the removed
|
|
20
|
+
spellings below: they fail with exit 2 and no hint. The full ordered procedure,
|
|
21
|
+
every replacement and the verification steps are in the
|
|
22
|
+
[0.9 to 0.10 migration guide](../v0.9-to-v0.10.md).
|
|
23
|
+
|
|
24
|
+
## Version floor
|
|
25
|
+
|
|
26
|
+
0.10 reads what 0.9.15 and later wrote. It converts nothing older. A config in
|
|
27
|
+
the old `stashDir` / `sources[]` / `installed[]` layout, or with an `extraParams`
|
|
28
|
+
key that shadows a first-class engine field, fails to load and names
|
|
29
|
+
`akm migrate apply` under akm 0.9.x. If you are on 0.9.14 or earlier, install
|
|
30
|
+
0.9.31, run `akm migrate apply`, then upgrade.
|
|
31
|
+
|
|
32
|
+
## Version numbers
|
|
33
|
+
|
|
34
|
+
A 0.10 release is numbered `0.10.YYMMNN`: the UTC year and month, then the
|
|
35
|
+
release within that month. Every release takes the next number, whatever its
|
|
36
|
+
stage. A prerelease carries its stage only (`-alpha`, `-beta`, `-rc`).
|
|
37
|
+
Prereleases publish to the npm `next` tag and stable releases to `latest`.
|
|
38
|
+
`akm upgrade --next` follows `next`. Versions sort by month and then number, so
|
|
39
|
+
the number says nothing about how big a change is. Read the CHANGELOG, which
|
|
40
|
+
still marks breaking changes. The 0.9 line keeps `0.9.N`.
|
|
41
|
+
|
|
42
|
+
The daily alphas used an 8-digit patch (`0.10.YYMMDDNN`), which semver sorts
|
|
43
|
+
above every `0.10.YYMMNN`. If you are on one, install the first monthly release
|
|
44
|
+
explicitly once (`npm install -g akm-cli@0.10.261001-beta`); `akm upgrade` will
|
|
45
|
+
not offer it.
|
|
46
|
+
|
|
47
|
+
## Breaking changes
|
|
48
|
+
|
|
49
|
+
Each of these is an unknown flag or command (exit 2), with no alias:
|
|
50
|
+
|
|
51
|
+
- `akm help agents` is gone. Use `akm hints`, or `akm hints --detail brief` for
|
|
52
|
+
the short guide.
|
|
53
|
+
- `--shape` is gone. `--detail agent` replaces `--shape agent`, and `--detail
|
|
54
|
+
brief` replaces `--shape summary`. `--detail` takes `brief`, `normal`, `full`
|
|
55
|
+
or `agent`.
|
|
56
|
+
- `--target` is gone from `import`, `env create`, `env remove`, `secret set`,
|
|
57
|
+
`proposal accept`, `proposal diff` and `proposal revert`. Use `--bundle`.
|
|
58
|
+
- `akm task validate` is folded into `akm lint --type tasks`. `akm task list`
|
|
59
|
+
is gone; use `akm search --type task`.
|
|
60
|
+
- `akm config path --all` is gone. `akm info` reports the directories.
|
|
61
|
+
- `akm improve --plan` is gone; use `--dry-run`. `akm improve --auto-accept` is
|
|
62
|
+
gone; use `akm improve && akm proposal drain --promote --yes`.
|
|
63
|
+
- `--run` and `--since` belong to `akm improve report`. `akm improve report` and
|
|
64
|
+
`akm improve judge` are real subcommands.
|
|
65
|
+
- `akm workflow create --reset` is gone; use `--force`.
|
|
66
|
+
|
|
67
|
+
Other breaking changes:
|
|
68
|
+
|
|
69
|
+
- The built-in improve strategies `quick`, `reflect-distill`, `thorough`,
|
|
70
|
+
`catchup` and `proactive-maintenance` are removed. Only `default` and
|
|
71
|
+
`consolidate` are built in. A config block with one of those names still
|
|
72
|
+
loads, as a user-defined strategy that inherits `default`. A name with no
|
|
73
|
+
block makes `akm improve` fail and name `default`. The task templates
|
|
74
|
+
`akm-improve-nightly`, `akm-improve-frequent` and `akm-improve-catchup` are
|
|
75
|
+
removed; a copy in your bundle keeps its old `--strategy` and must be edited.
|
|
76
|
+
- Improve config keys that measured no effect or that nothing read are removed:
|
|
77
|
+
`consolidate.antiCollapse`, `p90ChunkSecondsDefault`, `minPoolSize`,
|
|
78
|
+
`distill.fidelityCheck`, `distill.limit`, `reflect.lowValueFilter`,
|
|
79
|
+
`memoryInference.cls`, `proactiveMaintenance.limit`, `triage.policy`,
|
|
80
|
+
`improve.salience.outcomeWeightEnabled` and `salienceThreshold`. A config that
|
|
81
|
+
sets one still loads; `akm migrate apply` drops it.
|
|
82
|
+
- The GitHub-shaped YAML workflow format is removed, with workflow-step
|
|
83
|
+
`uses: tasks/...`, `scripts/...` and `commands/...`. Workflows are Markdown
|
|
84
|
+
only. Top-level `outputs:`, `route` steps and `unit.isolation: worktree` are
|
|
85
|
+
removed and are lint errors.
|
|
86
|
+
- `BundleAdapter.placeNew()` is removed. Nothing called it.
|
|
87
|
+
- `package.json` has an `exports` map: only `akm-cli/api`, `akm-cli/package.json`
|
|
88
|
+
and `akm-cli/dist/*` resolve.
|
|
89
|
+
- The runtime conversions for config older than 0.9.15 are removed, as above.
|
|
90
|
+
|
|
91
|
+
## New
|
|
92
|
+
|
|
93
|
+
- **OpenCode 2.** akm detects the OpenCode major from the engine's binary and
|
|
94
|
+
drives OpenCode 1 or 2 through its own adapter, for SDK dispatch, CLI
|
|
95
|
+
dispatch, session history and config import. OpenCode 1 keeps working and
|
|
96
|
+
logs one warning recommending OpenCode 2. `akm upgrade` and `akm health` know
|
|
97
|
+
the new `akm-opencode-v2` plugin.
|
|
98
|
+
- **`akm-cli/api`.** `curate(query, options)` returns exactly what
|
|
99
|
+
`akm --detail agent -q curate` prints, computed in-process. It is for the
|
|
100
|
+
plugins; nothing else is a public API.
|
|
101
|
+
- **Feedback changes ranking.** `akm search` and `akm curate` scale each hit by
|
|
102
|
+
your feedback on it. The effect is small and the same for every asset: about
|
|
103
|
+
+2, +3, +5 and +9 percent for 1, 2, 5 and 20 positives. Improve, task and
|
|
104
|
+
audit feedback does not count.
|
|
105
|
+
- **Distill extends a lesson** that a memory repeats, as a proposal for a person
|
|
106
|
+
(`distill-update`).
|
|
107
|
+
- **Child workflows** keep a simple form: `unit: { workflow: workflows/<name>,
|
|
108
|
+
with: {...} }`. A param's `default:` is now applied at run start.
|
|
109
|
+
- **`akm proposal extract`** is Evolving, not Experimental.
|
|
110
|
+
- **`akm improve <scope>`** warns when the scope matches no asset.
|
|
111
|
+
- **Daily-build versioning** and the `next` channel, above.
|
|
112
|
+
|
|
113
|
+
## Changed defaults
|
|
114
|
+
|
|
115
|
+
- The `default` improve strategy now drains the proposal queue in `promote`
|
|
116
|
+
mode with judgment off, up to 200 accepts a run. It accepts what a quality
|
|
117
|
+
judge already passed and the retirements the consolidate pair pass staged.
|
|
118
|
+
The judgment tier is off in every built-in strategy and may accept only
|
|
119
|
+
consolidate promotions. Set `improve.strategies.default.processes.triage.enabled`
|
|
120
|
+
to `false` to leave every proposal for review.
|
|
121
|
+
- The proactive-maintenance lane is on in `default`: up to 15 assets a run that
|
|
122
|
+
have no fresh feedback and are 30 days past their last reflect or distill. Its
|
|
123
|
+
proposals always wait for a person.
|
|
124
|
+
- A manual fix (`akm feedback --replace/--with/--source`, `--superseded-by`,
|
|
125
|
+
`--outdated`) applies at once instead of queuing a proposal. `akm proposal
|
|
126
|
+
revert` undoes it.
|
|
127
|
+
- `akm improve` syncs a git-backed bundle before it plans, as `akm sync` does,
|
|
128
|
+
and again at the end. A conflict warns and the run continues. `--no-sync` and
|
|
129
|
+
`--no-push` apply to both.
|
|
130
|
+
- A reflect revision the judge does not pass but scores 3.5 or more goes to a
|
|
131
|
+
person as `judge-uncertain` instead of locking the asset for 14 days. A
|
|
132
|
+
missing distill judge queues for review instead of a 30-day lock.
|
|
133
|
+
- `captureMode: hot` memories are consolidated like any other memory.
|
|
134
|
+
- Retire proposals expire by age (`archiveRetentionDays`, default 90) like every
|
|
135
|
+
other proposal. The per-run `improve` and `index` log files are purged under
|
|
136
|
+
`improve.eventRetentionDays`.
|
|
137
|
+
- A standalone `akm proposal drain` resolves to promote mode on a stock install
|
|
138
|
+
and asks for confirmation.
|
|
139
|
+
|
|
140
|
+
## Removed
|
|
141
|
+
|
|
142
|
+
- Reflect's retrieval regression gate. It refused 12 to 17 percent of the
|
|
143
|
+
revisions the judge had passed and lowered the defects fixed. A judge-passed
|
|
144
|
+
revision is now minted as a proposal with no further check. It had no config
|
|
145
|
+
key.
|
|
146
|
+
- The high-salience improve lane.
|
|
147
|
+
- The hint tables and error messages for the 0.9.0 renames, the `vault:`, `env:`
|
|
148
|
+
and `secret:` ref rejections, the `--from stash|both` error, and the bespoke
|
|
149
|
+
errors for retired config keys. They are ordinary unknown commands, flags or
|
|
150
|
+
keys now.
|
|
151
|
+
- The `targetVocab` marker on `task_history` rows and the `"mcp"` package
|
|
152
|
+
keyword.
|
|
153
|
+
|
|
154
|
+
## Plugins
|
|
155
|
+
|
|
156
|
+
- `akm-opencode` is for OpenCode 1. `akm-opencode-v2` is for OpenCode 2. Each
|
|
157
|
+
pins one exact `akm-cli`, and `akm upgrade` holds the CLI to the pin.
|
|
158
|
+
- OpenCode caches the plugin spec it resolved and does not re-check it. A new
|
|
159
|
+
build is picked up only after the plugin's cache folder is cleared. `akm
|
|
160
|
+
upgrade` does this for `@latest` (or `@next`) when no OpenCode process runs.
|
|
161
|
+
A spec pinned in your OpenCode config is left alone.
|
|
162
|
+
- OpenCode 1 asks before reading or writing outside the project directory.
|
|
163
|
+
OpenCode 2 does not unless its config says `ask`, so akm's rejection of a
|
|
164
|
+
permission request only happens there once you add the rule. akm changes no
|
|
165
|
+
OpenCode default. See [Configuration](../../reference/configuration.md#engines).
|
|
166
|
+
- Plugins and scripts that pass `--shape agent` must move to `--detail agent` in
|
|
167
|
+
step with the CLI. A call with `--shape agent` fails on 0.10, and one with
|
|
168
|
+
`--detail agent` fails on 0.9.
|
|
169
|
+
|
|
170
|
+
## Fixes worth naming
|
|
171
|
+
|
|
172
|
+
- `akm sync` fetches and merges what another host pushed before it pushes. It
|
|
173
|
+
used to exit 70 once another host had pushed.
|
|
174
|
+
- The 02:00 nightly `akm improve` no longer loses its night to the consolidate
|
|
175
|
+
task's lock. The shipped consolidate task passes `--timeout-ms 3600000`.
|
|
176
|
+
- Command tasks (`uses: commands/...`) get the 6-hour unattended default
|
|
177
|
+
timeout.
|
|
178
|
+
- A transient reflect failure no longer uses up the feedback that planned it.
|
|
179
|
+
- A run killed by its budget watchdog leaves a record and commits what it wrote.
|
|
180
|
+
- The extract per-session lock is reclaimed only from a dead holder.
|
|
181
|
+
- Memory inference writes to the default bundle and no longer reverts an edit
|
|
182
|
+
made to the parent memory during the model call.
|
|
183
|
+
- The consolidate pair judge no longer treats a later date alone as a
|
|
184
|
+
replacement: a note replaces another only when both are about the same named
|
|
185
|
+
thing. On the eval, `gpt-oss:120b` unsafe retirements went from 1, 2, 1 to
|
|
186
|
+
0, 0, 0 over three runs.
|
|
187
|
+
- A gateway that answers 5xx `format_ignored` no longer fails every schema call,
|
|
188
|
+
and a call recovered by the retry counts as one successful call in the usage
|
|
189
|
+
rows.
|
|
190
|
+
- `akm proposal revert` of a retirement works after the 30-day archive purge.
|
|
191
|
+
- `akm search` no longer warns "no embedding provider is configured" on a default
|
|
192
|
+
install.
|
|
193
|
+
- A signal to `akm agent` now ends the CLI harness it started. An OpenCode 2 SDK
|
|
194
|
+
dispatch ends at once when akm rejects a permission request, instead of waiting
|
|
195
|
+
out its deadline.
|
|
196
|
+
|
|
197
|
+
For the rules each improve process follows in 0.10, see
|
|
198
|
+
[the 0.10 process rules](../../architecture/0.10-process-rules.md). For the
|
|
199
|
+
entry behind each item, run `akm help migrate <build number>` (for example
|
|
200
|
+
`akm help migrate 0.10.26101201`) or read the
|
|
201
|
+
[CHANGELOG](https://github.com/itlackey/akm/blob/main/CHANGELOG.md).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
# akm v0.7.3 migration notes
|
|
2
2
|
|
|
3
3
|
0.7.3 includes stability improvements, security hardening, and UX refinements. Key changes include:
|
|
4
4
|
|
|
@@ -13,4 +13,4 @@ Migration notes for akm v0.7.3
|
|
|
13
13
|
- **`.stash.json` no longer drives incremental stale detection** — editing `.stash.json` alone no longer forces directories to rescan during incremental indexing.
|
|
14
14
|
- **One-shot URL ingest for `akm import` and `akm wiki stash`** — both commands now accept a single HTTP/HTTPS URL in addition to file paths and stdin. `akm import <url>` fetches the exact page, converts it to markdown, and writes it into `knowledge/` using a URL-path-derived default name. `akm wiki stash <wiki> <url>` fetches the exact page, converts it to markdown, and writes it into `wikis/<wiki>/raw/`. Neither command registers a persistent website source or crawls linked pages.
|
|
15
15
|
|
|
16
|
-
For stash authors on the 0.7.x pre-release line: `.stash.json` remains supported for compatibility in this release, but it is deprecated and will be removed in v0.8.0. That timeline is intentional: during this aggressive pre-release phase-out window, compatibility shims do not stay around until 1.0 unless they still earn their cost. Prefer frontmatter for markdown assets and structured code comments for scripts, and migrate any remaining `.stash.json` metadata before taking the 0.8 upgrade.
|
|
16
|
+
For stash authors on the 0.7.x pre-release line: `.stash.json` remains supported for compatibility in this release, but it is deprecated and will be removed in v0.8.0. That timeline is intentional: during this aggressive pre-release phase-out window, compatibility shims do not stay around until 1.0 unless they still earn their cost. Prefer frontmatter for markdown assets and structured code comments for scripts, and migrate any remaining `.stash.json` metadata before taking the 0.8 upgrade.
|