akm-cli 0.9.30 → 0.10.26101001-alpha
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 +282 -0
- package/README.md +10 -10
- package/ROADMAP.md +112 -0
- package/STABILITY.md +79 -53
- 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 +13 -27
- package/dist/assets/hints/cli-hints-short.md +1 -1
- package/dist/assets/improve-strategies/default.json +3 -3
- package/dist/assets/prompts/consolidate-pair.md +9 -7
- 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/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/pair-pass.js +7 -1
- package/dist/commands/improve/consolidate.js +6 -35
- 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 +140 -20
- package/dist/commands/improve/extract-cli.js +1 -1
- package/dist/commands/improve/improve-cli.js +120 -114
- package/dist/commands/improve/improve-strategies.js +8 -12
- package/dist/commands/improve/loop-stages.js +0 -1
- 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 +3 -8
- package/dist/commands/improve/retrieval-scope.js +2 -2
- package/dist/commands/improve/salience.js +2 -9
- package/dist/commands/improve/stage.js +14 -9
- package/dist/commands/lint/index.js +5 -20
- package/dist/commands/observability-cli.js +3 -9
- package/dist/commands/proposal/drain.js +39 -6
- package/dist/commands/proposal/proposal-cli.js +10 -30
- package/dist/commands/proposal/repository.js +3 -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 +4 -12
- 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 +8 -61
- 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 +10 -1
- package/dist/core/improve-result.js +11 -1
- package/dist/core/mutation-target.js +2 -2
- package/dist/core/recognition-util.js +4 -5
- 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/search/db-search.js +4 -19
- package/dist/indexer/search/fts-query.js +0 -19
- 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 +228 -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 +15746 -16706
- package/dist/scripts/akm-migrate.js +16319 -17275
- 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/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/task-history.js +0 -2
- 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/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 +471 -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 +720 -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 +321 -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 +246 -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 +123 -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 +132 -0
- package/docs/migration/README.md +2 -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.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 +27 -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/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 +129 -175
- package/docs/reference/configuration.md +84 -19
- package/docs/reference/data-and-telemetry.md +1 -1
- 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/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/tasks/validate.js +0 -176
- package/dist/core/config/legacy-source-shape-shim.js +0 -117
- 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,132 @@
|
|
|
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 daily build, `0.10.YYMMDDNN` (see step 4):
|
|
11
|
+
`bun scripts/release-version.ts next` prints the next free one for today
|
|
12
|
+
(UTC). Commit it in `package.json` and cut the CHANGELOG as
|
|
13
|
+
`## [0.10.YYMMDDNN] - YYYY-MM-DD`. A prerelease stage is not committed: it is
|
|
14
|
+
chosen when the Release workflow runs, and a stage of a build is covered by
|
|
15
|
+
that build's CHANGELOG section.
|
|
16
|
+
2. Record `git rev-parse HEAD`. This is the full 40-character release-candidate SHA.
|
|
17
|
+
3. Run `bun run release:check` locally. If Docker is unavailable, run
|
|
18
|
+
`./tests/release-check.sh --skip-docker` and rely on the gated Docker job
|
|
19
|
+
below for the container matrix.
|
|
20
|
+
|
|
21
|
+
Any commit added after this point creates a new candidate and invalidates the
|
|
22
|
+
gated evidence collected for the previous SHA.
|
|
23
|
+
|
|
24
|
+
## 2. Collect exact-SHA gated evidence
|
|
25
|
+
|
|
26
|
+
GitHub only offers a scheduled or manually dispatched workflow after its file
|
|
27
|
+
exists on the default branch. When validating the commit that first introduces
|
|
28
|
+
or changes this workflow, create a unique lightweight candidate tag at the
|
|
29
|
+
recorded SHA:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
candidate_sha="$(git rev-parse HEAD)"
|
|
33
|
+
candidate_short_sha="$(git rev-parse --short=12 HEAD)"
|
|
34
|
+
candidate_version="$(node -p 'require("./package.json").version')"
|
|
35
|
+
candidate_tag="gated-ci/candidate-${candidate_version}-${candidate_short_sha}"
|
|
36
|
+
git tag "$candidate_tag" "$candidate_sha"
|
|
37
|
+
git push origin "refs/tags/$candidate_tag"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Verify that the tag target is the exact candidate commit recorded in step 1.
|
|
41
|
+
The `gated-ci/candidate-*` trigger runs every gated suite from the workflow in
|
|
42
|
+
that tagged commit. The resolver checks that the checkout equals the immutable
|
|
43
|
+
event SHA, and the final evidence job records both that SHA and the tag ref.
|
|
44
|
+
Never force-move or reuse a candidate tag; a changed commit needs a new tag and
|
|
45
|
+
a new run.
|
|
46
|
+
|
|
47
|
+
After **Gated CI** exists on the default branch, manual dispatch is an
|
|
48
|
+
equivalent exact-SHA path. From the repository's Actions page, choose **Run
|
|
49
|
+
workflow** and supply:
|
|
50
|
+
|
|
51
|
+
- `candidate_sha`: the full 40-character SHA recorded above, never a branch or
|
|
52
|
+
tag name.
|
|
53
|
+
|
|
54
|
+
Every suite runs; there is no suite selector.
|
|
55
|
+
|
|
56
|
+
The manual request rejects abbreviated SHAs and checks out that immutable
|
|
57
|
+
commit for every gate. Wait for all of these stable checks to succeed on either
|
|
58
|
+
candidate path:
|
|
59
|
+
|
|
60
|
+
- `Gated / Semantic Search`
|
|
61
|
+
- `Gated / Docker Install`
|
|
62
|
+
- `Gated / Native Scheduler / Linux`
|
|
63
|
+
- `Gated / Native Scheduler / macOS`
|
|
64
|
+
- `Gated / Native Scheduler / Windows`
|
|
65
|
+
- `Gated / Release Candidate Evidence`
|
|
66
|
+
|
|
67
|
+
The final evidence job records the requested and resolved SHA, the trigger ref,
|
|
68
|
+
each suite's result, and a run link in the workflow summary. A weekly run is
|
|
69
|
+
drift detection, not release evidence, because it may cover a different
|
|
70
|
+
commit.
|
|
71
|
+
|
|
72
|
+
Manual and tagged candidate runs are cache restore-only. Only a successful
|
|
73
|
+
scheduled run of the workflow on the repository's default branch may save the
|
|
74
|
+
HuggingFace model cache; its key identifies both the embedding model and the
|
|
75
|
+
source/lock inputs. This prevents candidate-controlled workflow code from
|
|
76
|
+
publishing cache entries while still avoiding repeated model downloads.
|
|
77
|
+
|
|
78
|
+
Copy the successful run URL (for example,
|
|
79
|
+
`https://github.com/itlackey/akm/actions/runs/<run-id>`) and the exact candidate
|
|
80
|
+
SHA into both the release PR and its milestone/parent tracker. Do not publish
|
|
81
|
+
from a candidate whose evidence link names a different SHA, whose final
|
|
82
|
+
evidence job is skipped, or whose run was re-run after the candidate changed.
|
|
83
|
+
|
|
84
|
+
## 3. Gated CI does not run on pull requests
|
|
85
|
+
|
|
86
|
+
Gated CI runs on three triggers only: the weekly schedule, an exact-SHA
|
|
87
|
+
`workflow_dispatch`, and a `gated-ci/candidate-*` tag. All three run every
|
|
88
|
+
suite.
|
|
89
|
+
|
|
90
|
+
There used to be a `Gated / Detect Changed Paths` job that also ran these on
|
|
91
|
+
PRs, selecting suites by regex-matching the diff against path lists. It was
|
|
92
|
+
deleted in 0.9.8: the patterns had gone stale — they still named test files a
|
|
93
|
+
reorganisation had moved or deleted, so it was silently under-selecting suites
|
|
94
|
+
and nobody noticed. A build-policing job that quietly stops policing is worse
|
|
95
|
+
than no job, because its green status is read as coverage.
|
|
96
|
+
|
|
97
|
+
Nothing about release evidence changes. Step 2 was always the requirement, and
|
|
98
|
+
it never went through the PR path.
|
|
99
|
+
|
|
100
|
+
The candidate-tag trigger is reserved for release evidence and workflow
|
|
101
|
+
rollout: it always runs `all`, because a tag-push workflow is the path available
|
|
102
|
+
before the workflow file reaches the default branch.
|
|
103
|
+
|
|
104
|
+
## 4. Publish
|
|
105
|
+
|
|
106
|
+
After the exact-SHA gated run and local release check are green, trigger the
|
|
107
|
+
Release workflow with the version already committed in `package.json`. Keep the
|
|
108
|
+
candidate SHA and Gated CI run URL in the release record so the published
|
|
109
|
+
artifact's validation can be audited later.
|
|
110
|
+
|
|
111
|
+
0.10 and later use daily builds, `0.10.YYMMDDNN`: `YY` the UTC year, `MM` the
|
|
112
|
+
month, `DD` the day and `NN` the build that day (`01` to `99`), two digits each
|
|
113
|
+
(see [`STABILITY.md`](../../STABILITY.md)). The first build on 2026-10-10 is
|
|
114
|
+
`0.10.26101001`. `bun scripts/release-version.ts next` takes `NN` as one above
|
|
115
|
+
the highest build already on npm for today's UTC date (`npm view akm-cli
|
|
116
|
+
versions`), so numbering follows what was published, not what was committed.
|
|
117
|
+
|
|
118
|
+
The workflow has two inputs:
|
|
119
|
+
|
|
120
|
+
- `version`: the version committed in `package.json`, as before. The workflow
|
|
121
|
+
rejects a malformed one (`scripts/release-version.ts`, tested in
|
|
122
|
+
`tests/release-version.test.ts`): two digits each for `YY`, `MM`, `DD`, `NN`, a
|
|
123
|
+
real calendar date, `NN` 01 to 99. For 0.9 and older it is the `X.Y.Z` as
|
|
124
|
+
before.
|
|
125
|
+
- `stage`: `none` publishes the build itself to the npm `latest` tag and as a
|
|
126
|
+
GitHub release. `alpha`, `beta` or `rc` publishes `<version>-<stage>` to
|
|
127
|
+
`next` as a GitHub prerelease (no `.N`: the build number already differs per
|
|
128
|
+
build). Promote one build by running the workflow again with the same
|
|
129
|
+
`version` and the next stage, then with `none`. The order is
|
|
130
|
+
`-alpha` < `-beta` < `-rc` < the build.
|
|
131
|
+
|
|
132
|
+
`bun scripts/release-version.ts validate <version>` checks a version by hand.
|
package/docs/migration/README.md
CHANGED
|
@@ -9,5 +9,5 @@ Upgrade guides and per-release migration notes.
|
|
|
9
9
|
- [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
10
|
- [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
11
|
- [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
|
|
12
|
+
- [v0.5 -> v0.6 migration guide](v0.5-to-v0.6.md) -- Terminology cut, registry schema v3, publisher changes
|
|
13
|
+
- [Release notes index](release-notes/README.md) -- The short per-release notes `akm help migrate <version>` prints, with links to every bundled note
|
|
@@ -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.
|
|
@@ -7,40 +7,36 @@ live one level up in `docs/migration/`.
|
|
|
7
7
|
|
|
8
8
|
## Available notes
|
|
9
9
|
|
|
10
|
-
- [0.9.19](0.9.19.md) —
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- [0.9.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- [0.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
- [0.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- [0.
|
|
28
|
-
fragments, and collapse-detector canary re-minting
|
|
29
|
-
- [0.9.2](0.9.2.md) — task source v4 migration, workflow source IR v1 and
|
|
30
|
-
durable-v4-family `irVersion: 5`, command diagnostics, and strategy judgment
|
|
31
|
-
migration
|
|
10
|
+
- [0.9.19](0.9.19.md) — Bundle-scoped improve planning, proposal reopen, and consolidate/distill guardrails.
|
|
11
|
+
- [0.9.17](0.9.17.md) — Retire proposals, declared links replacing the LLM entity graph, and scoped improve planning.
|
|
12
|
+
- [0.9.16](0.9.16.md) — Source-bound scheduler grants, local execution authority, and split unsafe overrides.
|
|
13
|
+
- [0.9.15](0.9.15.md) — Lease/state.db contention exit code 75, scheduled-task engine requirements, and safer launchers.
|
|
14
|
+
- [0.9.14](0.9.14.md) — Index v22→v23 derived-cache rebuild, lexical fragments, and collapse-detector canaries.
|
|
15
|
+
- [0.9.2](0.9.2.md) — Task source v4 migration, workflow source IR v1, and durable-v4-family `irVersion: 5`.
|
|
16
|
+
- [0.9.0](0.9.0.md) — 0.9 release-candidate and final-release migration notes.
|
|
17
|
+
- [0.8.0](0.8.0.md) — CLI/storage break, improve-owned graph pipeline, config v2, and task assets.
|
|
18
|
+
- [0.7.5](0.7.5.md) — Patch rollup for everything shipped on `main` after v0.7.4.
|
|
19
|
+
- [0.7.4](0.7.4.md) — Publish-process-only patch release with no functional change from 0.7.3.
|
|
20
|
+
- [0.7.3](0.7.3.md) — Stability improvements, security hardening, and UX refinements.
|
|
21
|
+
- [0.7.0](0.7.0.md) — Last v1-cycle pre-1.0 release with the proposal queue and improve-loop groundwork.
|
|
22
|
+
- [0.6.0](0.6.0.md) — v1 architecture refactor, stash rename cleanup, and sandbox/setup guidance.
|
|
23
|
+
- [0.5.0](0.5.0.md) — Wiki, workflow, vault, and save command additions before the 0.6 architecture cut.
|
|
24
|
+
- [0.3.0](0.3.0.md) — Fold the old `stash` and `kit` command groups into the top-level CLI.
|
|
25
|
+
- [0.2.0](0.2.0.md) — User-facing `type:name` refs and early bundle conventions.
|
|
26
|
+
- [0.1.0](0.1.0.md) — Rebrand from Agent-i-Kit to akm.
|
|
27
|
+
- [0.0.13](0.0.13.md) — Initial public release.
|
|
32
28
|
|
|
33
29
|
## Adding notes for a new release
|
|
34
30
|
|
|
35
31
|
1. Create `<version>.md` in this directory (e.g. `0.7.0.md`).
|
|
36
|
-
2.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
3. The file ships with the published package via `package.json` →
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
2. Start the file with `# akm v<version> migration notes`, then list the
|
|
33
|
+
automatic migrations, manual actions, publisher changes, and any longform
|
|
34
|
+
guide links the terminal user may need.
|
|
35
|
+
3. The file ships with the published package via `package.json` → `files[]`
|
|
36
|
+
and is resolved at runtime from either `src/` or `dist/`, so no code
|
|
37
|
+
change is required.
|
|
42
38
|
4. Link to the longform guide in the last paragraph if one exists.
|
|
43
39
|
|
|
44
|
-
Keep each note self-contained: it should tell a user everything they
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
Keep each note self-contained: it should tell a user everything they need to
|
|
41
|
+
upgrade without requiring them to open a browser (the longform guide link is
|
|
42
|
+
the last resort, not the first).
|