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.
Files changed (353) hide show
  1. package/CHANGELOG.md +282 -0
  2. package/README.md +10 -10
  3. package/ROADMAP.md +112 -0
  4. package/STABILITY.md +79 -53
  5. package/dist/api-node.mjs +20 -0
  6. package/dist/api.d.ts +23 -0
  7. package/dist/api.js +45 -0
  8. package/dist/assets/hints/cli-hints-full.md +13 -27
  9. package/dist/assets/hints/cli-hints-short.md +1 -1
  10. package/dist/assets/improve-strategies/default.json +3 -3
  11. package/dist/assets/prompts/consolidate-pair.md +9 -7
  12. package/dist/cli/shared.js +31 -48
  13. package/dist/cli/unknown-flags.js +6 -43
  14. package/dist/cli.js +8 -34
  15. package/dist/commands/agent/contribute-cli.js +1 -1
  16. package/dist/commands/completions.js +1 -2
  17. package/dist/commands/config-cli.js +5 -28
  18. package/dist/commands/env/env-cli.js +5 -5
  19. package/dist/commands/env/secret-cli.js +2 -2
  20. package/dist/commands/health/checks.js +41 -16
  21. package/dist/commands/health/plugin-staleness.js +52 -22
  22. package/dist/commands/improve/autonomy-gate.js +5 -3
  23. package/dist/commands/improve/consolidate/pair-pass.js +7 -1
  24. package/dist/commands/improve/consolidate.js +6 -35
  25. package/dist/commands/improve/distill/lesson-update.js +91 -0
  26. package/dist/commands/improve/distill-guards.js +1 -43
  27. package/dist/commands/improve/distill.js +140 -20
  28. package/dist/commands/improve/extract-cli.js +1 -1
  29. package/dist/commands/improve/improve-cli.js +120 -114
  30. package/dist/commands/improve/improve-strategies.js +8 -12
  31. package/dist/commands/improve/loop-stages.js +0 -1
  32. package/dist/commands/improve/planner.js +0 -1
  33. package/dist/commands/improve/preparation.js +40 -99
  34. package/dist/commands/improve/proactive-maintenance.js +2 -2
  35. package/dist/commands/improve/reflect-noise.js +3 -55
  36. package/dist/commands/improve/reflect.js +3 -8
  37. package/dist/commands/improve/retrieval-scope.js +2 -2
  38. package/dist/commands/improve/salience.js +2 -9
  39. package/dist/commands/improve/stage.js +14 -9
  40. package/dist/commands/lint/index.js +5 -20
  41. package/dist/commands/observability-cli.js +3 -9
  42. package/dist/commands/proposal/drain.js +39 -6
  43. package/dist/commands/proposal/proposal-cli.js +10 -30
  44. package/dist/commands/proposal/repository.js +3 -3
  45. package/dist/commands/read/knowledge.js +3 -3
  46. package/dist/commands/read/remember-cli.js +0 -13
  47. package/dist/commands/read/search-cli.js +29 -97
  48. package/dist/commands/read/search.js +0 -11
  49. package/dist/commands/read/show.js +0 -19
  50. package/dist/commands/sources/plugin-upgrade.js +164 -101
  51. package/dist/commands/sources/sources-cli.js +1 -15
  52. package/dist/commands/sources/stash-cli.js +4 -12
  53. package/dist/commands/tasks/tasks-cli.js +4 -115
  54. package/dist/commands/workflow/plan.js +11 -33
  55. package/dist/commands/workflow-cli.js +2 -7
  56. package/dist/core/adapter/adapter-ids.js +1 -2
  57. package/dist/core/adapter/adapters/agent-skills-adapter.js +0 -4
  58. package/dist/core/adapter/adapters/akm-adapter.js +9 -48
  59. package/dist/core/adapter/adapters/akm-lint.js +10 -26
  60. package/dist/core/adapter/adapters/akm-metadata.js +2 -72
  61. package/dist/core/adapter/adapters/akm-task-adapter.js +0 -5
  62. package/dist/core/adapter/adapters/akm-workflow-adapter.js +9 -28
  63. package/dist/core/adapter/adapters/dotenv-adapter.js +1 -20
  64. package/dist/core/adapter/adapters/generic-files-adapter.js +0 -10
  65. package/dist/core/adapter/adapters/llm-wiki-adapter.js +0 -4
  66. package/dist/core/adapter/adapters/tool-dir-shared.js +0 -24
  67. package/dist/core/adapter/adapters/website-snapshot-adapter.js +4 -4
  68. package/dist/core/adapter/recognize-match.js +3 -4
  69. package/dist/core/common.js +18 -2
  70. package/dist/core/config/config-schema.js +12 -15
  71. package/dist/core/config/config-types.js +6 -15
  72. package/dist/core/config/config-walker.js +6 -23
  73. package/dist/core/config/config.js +17 -80
  74. package/dist/core/config/engine-semantics.js +7 -3
  75. package/dist/core/config/schema/engines.js +7 -7
  76. package/dist/core/config/schema/improve-processes.js +8 -61
  77. package/dist/core/config/schema/improve.js +2 -21
  78. package/dist/core/config/schema/index-config.js +6 -39
  79. package/dist/core/env-secret-ref.js +2 -45
  80. package/dist/core/errors.js +1 -2
  81. package/dist/core/extra-params.js +2 -86
  82. package/dist/core/file-lock.js +10 -1
  83. package/dist/core/improve-result.js +11 -1
  84. package/dist/core/mutation-target.js +2 -2
  85. package/dist/core/recognition-util.js +4 -5
  86. package/dist/core/warn.js +21 -4
  87. package/dist/core/write-source.js +3 -3
  88. package/dist/execution/target-ref.js +1 -2
  89. package/dist/indexer/search/db-search.js +4 -19
  90. package/dist/indexer/search/fts-query.js +0 -19
  91. package/dist/integrations/agent/engine-resolution.js +5 -2
  92. package/dist/integrations/agent/index.js +1 -1
  93. package/dist/integrations/agent/profiles.js +41 -98
  94. package/dist/integrations/agent/request-lowering.js +3 -3
  95. package/dist/integrations/harnesses/aider/index.js +5 -0
  96. package/dist/integrations/harnesses/amazonq/index.js +1 -0
  97. package/dist/integrations/harnesses/claude/config-import.js +2 -3
  98. package/dist/integrations/harnesses/claude/index.js +5 -0
  99. package/dist/integrations/harnesses/codex/index.js +1 -0
  100. package/dist/integrations/harnesses/copilot/index.js +1 -0
  101. package/dist/integrations/harnesses/gemini/index.js +1 -0
  102. package/dist/integrations/harnesses/index.js +18 -39
  103. package/dist/integrations/harnesses/opencode/agent-builder.js +60 -35
  104. package/dist/integrations/harnesses/opencode/config-import.js +121 -52
  105. package/dist/integrations/harnesses/opencode/index.js +22 -0
  106. package/dist/integrations/harnesses/opencode/plugin-layout.js +68 -0
  107. package/dist/integrations/harnesses/opencode/session-log-types.js +12 -0
  108. package/dist/integrations/harnesses/opencode/session-log-v1.js +72 -0
  109. package/dist/integrations/harnesses/opencode/session-log-v2.js +140 -0
  110. package/dist/integrations/harnesses/opencode/session-log.js +104 -115
  111. package/dist/integrations/harnesses/opencode/version.js +98 -0
  112. package/dist/integrations/harnesses/opencode-sdk/{harness.js → index.js} +5 -17
  113. package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +105 -206
  114. package/dist/integrations/harnesses/opencode-sdk/v1-adapter.js +199 -0
  115. package/dist/integrations/harnesses/opencode-sdk/v2-adapter.js +228 -0
  116. package/dist/integrations/harnesses/opencode-sdk/wire.js +66 -0
  117. package/dist/integrations/harnesses/openhands/index.js +1 -0
  118. package/dist/integrations/harnesses/pi/index.js +1 -0
  119. package/dist/integrations/harnesses/shared.js +2 -0
  120. package/dist/integrations/harnesses/types.js +2 -0
  121. package/dist/llm/client.js +74 -14
  122. package/dist/output/cli-hints.js +1 -1
  123. package/dist/output/context.js +10 -19
  124. package/dist/output/format-exempt.js +5 -8
  125. package/dist/output/shapes/helpers.js +1 -22
  126. package/dist/output/shapes/passthrough.js +0 -1
  127. package/dist/output/shapes.js +3 -31
  128. package/dist/output/stdout.js +5 -1
  129. package/dist/output/text/command-format.js +6 -1
  130. package/dist/output/text/workflow-format.js +4 -22
  131. package/dist/scripts/akm-migrate-node.js +15746 -16706
  132. package/dist/scripts/akm-migrate.js +16319 -17275
  133. package/dist/setup/detect.js +10 -4
  134. package/dist/setup/harness-config-import.js +5 -14
  135. package/dist/setup/setup.js +1 -1
  136. package/dist/setup/steps/tasks.js +12 -13
  137. package/dist/storage/repositories/task-history-repository.js +0 -5
  138. package/dist/storage/repositories/workflow-runs-repository.js +5 -15
  139. package/dist/tasks/embedded.js +2 -1
  140. package/dist/tasks/run/task-history.js +0 -2
  141. package/dist/tasks/schedule-gates.js +39 -0
  142. package/dist/tasks/scheduler-binding.js +0 -16
  143. package/dist/tasks/scheduler-sync.js +3 -97
  144. package/dist/tasks/source/bounded-document.js +1 -1
  145. package/dist/tasks/source/task-source-v4.js +2 -12
  146. package/dist/tasks/task-run-reserved-flags.js +2 -31
  147. package/dist/workflows/authoring/authoring.js +6 -6
  148. package/dist/workflows/compile.js +8 -65
  149. package/dist/workflows/exec/child-workflow.js +22 -3
  150. package/dist/workflows/exec/native-executor.js +12 -147
  151. package/dist/workflows/exec/run-workflow.js +31 -103
  152. package/dist/workflows/exec/step-work.js +9 -178
  153. package/dist/workflows/exec/unit-dispatch.js +0 -10
  154. package/dist/workflows/freeze/environment.js +3 -44
  155. package/dist/workflows/freeze/freeze.js +8 -41
  156. package/dist/workflows/freeze/targets/child-workflow.js +27 -63
  157. package/dist/workflows/freeze/targets/command.js +2 -16
  158. package/dist/workflows/freeze/targets/shell.js +0 -2
  159. package/dist/workflows/freeze/task-bindings.js +2 -28
  160. package/dist/workflows/ir/params.js +12 -2
  161. package/dist/workflows/parser.js +82 -232
  162. package/dist/workflows/plan.js +1 -1
  163. package/dist/workflows/renderer.js +10 -19
  164. package/dist/workflows/runtime/run-plan.js +11 -53
  165. package/dist/workflows/runtime/runs.js +4 -27
  166. package/dist/workflows/source-files.js +12 -16
  167. package/dist/workflows/source-semantics.js +1 -93
  168. package/docs/README.md +43 -42
  169. package/docs/agents/README.md +15 -0
  170. package/docs/agents/agent-install.md +14 -0
  171. package/docs/architecture/README.md +67 -0
  172. package/docs/architecture/adapters.md +258 -0
  173. package/docs/architecture/akm-architecture-decision-history.md +2055 -0
  174. package/docs/architecture/akm-core-principles.md +126 -0
  175. package/docs/architecture/architecture.md +578 -0
  176. package/docs/architecture/comparisons/claude-code-vs-akm-workflows-full.md +550 -0
  177. package/docs/architecture/decisions/0001-no-interpolation-attached-structured-context.md +72 -0
  178. package/docs/architecture/decisions/0002-unit-reuse-and-input-hash-scope.md +142 -0
  179. package/docs/architecture/decisions/0003-child-env-allowlist-and-provenance.md +189 -0
  180. package/docs/architecture/decisions/0004-task-input-contract-and-flag-coercion.md +97 -0
  181. package/docs/architecture/decisions/0005-task-result-vocabulary-and-legacy-read-mapping.md +108 -0
  182. package/docs/architecture/decisions/0006-task-source-version-routing.md +124 -0
  183. package/docs/architecture/decisions/0007-workflow-composition-bounds.md +83 -0
  184. package/docs/architecture/decisions/0008-task-binding-normalization.md +88 -0
  185. package/docs/architecture/decisions/0009-child-run-publication-column-parity.md +80 -0
  186. package/docs/architecture/decisions/0010-driver-protocol-cut.md +36 -0
  187. package/docs/architecture/decisions/0011-engine-run-loop-invariants.md +125 -0
  188. package/docs/architecture/decisions/README.md +62 -0
  189. package/docs/architecture/improvement.md +471 -0
  190. package/docs/architecture/internals/classification.md +154 -0
  191. package/docs/architecture/internals/fresh-host-rebuild-runbook.md +40 -0
  192. package/docs/architecture/internals/functional-contract-patterns.md +340 -0
  193. package/docs/architecture/internals/health-advisories.md +110 -0
  194. package/docs/architecture/internals/improve-workflow.md +720 -0
  195. package/docs/architecture/internals/indexing.md +498 -0
  196. package/docs/architecture/internals/registry-network-boundary.md +57 -0
  197. package/docs/architecture/internals/search.md +248 -0
  198. package/docs/architecture/internals/storage-locations.md +943 -0
  199. package/docs/architecture/persisted-data-compat.md +68 -0
  200. package/docs/architecture/reviews/env-secret-access.md +319 -0
  201. package/docs/architecture/runtime-boundary-design.md +153 -0
  202. package/docs/architecture/specs/0.9.0-close-out-plan.md +361 -0
  203. package/docs/architecture/specs/0.9.0-decisions.md +532 -0
  204. package/docs/architecture/specs/0.9.0-docs-code-drift-register.md +745 -0
  205. package/docs/architecture/specs/0.9.0-open-items-register.md +135 -0
  206. package/docs/architecture/specs/0.9.0-public-api-issue-backlog.md +740 -0
  207. package/docs/architecture/specs/0.9.0-release-surface-review.md +636 -0
  208. package/docs/architecture/specs/agent-command-engine-model-design.md +513 -0
  209. package/docs/architecture/specs/akm-0.9.0-bundle-adapter-spec.md +501 -0
  210. package/docs/architecture/specs/akm-0.9.0-ref-grammar-decision.md +291 -0
  211. package/docs/architecture/specs/akm-format-neutral-bundle-workspace-spec.md +2059 -0
  212. package/docs/architecture/specs/di-seams-plan.md +539 -0
  213. package/docs/architecture/specs/driver-protocol-keep-or-cut.md +275 -0
  214. package/docs/architecture/specs/fact-asset-type.md +142 -0
  215. package/docs/architecture/specs/improve-collapse-churn-detector-design.md +634 -0
  216. package/docs/architecture/specs/okf-support.md +148 -0
  217. package/docs/architecture/specs/ref.md +329 -0
  218. package/docs/architecture/specs/reviews/task-workflow-unification/README.md +72 -0
  219. package/docs/architecture/specs/reviews/task-workflow-unification/findings-consolidated.md +152 -0
  220. package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-alternatives.md +352 -0
  221. package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-bunqueue.md +300 -0
  222. package/docs/architecture/specs/reviews/task-workflow-unification/library-eval-openworkflow.md +402 -0
  223. package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-1.md +758 -0
  224. package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-2.md +645 -0
  225. package/docs/architecture/specs/reviews/task-workflow-unification/opus-review-3.md +602 -0
  226. package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-adversarial.md +27 -0
  227. package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-architecture.md +27 -0
  228. package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-coverage.md +74 -0
  229. package/docs/architecture/specs/reviews/task-workflow-unification/panel-r1-security.md +15 -0
  230. package/docs/architecture/specs/reviews/task-workflow-unification/panel-r2-adversarial.md +132 -0
  231. package/docs/architecture/specs/reviews/task-workflow-unification/panel-r2-verification.md +147 -0
  232. package/docs/architecture/specs/stash-conventions-code-spec.md +275 -0
  233. package/docs/architecture/specs/stash-organization-conventions.md +377 -0
  234. package/docs/architecture/specs/task-workflow-format-unification.md +721 -0
  235. package/docs/architecture/specs/workflow-engine-buy-vs-build.md +231 -0
  236. package/docs/architecture/specs/workflow-format-unification.md +432 -0
  237. package/docs/architecture/testing/manual-testing-checklist.md +3411 -0
  238. package/docs/architecture/testing/okf-v0.2-conformance-runbook.md +924 -0
  239. package/docs/architecture/testing/task-workflow-manual-tests.md +1720 -0
  240. package/docs/architecture/testing/testing-workflow.md +446 -0
  241. package/docs/architecture/workflow-engine.md +223 -0
  242. package/docs/guides/README.md +33 -0
  243. package/docs/guides/author-bundles.md +310 -0
  244. package/docs/guides/author-workflows.md +490 -0
  245. package/docs/guides/bundles.md +321 -0
  246. package/docs/guides/capture-knowledge.md +136 -0
  247. package/docs/guides/claude-code-vs-akm-workflows.md +29 -0
  248. package/docs/guides/concepts.md +93 -0
  249. package/docs/guides/discover-and-load.md +158 -0
  250. package/docs/guides/getting-started.md +240 -0
  251. package/docs/guides/improve-the-library.md +246 -0
  252. package/docs/guides/knowledge-management.md +18 -0
  253. package/docs/guides/recipes/headless-install.md +97 -0
  254. package/docs/guides/recipes/website-source.md +28 -0
  255. package/docs/guides/run-workflows.md +279 -0
  256. package/docs/guides/scheduling.md +123 -0
  257. package/docs/guides/use-with-any-agent.md +174 -0
  258. package/docs/guides/wikis.md +81 -0
  259. package/docs/integration/bundling-akm.md +7 -6
  260. package/docs/maintainers/README.md +19 -0
  261. package/docs/maintainers/curate-workmap.md +335 -0
  262. package/docs/maintainers/eval.md +3 -0
  263. package/docs/maintainers/local-development.md +108 -0
  264. package/docs/maintainers/release-checklist.md +132 -0
  265. package/docs/migration/README.md +2 -2
  266. package/docs/migration/release-notes/0.0.13.md +1 -1
  267. package/docs/migration/release-notes/0.1.0.md +1 -1
  268. package/docs/migration/release-notes/0.2.0.md +1 -1
  269. package/docs/migration/release-notes/0.3.0.md +1 -1
  270. package/docs/migration/release-notes/0.5.0.md +1 -1
  271. package/docs/migration/release-notes/0.6.0.md +1 -1
  272. package/docs/migration/release-notes/0.7.0.md +1 -1
  273. package/docs/migration/release-notes/0.7.3.md +2 -2
  274. package/docs/migration/release-notes/0.7.4.md +1 -1
  275. package/docs/migration/release-notes/0.7.5.md +1 -1
  276. package/docs/migration/release-notes/0.8.0.md +1 -1
  277. package/docs/migration/release-notes/0.9.0.md +1 -1
  278. package/docs/migration/release-notes/0.9.14.md +1 -1
  279. package/docs/migration/release-notes/0.9.15.md +1 -1
  280. package/docs/migration/release-notes/0.9.16.md +1 -1
  281. package/docs/migration/release-notes/0.9.17.md +1 -1
  282. package/docs/migration/release-notes/0.9.19.md +1 -1
  283. package/docs/migration/release-notes/0.9.2.md +1 -1
  284. package/docs/migration/release-notes/README.md +27 -31
  285. package/docs/migration/v0.5-to-v0.6.md +759 -0
  286. package/docs/migration/v0.8-to-v0.9.md +1 -1
  287. package/docs/plans/0.9.2-agent-command-workflow-plan.md +423 -0
  288. package/docs/posts/README.md +30 -0
  289. package/docs/posts/akm-command-tour.md +495 -0
  290. package/docs/posts/akm-logo-sized.webp +0 -0
  291. package/docs/posts/belief-aware-memory-12.md +139 -0
  292. package/docs/posts/config-v2-lessons-16.md +191 -0
  293. package/docs/posts/improve-loop-autonomous-10.md +225 -0
  294. package/docs/posts/improve-pipeline-debugging-0803.md +179 -0
  295. package/docs/posts/intro-part-01.md +76 -0
  296. package/docs/posts/intro-part-02.md +221 -0
  297. package/docs/posts/intro-part-03.md +190 -0
  298. package/docs/posts/intro-part-04.md +221 -0
  299. package/docs/posts/llm-mode-reflect-13.md +166 -0
  300. package/docs/posts/openpalm-built-on-akm.md +86 -0
  301. package/docs/posts/progressive-disclosure-06.md +129 -0
  302. package/docs/posts/proposal-safety-net-15.md +112 -0
  303. package/docs/posts/release-0.5.0.md +247 -0
  304. package/docs/posts/release-0.6.0.md +117 -0
  305. package/docs/posts/release-0.7.0.md +159 -0
  306. package/docs/posts/release-0.8.0.md +332 -0
  307. package/docs/posts/scattered-skills-05.md +100 -0
  308. package/docs/posts/task-assets-persistent-workflows-11.md +222 -0
  309. package/docs/posts/team-skills-07.md +198 -0
  310. package/docs/posts/wiki-agent-knowledge-08.md +223 -0
  311. package/docs/posts/workflows-vaults-09.md +321 -0
  312. package/docs/product-surface.md +54 -0
  313. package/docs/reference/README.md +2 -2
  314. package/docs/reference/api.md +65 -0
  315. package/docs/reference/asset-types.md +166 -0
  316. package/docs/reference/bundle-types.md +2 -4
  317. package/docs/reference/cli.md +129 -175
  318. package/docs/reference/configuration.md +84 -19
  319. package/docs/reference/data-and-telemetry.md +1 -1
  320. package/docs/reference/env-and-secrets.md +126 -0
  321. package/docs/reference/memory.md +124 -0
  322. package/docs/reference/refs.md +156 -0
  323. package/docs/reference/registry.md +489 -0
  324. package/docs/reference/supported-formats.md +3 -4
  325. package/docs/reference/tasks.md +12 -19
  326. package/docs/reference/website-sources.md +141 -0
  327. package/docs/reference/workflow-schema.md +89 -317
  328. package/docs/reference/workflows.md +20 -48
  329. package/package.json +23 -16
  330. package/schemas/akm-config.json +2 -243
  331. package/schemas/akm-task.json +2 -3
  332. package/schemas/akm-workflow.json +47 -84
  333. package/dist/assets/improve-strategies/catchup.json +0 -41
  334. package/dist/assets/improve-strategies/proactive-maintenance.json +0 -24
  335. package/dist/assets/improve-strategies/quick.json +0 -17
  336. package/dist/assets/improve-strategies/reflect-distill.json +0 -29
  337. package/dist/assets/improve-strategies/thorough.json +0 -49
  338. package/dist/assets/tasks/improve/akm-improve-catchup.yml +0 -6
  339. package/dist/assets/tasks/improve/akm-improve-frequent.yml +0 -4
  340. package/dist/assets/tasks/improve/akm-improve-nightly.yml +0 -4
  341. package/dist/cli/retired-commands.js +0 -118
  342. package/dist/commands/tasks/validate.js +0 -176
  343. package/dist/core/config/legacy-source-shape-shim.js +0 -117
  344. package/dist/integrations/harnesses/ids.js +0 -28
  345. package/dist/tasks/source/task-source-v3-frozen.js +0 -424
  346. package/dist/tasks/source/task-to-v4.js +0 -863
  347. package/dist/workflows/exec/worktree.js +0 -372
  348. package/dist/workflows/freeze/child-output-references.js +0 -83
  349. package/dist/workflows/freeze/identity.js +0 -22
  350. package/dist/workflows/freeze/targets/script.js +0 -50
  351. package/dist/workflows/freeze/targets/task.js +0 -124
  352. package/dist/workflows/github-yaml.js +0 -506
  353. 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.
@@ -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](https://github.com/itlackey/akm/blob/main/docs/migration/v0.5-to-v0.6.md) -- Terminology cut, registry schema v3, publisher changes
13
- - [Release notes](release-notes/) -- The short per-release notes `akm help migrate <version>` prints (bundled with the npm package)
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
- Migration notes for akm v0.0.13
1
+ # akm v0.0.13 migration notes
2
2
 
3
3
  - Initial public release.
4
4
  - No migration steps are required for earlier akm versions.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.1.0
1
+ # akm v0.1.0 migration notes
2
2
 
3
3
  - The package and project were rebranded from Agent-i-Kit to akm.
4
4
  - Update package references from `agent-i-kit` to `akm-cli`.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.2.0
1
+ # akm v0.2.0 migration notes
2
2
 
3
3
  - Asset refs are user-facing `type:name` values; do not rely on URI-style refs.
4
4
  - The old fixed asset-type union was replaced by an extensible asset type system.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.3.0
1
+ # akm v0.3.0 migration notes
2
2
 
3
3
  - The old `stash` and `kit` command groups were folded into the top-level CLI.
4
4
  - Use `akm add`, `akm list`, and `akm remove` instead of the older split command surfaces.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.5.0
1
+ # akm v0.5.0 migration notes
2
2
 
3
3
  - New top-level surfaces: `akm wiki …`, `akm workflow …`, `akm vault …`, and `akm save`.
4
4
  - If you tried the unreleased single-wiki LLM prototype, move to the new `akm wiki …` workflow.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.6.0
1
+ # akm v0.6.0 migration notes
2
2
 
3
3
  This release ships the v1 architecture refactor on top of the earlier 0.6
4
4
  terminology cut (`kit` → `stash` in the registry wire format). The CLI
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.7.0
1
+ # akm v0.7.0 migration notes
2
2
 
3
3
  0.7.0 is the last pre-1.0 ship in the v1 cycle. It introduces the
4
4
  proposal queue, agent reflection commands, the `lesson` asset type, the
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.7.3
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.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.7.4
1
+ # akm v0.7.4 migration notes
2
2
 
3
3
  This is a patch release that fixes the publish process. No functional changes from v0.7.3.
4
4
 
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.7.5
1
+ # akm v0.7.5 migration notes
2
2
 
3
3
  0.7.5 is a patch release that rolls up all changes shipped on `main` after v0.7.4.
4
4
 
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.8.0
1
+ # akm v0.8.0 migration notes
2
2
 
3
3
  This release combines the 0.8.0 CLI/storage break with the final improve-owned
4
4
  maintenance migration work that landed before release validation closed.
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.0
1
+ # akm v0.9.0 migration notes
2
2
 
3
3
  These notes apply to the 0.9.0 release candidates and final release. If you
4
4
  were already running a 0.9.0 beta, align scripts, prompts, and stash layout
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.14
1
+ # akm v0.9.14 migration notes
2
2
 
3
3
  The derived `index.db` generation changes from v22 to v23 to support lexical
4
4
  Markdown fragments. On the first normal read after upgrade, akm detects that
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.15
1
+ # akm v0.9.15 migration notes
2
2
 
3
3
  `RUN_LEASE_HELD` (a workflow run-lease refusal) and the new
4
4
  `STATE_DB_CONTENDED` (state.db write contention) now exit 75 (`EX_TEMPFAIL`)
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.16
1
+ # akm v0.9.16 migration notes
2
2
 
3
3
  Scheduled execution is now authorized by host-local config and bound to the
4
4
  specific source installed under a bundle id. Existing
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.17
1
+ # akm v0.9.17 migration notes
2
2
 
3
3
  Run this after upgrading:
4
4
 
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.19
1
+ # akm v0.9.19 migration notes
2
2
 
3
3
  Nothing has to run after upgrading from 0.9.18: 0.9.19 adds no config keys,
4
4
  changes no index layout, adds no state.db migration and leaves scheduler rows
@@ -1,4 +1,4 @@
1
- Migration notes for akm v0.9.2
1
+ # akm v0.9.2 migration notes
2
2
 
3
3
  Exact-prefix additive `state.db` upgrades remain automatic. The released
4
4
  historical migration 018 is classified separately because it removes retired
@@ -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) — `akm improve` planning only the bundle it writes to
11
- (a scheduled run needs one `--bundle` run per other bundle),
12
- `akm proposal reopen` and the retire-proposal diff, consolidate's coverage
13
- check and content-driven hold on decided promotions, distill's grounding
14
- check, and what a downgrade to 0.9.18 undoes
15
- - [0.9.17](0.9.17.md) — consolidate's retire proposals and continuity check,
16
- promotions archiving their source memory, declared links replacing the LLM
17
- entity graph, index layout 26, scheduler rows carrying their own context,
18
- and `akm improve` scoped to what retrieval actually returns
19
- - [0.9.16](0.9.16.md) — source-bound scheduler grants, local execution
20
- authority, config inheritance's portable-data boundary, and split unsafe
21
- overrides
22
- - [0.9.15](0.9.15.md) — exit-code 75 for lease/state.db contention,
23
- `--require-engines` scheduled task templates, `--no-probe` cli-version
24
- skip, thinking-control wire forms, embedding re-embed safety and
25
- cross-rebuild vector salvage, launcher signal forwarding, a default
26
- per-document embedding cap, and `extends` config inheritance
27
- - [0.9.14](0.9.14.md) — index v22-to-v23 derived-cache rebuild, lexical
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. Write plain text — the content is printed verbatim. Start the body
37
- with a line like `Migration notes for akm v0.7.0`, then list the
38
- automatic migrations, manual actions, publisher changes, etc.
39
- 3. The file ships with the published package via `package.json` →
40
- `files[]` and is resolved at runtime from either `src/` or `dist/`,
41
- so no code change is required.
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
- need to upgrade without requiring them to open a browser (the longform
46
- guide link is the last resort, not the first).
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).