akm-cli 0.9.0-rc.0 → 0.9.0-rc.13

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 (598) hide show
  1. package/CHANGELOG.md +1283 -22
  2. package/README.md +62 -37
  3. package/SECURITY.md +46 -31
  4. package/dist/akm +162 -38
  5. package/dist/akm-migrate +44 -0
  6. package/dist/assets/backends/schtasks-template.xml +2 -1
  7. package/dist/assets/hints/cli-hints-full.md +268 -118
  8. package/dist/assets/hints/cli-hints-short.md +87 -24
  9. package/dist/assets/{profiles → improve-strategies}/catchup.json +3 -1
  10. package/dist/assets/{profiles → improve-strategies}/consolidate.json +3 -1
  11. package/dist/assets/{profiles → improve-strategies}/default.json +6 -7
  12. package/dist/assets/improve-strategies/frequent.json +15 -0
  13. package/dist/assets/{profiles → improve-strategies}/graph-refresh.json +4 -2
  14. package/dist/assets/{profiles → improve-strategies}/memory-focus.json +4 -1
  15. package/dist/assets/{profiles → improve-strategies}/proactive-maintenance.json +5 -5
  16. package/dist/assets/{profiles → improve-strategies}/quick.json +4 -2
  17. package/dist/assets/improve-strategies/reflect-distill.json +30 -0
  18. package/dist/assets/{profiles → improve-strategies}/thorough.json +1 -1
  19. package/dist/assets/prompts/consolidate-system.md +5 -5
  20. package/dist/assets/prompts/extract-session.md +2 -6
  21. package/dist/assets/prompts/memory-infer-user.md +2 -3
  22. package/dist/assets/prompts/reflect-llm-framed-contract.md +11 -0
  23. package/dist/assets/prompts/reflect-llm-schema-contract.md +3 -0
  24. package/dist/assets/prompts/reflect-output-repair.md +3 -0
  25. package/dist/assets/prompts/workflow-unit-preamble.md +26 -0
  26. package/dist/assets/stash-skeleton/README.md +38 -10
  27. package/dist/assets/stash-skeleton/facts/conventions/assets/agent.md +8 -0
  28. package/dist/assets/stash-skeleton/facts/conventions/assets/command.md +8 -0
  29. package/dist/assets/stash-skeleton/facts/conventions/assets/fact.md +14 -1
  30. package/dist/assets/stash-skeleton/facts/conventions/assets/knowledge.md +13 -1
  31. package/dist/assets/stash-skeleton/facts/conventions/assets/lesson.md +9 -1
  32. package/dist/assets/stash-skeleton/facts/conventions/assets/memory.md +11 -0
  33. package/dist/assets/stash-skeleton/facts/conventions/assets/script.md +9 -0
  34. package/dist/assets/stash-skeleton/facts/conventions/assets/skill.md +9 -0
  35. package/dist/assets/stash-skeleton/facts/conventions/assets/workflow.md +8 -0
  36. package/dist/assets/stash-skeleton/facts/conventions/backlinks.md +100 -0
  37. package/dist/assets/stash-skeleton/facts/conventions/domains.md +64 -0
  38. package/dist/assets/stash-skeleton/facts/conventions/organization.md +136 -0
  39. package/dist/assets/tasks/core/extract.yml +3 -2
  40. package/dist/assets/tasks/core/improve.yml +2 -1
  41. package/dist/assets/tasks/core/index-refresh.yml +1 -0
  42. package/dist/assets/tasks/core/sync.yml +1 -0
  43. package/dist/assets/tasks/core/version-check.yml +2 -1
  44. package/dist/assets/tasks/improve/akm-graph-refresh-weekly.yml +5 -0
  45. package/dist/assets/tasks/improve/akm-improve-catchup.yml +8 -0
  46. package/dist/assets/tasks/improve/akm-improve-consolidate.yml +5 -0
  47. package/dist/assets/tasks/improve/akm-improve-frequent.yml +5 -0
  48. package/dist/assets/tasks/improve/akm-improve-nightly.yml +5 -0
  49. package/dist/assets/templates/html/health.html +5 -4
  50. package/dist/assets/workflows/workflow-template.md +31 -15
  51. package/dist/cli/invocation.js +279 -0
  52. package/dist/cli/parse-args.js +5 -90
  53. package/dist/cli/retired-commands.js +78 -0
  54. package/dist/cli/shared.js +158 -48
  55. package/dist/cli-node.mjs +2 -1
  56. package/dist/cli.js +747 -293
  57. package/dist/commands/agent/agent-dispatch.js +19 -18
  58. package/dist/commands/agent/agent-support.js +0 -24
  59. package/dist/commands/agent/contribute-cli.js +43 -97
  60. package/dist/commands/completions.js +80 -23
  61. package/dist/commands/config-cli.js +44 -281
  62. package/dist/commands/env/env-binding.js +99 -0
  63. package/dist/commands/env/env-cli.js +84 -224
  64. package/dist/commands/env/env.js +12 -163
  65. package/dist/commands/env/marker-path.js +6 -0
  66. package/dist/commands/env/secret-cli.js +45 -61
  67. package/dist/commands/env/secret.js +32 -62
  68. package/dist/commands/feedback-cli.js +179 -85
  69. package/dist/commands/health/accept-rate.js +58 -0
  70. package/dist/commands/health/advisories.js +7 -8
  71. package/dist/commands/health/checks.js +279 -94
  72. package/dist/commands/health/html-report.js +197 -578
  73. package/dist/commands/health/improve-metrics.js +277 -246
  74. package/dist/commands/health/llm-usage.js +19 -19
  75. package/dist/commands/health/md-report.js +16 -7
  76. package/dist/commands/health/metrics.js +67 -32
  77. package/dist/commands/health/renderers.js +47 -0
  78. package/dist/commands/health/report-view-model.js +508 -0
  79. package/dist/commands/health/stash-exposure.js +1 -1
  80. package/dist/commands/health/surfaces.js +16 -56
  81. package/dist/commands/health/task-runs.js +3 -67
  82. package/dist/{migrate-storage-node.mjs → commands/health/types-checks.js} +1 -5
  83. package/dist/commands/health/types-improve.js +29 -0
  84. package/dist/{output/text/save.js → commands/health/types-metrics.js} +1 -2
  85. package/dist/commands/health/types-result.js +7 -0
  86. package/dist/commands/health/types-runs.js +4 -0
  87. package/dist/commands/health/types-session-log.js +4 -0
  88. package/dist/commands/health/types-windows.js +4 -0
  89. package/dist/commands/health/types.js +26 -21
  90. package/dist/commands/health/windows.js +2 -3
  91. package/dist/commands/health.js +296 -167
  92. package/dist/commands/improve/anti-collapse.js +5 -5
  93. package/dist/commands/improve/autonomy-gate.js +68 -0
  94. package/dist/commands/improve/collapse-detector.js +65 -52
  95. package/dist/commands/improve/consolidate/chunking.js +9 -7
  96. package/dist/commands/improve/consolidate/eligibility.js +1 -23
  97. package/dist/commands/improve/consolidate/merge.js +4 -0
  98. package/dist/commands/improve/consolidate.js +454 -1354
  99. package/dist/commands/improve/content-hash.js +39 -0
  100. package/dist/commands/improve/distill/content-repair.js +4 -10
  101. package/dist/commands/improve/distill/promote-memory.js +89 -64
  102. package/dist/commands/improve/distill/quality-gate.js +118 -42
  103. package/dist/commands/improve/distill-guards.js +1 -1
  104. package/dist/commands/improve/distill-promotion-policy.js +33 -888
  105. package/dist/commands/improve/distill.js +607 -363
  106. package/dist/commands/improve/eligibility.js +165 -79
  107. package/dist/commands/improve/extract-cli.js +35 -126
  108. package/dist/commands/improve/extract-prompt.js +6 -35
  109. package/dist/commands/improve/extract.js +640 -391
  110. package/dist/commands/improve/feedback-valence.js +2 -12
  111. package/dist/commands/improve/improve-cli.js +134 -135
  112. package/dist/commands/improve/improve-result-file.js +30 -50
  113. package/dist/commands/improve/improve-run-types.js +4 -0
  114. package/dist/commands/improve/improve-strategies.js +135 -0
  115. package/dist/commands/improve/improve.js +904 -701
  116. package/dist/commands/improve/locks.js +64 -111
  117. package/dist/commands/improve/loop-stages.js +1110 -923
  118. package/dist/commands/improve/memory/derived-ref.js +124 -0
  119. package/dist/commands/improve/memory/memory-belief.js +79 -7
  120. package/dist/commands/improve/memory/memory-contradiction-detect.js +49 -52
  121. package/dist/commands/improve/memory/memory-improve.js +25 -37
  122. package/dist/commands/improve/outcome-loop.js +25 -88
  123. package/dist/commands/improve/preparation.js +1034 -813
  124. package/dist/commands/improve/proactive-maintenance.js +34 -9
  125. package/dist/commands/improve/proposal-envelope.js +31 -0
  126. package/dist/commands/improve/reflect.js +983 -794
  127. package/dist/commands/improve/run-context.js +119 -0
  128. package/dist/commands/improve/salience.js +24 -127
  129. package/dist/commands/improve/session-asset.js +7 -3
  130. package/dist/commands/improve/shared.js +14 -34
  131. package/dist/commands/improve/source-identity.js +28 -0
  132. package/dist/commands/improve/triage.js +20 -17
  133. package/dist/commands/lint/base-linter.js +340 -313
  134. package/dist/commands/lint/env-key-rules.js +31 -47
  135. package/dist/commands/lint/index.js +185 -30
  136. package/dist/commands/{events.js → log.js} +28 -38
  137. package/dist/commands/migrate-cli.js +54 -0
  138. package/dist/commands/migration-tool.js +55 -0
  139. package/dist/commands/observability-cli.js +70 -208
  140. package/dist/commands/proposal/diff-format.js +50 -0
  141. package/dist/commands/proposal/drain-policies.js +0 -6
  142. package/dist/commands/proposal/drain.js +91 -40
  143. package/dist/commands/proposal/proposal-cli.js +134 -132
  144. package/dist/commands/proposal/proposal-types.js +56 -0
  145. package/dist/commands/proposal/proposal.js +83 -65
  146. package/dist/commands/proposal/propose-cli.js +88 -0
  147. package/dist/commands/proposal/propose.js +105 -88
  148. package/dist/commands/proposal/repository.js +1303 -278
  149. package/dist/commands/proposal/validators/proposal-quality-validators.js +16 -6
  150. package/dist/commands/proposal/validators/proposal-validators.js +61 -12
  151. package/dist/commands/proposal/validators/proposals.js +6 -8
  152. package/dist/commands/read/curate.js +78 -73
  153. package/dist/commands/read/knowledge.js +510 -13
  154. package/dist/commands/read/registry-search.js +2 -2
  155. package/dist/commands/read/remember-cli.js +84 -15
  156. package/dist/commands/read/search-cli.js +203 -96
  157. package/dist/commands/read/search.js +126 -94
  158. package/dist/commands/read/show.js +226 -250
  159. package/dist/commands/registry-cli.js +34 -60
  160. package/dist/commands/remember.js +18 -57
  161. package/dist/commands/sources/add-cli.js +104 -49
  162. package/dist/commands/sources/bundle-cli.js +166 -0
  163. package/dist/commands/sources/bundle-config-ops.js +63 -0
  164. package/dist/commands/sources/info.js +27 -15
  165. package/dist/commands/sources/init.js +30 -40
  166. package/dist/commands/sources/installed-stashes.js +469 -172
  167. package/dist/commands/sources/migration-help.js +7 -4
  168. package/dist/commands/sources/schema-repair.js +10 -9
  169. package/dist/commands/sources/self-update.js +182 -121
  170. package/dist/commands/sources/source-add.js +169 -178
  171. package/dist/commands/sources/source-clone.js +144 -41
  172. package/dist/commands/sources/source-manage.js +94 -59
  173. package/dist/commands/sources/sources-cli.js +64 -205
  174. package/dist/commands/sources/stash-cli.js +91 -54
  175. package/dist/commands/sources/stash-skeleton.js +1 -1
  176. package/dist/commands/tasks/tasks-cli.js +106 -104
  177. package/dist/commands/tasks/tasks.js +445 -262
  178. package/dist/commands/workflow-cli.js +232 -121
  179. package/dist/core/action-contributors.js +1 -1
  180. package/dist/core/activation-policy.js +49 -0
  181. package/dist/core/adapter/adapters/agent-skills-adapter.js +181 -0
  182. package/dist/core/adapter/adapters/akm-adapter.js +528 -0
  183. package/dist/core/adapter/adapters/akm-lint.js +392 -0
  184. package/dist/core/adapter/adapters/akm-metadata.js +387 -0
  185. package/dist/core/adapter/adapters/akm-task-adapter.js +149 -0
  186. package/dist/core/adapter/adapters/akm-workflow-adapter.js +180 -0
  187. package/dist/core/adapter/adapters/claude-adapter.js +61 -0
  188. package/dist/core/adapter/adapters/dotenv-adapter.js +187 -0
  189. package/dist/core/adapter/adapters/generic-files-adapter.js +119 -0
  190. package/dist/core/adapter/adapters/index.js +80 -0
  191. package/dist/core/adapter/adapters/llm-wiki-adapter.js +419 -0
  192. package/dist/core/adapter/adapters/okf-adapter.js +391 -0
  193. package/dist/core/adapter/adapters/opencode-adapter.js +68 -0
  194. package/dist/core/adapter/adapters/shared.js +286 -0
  195. package/dist/core/adapter/adapters/tool-dir-shared.js +217 -0
  196. package/dist/core/adapter/adapters/website-snapshot-adapter.js +155 -0
  197. package/dist/core/adapter/bundle-adapter.js +4 -0
  198. package/dist/core/adapter/detect-adapter.js +17 -0
  199. package/dist/core/adapter/recognize-match.js +44 -0
  200. package/dist/core/adapter/registry.js +56 -0
  201. package/dist/core/adapter/types.js +4 -0
  202. package/dist/core/asset/akm-markdown.js +30 -0
  203. package/dist/core/asset/asset-placement.js +243 -0
  204. package/dist/core/asset/asset-ref.js +110 -79
  205. package/dist/core/asset/asset-serialize.js +20 -0
  206. package/dist/core/asset/frontmatter.js +28 -12
  207. package/dist/core/asset/markdown.js +40 -51
  208. package/dist/core/asset/resolve-ref.js +274 -0
  209. package/dist/core/asset/stash-meta.js +2 -2
  210. package/dist/core/bundle-id.js +51 -0
  211. package/dist/core/common.js +281 -86
  212. package/dist/core/config/config-io.js +42 -128
  213. package/dist/core/config/config-schema.js +233 -834
  214. package/dist/core/config/config-sources.js +162 -39
  215. package/dist/core/config/config-types.js +16 -11
  216. package/dist/core/config/config-version.js +29 -0
  217. package/dist/core/config/config-walker.js +126 -37
  218. package/dist/core/config/config.js +154 -331
  219. package/dist/core/config/deep-merge.js +41 -0
  220. package/dist/core/config/engine-semantics.js +28 -0
  221. package/dist/core/config/experimental.js +21 -0
  222. package/dist/core/config/schema/embedding.js +38 -0
  223. package/dist/core/config/schema/engines.js +116 -0
  224. package/dist/core/config/schema/experimental.js +47 -0
  225. package/dist/core/config/schema/feedback.js +31 -0
  226. package/dist/core/config/schema/improve-processes.js +389 -0
  227. package/dist/core/config/schema/improve.js +94 -0
  228. package/dist/core/config/schema/index-config.js +176 -0
  229. package/dist/core/config/schema/output.js +18 -0
  230. package/dist/core/config/schema/primitives.js +94 -0
  231. package/dist/core/config/schema/search.js +30 -0
  232. package/dist/core/config/schema/setup.js +18 -0
  233. package/dist/core/config/schema/sources-bundles.js +169 -0
  234. package/dist/core/config/schema/workflow.js +29 -0
  235. package/dist/core/env-secret-ref.js +155 -20
  236. package/dist/core/errors.js +17 -15
  237. package/dist/core/events-types.js +4 -0
  238. package/dist/core/events.js +46 -128
  239. package/dist/core/extra-params.js +62 -0
  240. package/dist/core/file-change.js +17 -0
  241. package/dist/core/file-lock.js +202 -57
  242. package/dist/core/fs-txn.js +392 -0
  243. package/dist/core/git-message.js +59 -0
  244. package/dist/core/improve-result.js +167 -0
  245. package/dist/core/json-schema.js +142 -0
  246. package/dist/core/lesson-lint.js +1 -17
  247. package/dist/core/logs-db.js +1 -1
  248. package/dist/core/maintenance-barrier.js +135 -0
  249. package/dist/core/migration-operation.js +44 -0
  250. package/dist/core/mutation-target.js +78 -0
  251. package/dist/core/paths.js +22 -25
  252. package/dist/core/platform.js +10 -0
  253. package/dist/core/recognition-util.js +128 -0
  254. package/dist/core/redaction.js +392 -0
  255. package/dist/core/standards/resolve-standards-context.js +36 -65
  256. package/dist/core/standards/resolve-stash-standards.js +2 -2
  257. package/dist/core/standards/resolve-type-conventions.js +5 -5
  258. package/dist/core/state/migrations.js +242 -11
  259. package/dist/core/state-db.js +98 -10
  260. package/dist/core/structured.js +1 -1
  261. package/dist/core/subprocess.js +303 -0
  262. package/dist/core/text-truncation.js +9 -5
  263. package/dist/core/time.js +20 -0
  264. package/dist/core/type-presentation.js +130 -0
  265. package/dist/core/warn.js +0 -3
  266. package/dist/core/write-source.js +834 -118
  267. package/dist/indexer/bundle-identity-guard.js +92 -0
  268. package/dist/indexer/db/graph-db.js +1 -25
  269. package/dist/indexer/db/llm-cache.js +1 -1
  270. package/dist/indexer/ensure-index.js +30 -9
  271. package/dist/indexer/graph/graph-boost.js +9 -30
  272. package/dist/indexer/graph/graph-extraction.js +41 -27
  273. package/dist/indexer/graph/graph-types.js +4 -0
  274. package/dist/indexer/index-writer-lock.js +93 -49
  275. package/dist/indexer/index-written-assets.js +100 -53
  276. package/dist/indexer/indexer.js +746 -329
  277. package/dist/indexer/init.js +18 -25
  278. package/dist/indexer/installations.js +142 -0
  279. package/dist/indexer/passes/dir-staleness.js +18 -10
  280. package/dist/indexer/passes/memory-inference.js +25 -15
  281. package/dist/indexer/passes/metadata.js +412 -243
  282. package/dist/indexer/scan/doc-to-entry.js +160 -0
  283. package/dist/indexer/scan/drain-dir.js +134 -0
  284. package/dist/indexer/search/db-search.js +292 -108
  285. package/dist/indexer/search/fts-query.js +64 -0
  286. package/dist/indexer/search/ranking-contributors.js +145 -25
  287. package/dist/indexer/search/ranking-types.js +4 -0
  288. package/dist/indexer/search/ranking.js +28 -71
  289. package/dist/indexer/search/search-attribution.js +67 -0
  290. package/dist/indexer/search/search-fields.js +18 -3
  291. package/dist/indexer/search/search-hit-enrichers.js +30 -40
  292. package/dist/indexer/search/search-source.js +157 -111
  293. package/dist/indexer/search/semantic-status.js +4 -1
  294. package/dist/indexer/usage/usage-events.js +10 -30
  295. package/dist/indexer/walk/file-context.js +3 -45
  296. package/dist/indexer/walk/matchers.js +42 -34
  297. package/dist/indexer/walk/path-resolver.js +11 -5
  298. package/dist/indexer/walk/walker.js +42 -14
  299. package/dist/integrations/agent/builder-shared.js +7 -0
  300. package/dist/integrations/agent/builders.js +5 -56
  301. package/dist/integrations/agent/config.js +3 -143
  302. package/dist/integrations/agent/detect.js +17 -2
  303. package/dist/integrations/agent/engine-resolution.js +231 -0
  304. package/dist/integrations/agent/index.js +1 -2
  305. package/dist/integrations/agent/model-aliases.js +16 -2
  306. package/dist/integrations/agent/profiles.js +36 -62
  307. package/dist/integrations/agent/prompts.js +46 -18
  308. package/dist/integrations/agent/runner-dispatch.js +93 -4
  309. package/dist/integrations/agent/runner.js +76 -208
  310. package/dist/integrations/agent/spawn.js +88 -196
  311. package/dist/integrations/harnesses/aider/agent-builder.js +114 -0
  312. package/dist/integrations/harnesses/aider/index.js +48 -0
  313. package/dist/integrations/harnesses/aider/result-extractor.js +53 -0
  314. package/dist/integrations/harnesses/amazonq/agent-builder.js +147 -0
  315. package/dist/integrations/harnesses/amazonq/index.js +45 -0
  316. package/dist/integrations/harnesses/amazonq/result-extractor.js +48 -0
  317. package/dist/integrations/harnesses/claude/agent-builder.js +46 -8
  318. package/dist/integrations/harnesses/claude/config-import.js +1 -3
  319. package/dist/integrations/harnesses/claude/index.js +24 -35
  320. package/dist/integrations/harnesses/claude/result-extractor.js +52 -0
  321. package/dist/integrations/harnesses/claude/session-log.js +27 -75
  322. package/dist/integrations/harnesses/codex/agent-builder.js +138 -0
  323. package/dist/integrations/harnesses/codex/index.js +52 -0
  324. package/dist/integrations/harnesses/codex/result-extractor.js +73 -0
  325. package/dist/integrations/harnesses/copilot/agent-builder.js +122 -0
  326. package/dist/integrations/harnesses/copilot/index.js +48 -0
  327. package/dist/integrations/harnesses/copilot/result-extractor.js +151 -0
  328. package/dist/integrations/harnesses/gemini/agent-builder.js +120 -0
  329. package/dist/integrations/harnesses/gemini/index.js +48 -0
  330. package/dist/integrations/harnesses/gemini/result-extractor.js +121 -0
  331. package/dist/integrations/harnesses/ids.js +24 -0
  332. package/dist/integrations/harnesses/index.js +54 -34
  333. package/dist/integrations/harnesses/opencode/agent-builder.js +23 -5
  334. package/dist/integrations/harnesses/opencode/config-import.js +1 -3
  335. package/dist/integrations/harnesses/opencode/index.js +14 -32
  336. package/dist/integrations/harnesses/opencode/session-log.js +67 -125
  337. package/dist/integrations/harnesses/opencode-sdk/harness.js +51 -0
  338. package/dist/integrations/harnesses/opencode-sdk/sdk-runner.js +681 -108
  339. package/dist/integrations/harnesses/openhands/agent-builder.js +128 -0
  340. package/dist/integrations/harnesses/openhands/index.js +48 -0
  341. package/dist/integrations/harnesses/openhands/result-extractor.js +103 -0
  342. package/dist/integrations/harnesses/pi/agent-builder.js +97 -0
  343. package/dist/integrations/harnesses/pi/index.js +45 -0
  344. package/dist/integrations/harnesses/pi/result-extractor.js +135 -0
  345. package/dist/integrations/harnesses/shared.js +17 -0
  346. package/dist/integrations/harnesses/types.js +43 -32
  347. package/dist/integrations/lockfile.js +211 -24
  348. package/dist/integrations/session-logs/index.js +36 -39
  349. package/dist/integrations/session-logs/provider-base.js +113 -0
  350. package/dist/llm/client.js +182 -110
  351. package/dist/llm/embedders/deterministic.js +2 -2
  352. package/dist/llm/embedders/remote.js +21 -9
  353. package/dist/llm/feature-gate.js +17 -57
  354. package/dist/llm/graph-extract.js +12 -13
  355. package/dist/llm/index-passes.js +8 -42
  356. package/dist/llm/memory-infer.js +144 -1
  357. package/dist/llm/metadata-enhance.js +45 -30
  358. package/dist/llm/structured-call.js +16 -8
  359. package/dist/llm/usage-persist.js +30 -5
  360. package/dist/llm/usage-telemetry.js +59 -6
  361. package/dist/output/cli-hints.js +1 -2
  362. package/dist/output/command-registry.js +27 -0
  363. package/dist/output/context.js +22 -7
  364. package/dist/output/format-exempt.js +80 -0
  365. package/dist/output/generic-render.js +251 -0
  366. package/dist/output/html-render.js +11 -16
  367. package/dist/output/render-registry.js +57 -0
  368. package/dist/output/renderers.js +14 -279
  369. package/dist/output/shapes/curate.js +10 -1
  370. package/dist/output/shapes/events.js +12 -7
  371. package/dist/output/shapes/helpers.js +58 -84
  372. package/dist/output/shapes/passthrough.js +11 -39
  373. package/dist/output/shapes/proposal/producer.js +15 -7
  374. package/dist/output/shapes/registry.js +12 -6
  375. package/dist/output/shapes.js +0 -9
  376. package/dist/output/text/{init.js → bundle-create.js} +3 -1
  377. package/dist/output/text/bundle-show.js +7 -0
  378. package/dist/output/text/command-format.js +562 -0
  379. package/dist/output/text/env.js +1 -3
  380. package/dist/output/text/events.js +8 -7
  381. package/dist/output/text/helpers.js +15 -1164
  382. package/dist/output/text/proposal/producer.js +4 -2
  383. package/dist/output/text/proposal-format.js +202 -0
  384. package/dist/output/text/registry-commands.js +1 -2
  385. package/dist/output/text/registry.js +12 -6
  386. package/dist/output/text/show-directives.js +117 -0
  387. package/dist/output/text/show-format.js +103 -0
  388. package/dist/output/text/sync.js +5 -0
  389. package/dist/output/text/workflow-format.js +332 -0
  390. package/dist/output/text/workflow.js +3 -2
  391. package/dist/output/text.js +10 -19
  392. package/dist/registry/factory.js +4 -6
  393. package/dist/registry/origin-resolve.js +16 -27
  394. package/dist/registry/providers/skills-sh.js +3 -3
  395. package/dist/registry/providers/static-index.js +15 -25
  396. package/dist/registry/resolve.js +43 -94
  397. package/dist/registry/semver.js +43 -0
  398. package/dist/runtime.js +81 -12
  399. package/dist/scripts/akm-migrate.js +35529 -0
  400. package/dist/setup/detect.js +5 -7
  401. package/dist/setup/detected-engines.js +136 -0
  402. package/dist/setup/engine-config.js +100 -0
  403. package/dist/setup/registry-stash-loader.js +3 -3
  404. package/dist/setup/semantic-assets.js +12 -9
  405. package/dist/setup/setup.js +444 -208
  406. package/dist/setup/steps/connection-shared.js +120 -0
  407. package/dist/setup/steps/connection.js +108 -305
  408. package/dist/setup/steps/platforms.js +13 -12
  409. package/dist/setup/steps/semantic.js +15 -3
  410. package/dist/setup/steps/sources.js +21 -15
  411. package/dist/setup/steps/stashdir.js +6 -4
  412. package/dist/setup/steps/tasks.js +236 -119
  413. package/dist/setup/steps.js +3 -2
  414. package/dist/sources/freshness.js +39 -0
  415. package/dist/sources/provider-factory.js +11 -17
  416. package/dist/sources/providers/filesystem.js +2 -3
  417. package/dist/sources/providers/git-install.js +278 -34
  418. package/dist/sources/providers/git-provider.js +54 -56
  419. package/dist/sources/providers/git-stash.js +420 -91
  420. package/dist/sources/providers/git.js +2 -2
  421. package/dist/sources/providers/npm.js +16 -19
  422. package/dist/sources/providers/provider-utils.js +47 -22
  423. package/dist/sources/providers/sync-from-ref.js +3 -9
  424. package/dist/sources/providers/website.js +2 -2
  425. package/dist/sources/resolve.js +11 -10
  426. package/dist/sources/snapshot-fetchers/types.js +4 -0
  427. package/dist/sources/{website-ingest.js → snapshot-fetchers/website-ingest.js} +110 -41
  428. package/dist/storage/database.js +60 -4
  429. package/dist/storage/engines/sqlite-migrations.js +156 -5
  430. package/dist/storage/locations.js +1 -2
  431. package/dist/storage/repositories/canaries-repository.js +1 -1
  432. package/dist/storage/repositories/events-repository.js +51 -11
  433. package/dist/storage/repositories/improve-runs-repository.js +6 -32
  434. package/dist/storage/repositories/index-connection.js +79 -0
  435. package/dist/storage/repositories/index-db.js +4 -3
  436. package/dist/storage/repositories/index-entries-repository.js +863 -0
  437. package/dist/{indexer/db/entry-mapper.js → storage/repositories/index-entry-mapper.js} +19 -2
  438. package/dist/storage/repositories/index-entry-types.js +4 -0
  439. package/dist/storage/repositories/index-fts-repository.js +167 -0
  440. package/dist/storage/repositories/index-llm-cache-repository.js +108 -0
  441. package/dist/storage/repositories/index-meta-repository.js +49 -0
  442. package/dist/{indexer/db/schema.js → storage/repositories/index-schema.js} +226 -100
  443. package/dist/storage/repositories/index-sql.js +12 -0
  444. package/dist/storage/repositories/index-utility-repository.js +356 -0
  445. package/dist/storage/repositories/index-vec-repository.js +250 -0
  446. package/dist/storage/repositories/outcome-repository.js +119 -0
  447. package/dist/storage/repositories/proposals-repository.js +317 -75
  448. package/dist/storage/repositories/registry-cache.js +1 -1
  449. package/dist/storage/repositories/salience-repository.js +172 -0
  450. package/dist/storage/repositories/task-history-repository.js +110 -3
  451. package/dist/storage/repositories/workflow-runs-repository.js +240 -19
  452. package/dist/tasks/backends/cron.js +169 -46
  453. package/dist/tasks/backends/exec-utils.js +76 -3
  454. package/dist/tasks/backends/index.js +6 -9
  455. package/dist/tasks/backends/launchd.js +292 -55
  456. package/dist/tasks/backends/schtasks.js +557 -70
  457. package/dist/tasks/backends/types.js +4 -0
  458. package/dist/tasks/command-executable.js +93 -0
  459. package/dist/tasks/embedded.js +56 -38
  460. package/dist/tasks/parser.js +156 -64
  461. package/dist/tasks/resolve-akm-bin.js +144 -51
  462. package/dist/tasks/runner.js +377 -209
  463. package/dist/tasks/schedule.js +108 -19
  464. package/dist/tasks/scheduler-invocation.js +296 -0
  465. package/dist/tasks/schema.js +1 -1
  466. package/dist/tasks/task-id.js +35 -0
  467. package/dist/tasks/validator.js +30 -16
  468. package/dist/text-import-hook.mjs +1 -1
  469. package/dist/workflows/authoring/authoring.js +104 -43
  470. package/dist/workflows/authoring/scope-key.js +1 -1
  471. package/dist/workflows/cli.js +0 -16
  472. package/dist/workflows/concurrency-policy.js +15 -0
  473. package/dist/workflows/exec/brief.js +450 -0
  474. package/dist/workflows/exec/frozen-judge.js +47 -0
  475. package/dist/workflows/exec/native-executor.js +1038 -0
  476. package/dist/workflows/exec/param-secrets.js +115 -0
  477. package/dist/workflows/exec/report.js +1460 -0
  478. package/dist/workflows/exec/run-workflow.js +602 -0
  479. package/dist/workflows/exec/scheduler.js +71 -0
  480. package/dist/workflows/exec/step-work.js +1190 -0
  481. package/dist/workflows/exec/unit-writer.js +23 -0
  482. package/dist/workflows/exec/workflow-engine-gate.js +67 -0
  483. package/dist/workflows/exec/worktree.js +171 -0
  484. package/dist/workflows/ir/compile.js +246 -0
  485. package/dist/workflows/ir/freeze.js +233 -0
  486. package/dist/workflows/ir/params.js +54 -0
  487. package/dist/workflows/ir/plan-hash.js +68 -0
  488. package/dist/workflows/ir/schema.js +540 -0
  489. package/dist/workflows/parser.js +878 -304
  490. package/dist/workflows/program/expressions.js +181 -0
  491. package/dist/workflows/program/schema.js +51 -0
  492. package/dist/workflows/renderer.js +100 -45
  493. package/dist/workflows/resource-limits.js +22 -0
  494. package/dist/workflows/runtime/agent-identity.js +59 -14
  495. package/dist/workflows/runtime/checkin.js +1 -1
  496. package/dist/workflows/runtime/plan-classifier.js +131 -0
  497. package/dist/workflows/runtime/runs.js +376 -119
  498. package/dist/workflows/runtime/unit-checkin.js +45 -0
  499. package/dist/workflows/runtime/unit-phases.js +20 -0
  500. package/dist/workflows/runtime/workflow-asset-loader.js +241 -40
  501. package/dist/workflows/schema.js +1 -11
  502. package/dist/workflows/validate-summary.js +2 -3
  503. package/dist/workflows/validator.js +52 -30
  504. package/docs/README.md +42 -78
  505. package/docs/migration/README.md +8 -0
  506. package/docs/migration/release-notes/0.6.0.md +1 -1
  507. package/docs/migration/release-notes/0.7.0.md +9 -8
  508. package/docs/migration/release-notes/0.9.0.md +158 -14
  509. package/docs/migration/v0.7-to-v0.8.md +46 -47
  510. package/docs/migration/v0.8-to-v0.9.md +844 -0
  511. package/docs/reference/README.md +12 -0
  512. package/docs/reference/data-and-telemetry.md +333 -0
  513. package/package.json +21 -17
  514. package/schemas/akm-asset-envelope.json +93 -0
  515. package/schemas/akm-config.json +4636 -0
  516. package/schemas/akm-task.json +87 -0
  517. package/schemas/akm-workflow.json +373 -0
  518. package/dist/akm-migrate-storage +0 -38
  519. package/dist/assets/help/help-accept.md +0 -12
  520. package/dist/assets/help/help-improve.md +0 -84
  521. package/dist/assets/help/help-proposals.md +0 -17
  522. package/dist/assets/help/help-propose.md +0 -17
  523. package/dist/assets/help/help-reject.md +0 -11
  524. package/dist/assets/profiles/frequent.json +0 -13
  525. package/dist/assets/profiles/recombine-only.json +0 -21
  526. package/dist/assets/profiles/reflect-distill.json +0 -30
  527. package/dist/assets/profiles/synthesize.json +0 -15
  528. package/dist/assets/prompts/procedural-system.md +0 -44
  529. package/dist/assets/prompts/recombine-system.md +0 -40
  530. package/dist/assets/prompts/staleness-detect-system.md +0 -6
  531. package/dist/assets/tasks/core/backup.yml +0 -4
  532. package/dist/assets/tasks/graph-refresh-weekly.yml +0 -10
  533. package/dist/assets/templates/html/default.html +0 -78
  534. package/dist/assets/templates/html/vendor/echarts.min.js +0 -45
  535. package/dist/assets/wiki/index-template.md +0 -12
  536. package/dist/assets/wiki/ingest-workflow-template.md +0 -83
  537. package/dist/assets/wiki/log-template.md +0 -8
  538. package/dist/assets/wiki/schema-template.md +0 -61
  539. package/dist/cli/config-migrate.js +0 -150
  540. package/dist/cli/config-validate.js +0 -39
  541. package/dist/commands/graph/graph-cli.js +0 -124
  542. package/dist/commands/graph/graph.js +0 -487
  543. package/dist/commands/improve/calibration.js +0 -161
  544. package/dist/commands/improve/dedup.js +0 -482
  545. package/dist/commands/improve/extract-watch.js +0 -140
  546. package/dist/commands/improve/hot-probation.js +0 -45
  547. package/dist/commands/improve/improve-auto-accept.js +0 -276
  548. package/dist/commands/improve/improve-profiles.js +0 -168
  549. package/dist/commands/improve/procedural.js +0 -398
  550. package/dist/commands/improve/recombine.js +0 -818
  551. package/dist/commands/improve/schema-similarity-gate.js +0 -168
  552. package/dist/commands/lint/agent-linter.js +0 -44
  553. package/dist/commands/lint/command-linter.js +0 -44
  554. package/dist/commands/lint/default-linter.js +0 -16
  555. package/dist/commands/lint/fact-linter.js +0 -39
  556. package/dist/commands/lint/knowledge-linter.js +0 -16
  557. package/dist/commands/lint/memory-linter.js +0 -61
  558. package/dist/commands/lint/registry.js +0 -41
  559. package/dist/commands/lint/skill-linter.js +0 -45
  560. package/dist/commands/lint/task-linter.js +0 -50
  561. package/dist/commands/lint/workflow-linter.js +0 -81
  562. package/dist/commands/proposal/legacy-import.js +0 -115
  563. package/dist/commands/sources/history.js +0 -196
  564. package/dist/commands/tasks/default-tasks.js +0 -186
  565. package/dist/commands/wiki-cli.js +0 -292
  566. package/dist/core/asset/asset-registry.js +0 -76
  567. package/dist/core/asset/asset-spec.js +0 -259
  568. package/dist/core/config/config-migration.js +0 -602
  569. package/dist/core/deep-merge.js +0 -38
  570. package/dist/core/eval/rank-metrics.js +0 -113
  571. package/dist/core/ripgrep/install.js +0 -163
  572. package/dist/core/ripgrep/resolve.js +0 -81
  573. package/dist/indexer/db/db.js +0 -1413
  574. package/dist/indexer/manifest.js +0 -170
  575. package/dist/indexer/passes/metadata-contributors.js +0 -31
  576. package/dist/indexer/usage/unmigrated-vaults-guard.js +0 -94
  577. package/dist/integrations/harnesses/opencode-sdk/index.js +0 -49
  578. package/dist/llm/call-ai.js +0 -62
  579. package/dist/llm/memory-infer-impl.js +0 -138
  580. package/dist/output/shapes/distill.js +0 -14
  581. package/dist/output/shapes/history.js +0 -11
  582. package/dist/output/text/distill.js +0 -6
  583. package/dist/output/text/enable-disable.js +0 -8
  584. package/dist/output/text/history.js +0 -6
  585. package/dist/output/text/wiki.js +0 -16
  586. package/dist/registry/build-index.js +0 -386
  587. package/dist/scripts/migrate-storage.js +0 -19108
  588. package/dist/scripts/migrations/import-fs-improve-runs-to-db.js +0 -9411
  589. package/dist/scripts/migrations/v16-to-v17.js +0 -141
  590. package/dist/setup/legacy-config.js +0 -106
  591. package/dist/storage/repositories/consolidation-repository.js +0 -38
  592. package/dist/storage/repositories/recombine-repository.js +0 -213
  593. package/dist/wiki/wiki-templates.js +0 -15
  594. package/dist/wiki/wiki.js +0 -1012
  595. package/dist/workflows/db.js +0 -215
  596. package/docs/data-and-telemetry.md +0 -226
  597. /package/dist/sources/{wiki-fetchers → snapshot-fetchers}/registry.js +0 -0
  598. /package/dist/sources/{wiki-fetchers → snapshot-fetchers}/youtube.js +0 -0
package/docs/README.md CHANGED
@@ -1,104 +1,68 @@
1
1
  # Documentation
2
2
 
3
- ## Getting Started
3
+ Each subdirectory has its own README indexing everything inside it.
4
4
 
5
- - [Concepts](concepts.md) -- Stashes, registries, asset types, and refs
6
- - [Getting Started](getting-started.md) -- Quick setup guide
7
- - [Local Development](local-development.md) -- Dogfooding akm while editing its own source
8
- - [Agent Install Guide](agents/agent-install.md) -- Step-by-step automated install for agents
9
- - [Stash Maker's Guide](stash-makers.md) -- Build and share a stash on GitHub, npm, or a network directory
10
- - [Wikis](wikis.md) -- Multi-wiki knowledge bases (Karpathy-style)
11
-
12
- ## Configuration & Data
13
-
14
- - [Configuration](configuration.md) -- Providers, settings, and Ollama setup
15
- - [Configuring Agent Profiles](configuration-agent-profiles.md) -- How akm runs a coding agent, CLI or API
16
- - [Data & Telemetry](data-and-telemetry.md) -- Exactly what akm reads and writes on your machine (no remote telemetry)
17
-
18
- ## Features
5
+ ## [Guides](guides/README.md)
19
6
 
20
- - [Workflows](features/workflows.md) -- Structured, resumable multi-step procedures
21
- - [Search & Discovery](features/search-discovery.md) -- Finding assets without knowing their exact name
22
- - [Knowledge Management](features/knowledge-management.md) -- Lessons, incidents, and research as first-class assets
23
- - [Sources & Registries](features/sources-registries.md) -- Where assets come from and how to find more
24
- - [Wiki Snapshot Fetchers](features/wiki-snapshot-fetchers.md) -- Pluggable fetchers for URL-based knowledge reads
25
- - [Agent Integration](features/agent-integration.md) -- Wiring akm into any shell-capable coding agent
26
- - [The Improvement Loop](features/improvement-loop.md) -- How the stash adapts from usage and feedback
7
+ Task-oriented guides for using akm.
27
8
 
28
- ## Upgrading
9
+ - [Getting Started](guides/getting-started.md) -- Quick setup guide
10
+ - [Concepts](guides/concepts.md) -- Bundles, adapters, asset types, and refs
11
+ - [Stash Maker's Guide](guides/stash-makers.md) -- Build and share a stash on GitHub, npm, or a network directory
12
+ - [Wikis](guides/wikis.md) -- Multi-wiki knowledge bases (Karpathy-style)
13
+ - [Local Development](guides/local-development.md) -- Dogfooding akm while editing its own source
14
+ - [Claude Code workflows vs. akm workflows](guides/claude-code-vs-akm-workflows.md) -- Comparing the two things that share a name
15
+ - Command tours: [search & discovery](guides/search-discovery.md), [sources & registries](guides/sources-registries.md), [knowledge management](guides/knowledge-management.md), [the improvement loop](guides/improvement-loop.md), [agent integration](guides/agent-integration.md)
29
16
 
30
- - [Roadmap](roadmap.md) -- High-level focus for the 0.9 and 1.0 releases
31
- - [v1 migration guide](migration/v1.md) -- The path from 0.x to v1.0
32
- - [v0.8 -> v0.9 migration guide](migration/v0.8-to-v0.9.md) -- Current-cycle breaking changes
33
- - [Release notes (latest: 0.9.0)](migration/release-notes/0.9.0.md) -- Per-release notes; see the [release-notes index](migration/release-notes/README.md) for every version
34
- - [v0.5 -> v0.6 migration guide](migration/v0.5-to-v0.6.md) -- Every breaking change with before/after code, publisher checklist, and troubleshooting
35
-
36
- ## Reference
17
+ ## [Reference](reference/README.md)
37
18
 
38
- - [CLI](cli.md) -- All `akm` commands and flags
39
- - [Registry](registry.md) -- Registries, search, hosting, and managing sources
40
- - [akm-eval](akm-eval.md) -- Standalone toolkit for measuring whether `akm improve` is working
19
+ - [CLI](reference/cli.md) -- All `akm` commands and flags
20
+ - [Configuration](reference/configuration.md) -- Engines, strategies, bundles, and settings
21
+ - [Workflows](reference/workflows.md) -- Unified Markdown workflow schema, run state, and native orchestration engine
22
+ - [Wiki Snapshot Fetchers](reference/wiki-snapshot-fetchers.md) -- The pluggable fetcher API for URL-based knowledge reads
23
+ - [Registry](reference/registry.md) -- Registries, search, hosting, and managing sources
24
+ - [Data & Telemetry](reference/data-and-telemetry.md) -- Exactly what akm reads and writes on your machine (no remote telemetry)
25
+ - [akm-eval](reference/akm-eval.md) -- Standalone toolkit for measuring whether `akm improve` is working
26
+ - [Roadmap](reference/roadmap.md) -- High-level focus for the 0.9 and 1.0 releases
41
27
 
42
- ## Agents
28
+ ## [Agents](agents/README.md)
43
29
 
44
- - [AGENTS.md](agents/AGENTS.md) -- The system-prompt reference agents load to use akm
30
+ - `akm help agents` (short guide by default; `akm help agents --full` for the complete guide) -- The CLI reference agents load to use akm; always the embedded corpus at `src/assets/hints/cli-hints-{full,short}.md`
31
+ - [Agent Install Guide](agents/agent-install.md) -- Step-by-step automated install for agents
45
32
  - [Curate Workmap](agents/curate-workmap.md) -- Read before changing `akm curate` ranking or output
46
33
 
47
- ## Architecture
48
-
49
- - [Architecture](technical/architecture.md) -- How akm's sources, cache, index, and registries fit together
50
- - [Runtime Boundary Design](architecture/runtime-boundary-design.md) -- Isolating `bun:sqlite`/`Bun.*` from the core
51
- - [Brain Workflow (diagram)](architecture/brain-workflow.html) -- Visual map of the improve/self-learning loop
34
+ ## [Architecture](architecture/README.md)
52
35
 
53
- ## Example Stash
36
+ System overview, normative specs, decision history, and subsystem internals.
54
37
 
55
- - [Example Stash](example-stash/README.md) -- A documentation-backed example stash showing how asset types fit together
38
+ - [Architecture](architecture/architecture.md) -- How akm's bundles, cache, index, and registries fit together
39
+ - [Core Principles](architecture/akm-core-principles.md) -- Design principles and constraints
40
+ - [Specs](architecture/README.md#specs-specs) -- Normative specifications (bundle/adapter model, ref grammar, stash conventions)
41
+ - [Internals](architecture/README.md#internals-internals) -- Current-truth subsystem references (storage, search, indexing, improve, health)
42
+ - [Testing](architecture/README.md#testing-testing) -- Testing workflow and pre-release checklist
56
43
 
57
- ## Analysis
44
+ ## [Migration](migration/README.md)
58
45
 
59
- - [Indexer Vertical Slice Refactor Plan](analysis/indexer-vertical-slice-refactor-plan.md)
60
- - [Indexer Refactor Review (Expert Options)](analysis/indexer-refactor-expert-options.md)
61
-
62
- ## Design (unshipped work)
63
-
64
- - [Self-Improvement, Self-Learning & Memory Reference Index](design/self-improvement-learning-memory-reference-index.md) -- Master index for every unshipped improve/self-learning/memory design doc, with a subsystem-to-doc status table
65
-
66
- Every doc under `docs/design/` must carry a `Status` / `Supersedes` / `Date` header (pre-existing docs are grandfathered until next touched). When a design ships, the shipping PR moves it to `docs/archive/` in the same PR.
67
-
68
- ## Archive
69
-
70
- - [Archive](archive/README.md) -- Design and implementation plans whose work has already shipped, retained as ADR-style records
46
+ - [v0.8 -> v0.9 migration guide](migration/v0.8-to-v0.9.md) -- Current-cycle breaking changes
47
+ - [Release notes](migration/release-notes/) -- The short per-release notes `akm help migrate <version>` prints
71
48
 
72
- ## Internals (technical/)
49
+ ## [Posts](posts/README.md)
73
50
 
74
- - [Filesystem](technical/filesystem.md) -- Directory layout plus `.stash.json` deprecation and migration notes
75
- - [Search](technical/search.md) -- Hybrid search architecture and scoring
76
- - [Indexing](technical/indexing.md) -- How the search index is built
77
- - [Classification](technical/classification.md) -- Matcher and renderer behavior
78
- - [Storage Locations](technical/storage-locations.md) -- Authoritative inventory of every on-disk read/write path
79
- - [Improve Workflow](technical/improve-workflow.md) -- `akm improve` command surface and pipeline reference
80
- - [Health Advisories](technical/health-advisories.md) -- `akm health` advisory-to-action map for operators
81
- - [Fresh-Host Rebuild Runbook](technical/fresh-host-rebuild-runbook.md) -- Rebuild an akm install on a new machine
82
- - [Ranking Ablation & Saturation Analysis](technical/ranking-ablation-and-saturation-analysis.md) -- Reproducible contributor-ablation measurement and the score-saturation trap
83
- - [Functional Contract Patterns](technical/functional-contract-patterns.md) -- Quick reference for contributor pipelines and small process contracts
84
- - [Test Coverage Guide](technical/test-coverage-guide.md) -- High-value testing areas
85
- - [Testing Workflow](technical/testing-workflow.md) -- End-to-end, Docker, deployment, and upgrade validation
86
- - [Ref Format](technical/ref.md) -- Wire format for asset references
87
- - [Core Principles](technical/akm-core-principles.md) -- Design principles and constraints
88
- - [Claude Code workflows vs. akm workflows](technical/claude-code-vs-akm-workflows.md) -- Comparing the two things that share a name
89
- - [Extending akm workflows into a harness-agnostic orchestration engine](technical/akm-workflows-orchestration-plan.md) -- Current formalized plan, supersedes part of the doc above
51
+ Source articles for the dev.to publishing pipeline (historical record).
90
52
 
91
53
  ## Official Ecosystem Repositories
92
54
 
93
- - [itlackey/akm-stash](https://github.com/itlackey/akm-stash) -- the official onboarding stash with ready-made assets you can install with `akm add`
55
+ - [itlackey/akm-stash](https://github.com/itlackey/akm-stash) -- the official onboarding stash with ready-made assets you can install with `akm bundle add`
94
56
  - [itlackey/akm-registry](https://github.com/itlackey/akm-registry) -- the official registry index that powers built-in discovery
95
57
  - [itlackey/akm-plugins](https://github.com/itlackey/akm-plugins) -- optional integrations for tools like OpenCode
96
58
  - [itlackey/akm-bench](https://github.com/itlackey/akm-bench) -- the standalone benchmark and evaluation repo for akm
97
59
 
98
- ## Posts
99
-
100
- - [Blog posts](posts/) -- Articles and posts about akm
101
-
102
60
  ---
103
61
 
104
- New docs, in five lines: keep one current-truth doc per subsystem, don't fork a second one. Unshipped designs live in `docs/design/` with a mandatory `Status` / `Supersedes` / `Date` header. The PR that ships the design moves its doc to `docs/archive/` in that same PR. Cite code by symbol and memories by search-terms -- not line numbers or exact refs, both rot. Nothing in `docs/` may reference `.plans/` (it's scratch -- promote the content or drop the link); no new improve-analysis docs until the 30-clean-day gate.
62
+ New docs, in five lines: keep one current-truth doc per subsystem, don't fork a
63
+ second one. Planning, review, and analysis material lives in the untracked
64
+ `.plans/` directory, never under `docs/` -- promote conclusions into the
65
+ current-truth doc or drop them. Normative specs live in
66
+ `docs/architecture/specs/`. Cite code by symbol and memories by search-terms --
67
+ not line numbers or exact refs, both rot. Nothing in `docs/` may reference
68
+ `.plans/`.
@@ -0,0 +1,8 @@
1
+ # Migration
2
+
3
+ Upgrade guides and per-release migration notes.
4
+
5
+ - [v0.8 -> v0.9 migration guide](v0.8-to-v0.9.md) -- Current-cycle breaking changes
6
+ - [v0.7 -> v0.8 migration guide](v0.7-to-v0.8.md) -- Task schema and 0.8-era changes
7
+ - [v0.5 -> v0.6 migration guide](v0.5-to-v0.6.md) -- Terminology cut, registry schema v3, publisher changes
8
+ - [Release notes](release-notes/) -- The short per-release notes `akm help migrate <version>` prints (bundled with the npm package)
@@ -90,7 +90,7 @@ vault | wiki | enable | disable | completions | upgrade | save | help |
90
90
  hints
91
91
 
92
92
  Full migration guides:
93
- - https://github.com/itlackey/akm/blob/main/docs/migration/v1.md (v1
93
+ - https://github.com/itlackey/akm/blob/main/docs/archive/pre-1.0-migration.md (pre-1.0
94
94
  architecture refactor — read this first if you are coming from 0.5.x or
95
95
  an earlier 0.6 pre-release)
96
96
  - https://github.com/itlackey/akm/blob/main/docs/migration/v0.5-to-v0.6.md
@@ -13,7 +13,7 @@ grammar continue to match the v1 architecture spec
13
13
  pre-releases — the formal freeze itself happens at 1.0 GA.
14
14
 
15
15
  If you are coming from 0.6.x, the
16
- [v1 migration guide](../v1.md) covers the per-surface delta and is the
16
+ [archived pre-1.0 migration plan](../../archive/pre-1.0-migration.md) covers the historical per-surface delta and is the
17
17
  canonical upgrade reference. This file is the executive summary of
18
18
  what's new in 0.7.0.
19
19
 
@@ -47,16 +47,17 @@ akm proposal reject <id> --reason "…" # archive with reason
47
47
  Multiple proposals for the same `ref` coexist without filesystem
48
48
  collisions. Auto-accept is gated per-source via the source config
49
49
  (`autoAcceptProposals: true`); the default is off and requires a
50
- writable source. See v1 spec §11 and `docs/migration/v1.md`.
50
+ writable source. See the archived pre-1.0 migration spec §11 at
51
+ `docs/archive/pre-1.0-migration.md`.
51
52
 
52
53
  ### `akm reflect`, `akm propose`, `akm distill` — new CLI surfaces (#225, #226, #227)
53
54
 
54
55
  Three new commands produce proposals into the queue:
55
56
 
56
57
  ```sh
57
- akm reflect [ref] [--task ...] # reflection proposals
58
- akm propose <type> <name> --task "..." # generation proposals
59
- akm distill <ref> # bounded LLM → `lesson` proposal
58
+ akm reflect [ref] [--task ...] # reflection proposals — doclint:ignore (0.7.0-era, folded into `akm improve` later)
59
+ akm propose <type> <name> --task "..." # generation proposals — doclint:ignore (0.7.0-era spelling; moved to `akm proposal new` in 0.9.0)
60
+ akm distill <ref> # bounded LLM → `lesson` proposal — doclint:ignore (0.7.0-era, folded into `akm improve` later)
60
61
  ```
61
62
 
62
63
  `reflect` and `propose` shell out via the agent CLI (`agent.*` config,
@@ -141,7 +142,7 @@ The bench technical reference lives in
141
142
  - Earlier 0.7.x pre-release work (#220–#223) finalised the registry
142
143
  curation surface removal, classification pipeline rewrites, and
143
144
  error envelope shape that 0.7.0 ships. Operators upgrading from a
144
- 0.6.x baseline should read [`docs/migration/v1.md`](../v1.md) for
145
+ 0.6.x baseline should read the [archived pre-1.0 plan](../../archive/pre-1.0-migration.md) for
145
146
  the per-surface migration recipe.
146
147
 
147
148
  ### CLI surface as of 0.7.0
@@ -250,14 +251,14 @@ If you want to use the new surfaces:
250
251
  akm setup # detects installed agent CLIs;
251
252
  # persists `agent.default`
252
253
  akm config set llm.features.feedback_distillation true
253
- akm distill memory:my-debugging-notes # produces a lesson proposal
254
+ akm distill memory:my-debugging-notes # produces a lesson proposal — doclint:ignore (0.7.0-era command + ref grammar, folded into `akm improve` / bundle refs later)
254
255
  akm proposal list
255
256
  akm proposal accept <id>
256
257
  ```
257
258
 
258
259
  ## Full migration guides
259
260
 
260
- - [v1 migration guide](../v1.md) — per-surface delta from any 0.6.x
261
+ - [Archived pre-1.0 migration plan](../../archive/pre-1.0-migration.md) — per-surface delta from any 0.6.x
261
262
  baseline. The canonical reference for upgrading.
262
263
  - [v0.5 → v0.6](../v0.5-to-v0.6.md) — the older terminology cut and
263
264
  registry schema v3.
@@ -1,39 +1,183 @@
1
1
  Migration notes for akm v0.9.0
2
2
 
3
- This is the final 0.9.0 cut. If you were already running a 0.9.0 beta, the
4
- main upgrade work is to align scripts, prompts, and stash layout with the
5
- released command surface.
3
+ These notes apply to the 0.9.0 release candidates and final release. If you
4
+ were already running a 0.9.0 beta, align scripts, prompts, and stash layout
5
+ with the current command surface and verify every durable artifact before
6
+ normal use.
7
+
8
+ Heads-up: 0.9.x is a refactoring and clean-up release series. Patch
9
+ releases may include breaking changes (each called out in the CHANGELOG with
10
+ a migration note) until the remaining technical debt is paid off; the 0.10.x
11
+ series returns to bug fixes and tuning with breaking changes only in major
12
+ and minor releases. See STABILITY.md for the full policy.
6
13
 
7
14
  Key operator-facing changes:
8
15
 
9
- - Node.js is supported again for the published CLI. Install with Bun, Node.js
10
- >= 20.12, or the prebuilt binary.
16
+ - **This release is the format-neutral bundle-adapter refactor.** The flat
17
+ asset-type registry is replaced by per-format adapters, and refs move from the
18
+ old `type:name` grammar to `[bundle//]conceptId` — a subdir-qualified concept
19
+ id such as `skills/code-review`, `memories/vpn-note`, or `env/prod`, with an
20
+ optional `bundle//` installation prefix and an optional `#fragment`. Durable
21
+ state is stored fully-qualified; the short bundle-omitted form is input sugar
22
+ (resolved against `defaultBundle`, then installation-priority order).
23
+ `akm migrate apply` re-keys all durable state, folds the former `workflow.db`
24
+ into `state.db` (three databases: `state.db` / `index.db` / a separate
25
+ `logs.db`, down from four), and migrates config from the flat `stashDir` /
26
+ `sources` / `installed` / `wikiName` keys to `bundles` / `defaultBundle`.
27
+ In AKM stashes, `index.md` / `log.md` are reserved structural files — never
28
+ indexed as items and never valid item-write targets. Other bundle formats
29
+ use their adapter's own structural-file rules.
30
+ - **Installed non-akm bundles reclassify on your next `akm index`.** The
31
+ indexer now dispatches each installed bundle's *detected* adapter instead of
32
+ recognizing everything with the akm-stash adapter. No action needed — the
33
+ index is a regenerable cache — but searches/saved refs into those bundles may
34
+ resolve to new ref spellings afterwards.
35
+ - **OKF is the generic Markdown baseline.** Arbitrary OKF `type` values remain
36
+ searchable and showable with heading fragments, while the selected adapter
37
+ decides which types receive specialized behavior. AKM-authored Markdown now
38
+ emits its native `type` field and remains OKF-compatible; commands, scripts,
39
+ workflows, tasks, environments, and secrets retain AKM's progressively
40
+ enhanced native handling. The `okf` adapter is consumer-only in 0.9.0, so
41
+ AKM-native write commands reject OKF targets before modifying them.
42
+ - The published npm package requires Node.js >= 22 as its cross-platform
43
+ bootstrap. The `akm` launcher prefers a working Bun >= 1.0 and otherwise
44
+ falls back to Node.js; `akm-migrate` follows the same model, with Bun optional
45
+ and preferred.
46
+ The standalone binaries are runtime-free.
11
47
  - The legacy `vault` asset type and `akm vault ...` command family are gone.
12
- Use `env:` for whole `.env` groups and `secret:` for a single sensitive
13
- value.
14
- - `akm-migrate-storage` still ships and still performs the non-destructive
48
+ Use `env/<name>` for whole `.env` groups and `secrets/<name>` for a single
49
+ sensitive value.
50
+ - `akm save` is replaced by `akm sync` for writable-stash persistence and
51
+ pushes, and `akm events` is replaced by `akm log`.
52
+ - The entire `akm wiki ...` command family and the `wiki` asset type are gone.
53
+ The Karpathy-style LLM wiki structure (`schema.md` + `pages/`) is now a
54
+ first-class **bundle format** recognized directly by `akm index`/`akm
55
+ search`/`akm lint` — no dedicated verb surface needed.
56
+ - `akm-migrate storage` performs the non-destructive
15
57
  `vaults/` -> `env/` copy for older stashes. Run it before indexing if you are
16
58
  upgrading from a stash that still stores `.env` files only under `vaults/`.
17
- - Proposal workflow is fully consolidated around `akm improve`, `akm propose`,
59
+ - Proposal workflow is fully consolidated around `akm improve`, `akm proposal new`,
18
60
  and `akm proposal ...`. Update any old `akm reflect`, `akm distill`,
19
61
  `akm accept`, `akm reject`, or `akm proposals` usage.
62
+ - LLM-backed sustaining work is opt-in in the shipped presets: improve-stage
63
+ extract is off in `default` and `frequent`, and `proactiveMaintenance` is off
64
+ in `default` and `reflect-distill`. The dedicated `proactive-maintenance`
65
+ strategy remains enabled as an explicit opt-in. Presets that omit these
66
+ fields inherit the `default` off values, while an explicit user
67
+ `enabled: true` override still wins.
68
+ - Config, `state.db`, and `workflow.db` are now classified independently by the
69
+ explicit `akm migrate` coordinator. Normal commands refuse old, future, or
70
+ divergent durable schemas instead of attempting migration as a side effect.
20
71
 
21
72
  Primary public command family for 0.9.0:
22
73
 
23
74
  - `akm improve <ref> [--task "..."]`
24
- - `akm propose <type> <name> (--task "..." | --file <path>)`
75
+ - `akm proposal new <type> <name> (--task "..." | --file <path>)`
25
76
  - `akm proposal list`
26
77
  - `akm proposal show <id>`
27
78
  - `akm proposal diff <id>`
28
79
  - `akm proposal accept <id>`
29
80
  - `akm proposal reject <id> --reason "..."`
30
81
 
31
- Recommended post-upgrade checks:
82
+ ## Release validation
83
+
84
+ Release validation passed on 2026-07-31. `bun run release:check` verified the
85
+ packed npm installation, Node fallback and Bun launcher paths, migration and
86
+ task execution from published 0.8.14, the Linux standalone scheduler artifact,
87
+ 2,953 unit tests, 5,061 integration tests, and all seven Docker install targets.
32
88
 
33
- - Run `akm help migrate 0.9.0` on every machine where the CLI is installed.
34
- - Run `akm-migrate-storage --yes` once if the stash ever used `vaults/`.
35
- - Rebuild the index with `akm index`.
89
+ Required upgrade checks:
90
+
91
+ - Before crossing from 0.8 to 0.9, create an independent filesystem backup and
92
+ prepare a valid 0.9 config. The installed 0.8 binary does not know the 0.9
93
+ migration protocol: install or stage the 0.9 binary, then run
94
+ `akm migrate apply --config <prepared-0.9-config>` before any normal command.
95
+ - On an existing 0.9 installation, run `akm migrate status`. If it reports
96
+ `ready`, run `akm migrate apply`; an already-current active config is used as
97
+ the target.
98
+ - Do not continue when status reports `blocked`. Preserve the reported backup
99
+ run and resolve the named artifact or active-operation error first.
100
+ - Restore is explicit and destructive: `akm-migrate restore --for 0.9.0 --run
101
+ <backup-run-id> --confirm`. It creates and verifies a rescue backup before
102
+ replacing current artifacts.
103
+ - Run `akm help migrate 0.9.0` for the storage and command-surface checklist.
104
+ - Run `akm-migrate storage --yes` once if the stash ever used `vaults/`.
105
+ - Rebuild derived search data with `akm index` only after migration status is
106
+ `current`; indexing does not migrate config or durable schemas.
36
107
  - Review agent instructions and docs for old `vault`, `reflect`, and `distill`
37
108
  examples.
109
+ - Review scheduled improve invocations if they relied on inherited extract or
110
+ proactive-maintenance enablement. Standalone extraction remains available
111
+ as `akm proposal extract`, but every invocation must select
112
+ `--type <harness>` or `--auto`; a bare invocation is invalid. Update any
113
+ installed extract task to `akm proposal extract --auto` for all-harness
114
+ discovery. The bundled template remains an unselected opt-in and now uses
115
+ that valid command.
116
+
117
+ ## 0.9.0 command-surface overhaul (hard break, no aliases)
118
+
119
+ The 0.9.0 CLI surface was restructured in full. Known retired spellings fail
120
+ with `UNKNOWN_COMMAND` and a replacement hint. Update assets,
121
+ scripts, task YAML, prompts, and agent instructions (CLAUDE.md quick
122
+ references) using this table, then run `akm task sync --rebind` once so
123
+ installed schedules re-emit the new spellings. `akm hints` prints the complete
124
+ agent guide (`--detail brief` selects the compact version), while `akm help
125
+ agents` is short by default; the root `akm --help` groups the surviving surface into
126
+ AGENT LOOP / ASSETS / AUTOMATION / SYSTEM sections.
127
+
128
+ Command renames and moves:
129
+
130
+ | Old spelling | 0.9.0 replacement |
131
+ | --- | --- |
132
+ | `akm init` | `akm bundle create` |
133
+ | `akm add <source>` | `akm bundle add <source>` |
134
+ | `akm list` | `akm bundle list` |
135
+ | `akm remove <source>` | `akm bundle remove <source>` |
136
+ | `akm update` | `akm bundle update` (self-update stays `akm upgrade`) |
137
+ | `akm tasks <sub>` | `akm task add\|run\|sync\|doctor\|history` (singular; `list`, `show`, `remove`, `init`, `enable`, and `disable` are removed) |
138
+ | `akm extract` | `akm proposal extract` |
139
+ | `akm propose` | `akm proposal new` |
140
+ | `akm log list` | `akm log` (now a single command) |
141
+ | `akm registry search <q>` | `akm search <q> --from registry` |
142
+ | `akm workflow template` | `akm workflow create --print` |
143
+ | `akm workflow validate` | `akm lint --type workflows` (add `--fail-on-flagged` to keep CI-gate exit semantics) |
144
+ | `akm config show` | `akm config list` |
145
+
146
+ Removed outright (with the supported replacement procedure):
147
+
148
+ | Removed | Use instead |
149
+ | --- | --- |
150
+ | `akm history` | `akm log --ref <ref>` |
151
+ | `akm graph` (all subcommands) | counts in `akm health`; refresh via `akm improve --strategy graph-refresh` |
152
+ | `akm lessons coverage` / `strength` | lesson strength is indexed; `akm search --type lesson` |
153
+ | `akm mv` | move the file, then `akm index` + `akm lint`; optional `bun scripts/rekey-asset-ref.ts <old-ref> <new-ref>` (source checkout) carries ranking signal |
154
+ | `akm log tail` | poll `akm log --since @offset:<id>` (durable cursor) |
155
+ | `akm workflow watch` | `akm log --run <run-id>` |
156
+ | `akm env set` / `env unset` | edit the `.env` file directly; akm loads it as-is |
157
+ | `akm config validate` | config is validated on every load |
158
+ | `akm task enable` / `disable` | edit `enabled:` in the task YAML, then `akm task sync` |
159
+ | `akm task init` | `akm setup` seeds the default schedules |
160
+ | `akm improve canary` | `bun scripts/refresh-canary-set.ts [--refresh]` (from a source checkout — helper scripts are not shipped in the npm package) |
161
+ | `akm registry build-index` | `bun scripts/build-registry-index.ts` (maintainer tooling) |
162
+ | `akm index --background` | removed (the flag never backgrounded; use `--quiet`) |
163
+ | `akm setup --detect-only` / `--reset-recommended` | removed; environment detection runs inside `akm setup`, and `akm info` reports the *configured* capabilities |
164
+ | `extract --watch` / `--debounce-ms` | schedule `akm proposal extract --auto` as a task |
165
+
166
+ Flag and value renames:
167
+
168
+ | Old | New |
169
+ | --- | --- |
170
+ | `search`/`curate` `--source stash\|registry\|both` | `--from local\|registry\|all` |
171
+ | `remember`/`clone`/`improve`/the `task` group `--target <bundle>` | `--bundle <bundle>` (`import`, `proposal accept`, `env create`, `secret set` keep `--target`) |
172
+
173
+ Environment and JSON-payload renames ("stash" is retired; the noun is
174
+ "bundle" everywhere):
175
+
176
+ | Old | New |
177
+ | --- | --- |
178
+ | `AKM_STASH_DIR` | `AKM_BUNDLE_DIR` |
179
+ | `akm info` field `stashDir` | `bundleDir` |
180
+ | `akm config path --all` key `stash` | `bundle` |
181
+ | `bundle create` result `defaultStashUpdated` / `previousStashDir` | `defaultBundleUpdated` / `previousBundleDir` |
38
182
 
39
183
  Full changelog: https://github.com/itlackey/akm/blob/main/CHANGELOG.md