@visulima/vis 1.0.0-alpha.9 → 1.0.1

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 (278) hide show
  1. package/CHANGELOG.md +1854 -3
  2. package/LICENSE.md +13515 -10
  3. package/README.md +215 -39
  4. package/bin/resolve-binary.mjs +85 -0
  5. package/bin/vis.mjs +76 -0
  6. package/dashboard/dist/index.html +152 -0
  7. package/dist/bin.d.ts +1 -0
  8. package/dist/bin.js +1 -2
  9. package/dist/binx.js +3 -0
  10. package/dist/config/index.d.ts +3276 -0
  11. package/dist/config/index.js +1 -0
  12. package/dist/generate/index.d.ts +1 -1
  13. package/dist/generate/index.js +1 -1
  14. package/dist/packem_chunks/CONFIG_FILES.js +8 -0
  15. package/dist/packem_chunks/DEFAULT_CLEAN_KEEP.js +1 -0
  16. package/dist/packem_chunks/agent-instructions.js +11 -0
  17. package/dist/packem_chunks/bloom-status.js +2 -0
  18. package/dist/packem_chunks/bloom-sync.js +2 -0
  19. package/dist/packem_chunks/cache-attestation.js +1 -0
  20. package/dist/packem_chunks/catalog-detector.js +1 -0
  21. package/dist/packem_chunks/catalog.js +114 -0
  22. package/dist/packem_chunks/cli-exec.js +1 -0
  23. package/dist/packem_chunks/cli-main.js +268 -0
  24. package/dist/packem_chunks/defineReleasePlugin.js +3 -0
  25. package/dist/packem_chunks/detect.js +3 -0
  26. package/dist/packem_chunks/detect2.js +8 -0
  27. package/dist/packem_chunks/devtools.js +4 -0
  28. package/dist/packem_chunks/discord.js +4 -0
  29. package/dist/packem_chunks/dispatch.js +4 -0
  30. package/dist/packem_chunks/doctor-probe.js +2 -0
  31. package/dist/packem_chunks/dynamic-import.js +1 -0
  32. package/dist/packem_chunks/extra-files.js +3 -0
  33. package/dist/packem_chunks/fix.js +11 -0
  34. package/dist/packem_chunks/git.js +3 -0
  35. package/dist/packem_chunks/group-tags.js +1 -0
  36. package/dist/packem_chunks/handler.js +1 -1
  37. package/dist/packem_chunks/handler10.js +5 -1
  38. package/dist/packem_chunks/handler11.js +1 -1
  39. package/dist/packem_chunks/handler12.js +26 -152
  40. package/dist/packem_chunks/handler13.js +5 -1
  41. package/dist/packem_chunks/handler14.js +1 -3
  42. package/dist/packem_chunks/handler15.js +1 -1
  43. package/dist/packem_chunks/handler16.js +1 -2
  44. package/dist/packem_chunks/handler17.js +1 -7
  45. package/dist/packem_chunks/handler18.js +1 -1
  46. package/dist/packem_chunks/handler19.js +5 -19
  47. package/dist/packem_chunks/handler2.js +1 -1
  48. package/dist/packem_chunks/handler20.js +2 -428
  49. package/dist/packem_chunks/handler21.js +2 -22
  50. package/dist/packem_chunks/handler22.js +14 -3
  51. package/dist/packem_chunks/handler23.js +1 -5
  52. package/dist/packem_chunks/handler24.js +1 -1
  53. package/dist/packem_chunks/handler25.js +1 -20
  54. package/dist/packem_chunks/handler26.js +5 -1
  55. package/dist/packem_chunks/handler27.js +1 -1
  56. package/dist/packem_chunks/handler28.js +3 -1
  57. package/dist/packem_chunks/handler29.js +1 -2
  58. package/dist/packem_chunks/handler3.js +4 -2
  59. package/dist/packem_chunks/handler30.js +1 -22
  60. package/dist/packem_chunks/handler31.js +2 -1
  61. package/dist/packem_chunks/handler32.js +2 -1
  62. package/dist/packem_chunks/handler33.js +2 -37
  63. package/dist/packem_chunks/handler34.js +3 -3
  64. package/dist/packem_chunks/handler35.js +6 -23
  65. package/dist/packem_chunks/handler36.js +1 -5
  66. package/dist/packem_chunks/handler37.js +36 -21
  67. package/dist/packem_chunks/handler38.js +8 -1
  68. package/dist/packem_chunks/handler39.js +9 -2
  69. package/dist/packem_chunks/handler4.js +4 -5
  70. package/dist/packem_chunks/handler40.js +75 -1
  71. package/dist/packem_chunks/handler41.js +5 -5
  72. package/dist/packem_chunks/handler42.js +4 -1
  73. package/dist/packem_chunks/handler43.js +3 -24
  74. package/dist/packem_chunks/handler44.js +2 -3
  75. package/dist/packem_chunks/handler45.js +1 -1
  76. package/dist/packem_chunks/handler46.js +1 -0
  77. package/dist/packem_chunks/handler47.js +1 -0
  78. package/dist/packem_chunks/handler48.js +3 -0
  79. package/dist/packem_chunks/handler49.js +1 -0
  80. package/dist/packem_chunks/handler5.js +6 -4
  81. package/dist/packem_chunks/handler50.js +7 -0
  82. package/dist/packem_chunks/handler51.js +33 -0
  83. package/dist/packem_chunks/handler52.js +3 -0
  84. package/dist/packem_chunks/handler53.js +8 -0
  85. package/dist/packem_chunks/handler54.js +4 -0
  86. package/dist/packem_chunks/handler55.js +1 -0
  87. package/dist/packem_chunks/handler56.js +12 -0
  88. package/dist/packem_chunks/handler57.js +11 -0
  89. package/dist/packem_chunks/handler58.js +5 -0
  90. package/dist/packem_chunks/handler59.js +11 -0
  91. package/dist/packem_chunks/handler6.js +8 -2
  92. package/dist/packem_chunks/handler60.js +3 -0
  93. package/dist/packem_chunks/handler61.js +22 -0
  94. package/dist/packem_chunks/handler62.js +61 -0
  95. package/dist/packem_chunks/handler63.js +3 -0
  96. package/dist/packem_chunks/handler64.js +6 -0
  97. package/dist/packem_chunks/handler65.js +9 -0
  98. package/dist/packem_chunks/handler66.js +2 -0
  99. package/dist/packem_chunks/handler67.js +24 -0
  100. package/dist/packem_chunks/handler68.js +25 -0
  101. package/dist/packem_chunks/handler69.js +153 -0
  102. package/dist/packem_chunks/handler7.js +1 -24
  103. package/dist/packem_chunks/handler70.js +10 -0
  104. package/dist/packem_chunks/handler71.js +23 -0
  105. package/dist/packem_chunks/handler72.js +322 -0
  106. package/dist/packem_chunks/handler73.js +708 -0
  107. package/dist/packem_chunks/handler74.js +48 -0
  108. package/dist/packem_chunks/handler75.js +27 -0
  109. package/dist/packem_chunks/handler76.js +3 -0
  110. package/dist/packem_chunks/handler77.js +190 -0
  111. package/dist/packem_chunks/handler78.js +38 -0
  112. package/dist/packem_chunks/handler8.js +1 -6
  113. package/dist/packem_chunks/handler9.js +1 -8
  114. package/dist/packem_chunks/heal-accept.js +10 -0
  115. package/dist/packem_chunks/heal.js +14 -0
  116. package/dist/packem_chunks/help-command.js +31 -0
  117. package/dist/packem_chunks/index.js +1 -7
  118. package/dist/packem_chunks/index2.js +802 -0
  119. package/dist/packem_chunks/index3.js +7 -0
  120. package/dist/packem_chunks/index4.js +135 -0
  121. package/dist/packem_chunks/index5.js +73 -0
  122. package/dist/packem_chunks/interface.js +2 -0
  123. package/dist/packem_chunks/keys-refresh.js +4 -0
  124. package/dist/packem_chunks/lean.js +4 -0
  125. package/dist/packem_chunks/list.js +3 -0
  126. package/dist/packem_chunks/loader.js +4 -1
  127. package/dist/packem_chunks/loader2.js +1 -0
  128. package/dist/packem_chunks/orchestrator.js +42 -0
  129. package/dist/packem_chunks/pre-mode.js +2 -0
  130. package/dist/packem_chunks/print-config.js +2 -0
  131. package/dist/packem_chunks/prompts.js +7 -0
  132. package/dist/packem_chunks/prune.js +3 -0
  133. package/dist/packem_chunks/publish-guards.js +1 -0
  134. package/dist/packem_chunks/registry.js +48 -0
  135. package/dist/packem_chunks/resolveFormatter.js +9 -0
  136. package/dist/packem_chunks/run.js +1 -0
  137. package/dist/packem_chunks/security.js +1 -0
  138. package/dist/packem_chunks/shell-runner.js +1 -0
  139. package/dist/packem_chunks/slack.js +2 -0
  140. package/dist/packem_chunks/snapshot.js +2 -0
  141. package/dist/packem_chunks/stage-publisher.js +1 -0
  142. package/dist/packem_chunks/staged-registry.js +2 -0
  143. package/dist/packem_chunks/state.js +3 -0
  144. package/dist/packem_chunks/status.js +2 -0
  145. package/dist/packem_chunks/success-walk.js +8 -0
  146. package/dist/packem_chunks/sync.js +2 -0
  147. package/dist/packem_chunks/sync2.js +2 -0
  148. package/dist/packem_chunks/tar.js +3 -0
  149. package/dist/packem_chunks/tripwire.js +2 -0
  150. package/dist/packem_chunks/ts-loader.js +22 -0
  151. package/dist/packem_chunks/verify-lockfile.js +2 -0
  152. package/dist/packem_chunks/version-resolver.js +2 -0
  153. package/dist/packem_chunks/webhook.js +1 -0
  154. package/dist/packem_chunks/workflow-templates.js +167 -0
  155. package/dist/packem_chunks/workspace.js +2 -0
  156. package/dist/packem_shared/AfterAllProjectsVersioned-CAKI2nWf.js +1 -0
  157. package/dist/packem_shared/MultiSpinner-B9U0-aE3-B-gIXhFk.js +3 -0
  158. package/dist/packem_shared/ReleaseClient-BY4OZNCK.js +1 -0
  159. package/dist/packem_shared/Table-BGIHvenQ-D2oJtNQj.js +34 -0
  160. package/dist/packem_shared/VisReleaseError-DMGRBTNO.js +1 -0
  161. package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +1 -0
  162. package/dist/packem_shared/advisories-CaP4uNhD.js +1 -0
  163. package/dist/packem_shared/affected-shas-BfO3PDJq.js +1 -0
  164. package/dist/packem_shared/ai-analysis-CO7No4rt.js +68 -0
  165. package/dist/packem_shared/ai-fix-B4u2zlVG.js +43 -0
  166. package/dist/packem_shared/anolilab-text-CAM_E6uK.js +13 -0
  167. package/dist/packem_shared/api.d-BPftyU9r.d.ts +27 -0
  168. package/dist/packem_shared/augment-8z86AwtF.js +4 -0
  169. package/dist/packem_shared/bin-Cv8vsMEo.js +1 -0
  170. package/dist/packem_shared/build-scripts-D477Ou-x.js +1 -0
  171. package/dist/packem_shared/command-runtime-EWjmSxPj.js +1 -0
  172. package/dist/packem_shared/compile-cache-B_Vf_WxT.js +3 -0
  173. package/dist/packem_shared/createAdapter-bU4DIP3F.js +1 -0
  174. package/dist/packem_shared/createVersionActions-BK43SNDH.js +1 -0
  175. package/dist/packem_shared/cyclonedx-CDWHbD9s.js +4 -0
  176. package/dist/packem_shared/defineFormatter-D5dCp6Kv.js +1 -0
  177. package/dist/packem_shared/definePlugin-DoUcoYSy.js +1 -0
  178. package/dist/packem_shared/dependency-scan-P52jY0pU.js +1 -0
  179. package/dist/packem_shared/docker-CD7o1D1o.js +59 -0
  180. package/dist/packem_shared/env-Cpxa_7UE.js +27 -0
  181. package/dist/packem_shared/failure-log-MOhz-TBv.js +2 -0
  182. package/dist/packem_shared/giget-DVTFJlbR.js +2 -0
  183. package/dist/packem_shared/glob-DMbPwGSj-uzODoE-1.js +1 -0
  184. package/dist/packem_shared/index-B0EsgdzO.js +1 -0
  185. package/dist/packem_shared/index-BAUIIRZJ.js +1 -0
  186. package/dist/packem_shared/index-BVuCxe14.js +22 -0
  187. package/dist/packem_shared/index-CdTXvj-V.js +1 -0
  188. package/dist/packem_shared/index-CgXLAAVI.js +28 -0
  189. package/dist/packem_shared/index-DjTWo3sH.js +1 -0
  190. package/dist/packem_shared/index.server-J83sowC4.js +2 -0
  191. package/dist/packem_shared/interface.d-B7VK2rcH.d.ts +148 -0
  192. package/dist/packem_shared/interface.d-Cezzifoh.d.ts +106 -0
  193. package/dist/packem_shared/license-t5KnNX6v.js +1 -0
  194. package/dist/packem_shared/lifecycle-hzwghh5a.js +2 -0
  195. package/dist/packem_shared/lockfile-CWcVTdRc.js +1 -0
  196. package/dist/packem_shared/main-B3juSU5z.js +1 -0
  197. package/dist/packem_shared/manifests-CaPqgQxW.js +1 -0
  198. package/dist/packem_shared/min-release-age-skpcnlpk.js +34 -0
  199. package/dist/packem_shared/missing-package-json-_hOp4AW5.js +1 -0
  200. package/dist/packem_shared/native-config-sync-CFi1iQNG.js +21 -0
  201. package/dist/packem_shared/osv-bloom-BAyJUnRx.js +2 -0
  202. package/dist/packem_shared/otelPlugin-DmKDBaPo.js +1 -0
  203. package/dist/packem_shared/packument-CYxvm590.js +1 -0
  204. package/dist/packem_shared/peer-warnings-BXAzXqY3.js +1 -0
  205. package/dist/packem_shared/plugins.d-ND23R9I3.d.ts +4 -0
  206. package/dist/packem_shared/pm-runner-mVFjedM6.js +1 -0
  207. package/dist/packem_shared/prompt-DjXHVgYU.js +1 -0
  208. package/dist/packem_shared/provenance-CI_WQx7G.js +1 -0
  209. package/dist/packem_shared/public-api-WqUCiyIe.js +131 -0
  210. package/dist/packem_shared/readJsonSync-DuMMeB3s-Cx08VBQg.js +1 -0
  211. package/dist/packem_shared/registry-keys-AGlSEY6R.js +1 -0
  212. package/dist/packem_shared/resolve-explicit-DVE9cfkm.js +5 -0
  213. package/dist/packem_shared/resolve-runtime-CGHf-wHz.js +1 -0
  214. package/dist/packem_shared/run-file-Bs_E9O6O.js +1 -0
  215. package/dist/packem_shared/runtime-check-pS2XH4BO.js +1 -0
  216. package/dist/packem_shared/runtime-process-Dmz0vCJy-DUwTvH1J.js +1 -0
  217. package/dist/packem_shared/s1ngularity-xmrq5T5r.js +1 -0
  218. package/dist/packem_shared/scan-progress-DQ4TMXcb.js +2 -0
  219. package/dist/packem_shared/selectors-CRgS4bU9.js +3 -0
  220. package/dist/packem_shared/signatures-Dp3th1DB.js +2 -0
  221. package/dist/packem_shared/slug-DoueYuLo.js +1 -0
  222. package/dist/packem_shared/spinner-DuJJvFTl.js +1 -0
  223. package/dist/packem_shared/sticky-comment-D6_7-w8T.js +1 -0
  224. package/dist/packem_shared/subtree-C7bZuiSQ.js +2 -0
  225. package/dist/packem_shared/symbols-DPTlrJ3B.js +1 -0
  226. package/dist/packem_shared/tabs-CgxCvjCY.js +1 -0
  227. package/dist/packem_shared/target-merge-D2eTghgd.js +11 -0
  228. package/dist/packem_shared/target-options-TM6ETDAS.js +1 -0
  229. package/dist/packem_shared/toolchain-B5KwUZfq.js +5 -0
  230. package/dist/packem_shared/typosquats-C0layQsP.js +1 -0
  231. package/dist/packem_shared/use-measured-height-Drobr4fe.js +1 -0
  232. package/dist/packem_shared/utils-CRueU43T.js +1 -0
  233. package/dist/packem_shared/verify-Cjo4EBFZ.js +1 -0
  234. package/dist/packem_shared/vis-update-app-qIkyvrd1.js +1 -0
  235. package/dist/packem_shared/watch-BnE1TzYn.js +1 -0
  236. package/dist/packem_shared/watch-loop-Irf3Pm-1.js +11 -0
  237. package/dist/release/core/changelog/index.d.ts +5 -0
  238. package/dist/release/core/changelog/index.js +1 -0
  239. package/dist/release/core/package-managers/index.d.ts +6 -0
  240. package/dist/release/core/package-managers/index.js +1 -0
  241. package/dist/release/core/version-actions/index.d.ts +14 -0
  242. package/dist/release/core/version-actions/index.js +1 -0
  243. package/dist/release/index.d.ts +233 -0
  244. package/dist/release/index.js +1 -0
  245. package/dist/release/plugin-sdk.d.ts +128 -0
  246. package/dist/release/plugin-sdk.js +1 -0
  247. package/dist/release/presets.d.ts +225 -0
  248. package/dist/release/presets.js +1 -0
  249. package/dist/release/types.d.ts +1493 -0
  250. package/dist/release/types.js +1 -0
  251. package/dist/runtime/preload.d.ts +1 -0
  252. package/dist/runtime/preload.js +1 -0
  253. package/index.d.ts +450 -0
  254. package/index.js +663 -556
  255. package/package.json +105 -62
  256. package/schemas/project.schema.json +872 -225
  257. package/schemas/vis-config.schema.json +6309 -264
  258. package/schemas/vis-release-config.schema.json +1423 -0
  259. package/skills/vis/SKILL.md +96 -0
  260. package/templates/buildkite-ci/.buildkite/pipeline.yml.tera +85 -0
  261. package/templates/buildkite-ci/template.yml +20 -0
  262. package/dist/config.d.ts +0 -1087
  263. package/dist/config.js +0 -1
  264. package/dist/packem_shared/VisUpdateApp-BBx3idMI.js +0 -1
  265. package/dist/packem_shared/ai-analysis-DDqXRFxY.js +0 -67
  266. package/dist/packem_shared/bin-BaZZ32BK.js +0 -93
  267. package/dist/packem_shared/cache-directory-DL8hfXeG.js +0 -1
  268. package/dist/packem_shared/catalog-CuSpuB_R.js +0 -12
  269. package/dist/packem_shared/dependency-scan-BoLG2Fez.js +0 -1
  270. package/dist/packem_shared/docker-BcfqH4Av.js +0 -2
  271. package/dist/packem_shared/flakiness-DSIHZGBT.js +0 -1
  272. package/dist/packem_shared/otelPlugin-DxyvBcXO.js +0 -1
  273. package/dist/packem_shared/runtime-check-CGHal8SO.js +0 -1
  274. package/dist/packem_shared/selectors-CfH9ZY08.js +0 -3
  275. package/dist/packem_shared/symbols-CIMw60-G.js +0 -1
  276. package/dist/packem_shared/toolchain-C3ZG0o_X.js +0 -5
  277. package/dist/packem_shared/typosquats-Bpq4zcWL.js +0 -1
  278. package/dist/packem_shared/utils-DrNg0XTR.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,37 +1,1888 @@
1
- ## @visulima/vis [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.8...@visulima/vis@1.0.0-alpha.9) (2026-04-28)
1
+ ## @visulima/vis [1.0.1](https://github.com/visulima/visulima/compare/%40visulima%2Fvis%401.0.0...%40visulima%2Fvis%401.0.1) (2026-07-15)
2
+
3
+
4
+ ### Dependencies
5
+
6
+ * **@visulima/tui:** upgraded to 1.0.1
7
+ * **@visulima/fs:** upgraded to 5.0.1
8
+ * **@visulima/package:** upgraded to 5.0.1
9
+ * **@visulima/tsconfig:** upgraded to 3.0.1
10
+
11
+ ## @visulima/vis 1.0.0 (2026-07-03)
12
+
13
+ ### ⚠ BREAKING CHANGES
14
+
15
+ * **vis:** the following security.* keys were renamed:
16
+ - security.minimumReleaseAge -> security.policies.first_seen.minutes
17
+ - security.minimumReleaseAgeExclude -> security.policies.first_seen.exclude
18
+ - security.trustPolicy -> security.policies.publisher_change.mode
19
+ - security.trustPolicyExclude -> security.policies.publisher_change.exclude
20
+ - security.trustPolicyIgnoreAfter -> security.policies.publisher_change.ignoreAfter
21
+ - security.allowBuilds -> security.policies.install_scripts.allow
22
+ - security.strictDepBuilds -> security.policies.install_scripts.strict
23
+ - security.socket.minimumScore -> security.policies.score.minimum
24
+ - security.socket.acceptedRisks -> security.acceptedRisks
25
+ - security.audit.failOn -> security.policies.vulnerability.failOn
26
+ - security.audit.usage -> security.policies.vulnerability.usage
27
+
28
+ AcceptedRisk now carries optional policies[] and expiresAt fields so
29
+ risks can be scoped per-policy and time-boxed. Native PM sync writers
30
+ keep emitting pnpm-native field names since pnpm owns that schema.
31
+
32
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
33
+
34
+ * chore(vis): address coderabbit review feedback
35
+
36
+ - Add JSDoc to exported items across hook builtins, advisories, audit, docker
37
+ - Document OSV `last_affected` inclusive-upper semantics with a focused test
38
+ - Annotate NAPI u64→u32 truncations with JS Number range rationale
39
+ - Switch vis-mcp tool payloads to zod schemas with `.catchall(z.unknown())`
40
+ so unknown CLI fields stay forward-compatible
41
+ - Fence RFC code blocks with explicit languages and tidy hook-command
42
+ formatting (multi-line type, implicit-return arrows)
43
+
44
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
45
+
46
+ * chore(vis): address second-round coderabbit feedback on policies rename
47
+
48
+ - Drift report labels now reference `security.policies.*` paths so the
49
+ hint matches the keys users edit
50
+ - `defineConfig` JSDoc examples use the new `security.policies` shape
51
+ - `mergeSecurityDefaults` deep-merges every defaulted sub-policy
52
+ generically; `mergeVisConfigs` deep-merges `policies` and
53
+ `acceptedRisks` so presets aren't clobbered
54
+ - Config-writer scopes its `allow:` match to follow an
55
+ `install_scripts:` opener
56
+ - JSDoc clarifications for `audit.advisories.source` default,
57
+ `acceptedRisks.expiresAt`/`acceptedScore` ranges, `malware.mode`
58
+ cross-field default, and the current `policies.score.minimum`
59
+ wiring gap
60
+
61
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
62
+
63
+ * chore(vis): finish coderabbit round-2 fixes — camelCase policies + wire score.minimum
64
+
65
+ - Rename `PolicyName` union to camelCase (`firstSeen`, `installScripts`,
66
+ `publisherChange`, `unexpectedDeps`). Updates every consumer in src/,
67
+ test fixtures, schemas, and docs. JSON schema regenerated.
68
+ - Add `types` mapping to the `#native` package.json import so TypeScript
69
+ resolves `index.d.ts` when consumers import the alias.
70
+ - Thread `socketOptions.minimumScore` through `audit`, `doctor`, `check`,
71
+ `update`, `add`, `formatSecurityOverview`, `formatSummary`, and
72
+ `applyFilter`. `buildSocketOptions` now resolves the effective minimum
73
+ once (from `security.policies.score.minimum` or
74
+ `DEFAULT_LOW_SCORE_THRESHOLD`) so every consumer sees the same value
75
+ instead of comparing scores against the hard-coded constant.
76
+ - Update the JSDoc on `policies.score.minimum` to reflect the new wiring.
77
+
78
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
79
+
80
+ * feat(vis): add Socket-style policy engine with 4 offline-clean policies
81
+
82
+ Introduce a unified `evaluatePolicies()` engine under `src/security/policies/`
83
+ with four offline-clean modules: license, install_scripts, vulnerability,
84
+ and unexpected_deps (baseline mode). Each policy emits PolicyDecisions
85
+ (block/warn/info) keyed by package, with per-policy accepted-risk scoping
86
+ and expiresAt support reused from the shared matcher.
87
+
88
+ Wires the engine into `vis audit`: a new `--policies <names>` flag
89
+ (comma-list, `all`, or `none`) narrows evaluation. Block-severity
90
+ decisions feed into `--exit-code` and `--fail-on`. JSON output gains
91
+ `policies[]` + `summary.policyBlocks`. SARIF and HTML formatters render
92
+ policy decisions alongside vulnerabilities; CSAF and CycloneDX-VEX are
93
+ intentionally left untouched (vuln-specific data models).
94
+
95
+ Adds `readNodeModulesManifests()` to walk `node_modules/` (including the
96
+ pnpm `.pnpm/` content-addressed store) and surface license + scripts +
97
+ maintainers metadata for the offline policies.
98
+
99
+ 33 new unit + integration tests; full vitest suite (3582/3582) green;
100
+ `tsc --noEmit` clean.
101
+
102
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
103
+
104
+ * fix(vis): close three audit policy gating gaps surfaced by CodeRabbit
105
+
106
+ - applyExitGate's fallthrough call to applyFailOnGate was dropping the
107
+ policyDecisions argument, so `vis audit --format sarif --fail-on high`
108
+ exited 0 when the only signal was a block-severity policy decision.
109
+ Forward the argument.
110
+ - Unknown --policies tokens were silently swallowed when format was
111
+ json/sarif/csaf/cyclonedx-vex, so a typoed CI invocation reduced
112
+ enforcement with no log. Always emit the warning to stderr and
113
+ surface the tokens in JSON output as `warnings[]`.
114
+ - Vulnerability-policy block decisions whose advisory was masked by
115
+ --severity used to exit 1 with no visible reason. Surface those
116
+ decisions in the human-readable "Policy Decisions" section so the
117
+ gate is always traceable.
118
+
119
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
120
+
121
+ * fix(vis): correct npm/yarn min-release-age native config writers
122
+
123
+ npm CLI types `min-release-age` as `Number` in days, not a duration string —
124
+ vis wrote `48h`/`15m`, which npm's parseInt would silently read as 48/15 days.
125
+ Write integer days rounded up so the native gate is never weaker than vis-config.
126
+
127
+ Yarn Berry silently treats day suffixes in `npmMinimalAgeGate` as minutes
128
+ * **vis:** replace prek runner with in-process hook dispatcher
129
+ * **vis:** vis sbom now emits CycloneDX 1.7. Downstream consumers
130
+ pinned to a 1.6 validator must upgrade.
131
+
132
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2
133
 
3
134
  ### Features
4
135
 
136
+ * Add @visulima/task-runner , vis and find-ai-runner ([#594](https://github.com/visulima/visulima/issues/594)) ([034b5db](https://github.com/visulima/visulima/commit/034b5db8aadcc02e23abe007208c5196859c7755))
137
+ * add comprehensive `vis create` scaffolding command ([#602](https://github.com/visulima/visulima/issues/602)) ([e029146](https://github.com/visulima/visulima/commit/e0291469fc8c55e76721333a20753c802820d3de))
138
+ * Add comprehensive workspace configuration and command infrastructure ([#609](https://github.com/visulima/visulima/issues/609)) ([f4347bf](https://github.com/visulima/visulima/commit/f4347bfdcdd1b228cd9d842a927e446aaf23f035))
139
+ * Add CycloneDX 1.6 SBOM generation with `vis sbom` command ([#611](https://github.com/visulima/visulima/issues/611)) ([1e95276](https://github.com/visulima/visulima/commit/1e9527630958722a0f0f7e79d18bb23b5a57e0df))
140
+ * Add CycloneDX SBOM schema validation and TypeScript types ([#610](https://github.com/visulima/visulima/issues/610)) ([bd37e64](https://github.com/visulima/visulima/commit/bd37e6454f43116af94b5b6ae59d70d2cbe51d45))
141
+ * Add native Rust bindings for package manager operations ([#596](https://github.com/visulima/visulima/issues/596)) ([2ec22d0](https://github.com/visulima/visulima/commit/2ec22d023eade3fed67fb811696fbd8f7b52569d))
142
+ * add service and tool projectType variants ([61858ad](https://github.com/visulima/visulima/commit/61858ad4c044b5f30318f282615c83f716667053)), closes [#21](https://github.com/visulima/visulima/issues/21)
143
+ * Add Socket.dev security intelligence integration ([#599](https://github.com/visulima/visulima/issues/599)) ([c2e2b8a](https://github.com/visulima/visulima/commit/c2e2b8a55d1688c43b1deed82b8d954bc294fa11))
144
+ * Add sort-package-json command with native Rust implementation ([#601](https://github.com/visulima/visulima/issues/601)) ([8c5d2c3](https://github.com/visulima/visulima/commit/8c5d2c311d30077384df1b9194a870ac6687a0a4))
5
145
  * Add toolchain management with version manager detection and delegation ([#617](https://github.com/visulima/visulima/issues/617)) ([548b0e8](https://github.com/visulima/visulima/commit/548b0e8f9d59743be25abb97b5de3fdbeb681bd6))
146
+ * Add typosquat detection for package names ([#603](https://github.com/visulima/visulima/issues/603)) ([16ef5e8](https://github.com/visulima/visulima/commit/16ef5e8acc3670cf1bf883f7a5d9483f331b6133))
147
+ * **cerebro:** add addGlobalOption API for CLI-wide options ([ccc1cc0](https://github.com/visulima/visulima/commit/ccc1cc085ed0189be49ab8da7d9dbbc69ba07c72))
148
+ * Migrate pnpm config from .npmrc to pnpm-workspace.yaml for v11 ([#608](https://github.com/visulima/visulima/issues/608)) ([af9321c](https://github.com/visulima/visulima/commit/af9321ccd2bacefbbda95248aea155c76c5d53ad))
149
+ * **secret-scanner:** regroup ScanOptions, add weak-passwords preset, polish SARIF ([1ddbfac](https://github.com/visulima/visulima/commit/1ddbfac6781408d750856003b5b5f53408afa5b3))
150
+ * **secret-scanner:** rust-native secret scanner with vis integration ([926a583](https://github.com/visulima/visulima/commit/926a5830efca68d9956f053496b0a5efb359eccd))
151
+ * **task-runner, vis:** project constraints, CI partitioning, affected scopes ([29295e9](https://github.com/visulima/visulima/commit/29295e989ecdfe2019469d1917a6c90a92e17bcf))
152
+ * **task-runner,vis:** cache restoration fidelity ([a15cb22](https://github.com/visulima/visulima/commit/a15cb22bde832cfe76ee017722b8b9f9102dac8f))
153
+ * **task-runner,vis:** per-task pty + concurrency weight, abort cache gate, fspy scaffolds ([#656](https://github.com/visulima/visulima/issues/656)) ([ca64010](https://github.com/visulima/visulima/commit/ca64010b236903e08273680ea65dec7046fcd18b))
154
+ * **task-runner:** add REAPI gRPC backend, cacheMode, and cache doctor ([03e6da9](https://github.com/visulima/visulima/commit/03e6da97beb84f6adc4a07a1c7ca4acf28be3b33))
155
+ * **task-runner:** add resolveTurboEnvCompat helper ([a8e73ef](https://github.com/visulima/visulima/commit/a8e73ef324dd8d1bc1f1f471f59f9292f9f01745))
156
+ * **task-runner:** add URI-based input format ([050b583](https://github.com/visulima/visulima/commit/050b5838c15590a3ccba0ca99ad585cbabc36d99))
157
+ * **task-runner:** auto-capture outputs for compound build scripts ([e084434](https://github.com/visulima/visulima/commit/e0844344cf184177999a82b708299f08fbfd31ec))
158
+ * **task-runner:** output globs, auto-writes, parallel cache IO ([137f53f](https://github.com/visulima/visulima/commit/137f53f7f5a4d8c16df511c9d145b2c158025a32))
159
+ * **task-runner:** per-target hashMode "trace" opt-in ([#643](https://github.com/visulima/visulima/issues/643)) ([32353ff](https://github.com/visulima/visulima/commit/32353ff7a760ae9486e23cc4042fab46a2f2cc11))
160
+ * **task-runner:** warn when a cacheable task's inputs resolve to zero files ([3a4ecbb](https://github.com/visulima/visulima/commit/3a4ecbbef46b49afa4cb8b3e0b741fae0de42b3c))
161
+ * **tui:** add TreeView component with keyboard navigation and selection ([f3421e3](https://github.com/visulima/visulima/commit/f3421e36540f8c7a229e0176c683cb94c0d46e0f))
162
+ * **vis, staged:** add env-var concurrency + fast-fail SIGKILL ([8fc5ae3](https://github.com/visulima/visulima/commit/8fc5ae3147901560f4b06848187da61d7a98819d))
163
+ * **vis, staged:** case-insensitive globs, auto-stage, parseConcurrent extraction ([671fa42](https://github.com/visulima/visulima/commit/671fa424f57cb1a94ef3d95be3d60b8632201675))
164
+ * **vis:** [@inherit](https://github.com/inherit) array merge sentinel ([c1334ab](https://github.com/visulima/visulima/commit/c1334ab75a84e12aa972aa1aba57ee74edbcc17d))
165
+ * **vis:** add --json and --describe to vis generate ([396c89b](https://github.com/visulima/visulima/commit/396c89b29ddca99b01394508fda4b3d6b1804a3a))
166
+ * **vis:** add --last-commit shortcut for hook run ([a841c8e](https://github.com/visulima/visulima/commit/a841c8ebfaf69d196cdc3115757c65705204d850))
167
+ * **vis:** add --peer and --include-internal flags to update and check ([900bbbe](https://github.com/visulima/visulima/commit/900bbbed6ec3611e993cf4fcc929c8b9b7cc7d60)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
168
+ * **vis:** add --reverse for leaves-first task order ([9d02f37](https://github.com/visulima/visulima/commit/9d02f373ff08ed94c95055725ce43ed42ea8c9aa))
169
+ * **vis:** add --skip-cache for selective per-task cache bypass ([28cfa7a](https://github.com/visulima/visulima/commit/28cfa7afc03ace27a4ff41746e91c70006cb9e9e))
170
+ * **vis:** add `vis add --to <pkg>` auto-conforming to catalogs (syncpack[#285](https://github.com/visulima/visulima/issues/285)) ([03a5641](https://github.com/visulima/visulima/commit/03a56411fe88165395ec081f1d9caee2474fbf2a))
171
+ * **vis:** add `vis migrate kingfisher` for MongoDB Kingfisher users ([d7d8a5e](https://github.com/visulima/visulima/commit/d7d8a5e43c3d1d588180fcbe37e6789f68fa8d74))
172
+ * **vis:** add 33 inferTargets detectors ([b4b4684](https://github.com/visulima/visulima/commit/b4b468436ed2c48484ecbf69539b0121870fd124))
173
+ * **vis:** add ai heal + heal accept commands ([3c6fa32](https://github.com/visulima/visulima/commit/3c6fa323c8133d95a17fe9bc19ffd3d8aeb37c4e))
6
174
  * **vis:** add aube as default installer with PM fallback ([79a9933](https://github.com/visulima/visulima/commit/79a99333c0e73e69f375b36c56e40b2693dc4c90))
175
+ * **vis:** add Buildkite CI provider and `vis generate buildkite-ci` builtin ([845ac99](https://github.com/visulima/visulima/commit/845ac99a37dc9f280d5bba11aad4cf196cdaaebc)), closes [#19](https://github.com/visulima/visulima/issues/19)
176
+ * **vis:** add built-in staged-files workflow ([34c005a](https://github.com/visulima/visulima/commit/34c005a2fef371bda48139a5aba8c8858a1c8a42)), closes [#990](https://github.com/visulima/visulima/issues/990) [#1713](https://github.com/visulima/visulima/issues/1713) [#1722](https://github.com/visulima/visulima/issues/1722) [#33](https://github.com/visulima/visulima/issues/33)
177
+ * **vis:** add cache command for task runner cache ([#607](https://github.com/visulima/visulima/issues/607)) ([6752769](https://github.com/visulima/visulima/commit/67527692562b3dd9c03bb6a67c084ff1e694a560))
178
+ * **vis:** add Claude skill for vis-mcp consumption ([434ceb2](https://github.com/visulima/visulima/commit/434ceb2e8d6c49f31a3b7f84d45c35de247a4806))
179
+ * **vis:** add composite s1ngularity supply-chain marshall ([44cdeaf](https://github.com/visulima/visulima/commit/44cdeafb58eefcef061ffaab6822d4628cb06b2c))
180
+ * **vis:** add corepack passthrough + unified dry/silent/env ([0ba38b2](https://github.com/visulima/visulima/commit/0ba38b297385497deb167efd03349f38ef1a7049)), closes [#6](https://github.com/visulima/visulima/issues/6) [#10](https://github.com/visulima/visulima/issues/10) [#11](https://github.com/visulima/visulima/issues/11)
181
+ * **vis:** add custom-types lint for engines/packageManager/volta drift ([149455a](https://github.com/visulima/visulima/commit/149455a114b76c86ea12b7f271450297f38eeff6))
182
+ * **vis:** add dashboard command with browser UI for cache and run metrics ([f94fcd9](https://github.com/visulima/visulima/commit/f94fcd94ef04f74e20ce308769d79cbd21d9fd60))
183
+ * **vis:** add deno as first-class package manager + --auto-install-peers ([90d6d0f](https://github.com/visulima/visulima/commit/90d6d0fd98d531e1f76de42848da27605509f7d3))
184
+ * **vis:** add deprecation + package-age marshalls ([5547840](https://github.com/visulima/visulima/commit/5547840b5aef9689f4080c77c44d3884309b0601))
185
+ * **vis:** add deps.dev as supply-chain security provider alongside Socket ([7f752d2](https://github.com/visulima/visulima/commit/7f752d250fa3c96d2ec01ca58bddf911586ea949))
186
+ * **vis:** add discover-help subcommand, drop --format from ai root ([36d3990](https://github.com/visulima/visulima/commit/36d3990f7ee6368687af8151454a86181f188511))
187
+ * **vis:** add git-history secret scanning via --history ([bf8b26c](https://github.com/visulima/visulima/commit/bf8b26c5990a7cc4f3630504f18c7cbc7c2e9372))
188
+ * **vis:** add GitLab and JUnit audit report formats ([18e8bc2](https://github.com/visulima/visulima/commit/18e8bc204cc5ce2bac8e83a043ede9cf51d57a70))
189
+ * **vis:** add HTML graph report ([92865a2](https://github.com/visulima/visulima/commit/92865a2973a36f8c43adaf023ecd68e3859d0c68))
190
+ * **vis:** add ignore option to update config and check non-catalog package.json deps ([27e22dd](https://github.com/visulima/visulima/commit/27e22dd7efa30b7d77b8360b9eac9c7245de92a7))
7
191
  * **vis:** add ignore/sortOrder/unsorted/finalNewline/lineEnding to sort-package-json ([50f68df](https://github.com/visulima/visulima/commit/50f68dfc2bc31c082ef98b3ddcf73d3dee0cc080))
192
+ * **vis:** add includeLocked, packageMode, depFields, maturity period to update command ([4cf85e1](https://github.com/visulima/visulima/commit/4cf85e163e392d9dd48c3119c13d3e7a7c9a782e))
193
+ * **vis:** add info command for registry metadata lookup ([6e9c43d](https://github.com/visulima/visulima/commit/6e9c43d480445ff5b932193c44bbd9556cca3180))
194
+ * **vis:** add interactive devcontainer command for creating/editing .devcontainer/devcontainer.json ([9e1665f](https://github.com/visulima/visulima/commit/9e1665fb5a8cee7979a15d6b0a4ba7fa10cfe27c))
195
+ * **vis:** add interactive progress bar and replace CI detection with is-in-ci ([255a1b1](https://github.com/visulima/visulima/commit/255a1b100d0dd4bc614094f292b61fc88bc4ad62))
196
+ * **vis:** add interactive TUI for update and check commands ([3e96e7e](https://github.com/visulima/visulima/commit/3e96e7e68c444368ed91bc0654bbbfb9b857e7c5))
197
+ * **vis:** add LavaMoat allow-scripts parity (run/tripwire/--write/allowBins) ([84218d3](https://github.com/visulima/visulima/commit/84218d392abcde8d76b9b92de7d220be2b08e854))
198
+ * **vis:** add lockfile supply-chain verification ([a8c741d](https://github.com/visulima/visulima/commit/a8c741d80b52b275cde11be188ab22c41a11f5f4))
199
+ * **vis:** add manual typosquat list and scoped brand-jacks ([1eaef11](https://github.com/visulima/visulima/commit/1eaef1154bb3ca18f09cebee290a9857c5171339))
200
+ * **vis:** add migrate verify-graph equivalence verification ([697e2c0](https://github.com/visulima/visulima/commit/697e2c0888c596e4bcee0a12922db76937a29175))
201
+ * **vis:** add navigation and scrollbar to run command task list ([83abf11](https://github.com/visulima/visulima/commit/83abf11670ea924e9df0a966bd9ce1049dcdcb5e))
202
+ * **vis:** add quiet-on-success run mode and harden spawn/history/hadolint ([9b6e3bf](https://github.com/visulima/visulima/commit/9b6e3bf7c764c0962d633bebdd6f16d2e3ae73ed))
203
+ * **vis:** add replay + strict env, finish service registry ([c6db6d5](https://github.com/visulima/visulima/commit/c6db6d54688c43960b5aef9650b3bbc0292c0a58)), closes [#10](https://github.com/visulima/visulima/issues/10) [#16](https://github.com/visulima/visulima/issues/16) [#20](https://github.com/visulima/visulima/issues/20)
204
+ * **vis:** add run --hash-mode override flag ([b9c5efa](https://github.com/visulima/visulima/commit/b9c5efa05b9e9f142e8d52fa9d88ddac10d2d4f0))
205
+ * **vis:** add runtime detection abstraction (phase 0) ([8dca5b2](https://github.com/visulima/visulima/commit/8dca5b235e3f7427937f60e8ec13ab90e4c698af)), closes [#native](https://github.com/visulima/visulima/issues/native)
206
+ * **vis:** add Snyk security provider ([aba3571](https://github.com/visulima/visulima/commit/aba35710719d1325b311bf80d81a91c91e75aa1f))
207
+ * **vis:** add split and import workspace commands ([#680](https://github.com/visulima/visulima/issues/680)) ([4077e1c](https://github.com/visulima/visulima/commit/4077e1c2d018c9e92f820f339967c1c583afd9b5))
208
+ * **vis:** add sponsor notice after successful commands ([86ebd1c](https://github.com/visulima/visulima/commit/86ebd1c3270c3241c76577eae8bb889690b71e53))
209
+ * **vis:** add syncpack migrate adapter and audit ([6e07ae8](https://github.com/visulima/visulima/commit/6e07ae86401f374d76206c81d1c6131bc08618e2))
210
+ * **vis:** add task-level runner tags for capability-gated CI lanes ([8980e03](https://github.com/visulima/visulima/commit/8980e0319e99b4f79c5e049509d7dc2039f2092d))
211
+ * **vis:** add terminal links, use cerebro performance helpers ([abc7f89](https://github.com/visulima/visulima/commit/abc7f8937ce43c8446e422f48e5e307b7d0843b0))
212
+ * **vis:** add toolbox-fs helper utilities ([f34f2aa](https://github.com/visulima/visulima/commit/f34f2aa7a38fec0e13b3b991a3221905d736c1da))
213
+ * **vis:** add TUI lifecycles with dynamic and static terminal output ([d7eeae1](https://github.com/visulima/visulima/commit/d7eeae1e51c4ffa707f7506ef0ed2f7860f37faf))
214
+ * **vis:** add vis generate scaffolding command ([5e0bea1](https://github.com/visulima/visulima/commit/5e0bea179dd93bac8a5663e9d51a843c8f626c1b))
215
+ * **vis:** add vis x file runner (phase 2) ([213fadf](https://github.com/visulima/visulima/commit/213fadf99f2de8126749c317ae3f002f174f39cc))
216
+ * **vis:** add vis-mcp post-command promotion nudge ([9244fad](https://github.com/visulima/visulima/commit/9244fad8a8f9164ce99b2ab3cb771d53f926e788))
217
+ * **vis:** add visx/vx npx-style entry point ([3802695](https://github.com/visulima/visulima/commit/3802695f3a0cf2776aaf706183ed2032324532bd))
218
+ * **vis:** add write guard, watchman backend, vcs hints ([5127d79](https://github.com/visulima/visulima/commit/5127d79ad2aa523760517601f71fdf38571ca4d3))
219
+ * **vis:** added --ignore-release-age ([1767805](https://github.com/visulima/visulima/commit/1767805cb2a46c135a33429edf764f6760737ffc))
220
+ * **vis:** attested keyless-signed remote cache (Sigstore) ([4732610](https://github.com/visulima/visulima/commit/47326103a668ab99fcfc4e21f2c9efeaa5892944))
221
+ * **vis:** audit hardening — ca-cert flag, dep-path walker, report parity ([eb187ab](https://github.com/visulima/visulima/commit/eb187ab4e9ee04357d142c438f428b556a68ff79))
222
+ * **vis:** auto-generate JSON schemas from TypeScript types ([391a3f0](https://github.com/visulima/visulima/commit/391a3f0d253b3b55d02346bbb0dbeb061d8ec06f))
223
+ * **vis:** auto-recover orphaned runners via doctor --fix ([7c68a6e](https://github.com/visulima/visulima/commit/7c68a6e1fd163fdcfb2f4f663f78b5b81cf4df09))
224
+ * **vis:** auto-start declared service deps for vis run with TUI dock ([adeb316](https://github.com/visulima/visulima/commit/adeb3164d29aec6da2eeed03d46fc0502aec5d6a))
225
+ * **vis:** auto-update GitHub Actions, Docker, and GitLab CI references ([9a3c767](https://github.com/visulima/visulima/commit/9a3c7679c1aa981eb889250ddd841b6feb213b55))
226
+ * **vis:** breaking-change UI + interactive picker for ecosystem updates ([75b7e33](https://github.com/visulima/visulima/commit/75b7e33eb9a460036cf8f8feff5197b1fb2db010))
227
+ * **vis:** bump sbom to cyclonedx 1.7 ([904075f](https://github.com/visulima/visulima/commit/904075fd9353e40b593d5a13f53307c584e31da7))
228
+ * **vis:** cache diagnostics, retention, and quiet output style ([9ec307b](https://github.com/visulima/visulima/commit/9ec307b06cec5c3114a6e70abbf1f2346ce61910))
229
+ * **vis:** changelog URLs, docker min-age gate, action advisories, TUI sort ([23d65e1](https://github.com/visulima/visulima/commit/23d65e1f020dd723b900c5d25f9eb384be0bece8))
230
+ * **vis:** clean --empty-packages and staged per-package/cwd tasks ([cdba002](https://github.com/visulima/visulima/commit/cdba002af4714e3e74c1f832919855d0dd7f3a72)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
231
+ * **vis:** close 7 syncpack-parity gaps ([85bc6b1](https://github.com/visulima/visulima/commit/85bc6b169fbc75cc4cc1b43b5bea85e673253f06)), closes [pnpm-workspace.yaml#overrides](https://github.com/visulima/pnpm-workspace.yaml/issues/overrides) [#623](https://github.com/visulima/visulima/issues/623) [#624](https://github.com/visulima/visulima/issues/624) [#625](https://github.com/visulima/visulima/issues/625) [#626](https://github.com/visulima/visulima/issues/626) [#627](https://github.com/visulima/visulima/issues/627) [#628](https://github.com/visulima/visulima/issues/628) [#629](https://github.com/visulima/visulima/issues/629)
232
+ * **vis:** cross-PM dispatch for vis pm (yarn berry, pnpm 11, bun pm) ([fd56b86](https://github.com/visulima/visulima/commit/fd56b86317f4141227814504845f03ce777c0b88))
233
+ * **vis:** declarative task arguments + per-target script mode ([#662](https://github.com/visulima/visulima/issues/662)) ([417ca53](https://github.com/visulima/visulima/commit/417ca5395728a0776cbfcd0122ae21e3159a4c48))
234
+ * **vis:** default inferTargets on with guarded script enrichment ([29cabd1](https://github.com/visulima/visulima/commit/29cabd1763ce915cbfa6aaa85b1c29a020d72b01))
235
+ * **vis:** docker lint/init + ignore-file commands ([#675](https://github.com/visulima/visulima/issues/675)) ([f22c9f3](https://github.com/visulima/visulima/commit/f22c9f34304a41e257f9f0371d1aaa312f90df25))
236
+ * **vis:** docker lint/init, ci-ignore, hadolint + toolbox DI ([#677](https://github.com/visulima/visulima/issues/677)) ([e5b5bd1](https://github.com/visulima/visulima/commit/e5b5bd164ed648341d4e1d655098b72bd040e4ed))
237
+ * **vis:** doctor checks for watch/signal runtime ([d7d53a7](https://github.com/visulima/visulima/commit/d7d53a7f520b64e72aa193e0beacf2722a82a6f4))
238
+ * **vis:** expand devcontainer command with templates, validation, and config properties ([807e730](https://github.com/visulima/visulima/commit/807e730a43f0ea644d016b4f5506706972d2ff41))
239
+ * **vis:** expand nx migrator and add --force overwrite ([d6e5a91](https://github.com/visulima/visulima/commit/d6e5a91c4bc44a34dd770dd0b8298b5017bdd6df))
240
+ * **vis:** expand secrets.config.presets to tag selectors ([77b8d2b](https://github.com/visulima/visulima/commit/77b8d2bbc951d5180753f37a45d2313c01fcf47f))
241
+ * **vis:** expand typed plugin hook surface ([d0784df](https://github.com/visulima/visulima/commit/d0784df2b0c422002ec21c3c8da0002e0ff70dee))
242
+ * **vis:** finish vis-side when:/always:/tokens migration ([3c3c759](https://github.com/visulima/visulima/commit/3c3c75946d716efa5971f6cf1fa9ae8d139d9652))
243
+ * **vis:** first-run info gate for visx/dlx ([53dd31e](https://github.com/visulima/visulima/commit/53dd31e39659d1281d8e94e174475e209bcb8b11))
244
+ * **vis:** group CLI commands into logical categories for help output ([0a4cac8](https://github.com/visulima/visulima/commit/0a4cac859c8edf7aacdacca7b9a03219967d525a))
245
+ * **vis:** harden bootstrap installers + add lint CI ([49ec0a2](https://github.com/visulima/visulima/commit/49ec0a25e76ab5865cd2a2dce49413311fcf389c))
246
+ * **vis:** honor editorconfig in all JSON writers ([859e925](https://github.com/visulima/visulima/commit/859e92533d0349be37c1a750cb80582c14acb715))
247
+ * **vis:** honor project.json[#name](https://github.com/visulima/visulima/issues/name) as the workspace identity ([4a97c92](https://github.com/visulima/visulima/commit/4a97c9203df1398265196161213f1aa5736ea4c0)), closes [package.json#dependencies](https://github.com/visulima/package.json/issues/dependencies)
248
+ * **vis:** honour TURBO_API/TURBO_TOKEN/TURBO_TEAM env vars ([0d4fc8c](https://github.com/visulima/visulima/commit/0d4fc8c1ad617ba27c436e40e520ddcbb19ebeca))
249
+ * **vis:** implement vis sync package-json-fields ([87e1fa1](https://github.com/visulima/visulima/commit/87e1fa11f2be741a768fe0c6c04238427823623a))
250
+ * **vis:** inferred targets, preflight, services ([9697571](https://github.com/visulima/visulima/commit/96975719f12ccaf051452ecc60f07f1df0b5bc69)), closes [#11](https://github.com/visulima/visulima/issues/11) [#21](https://github.com/visulima/visulima/issues/21)
251
+ * **vis:** integrate aube package manager + offline OSV bloom prefilter ([9513e09](https://github.com/visulima/visulima/commit/9513e0930c6fbcdb00e42df2ab9c650194a35eb4))
8
252
  * **vis:** interactive TUI for bare `vis migrate` ([2171441](https://github.com/visulima/visulima/commit/217144190520447ba9fbe66a9a8f0c452469151e))
253
+ * **vis:** interactive TUI graph viewer, enriched sample workspace ([b821f34](https://github.com/visulima/visulima/commit/b821f34b5b125aef107c7bca1b2aab7d84826651))
254
+ * **vis:** lint + fmt orchestrator ([3a78ed7](https://github.com/visulima/visulima/commit/3a78ed709922e6a35648e0d0eb3f41cc49f89b7a))
255
+ * **vis:** list --targets table with type, cache, description ([a480e27](https://github.com/visulima/visulima/commit/a480e27a8d9a938a5225b9ebfda918de6c569f21)), closes [#22](https://github.com/visulima/visulima/issues/22) [#23](https://github.com/visulima/visulima/issues/23)
256
+ * **vis:** migrate command handlers to toolbox.fs and toolbox.process ([c582c74](https://github.com/visulima/visulima/commit/c582c740150a7eab6b34e4eabe68f521471186c1))
257
+ * **vis:** migrate prek hooks to vis ([92fec22](https://github.com/visulima/visulima/commit/92fec22f61d1882eecd78ff139e4632f55ee3e00))
258
+ * **vis:** multi-source codeowners aggregation ([d22df81](https://github.com/visulima/visulima/commit/d22df81214899209be3fd9fa4d83372be97552ef))
259
+ * **vis:** native Rust CLI front-end + nub-parity for x/run ([#697](https://github.com/visulima/visulima/issues/697)) ([88d505b](https://github.com/visulima/visulima/commit/88d505bef74f08a895849e41f26682e684aa67be))
260
+ * **vis:** nx migrator hardening + smart --affected SHA resolution ([631351e](https://github.com/visulima/visulima/commit/631351ef32b9367a37c6ca0931673f0e08c103a9)), closes [VisConfig#defaultBase](https://github.com/visulima/VisConfig/issues/defaultBase)
261
+ * **vis:** offline OSV scanner + unified security.policies ([#632](https://github.com/visulima/visulima/issues/632)) ([6461902](https://github.com/visulima/visulima/commit/646190243bf51bb6df172665d70fd501644e7bc3)), closes [#631](https://github.com/visulima/visulima/issues/631) [#631](https://github.com/visulima/visulima/issues/631) [yarnpkg/berry#6991](https://github.com/yarnpkg/berry/issues/6991)
262
+ * **vis:** OTel plugin, --last-details, per-instance hook errors ([79c660f](https://github.com/visulima/visulima/commit/79c660f92e6982248dacd5e2bba0f113df338baf))
263
+ * **vis:** parse prek.toml via @visulima/fs/toml ([4599680](https://github.com/visulima/visulima/commit/459968089e8968f58edea35c5e2d801cdfbd2913))
264
+ * **vis:** per-package vis.task.ts overlay ([14f6adf](https://github.com/visulima/visulima/commit/14f6adfc37b7ff552629309bd555d1fd3dd317f9)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
265
+ * **vis:** plugin API, task metadata, watch ergonomics, and run polish ([065c0dc](https://github.com/visulima/visulima/commit/065c0dc646f7e2769dcab9c01e0db52b401fcf99)), closes [#324](https://github.com/visulima/visulima/issues/324)
266
+ * **vis:** port sherif lint rules and add migrate sherif command ([243324b](https://github.com/visulima/visulima/commit/243324b440a31831b6c6d93219d8cb3a3ab48495))
267
+ * **vis:** prune workspace lockfile in docker scaffold ([d1c0904](https://github.com/visulima/visulima/commit/d1c090425d130b3e18b6e64e44fe81eb1e08b923))
268
+ * **vis:** rebuild dashboard with Hono SSE + Vite + shadcn/ui ([f9df814](https://github.com/visulima/visulima/commit/f9df814683c6a1c967d8cbe15bee1b13959b5ab7))
269
+ * **vis:** redesign audit HTML report + add --explain AI helper ([6b0ab9f](https://github.com/visulima/visulima/commit/6b0ab9ffe36c732a4ac0c05a4ad9453d51fbe89b))
270
+ * **vis:** redesign dashboard with Nothing-inspired UI ([7cfc81d](https://github.com/visulima/visulima/commit/7cfc81d8592cdfda0086700363dbeac39650d1d7))
271
+ * **vis:** redesign TUI with 3-view architecture and NX-style layout ([72da46f](https://github.com/visulima/visulima/commit/72da46fd9dac1227c0abc80709196e7c9b89c017))
272
+ * **vis:** release features + npm pretrust ([#719](https://github.com/visulima/visulima/issues/719)) ([c19a814](https://github.com/visulima/visulima/commit/c19a8142ccf0bc86ce232c9aaa7f79f3bf7c21f2))
273
+ * **vis:** release manager subsystem ([#679](https://github.com/visulima/visulima/issues/679)) ([0a41889](https://github.com/visulima/visulima/commit/0a418897062a164ad7e8034eab77a7f70a3817e1)), closes [#620](https://github.com/visulima/visulima/issues/620)
274
+ * **vis:** replace inline TUI with full-screen Nx-style interactive task runner ([1409aad](https://github.com/visulima/visulima/commit/1409aad879c713051bba12298a3feb1d5ba852f2))
275
+ * **vis:** replace prek runner with in-process hook dispatcher ([659ba07](https://github.com/visulima/visulima/commit/659ba07fc311c36783e8900188b9753276a961fe))
276
+ * **vis:** rewrite doctor with TUI store and live scan progress ([84f4923](https://github.com/visulima/visulima/commit/84f492376ef9129781464b26a50b1954b7e3b206))
277
+ * **vis:** route dlx/exec through the runtime resolver (phase 1) ([5186df4](https://github.com/visulima/visulima/commit/5186df43a850bc8b0642608643095faa8b1ebc6f))
278
+ * **vis:** route install/add/remove/dedupe through runtime resolver (phase 1) ([8aaa3e1](https://github.com/visulima/visulima/commit/8aaa3e1d8f9ac73debfd6fc81808b570a25a1337))
279
+ * **vis:** route remaining pm verbs through runtime resolver (phase 1) ([e18a44f](https://github.com/visulima/visulima/commit/e18a44f975ce6b744c5e6a9237e056de8a5f230e))
280
+ * **vis:** runtime multi-tool ([#683](https://github.com/visulima/visulima/issues/683)) ([ee84daa](https://github.com/visulima/visulima/commit/ee84daa56434bfb487abccd27e9e2661c0492132))
281
+ * **vis:** scan npm-shrinkwrap.json with precedence ([ae907f1](https://github.com/visulima/visulima/commit/ae907f18e560eed7c80c7738650330909a254148))
282
+ * **vis:** scope banned-deps rules with packages/paths globs ([82fbaf2](https://github.com/visulima/visulima/commit/82fbaf2ffac946f032fc872ee2a428989ebf8c57))
283
+ * **vis:** secure-by-default install/add and lint cleanup ([28df4c4](https://github.com/visulima/visulima/commit/28df4c40504b7414460c57ef563593cfe14c5eeb))
284
+ * **vis:** security check on by default for update, add --no-security ([e8db4c8](https://github.com/visulima/visulima/commit/e8db4c88a4c64038ca00c46b2a63083fee224637))
285
+ * **vis:** set terminal title to project name on startup ([204622a](https://github.com/visulima/visulima/commit/204622acd943ccad738b33f5e945190e38f5839f))
286
+ * **vis:** show flakiness table on successful runs too ([085b219](https://github.com/visulima/visulima/commit/085b219a4472ceb0fd2f507c7bc3b3b1780a014a))
287
+ * **vis:** skip ignored paths in sort-package-json ([74215c0](https://github.com/visulima/visulima/commit/74215c06fd0e0f562b97e803a95b9e662e9980e2)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
288
+ * **vis:** source-mapped, code-framed task failure rendering ([95b2343](https://github.com/visulima/visulima/commit/95b2343d7299ab8537c5a4ef0205ddeee9146c58))
289
+ * **vis:** split ai into nested subcommands, add discovery, unify cache type filter ([51d2b5e](https://github.com/visulima/visulima/commit/51d2b5ee9fdfcee0cbd4d5e5b9f2f1d08f9ef2ea))
290
+ * **vis:** support extends in vis.config.ts ([70d7b36](https://github.com/visulima/visulima/commit/70d7b36b362b0a7340e4717bdae12db355bf05e9))
291
+ * **vis:** surface leftover migration references in vis doctor ([ebd3a48](https://github.com/visulima/visulima/commit/ebd3a4841a736209cdbf2641ac6e27ec2e69f886))
292
+ * **vis:** surface peer-dependency hint after install ([4a140b0](https://github.com/visulima/visulima/commit/4a140b0d8e80f3dda82d0af645272e1149867d02))
293
+ * **vis:** surface retried-but-passed tasks and add CI log grouping ([2bdceaa](https://github.com/visulima/visulima/commit/2bdceaacf3f69c99a08c9e1b3b6eda0ee3528cd2))
294
+ * **vis:** task-runner feedback fixes + CI hook skip ([#696](https://github.com/visulima/visulima/issues/696)) ([450412c](https://github.com/visulima/visulima/commit/450412cb92eee1397edaa46447128b1487d06369))
295
+ * **vis:** translate remote prek hooks, file filters, and deps ([2705c8f](https://github.com/visulima/visulima/commit/2705c8f99e287bb93d0865361f376bafa8043736))
296
+ * **vis:** translate syncpack isBanned versionGroups to policy.bannedDeps ([f95d01b](https://github.com/visulima/visulima/commit/f95d01bda6a5add3f7fa0d48c1c955942b5c7fc3))
297
+ * **vis:** typed errors for vis config loader ([0dce143](https://github.com/visulima/visulima/commit/0dce143247ba695eb7fa46f3b59c709c473bdc57))
298
+ * **vis:** update secrets command for new scanner API + docs ([00bb0f0](https://github.com/visulima/visulima/commit/00bb0f057237e0ce88043f2c120d23b84f59d818))
299
+ * **vis:** use concurrent process runner with bounded output buffering ([901c02f](https://github.com/visulima/visulima/commit/901c02fc5a5e131c1d3316c869b321390de901a4))
300
+ * **vis:** user-defined customTypes for vis lint ([51fa21f](https://github.com/visulima/visulima/commit/51fa21f4193913f64e4abcd1dc9f97322dd21553))
301
+ * **vis:** validate runtime selection in run (phase 1) ([efaa952](https://github.com/visulima/visulima/commit/efaa95251519ad4ed3db77ed42421fd85756dbb2))
302
+ * **vis:** vis hook run/list/validate, migrate --dry-run, runner extras ([bce23d9](https://github.com/visulima/visulima/commit/bce23d912790f9fc2eafa7ce4596e66d0a70e97e))
303
+ * **vis:** watch keybinds and timeout escalation ([3181bb5](https://github.com/visulima/visulima/commit/3181bb50986b4d7e924a2d5b053a9883228ab08f))
304
+ * **vis:** wire marshall env-var matrix into install/audit/check + add keys-refresh ([e1e2d6c](https://github.com/visulima/visulima/commit/e1e2d6c2dc81cfdf442b6f75b6497150b368565f))
305
+ * **vis:** worktree-aware shared task cache with --scope flag ([4328542](https://github.com/visulima/visulima/commit/4328542a9abfa16a40fa62cfe9e8d688eb0d9d81))
306
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
9
307
 
10
308
  ### Bug Fixes
11
309
 
310
+ * add tabular to dep ([92d578e](https://github.com/visulima/visulima/commit/92d578e7e2ce558f5e8947bd1d9c2b1da879e351))
311
+ * added [@bomb](https://github.com/bomb).sh/tab ([8be4063](https://github.com/visulima/visulima/commit/8be40636caff4e7eb4776869bb71e11cc6c76298))
312
+ * added missing deps ([de0522f](https://github.com/visulima/visulima/commit/de0522f18286b23489cf6a51007ef3a4e7c5fd76))
313
+ * added tabular to the excluded packges ([20799d6](https://github.com/visulima/visulima/commit/20799d66f3cf73381b7fd3e7bd8776401eef399f))
314
+ * **ci:** address review findings — injection, perms, defaults, fetch hardening ([0192278](https://github.com/visulima/visulima/commit/0192278b63a0178262c08a3d77fa0e832d085147))
315
+ * **ci:** publish native addons via local semantic-release plugin ([974beb2](https://github.com/visulima/visulima/commit/974beb2d021e7b2afc86b958bd2137be88d2f464))
316
+ * declare libc on linux binding subpackages ([078b31f](https://github.com/visulima/visulima/commit/078b31f1a9029487c86651e75ecdad70f02b37e8)), closes [npm/cli#4828](https://github.com/npm/cli/issues/4828)
12
317
  * fixed spacing ([1544af2](https://github.com/visulima/visulima/commit/1544af21294edaaf5799846e6c6063c86def3d29))
318
+ * moved deps to dev dep ([62a47f2](https://github.com/visulima/visulima/commit/62a47f29b182b202c9956819f3b4a32da38c14cd))
319
+ * **release:** patch NAPI version-check string and ship fresh loader on release ([0676e33](https://github.com/visulima/visulima/commit/0676e336f453c9ae38c9f3a5fbbb675f9bff7ea0))
320
+ * resolve eslint errors in fmt, jsdoc-open-api, vis ([43bf450](https://github.com/visulima/visulima/commit/43bf45081e46b042a08b555c3fcb60391b82d06f))
321
+ * resolve failing tests across multiple packages ([2b4b6f0](https://github.com/visulima/visulima/commit/2b4b6f04169b60fdc4cf77b293015436a272c0fb))
322
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
323
+ * **task-runner:** resolve workspace .bin binaries in spawned tasks ([69bd30c](https://github.com/visulima/visulima/commit/69bd30c95fb1e70aba1f7c5b4d3d17b8f0465c11))
324
+ * **task-runner:** tolerate dev-only dependency cycles ([#664](https://github.com/visulima/visulima/issues/664)) ([9ad384e](https://github.com/visulima/visulima/commit/9ad384e34927b40823ae104d6b05a581dcd05705)), closes [#411](https://github.com/visulima/visulima/issues/411)
325
+ * **tooling:** resolve eslint and formatting issues ([399d292](https://github.com/visulima/visulima/commit/399d29282be5b29bb26b4e5b24d45e2a6cdeeca3))
326
+ * **tsconfig:** add node types and fix implicit any parameter ([1744d82](https://github.com/visulima/visulima/commit/1744d82a07fca03f2e6ff660b918e9b2623acf69))
327
+ * **tui:** apply upstream ResizeObserver NaN guard and measurement extraction ([bcd4fd1](https://github.com/visulima/visulima/commit/bcd4fd16e7e0fda7d3de09657dfe76ce46fa370a))
328
+ * **tui:** inline component and hook barrel exports in ink entry ([1cf8dd2](https://github.com/visulima/visulima/commit/1cf8dd25c91a2001268fb9d964d95df649bf7832))
329
+ * **tui:** prevent interactive apps from exiting on beforeExit ([449e84c](https://github.com/visulima/visulima/commit/449e84ca739d9dd48728f40ad9514359306f9527))
330
+ * **vis,secret-scanner:** windows absolute-path handling ([b1a3d67](https://github.com/visulima/visulima/commit/b1a3d673b3fe4f918c44b1cd33b62bf15d3687fc))
331
+ * **vis,tui:** fix 10 code review issues across TUI components ([3410347](https://github.com/visulima/visulima/commit/34103473cb661cca4187661e59b396eecff1bdec))
332
+ * **vis,tui:** validate directory in detectPm and use useLayoutEffect in StaticRender ([de53e9b](https://github.com/visulima/visulima/commit/de53e9b7a944a3778f0d10f1daa1653a1063d9b3))
333
+ * **vis:** 1 bug fix + 2 perf ([fdf3eb8](https://github.com/visulima/visulima/commit/fdf3eb86c19b471fd9891721e83fff7578df1da0))
334
+ * **vis:** add explicit type annotation for isolatedDeclarations compatibility ([235d389](https://github.com/visulima/visulima/commit/235d389f8fd3ffa4de2d867eaff781dccd99be20))
335
+ * **vis:** add explicit type annotations for isolatedDeclarations compatibility ([5a5f35c](https://github.com/visulima/visulima/commit/5a5f35cd0e92aff38f4c7bd8f31dda5e813ff568))
336
+ * **vis:** add missing space and drop extra line in update progress UI ([db1bac1](https://github.com/visulima/visulima/commit/db1bac1ecff50eac682a5cb33958cd30e4da2bf6))
337
+ * **vis:** address audit findings on dashboard + visx + defineConfig refactor ([1eb8ae5](https://github.com/visulima/visulima/commit/1eb8ae5820d425780b9f5c05f153b68fe74a8a36))
338
+ * **vis:** address coderabbit feedback on ecosystem updates ([#654](https://github.com/visulima/visulima/issues/654)) ([049f0b4](https://github.com/visulima/visulima/commit/049f0b40aa890978b43104cd15f238800d62d981))
339
+ * **vis:** address dlx first-run gate review comments ([6b833d1](https://github.com/visulima/visulima/commit/6b833d105f0827a3a41140e646d3b548509ccd2d))
340
+ * **vis:** address ecosystem-update review findings ([88ac870](https://github.com/visulima/visulima/commit/88ac8703eaab7ad9741aa94a4addf77d618a2464))
341
+ * **vis:** address review findings on services + inference ([c191cbc](https://github.com/visulima/visulima/commit/c191cbc3661a2885488daa44554b642e64785e52))
342
+ * **vis:** address review findings on watch UX bundle ([edee703](https://github.com/visulima/visulima/commit/edee7038fe23a488791682dd8ce5c469b40a3e8c))
343
+ * **vis:** align native binding version check with package version ([4075bae](https://github.com/visulima/visulima/commit/4075bae7c37a4e34fc1416cba7bad1436e3f8090))
344
+ * **vis:** apply pnpm !-exclusions and root .gitignore in workspace resolver ([b08a1be](https://github.com/visulima/visulima/commit/b08a1be4391e362dca4f935541362bae01b859d9)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
345
+ * **vis:** bump stale workspace dep versions so Nx links them ([448ce87](https://github.com/visulima/visulima/commit/448ce87dd146bd696fd0cb0b5ad6deabb7ffc9d6))
346
+ * **vis:** bundle react stack to dedupe react copies ([#672](https://github.com/visulima/visulima/issues/672)) ([fc35522](https://github.com/visulima/visulima/commit/fc35522a8414922c0b99a60c2f13d73e4767a6ac))
347
+ * **vis:** clean up dashboard audit nits — typos, dead code, redundant calls ([46a5c0e](https://github.com/visulima/visulima/commit/46a5c0ed8116f79c0307d51a1eb7c9d8ae419dde))
348
+ * **vis:** clear lint findings in hook dispatch, builtins, and util ([d05204c](https://github.com/visulima/visulima/commit/d05204c9a88d300b2b4ba3c2dd4169a9860a1d86))
349
+ * **vis:** coalesce wheel-burst input and group sort-package-json TUI ([97aa78b](https://github.com/visulima/visulima/commit/97aa78bc445fc234e1473986a867e70f8d15d7b4))
350
+ * **vis:** correct flag name in conflicting-schema error (--projects) ([#667](https://github.com/visulima/visulima/issues/667)) ([c56122b](https://github.com/visulima/visulima/commit/c56122bc6bc654e4a9e118e96b9ba852bc9b784f))
351
+ * **vis:** declare missing editorconfig field on VisConfig type ([4a33428](https://github.com/visulima/visulima/commit/4a334285b396ee41a1dbe507eb27fb2894055463))
352
+ * **vis:** disable class-methods-use-this for tui lifecycle ([182c972](https://github.com/visulima/visulima/commit/182c9727dcbef66a8609a864133fb2869bd2d9c4))
353
+ * **vis:** drop duplicate --no-color global option ([c50879a](https://github.com/visulima/visulima/commit/c50879a7ab2b195b4decf81d2cca5d3a39b8f137))
354
+ * **vis:** drop pinned packageManager from release test fixtures ([d8c6a35](https://github.com/visulima/visulima/commit/d8c6a35326b12d5785cc8060a5aadb4cdc3d75be))
355
+ * **vis:** dump successful task output after TUI exit ([ab51784](https://github.com/visulima/visulima/commit/ab517843910dadf543575c57466c5da01ef9401d))
356
+ * **vis:** enhance PATH inside ephemeral service bootstrap config ([30c6364](https://github.com/visulima/visulima/commit/30c6364cceff0d3c48fe5e7e4a996b77a1ed224c))
357
+ * **vis:** escape control chars in shell history ([86471d2](https://github.com/visulima/visulima/commit/86471d27d68d9790eae005e5d2dfe561efbae700))
358
+ * **vis:** exclude native binding deps from unused dependency check ([0e8409e](https://github.com/visulima/visulima/commit/0e8409e66676803fb1494fa32df64cdc44969966))
359
+ * **vis:** exit explicitly after cli.run settles ([2dc28e2](https://github.com/visulima/visulima/commit/2dc28e2d0d735526c9c551aeae72af63a2deee4d))
360
+ * **vis:** expand {projectRoot}/{projectName} tokens in task outputs ([d32a206](https://github.com/visulima/visulima/commit/d32a206dde082276f3fe06c032d07373a0c9a59e))
361
+ * **vis:** expand StagedConfig type and support Bun object-form workspaces ([af810bc](https://github.com/visulima/visulima/commit/af810bc10a512ec0ed390152e9d59ece681f7360))
362
+ * **vis:** expand windows 8.3 short names in workspace containment ([dbfe9b1](https://github.com/visulima/visulima/commit/dbfe9b152154b1f7526d7e0cbfd48cd0d94e6cc0))
363
+ * **vis:** fall back to package.json deps when pnpm/bun have no catalogs ([8da8e19](https://github.com/visulima/visulima/commit/8da8e190a40abc22e18e3af740a594edc8cc382d))
364
+ * **vis:** filter truncated SBOM hashes that fail CycloneDX 1.6 schema validation ([34c7b22](https://github.com/visulima/visulima/commit/34c7b2268f68eac1095835aa65e21f998c3a63dc))
365
+ * **vis:** fix broken lib-a dep in sample workspace example ([538b7d4](https://github.com/visulima/visulima/commit/538b7d42d0b09313ff87342143f0c7502788092b))
366
+ * **vis:** fix failing tests across tui, catalog, and pm-runner modules ([1c29189](https://github.com/visulima/visulima/commit/1c29189ad39061085cc10ca316d1128d52e88811))
367
+ * **vis:** fix tips CI test by resetting modules before doMock ([c578ef5](https://github.com/visulima/visulima/commit/c578ef55c1176397448136c8e190992cdf50eb08))
368
+ * **vis:** fix Windows-only release test failures ([158a6a3](https://github.com/visulima/visulima/commit/158a6a39a69d3a59bba9503c1fbcde19048378fc))
369
+ * **vis:** fixed types ([ff39190](https://github.com/visulima/visulima/commit/ff39190d92644bf592cbb1df81d69c224ede2bff))
370
+ * **vis:** forward config.namedInputs to the task runner ([02201de](https://github.com/visulima/visulima/commit/02201ded24b2881df8d6f7f0e6c573f4bd3123dc))
371
+ * **vis:** group failed tasks in ci log output ([0fb8678](https://github.com/visulima/visulima/commit/0fb8678d9b66c6b587fb113310cfe9abce9aa6d0))
372
+ * **vis:** harden dashboard server, metrics, and live UI ([be4c6a1](https://github.com/visulima/visulima/commit/be4c6a134410ef9e2b893d57ee6e2c1b163c4b88))
373
+ * **vis:** harden dlx first-run gate per review ([a370a57](https://github.com/visulima/visulima/commit/a370a579c4df1f6852bd9591701ce85ff674401c))
374
+ * **vis:** harden extraTypes per review ([8b56f48](https://github.com/visulima/visulima/commit/8b56f48fce55ac133bd20f181133ad17e06a9825))
375
+ * **vis:** harden marshall pipeline and failure-render ANSI stripping ([22dc431](https://github.com/visulima/visulima/commit/22dc431ac3e841a2a342f297673b4d5f1a0a8a43))
376
+ * **vis:** harden vis generate edge cases and migrate moon templates ([ed37000](https://github.com/visulima/visulima/commit/ed3700059e34c2fb563890edf49fd6050ddfad37))
377
+ * **vis:** hash expanded command so token-driven cache keys vary per affected set ([636b1ac](https://github.com/visulima/visulima/commit/636b1ac843381cf7df3fec844431ec0123b5f565))
378
+ * **vis:** improve devcontainer TUI scrolling, mount suggestions, and review fixes ([6bb03da](https://github.com/visulima/visulima/commit/6bb03dae9f48d9a6461bdfce2ad29da3f16c4ecf))
379
+ * **vis:** isolate git env vars in staged integration tests ([18900a1](https://github.com/visulima/visulima/commit/18900a126bfb16f6d70ab81cbe5248720b03ac40))
380
+ * **vis:** isolate loadNpmrc test from host ~/.npmrc ([a7016d6](https://github.com/visulima/visulima/commit/a7016d6ce8770c1d462ebfb9b2dab530fcedac5d))
381
+ * **vis:** key doctor cache on the resolved npm lockfile ([628a21d](https://github.com/visulima/visulima/commit/628a21d62285d6299fe399409783c297c64f9e1b))
382
+ * **vis:** make write guard github/gitlab asymmetry explicit ([0202fd9](https://github.com/visulima/visulima/commit/0202fd99e920173cbbb5e9711bb2df9528d25e42))
383
+ * **vis:** measure update list viewport for scrollbar ([4451cd3](https://github.com/visulima/visulima/commit/4451cd3726598ad1848c61800410f6d3146ec817))
384
+ * **vis:** move default task cache out of source-bearing .vis/ ([b76ee30](https://github.com/visulima/visulima/commit/b76ee303c94eb69cccb40fe2f49afb8c7569630b))
385
+ * **vis:** name the actual lockfile in npm pruner messages ([c783683](https://github.com/visulima/visulima/commit/c78368392930c3eafdb6e0c056535217665b2f07))
386
+ * **vis:** narrow secret-scanner baseline to string path in secrets handler ([9bc36e9](https://github.com/visulima/visulima/commit/9bc36e9e780a25d542417361d31403613d4c2c5a))
387
+ * **vis:** overhaul TUI with pail InteractiveManager and tabular layout ([ecab9ff](https://github.com/visulima/visulima/commit/ecab9ffc61531b76a58b89202401f1266a5decea))
388
+ * **vis:** parse pnpm v11 multi-document lockfiles ([94024b6](https://github.com/visulima/visulima/commit/94024b65310ab70ef4a3d4fed93f4987203f4a57))
389
+ * **vis:** preserve probe error on close failure and clamp formatAge ([f1d71d6](https://github.com/visulima/visulima/commit/f1d71d63a5432fc2ed8c09c9a0a87e4e59b83b0b))
390
+ * **vis:** prune npm-shrinkwrap.json into the Docker context ([ecfb54c](https://github.com/visulima/visulima/commit/ecfb54c7c515a14509c71458468c99c000b07d21))
391
+ * **vis:** raise timeout for exposed-files preset tests to 15s ([433db73](https://github.com/visulima/visulima/commit/433db7319ecf4720664bc199582d571ea6a3630b))
392
+ * **vis:** read bun minimumReleaseAge from bunfig.toml, not package.json ([78fe9f4](https://github.com/visulima/visulima/commit/78fe9f40452ddfc93d4bd3d66ec49f269b6085e6))
393
+ * **vis:** reconcile run status-line task counts ([8ebee32](https://github.com/visulima/visulima/commit/8ebee32912227176ff1f361f37b2ea856d780895))
394
+ * **vis:** recover -- passthrough in generate and create commands ([688e6a9](https://github.com/visulima/visulima/commit/688e6a9b58766b341cc510d048669b753a30345a))
395
+ * **vis:** regenerate vis-config schema for the runtime field ([1de4ef0](https://github.com/visulima/visulima/commit/1de4ef0f50b6620f981b081b6ff746306b948a76))
396
+ * **vis:** release stdin and label persistent quits in dynamic TUI ([7350547](https://github.com/visulima/visulima/commit/7350547363fcbd4ec4d845d2194c22188605f34f))
397
+ * **vis:** render task failure block lazily at the consumer ([cb35aa7](https://github.com/visulima/visulima/commit/cb35aa78550408b462e9a1ec2af3eddb65a27b87))
398
+ * **vis:** replace editorconfig with ec4rs binding ([3a83ed0](https://github.com/visulima/visulima/commit/3a83ed0f9de3e4202dfa51cf9bf4e6d8c3b0134d))
399
+ * **vis:** require explicit opt-in to apply ecosystem updates ([#663](https://github.com/visulima/visulima/issues/663)) ([90cf12d](https://github.com/visulima/visulima/commit/90cf12dffa9dd53cc21849e9a41488dfbe2c8221))
400
+ * **vis:** resolve eslint errors ([b9ee58b](https://github.com/visulima/visulima/commit/b9ee58b179588fa9f3c08178f26dac7cc8e7f6c5))
401
+ * **vis:** resolve lint + Windows test failures from [#655](https://github.com/visulima/visulima/issues/655) ([#673](https://github.com/visulima/visulima/issues/673)) ([de2586d](https://github.com/visulima/visulima/commit/de2586dd1e04b8c61cc9f6fff05ecb666881253d))
402
+ * **vis:** resolve test failures across multiple modules ([5728d8a](https://github.com/visulima/visulima/commit/5728d8aabae0fb0bb8c64527f61b8663b73148f2))
403
+ * **vis:** resolve tsc errors in create handler and watch keybinds ([033760d](https://github.com/visulima/visulima/commit/033760d83c8a7252dadbd716ecd04f80f54816e9))
404
+ * **vis:** resolve type errors across commands, tui and utils ([187d460](https://github.com/visulima/visulima/commit/187d4607732799ac1711d2097f90666674850c75))
405
+ * **vis:** run persistent tasks under a PTY in the live TUI ([77b2a26](https://github.com/visulima/visulima/commit/77b2a263b9563f8ee894671f910e013f2c95077a))
406
+ * **vis:** stop corepack prompt hanging release pm probes ([ddb5f2d](https://github.com/visulima/visulima/commit/ddb5f2de908ffe187162ad13d3f1cd7024a4b6c8))
407
+ * **vis:** stop Windows test hangs; start fallow dead-code cleanup ([e87ca70](https://github.com/visulima/visulima/commit/e87ca708223560775c2bd9ec7a59e1aa5853b5de))
408
+ * **vis:** support Bun object-form workspaces in migration catalog handling ([f44a17f](https://github.com/visulima/visulima/commit/f44a17fe7836febfac4012f744438df70f36af6b))
409
+ * **vis:** tighten update command view and reduce duplicated security warnings ([4002b43](https://github.com/visulima/visulima/commit/4002b4379aadd00bac5c5e3d9c4eb5796b9d7b3d))
410
+ * **vis:** TUI polish - compact split, responsive layout, double output fix ([e0487ea](https://github.com/visulima/visulima/commit/e0487ea735ecc2734046ccaedc9588a8ca165674)), closes [#1e1e1e](https://github.com/visulima/visulima/issues/1e1e1e)
411
+ * **vis:** unbreak full build — exclude variable-import modules from dynamic-import-vars ([#712](https://github.com/visulima/visulima/issues/712)) ([29d46eb](https://github.com/visulima/visulima/commit/29d46eb719de11ab8f09e5303748264607b04fe3)), closes [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697)
412
+ * **vis:** use camelCase option names for cerebro CLI flags ([7f187a5](https://github.com/visulima/visulima/commit/7f187a557eb85ced5e2995b4e1a7cebc61484c45))
13
413
  * **vis:** use default colorize import ([2b95ad2](https://github.com/visulima/visulima/commit/2b95ad28207e699161ed201a43f175a630a06c61))
414
+ * **vis:** use platform-aware PATH delimiter in toolchain detection ([0a1294f](https://github.com/visulima/visulima/commit/0a1294f3bcf9265e6908e15dfdcffb439b5f0e81))
415
+ * **vis:** version the packument cache so stale entries can't blind marshalls ([6741f55](https://github.com/visulima/visulima/commit/6741f551ed9c1a28a2184672ed644dd06344c93b))
416
+ * **vis:** warm default ruleset for exposed-files preset tests ([9c76250](https://github.com/visulima/visulima/commit/9c76250d2ee6e8e2be878e5dcfb149d38126d60d))
417
+ * **vis:** wire s1ngularity into the vis inspect dispatch ([0e355eb](https://github.com/visulima/visulima/commit/0e355eb44acfcf50caf09f7b0954038def735278))
418
+ * **vis:** wrap native crate-type array to satisfy toml lint rule ([9470654](https://github.com/visulima/visulima/commit/94706547342291197afb8babd5d2929ae9e0bb9b))
419
+
420
+ ### Performance Improvements
421
+
422
+ * **vis:** fast-path local .bin in exec command ([#716](https://github.com/visulima/visulima/issues/716)) ([dec9d37](https://github.com/visulima/visulima/commit/dec9d37829ded30c7be0c0c9d4649f726b8fbe94))
423
+ * **vis:** skip heap-tuning re-exec for light commands (~290ms) ([885aebe](https://github.com/visulima/visulima/commit/885aebe0993210727f82918cb0474e14a8414ae6))
424
+ * **vis:** wrap immutable TUI components with StaticRender ([00e47e9](https://github.com/visulima/visulima/commit/00e47e9f7a6c562570e0b090b7940389451aa1ef))
425
+
426
+ ### Documentation
427
+
428
+ * re-scope RFCs against what task-runner/vis already ship ([d6cf42c](https://github.com/visulima/visulima/commit/d6cf42c964b738c9872fb205b8c90b99bc7655e0))
429
+ * **task-runner,vis:** add nub MIT attribution to ported native code ([9305f59](https://github.com/visulima/visulima/commit/9305f592da38dd13a179ef1af75fb0c8f5d84693))
430
+ * **vis:** add AI integration guide ([a6dbbe0](https://github.com/visulima/visulima/commit/a6dbbe0bf8c03519764ff41da9efdd4cb4439b77))
431
+ * **vis:** add ai/list pages, stub 18 commands, refresh flags ([71b81ca](https://github.com/visulima/visulima/commit/71b81ca8704548bca0ec33437854476eb425c411))
432
+ * **vis:** add MARSHALL_DISABLE_S1NGULARITY to shell-alias guide ([fee4979](https://github.com/visulima/visulima/commit/fee4979338cd255ee5c4ff1e52e99e545695e4d7))
433
+ * **vis:** add migration sources to credits section ([2caddce](https://github.com/visulima/visulima/commit/2caddcea6755bdc73780b559243cc27d4f2d48f7))
434
+ * **vis:** add vltpkg/security-archive attribution ([019d6fd](https://github.com/visulima/visulima/commit/019d6fd4d4426991f2fb31450f72616b14874aff))
435
+ * **vis:** correct and complete command reference ([b8c6c11](https://github.com/visulima/visulima/commit/b8c6c11e289c509a7d479e2371d8df63b710ce9b))
436
+ * **vis:** correct cold-start profile with measured findings ([d02a8c1](https://github.com/visulima/visulima/commit/d02a8c1f2212ce61a5ecf9f396976f1031996557))
437
+ * **vis:** correct vis generate partial detection and lock CLI surface ([45b40a0](https://github.com/visulima/visulima/commit/45b40a072ffd61274309b3dbe63a3413e764cb9d))
438
+ * **vis:** cover template introspection in AI guide and skill ([7763283](https://github.com/visulima/visulima/commit/7763283dfd0f94dc8ef25800fa9f48e6d7888c8e))
439
+ * **vis:** document --last-commit and nested hook/migrate/cache commands ([a1f14d7](https://github.com/visulima/visulima/commit/a1f14d7ff5c1bfa2b038501f3c83c458746d3f31))
440
+ * **vis:** document doctor command and Phase 2 watch/signal flow ([4e66350](https://github.com/visulima/visulima/commit/4e663505be135666757d9e90bbfd033f66466220)), closes [doctor#runtime](https://github.com/visulima/doctor/issues/runtime)
441
+ * **vis:** document json deps, sync fields, post-sort flags ([d244ddd](https://github.com/visulima/visulima/commit/d244ddd2b2e88d53e756fef57e4024cd46a57430))
442
+ * **vis:** document layered configuration ([9a0f303](https://github.com/visulima/visulima/commit/9a0f3037f94992887e3551fbcd72f2dc73260305))
443
+ * **vis:** document lockfile supply-chain verification ([05c338f](https://github.com/visulima/visulima/commit/05c338f55f7069ed59018e64be3d24016ab3fb66))
444
+ * **vis:** document missing cache subcommands and run flags ([cf093a1](https://github.com/visulima/visulima/commit/cf093a1879ff414d0500ac91d76bba98352ed97e))
445
+ * **vis:** document new update command options and configuration ([3e72240](https://github.com/visulima/visulima/commit/3e72240dbddebb3abf896a6c941e713ba460a73d))
446
+ * **vis:** document patchedDependencies supply-chain check ([b373960](https://github.com/visulima/visulima/commit/b373960d6d7dc38db9eeb8437cec33d47f9102ab))
447
+ * **vis:** document s1ngularity marshall in add/update/inspect ([6a14d5c](https://github.com/visulima/visulima/commit/6a14d5c190a6125817abe9c3e35afde87893228a))
448
+ * **vis:** document vis lint and mark syncpack item 6 shipped ([73cbd44](https://github.com/visulima/visulima/commit/73cbd4457810a91ecce99856522904885e80c4d6))
449
+ * **vis:** mark `${affected.files}` token wiring as shipped ([e4d306e](https://github.com/visulima/visulima/commit/e4d306e5ddd1eba30a404bf3d03efc5d976f0e9a)), closes [#6](https://github.com/visulima/visulima/issues/6)
450
+ * **vis:** mark syncpack ports shipped, link [#622](https://github.com/visulima/visulima/issues/622) ([2fdb8de](https://github.com/visulima/visulima/commit/2fdb8de9d1b6946208a34a4da491918820f8c815))
451
+ * **vis:** mention ecosystem updates in README and ci-cd guide ([1577e95](https://github.com/visulima/visulima/commit/1577e95accc4a91a67ece2c7a25ad1a8b26bc784))
452
+ * **vis:** mention TURBO_API fallback in help text and migrate hint ([f9bd7ac](https://github.com/visulima/visulima/commit/f9bd7acd7a53837e40376f9b0dcf54040bbc50a1))
453
+ * **vis:** spec for layered configuration ([bcd830d](https://github.com/visulima/visulima/commit/bcd830dc9f1ed7e9dfc39f91649f839afe29bd87))
454
+
455
+ ### Styles
456
+
457
+ * cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
458
+ * cs fixs ([0666662](https://github.com/visulima/visulima/commit/066666293c50cde41c796dc38b4b62c48531a3c0))
459
+ * **vis:** clear pre-existing eslint findings in run handler ([ba423ad](https://github.com/visulima/visulima/commit/ba423adad677c2a9ffb6051743e463a33cb44541))
460
+ * **vis:** prettier/eslint conformance sweep ([dd200bd](https://github.com/visulima/visulima/commit/dd200bd84c022f5fd8819ce23bab2c1c4cace1ed))
14
461
 
15
462
  ### Miscellaneous Chores
16
463
 
464
+ * add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
465
+ * added [@bomb](https://github.com/bomb).sh/tab to exclude ([6e3839e](https://github.com/visulima/visulima/commit/6e3839e5973bac479d6b2e0cb2c3d3c59db3d416))
466
+ * added fixtures to prettier ignore ([13bda29](https://github.com/visulima/visulima/commit/13bda2942d5d95fedeec7c07937fdfc37cf960c7))
17
467
  * added missing version key ([036d86e](https://github.com/visulima/visulima/commit/036d86e6cfa078e4f651327f630cec721f1bbc47))
468
+ * added og images ([02d9d1e](https://github.com/visulima/visulima/commit/02d9d1e47be3ce75679ea89e857dc4e4bfe4946b))
469
+ * **api-platform:** apply pending lint and source updates ([3fb0043](https://github.com/visulima/visulima/commit/3fb0043a4cf35f752ca89a09a077100ae0142da8))
470
+ * apply linting and formatting fixes across packages ([5d150a5](https://github.com/visulima/visulima/commit/5d150a578f9ce861c791843c683deeb849b774a9))
471
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
472
+ * catalog refresh + task-runner binding bump to 1.0.0-alpha.8 ([ff4548a](https://github.com/visulima/visulima/commit/ff4548a5678c992048a57e73c310757733c04756))
473
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
474
+ * commit pnpm-lock and vis syncpack roadmap ([5138981](https://github.com/visulima/visulima/commit/5138981ee04b45900c6cf1ba41f8e18025d4ba63))
475
+ * **deps:** bump rust crates to current majors ([3a1d9bb](https://github.com/visulima/visulima/commit/3a1d9bb7f6e2c6b2d3862e212ae62707d60815cc))
476
+ * **fallow:** resolve dead-code findings ([c4125d5](https://github.com/visulima/visulima/commit/c4125d53e03ac9d90115399634535991927a96cc))
477
+ * fixed build ([ec156bf](https://github.com/visulima/visulima/commit/ec156bf08859e81186b74533610357d85c38f64e))
478
+ * ignore sample-workspace .vis dirs and refresh license artifact ([0f88438](https://github.com/visulima/visulima/commit/0f884380bcc7b25ac0beec5994256cc5b956a167))
479
+ * prettier sweep + catalog refresh ([5c7a610](https://github.com/visulima/visulima/commit/5c7a610d9b33d6df3eb3d3ba77b79759241ee1a4))
480
+ * re-enable antfu/if-newline in vis and secret-scanner ([bcd84de](https://github.com/visulima/visulima/commit/bcd84de019b60f6bc474852e7ae6b7da822a9185))
481
+ * re-enable jsdoc/match-description in api-platform and tighten config docs ([4ecaa31](https://github.com/visulima/visulima/commit/4ecaa315064cdd798af1ea1296be1fe52967bf9a))
482
+ * refresh generated license bundles and disposable-domain stats ([a389f38](https://github.com/visulima/visulima/commit/a389f38484788aafa8ba9b698e2dd5805a982d98))
483
+ * **release:** @visulima/vis@1.0.0-alpha.1 [skip ci]\n\n## @visulima/vis 1.0.0-alpha.1 (2026-03-26) ([2c8eb1e](https://github.com/visulima/visulima/commit/2c8eb1ede395c612fddd31317c518215f1e4ccf9))
484
+ * **release:** @visulima/vis@1.0.0-alpha.10 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.9...@visulima/vis@1.0.0-alpha.10) (2026-04-30) ([b50bc57](https://github.com/visulima/visulima/commit/b50bc577c90122fd780bd1950f5fbc8519f5d44d))
485
+ * **release:** @visulima/vis@1.0.0-alpha.11 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.10...@visulima/vis@1.0.0-alpha.11) (2026-05-04) ([4ce09cd](https://github.com/visulima/visulima/commit/4ce09cdab8c130f7902ff2678685762d2b106172))
486
+ * **release:** @visulima/vis@1.0.0-alpha.12 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.11...@visulima/vis@1.0.0-alpha.12) (2026-05-06) ([f7ab813](https://github.com/visulima/visulima/commit/f7ab8138dc971295989a0329ed89fb8ad734cc81))
487
+ * **release:** @visulima/vis@1.0.0-alpha.13 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.12...@visulima/vis@1.0.0-alpha.13) (2026-05-06) ([8b4573a](https://github.com/visulima/visulima/commit/8b4573acc970312cc02b5ad6dcd01095cb773676))
488
+ * **release:** @visulima/vis@1.0.0-alpha.14 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.13...@visulima/vis@1.0.0-alpha.14) (2026-05-07) ([976451c](https://github.com/visulima/visulima/commit/976451c45456f66e70fe4d69afd7559bbb32cc47))
489
+ * **release:** @visulima/vis@1.0.0-alpha.15 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.14...@visulima/vis@1.0.0-alpha.15) (2026-05-07) ([ded99ef](https://github.com/visulima/visulima/commit/ded99ef83cb6d142ab58832030af9e655a781618))
490
+ * **release:** @visulima/vis@1.0.0-alpha.16 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.15...@visulima/vis@1.0.0-alpha.16) (2026-05-10) ([43ab07d](https://github.com/visulima/visulima/commit/43ab07d46fdc2bf3773b36fb7b84d0cd428a722b))
491
+ * **release:** @visulima/vis@1.0.0-alpha.17 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.16...@visulima/vis@1.0.0-alpha.17) (2026-05-10) ([719cb1a](https://github.com/visulima/visulima/commit/719cb1a8af6dc3d7bf91f1e8c568fde9e59526ff))
492
+ * **release:** @visulima/vis@1.0.0-alpha.18 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.17...@visulima/vis@1.0.0-alpha.18) (2026-05-11) ([5fd25a7](https://github.com/visulima/visulima/commit/5fd25a7f6f4b6d36ecf86c86d299517a05d9b07e))
493
+ * **release:** @visulima/vis@1.0.0-alpha.19 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.18...@visulima/vis@1.0.0-alpha.19) (2026-05-11) ([cb4b86d](https://github.com/visulima/visulima/commit/cb4b86dbc42414e6a854e74c14b7a8c60ec10780))
494
+ * **release:** @visulima/vis@1.0.0-alpha.2 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.1...@visulima/vis@1.0.0-alpha.2) (2026-03-26) ([69adbdf](https://github.com/visulima/visulima/commit/69adbdff41d82ff96820a19eb32af533e63025d0))
495
+ * **release:** @visulima/vis@1.0.0-alpha.20 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.19...@visulima/vis@1.0.0-alpha.20) (2026-05-14) ([ed353ab](https://github.com/visulima/visulima/commit/ed353ab62cb9f689d62570b10217e2338fdc3e03))
496
+ * **release:** @visulima/vis@1.0.0-alpha.21 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.20...@visulima/vis@1.0.0-alpha.21) (2026-05-16) ([38b6046](https://github.com/visulima/visulima/commit/38b60468af0d43977a103404e6928f9347a46a19))
497
+ * **release:** @visulima/vis@1.0.0-alpha.22 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.21...@visulima/vis@1.0.0-alpha.22) (2026-05-19) ([3fe5332](https://github.com/visulima/visulima/commit/3fe5332f2d4b515f514cfe8ed2e7bde53fb7e7ad))
498
+ * **release:** @visulima/vis@1.0.0-alpha.23 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.22...@visulima/vis@1.0.0-alpha.23) (2026-05-20) ([8e64a66](https://github.com/visulima/visulima/commit/8e64a66b3a77c53580306d04a22b1b0a2f21c78c))
499
+ * **release:** @visulima/vis@1.0.0-alpha.24 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.23...@visulima/vis@1.0.0-alpha.24) (2026-05-26) ([b1f5502](https://github.com/visulima/visulima/commit/b1f5502306f002d3a444884df3a83d9c9fbd89c5))
500
+ * **release:** @visulima/vis@1.0.0-alpha.25 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.24...@visulima/vis@1.0.0-alpha.25) (2026-05-27) ([687f31f](https://github.com/visulima/visulima/commit/687f31fdf30b5789e97f6725dbf68c7b44755ef6))
501
+ * **release:** @visulima/vis@1.0.0-alpha.26 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.25...@visulima/vis@1.0.0-alpha.26) (2026-05-29) ([ed3da66](https://github.com/visulima/visulima/commit/ed3da66f33825060c9862d03359f132fb57390a2))
502
+ * **release:** @visulima/vis@1.0.0-alpha.27 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.26...@visulima/vis@1.0.0-alpha.27) (2026-06-02) ([9d2a668](https://github.com/visulima/visulima/commit/9d2a66893fe580811747c3cbe4d7f12841ad9a11))
503
+ * **release:** @visulima/vis@1.0.0-alpha.28 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.28](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.27...@visulima/vis@1.0.0-alpha.28) (2026-06-03) ([e25b5dd](https://github.com/visulima/visulima/commit/e25b5dd895258748984d842464ccff6a42ea344d))
504
+ * **release:** @visulima/vis@1.0.0-alpha.29 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.29](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.28...@visulima/vis@1.0.0-alpha.29) (2026-06-04) ([2b642d9](https://github.com/visulima/visulima/commit/2b642d9539915cb13e0fdf6ccdbc5d9c462e61dd))
505
+ * **release:** @visulima/vis@1.0.0-alpha.3 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.2...@visulima/vis@1.0.0-alpha.3) (2026-03-26) ([7658db7](https://github.com/visulima/visulima/commit/7658db7ee798a1b1a0203d4945b07760c9eae721))
506
+ * **release:** @visulima/vis@1.0.0-alpha.30 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.30](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.29...@visulima/vis@1.0.0-alpha.30) (2026-06-04) ([2467e20](https://github.com/visulima/visulima/commit/2467e20954e2fecc4d354b4d7dd4a733ab04f05e))
507
+ * **release:** @visulima/vis@1.0.0-alpha.31 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.31](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.30...@visulima/vis@1.0.0-alpha.31) (2026-06-06) ([227a3d4](https://github.com/visulima/visulima/commit/227a3d4903ef2f9bd1d2a9b3410f80aaeadaf764))
508
+ * **release:** @visulima/vis@1.0.0-alpha.32 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.32](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.31...@visulima/vis@1.0.0-alpha.32) (2026-06-07) ([62c9bc5](https://github.com/visulima/visulima/commit/62c9bc52b767fa33ccf548148fd3f7694061fb13))
509
+ * **release:** @visulima/vis@1.0.0-alpha.33 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.33](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.32...@visulima/vis@1.0.0-alpha.33) (2026-06-07) ([840bea1](https://github.com/visulima/visulima/commit/840bea18aa9fb1b74a403e789175fa6dc6adf2b3))
510
+ * **release:** @visulima/vis@1.0.0-alpha.34 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.34](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.33...@visulima/vis@1.0.0-alpha.34) (2026-06-08) ([00475c7](https://github.com/visulima/visulima/commit/00475c7d1b93287e796af0dfea12956bf13ad2c3))
511
+ * **release:** @visulima/vis@1.0.0-alpha.35 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.35](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.34...@visulima/vis@1.0.0-alpha.35) (2026-06-09) ([618bc19](https://github.com/visulima/visulima/commit/618bc199b57dc7b80f1ccf1e1ab2ce70e47b5061))
512
+ * **release:** @visulima/vis@1.0.0-alpha.36 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.36](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.35...@visulima/vis@1.0.0-alpha.36) (2026-06-13) ([7a84281](https://github.com/visulima/visulima/commit/7a842813b2904cdb85a09d0533ca5fc767331114))
513
+ * **release:** @visulima/vis@1.0.0-alpha.37 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.37](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.36...@visulima/vis@1.0.0-alpha.37) (2026-06-15) ([1d94b65](https://github.com/visulima/visulima/commit/1d94b65c9333caf5e9314e753a97a34c13c03d01))
514
+ * **release:** @visulima/vis@1.0.0-alpha.38 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.38](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.37...@visulima/vis@1.0.0-alpha.38) (2026-06-16) ([c66c1a8](https://github.com/visulima/visulima/commit/c66c1a89770d98591591c8e9a8072f2ad6d063af))
515
+ * **release:** @visulima/vis@1.0.0-alpha.39 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.39](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.38...@visulima/vis@1.0.0-alpha.39) (2026-06-16) ([2dbfb22](https://github.com/visulima/visulima/commit/2dbfb2257ecfc10dd1711807b7d1493ed2fd9244))
516
+ * **release:** @visulima/vis@1.0.0-alpha.4 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.3...@visulima/vis@1.0.0-alpha.4) (2026-04-08) ([a6d2d79](https://github.com/visulima/visulima/commit/a6d2d7902dc27c11c015f64bb19d9bc62cd4fce3))
517
+ * **release:** @visulima/vis@1.0.0-alpha.40 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.40](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.39...@visulima/vis@1.0.0-alpha.40) (2026-06-17) ([b2f49e4](https://github.com/visulima/visulima/commit/b2f49e48ca74316cf01199cfd9f522ba1864ff08))
518
+ * **release:** @visulima/vis@1.0.0-alpha.41 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.41](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.40...@visulima/vis@1.0.0-alpha.41) (2026-06-19) ([653e217](https://github.com/visulima/visulima/commit/653e217e7b37c7289ddc249ef5fc006785094ccd))
519
+ * **release:** @visulima/vis@1.0.0-alpha.42 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.42](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.41...@visulima/vis@1.0.0-alpha.42) (2026-06-19) ([ece2dad](https://github.com/visulima/visulima/commit/ece2dad9a4a805283df520614d80dcaab806e30d))
520
+ * **release:** @visulima/vis@1.0.0-alpha.43 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.43](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.42...@visulima/vis@1.0.0-alpha.43) (2026-06-20) ([06a4d58](https://github.com/visulima/visulima/commit/06a4d58900e6baefd398c7cb1978c163d3a1c46e))
521
+ * **release:** @visulima/vis@1.0.0-alpha.44 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.44](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.43...@visulima/vis@1.0.0-alpha.44) (2026-06-23) ([37881a2](https://github.com/visulima/visulima/commit/37881a2e7066edebf8321a3430d7889af26f13f2))
522
+ * **release:** @visulima/vis@1.0.0-alpha.45 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.45](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.44...@visulima/vis@1.0.0-alpha.45) (2026-06-30) ([c6ce72e](https://github.com/visulima/visulima/commit/c6ce72e7313156f11f77714aeee6915e99e2fb4c))
523
+ * **release:** @visulima/vis@1.0.0-alpha.46 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.46](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.45...@visulima/vis@1.0.0-alpha.46) (2026-07-01) ([59ee55c](https://github.com/visulima/visulima/commit/59ee55ce10bd6df2ef98cd69392ab443ff9b83aa))
524
+ * **release:** @visulima/vis@1.0.0-alpha.47 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.47](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.46...@visulima/vis@1.0.0-alpha.47) (2026-07-03) ([d13d861](https://github.com/visulima/visulima/commit/d13d861669bcee008755789d55c1f337faa7131b))
525
+ * **release:** @visulima/vis@1.0.0-alpha.5 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.4...@visulima/vis@1.0.0-alpha.5) (2026-04-09) ([d9ef946](https://github.com/visulima/visulima/commit/d9ef946ee2be81c7393b0feec9cb1b101e879d7c))
526
+ * **release:** @visulima/vis@1.0.0-alpha.6 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.5...@visulima/vis@1.0.0-alpha.6) (2026-04-22) ([2304040](https://github.com/visulima/visulima/commit/23040404a41d480aa0e73e80d248044e8a5c719d))
527
+ * **release:** @visulima/vis@1.0.0-alpha.7 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.6...@visulima/vis@1.0.0-alpha.7) (2026-04-22) ([e44d81b](https://github.com/visulima/visulima/commit/e44d81b6934a5301578287fddd7b33d0279608ea))
528
+ * **release:** @visulima/vis@1.0.0-alpha.8 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.7...@visulima/vis@1.0.0-alpha.8) (2026-04-22) ([23187f1](https://github.com/visulima/visulima/commit/23187f1dd1b09dd4287d4e96b55bfbeba7554649))
529
+ * **release:** @visulima/vis@1.0.0-alpha.9 [skip ci]\n\n## @visulima/vis [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.8...@visulima/vis@1.0.0-alpha.9) (2026-04-28) ([d97453e](https://github.com/visulima/visulima/commit/d97453e29b91e87c2a93b19c3f00dbbe8d714bd3))
530
+ * remove unused deprecated aliases ([#612](https://github.com/visulima/visulima/issues/612)) ([24ee546](https://github.com/visulima/visulima/commit/24ee546bcb2c17b8915622e4878797c00aa1d813))
531
+ * **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
532
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
533
+ * sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
534
+ * sorted package.json v2 ([70f0116](https://github.com/visulima/visulima/commit/70f01166709d5db1bd8cb309758e86edd4127eb5))
535
+ * update git ignore ([67ac9cf](https://github.com/visulima/visulima/commit/67ac9cfd5969f54fbbbb426b3277472f75b0d520))
536
+ * update license file ([8a84e10](https://github.com/visulima/visulima/commit/8a84e10f2077779159f2f1e186be1d461c47e043))
537
+ * update license.md ([d4fb70e](https://github.com/visulima/visulima/commit/d4fb70ec954722345967ef2c607322402d25f2d9))
538
+ * update lock file ([e58ef7c](https://github.com/visulima/visulima/commit/e58ef7c5764fc262e72504f31b4d97def449ee89))
539
+ * **vis:** add .gitignore for cache, update changelog and lint fixes ([32d5ae8](https://github.com/visulima/visulima/commit/32d5ae841e79cb436273a73003ca42e610e912a5))
540
+ * **vis:** alphabetize VisConfig members in workspace.ts ([b7869a6](https://github.com/visulima/visulima/commit/b7869a650641a55d895dbf135bfec1a94f9f50e7))
541
+ * **vis:** apply auto-fix formatting ([098aa0f](https://github.com/visulima/visulima/commit/098aa0fabf17efee373987006a9ed9bad150f69d))
542
+ * **vis:** apply eslint and formatter sweep ([d3a48c5](https://github.com/visulima/visulima/commit/d3a48c577a77864b1aae52e6061a8aad1554f273))
543
+ * **vis:** apply linter auto-fixes ([c6ca2aa](https://github.com/visulima/visulima/commit/c6ca2aa6b648fcb90ef16a24502bbc753cdce712))
544
+ * **vis:** apply pending eslint autofixes and regenerate bundled licenses ([742c613](https://github.com/visulima/visulima/commit/742c61358fcc6b07a62f3c4f688320335aeca27b))
545
+ * **vis:** apply pending lint and source updates ([f1f3a92](https://github.com/visulima/visulima/commit/f1f3a92c952d129cdcedae137de4b0e77ea787b4))
546
+ * **vis:** apply prettier and declare staged killSignal option ([23af135](https://github.com/visulima/visulima/commit/23af1357f19c22f3d4a67962ab2e28ac2ce64af1))
547
+ * **vis:** apply prettier and eslint --fix sweep ([ec64552](https://github.com/visulima/visulima/commit/ec645524984f0e767ba63b3fcaaf60e184d31edf))
548
+ * **vis:** apply prettier and eslint quote-style auto-fix ([f477246](https://github.com/visulima/visulima/commit/f47724629e5708ca45bb7891fdc03411088f0d00))
549
+ * **vis:** apply prettier and eslint quote-style auto-fix ([915d80b](https://github.com/visulima/visulima/commit/915d80b4eca4e8da8ca36154a994f9048d1c1e28))
550
+ * **vis:** apply prettier formatting ([05476bc](https://github.com/visulima/visulima/commit/05476bc9d9c1fd8a34423081159558576bfa6490))
551
+ * **vis:** bump @eslint-react/eslint-plugin + fix revealed issues ([1c19670](https://github.com/visulima/visulima/commit/1c1967040e627d29857768150a992ff1e77fd3c1))
552
+ * **vis:** bump example setup-wizard @inquirer/prompts to v8 ([1974734](https://github.com/visulima/visulima/commit/1974734c34d49c61ce62b663a999a6161e679251))
553
+ * **vis:** bundle internal deps as devDeps and extend packem hoisted exclude ([9cd6cba](https://github.com/visulima/visulima/commit/9cd6cba0ed89e26b6def141433d024c7a5851578))
554
+ * **vis:** clear all eslint warnings across vis package ([f0c513e](https://github.com/visulima/visulima/commit/f0c513ead5761ebba35379099bcfa50ee006e44f))
555
+ * **vis:** clear remaining ESLint findings across marshalls and tests ([29f87c5](https://github.com/visulima/visulima/commit/29f87c56d8c4aadfe5e270e67901435af31b8eae))
556
+ * **vis:** commit pending lint+tsc fixes ([3d7a519](https://github.com/visulima/visulima/commit/3d7a5193f729e70444bdac983afdcf39828b4ad6))
557
+ * **vis:** destructure runtime to satisfy prefer-destructuring in custom-types tests ([4802c91](https://github.com/visulima/visulima/commit/4802c912dda97ffd04182c1d9d4169c58b3c5aac))
558
+ * **vis:** drop redundant section banners and pure-WHAT docblocks ([745844b](https://github.com/visulima/visulima/commit/745844b601cf111d362718611fa7021c19f2e939))
559
+ * **vis:** drop stale planning doc and exclude sherif-lint fixtures ([6002fd2](https://github.com/visulima/visulima/commit/6002fd273242f357eb8884a1d3cfe2526c769d61))
560
+ * **vis:** enforce @stylistic/quotes — auto-fix 333 single→double quote sites ([b33bdcb](https://github.com/visulima/visulima/commit/b33bdcbb52ecba14b8088053df5653adba0b5b6e))
561
+ * **vis:** enforce curly braces and apply lint fixes ([9cf1d21](https://github.com/visulima/visulima/commit/9cf1d21f53bdb09fd93b30c7f9de758f16f8960d))
562
+ * **vis:** expand braceless if/else statements to block syntax ([85f2595](https://github.com/visulima/visulima/commit/85f259532872b6d478e96a42b8122db6730ef280))
563
+ * **vis:** expand inline if-return to block syntax ([69a6c77](https://github.com/visulima/visulima/commit/69a6c7778eb40c33fd945e85a1c11607ae8c62c5))
564
+ * **vis:** finish .vis/ cutover for stragglers ([3053347](https://github.com/visulima/visulima/commit/30533478e084b9ae84aefe191d57c672ca0797fa))
565
+ * **vis:** fix indent-binary-ops and silence default-log no-console ([9c8d5e1](https://github.com/visulima/visulima/commit/9c8d5e1cc07e6e5f3c01d0b79715f074dbda9b0b))
566
+ * **vis:** fix lint errors ([0898454](https://github.com/visulima/visulima/commit/0898454c6119b2eaf77836015bc078a8afd2a1c0))
567
+ * **vis:** housekeeping cleanup ([59a33fb](https://github.com/visulima/visulima/commit/59a33fba3ed65ae965b227d1e860e05e1b707bfa))
568
+ * **vis:** make sample-workspace tasks cacheable ([a1db143](https://github.com/visulima/visulima/commit/a1db143b57a594470b9bf5695c60a0ced18344e3))
569
+ * **vis:** merge clean/staged/hooks/docs feature branch ([f61821d](https://github.com/visulima/visulima/commit/f61821d9fb0e7f36769025edaa1d73993bf91c54))
570
+ * **vis:** migrate .prettierrc.cjs to prettier.config.js ([2caed59](https://github.com/visulima/visulima/commit/2caed5911cd31a89f4db68c570a11cc74080820a))
571
+ * **vis:** regenerate vis-config.schema.json for defaultBase ([4a847e9](https://github.com/visulima/visulima/commit/4a847e9a7e193880546c295920c29b2c67265a16)), closes [VisConfig#defaultBase](https://github.com/visulima/VisConfig/issues/defaultBase)
572
+ * **vis:** remove ~10 eslint disables and fix mid-tier violations ([6a8a960](https://github.com/visulima/visulima/commit/6a8a960289c31d495cd3d37d2b28022516c02cd5))
573
+ * **vis:** remove ~10 stale-zero/trivial eslint disables ([ffda729](https://github.com/visulima/visulima/commit/ffda72972a7d44d3b6eb2d1942897ff211811172))
574
+ * **vis:** remove ~21 eslint disables and fix the violations ([6aec6e8](https://github.com/visulima/visulima/commit/6aec6e830c6e8816036f5dce8c6f57178f1e1af6))
575
+ * **vis:** remove competitive-analysis and priority-roadmap docs ([3116348](https://github.com/visulima/visulima/commit/3116348a5f76772ace9f285d136d352a815c3f0a))
576
+ * **vis:** rename PascalCase TUI components to kebab-case ([3aaa398](https://github.com/visulima/visulima/commit/3aaa398125f722770c1b44d0edb45ddfec2d0802))
577
+ * **vis:** sort docker example api/package.json deps ([28fdbd7](https://github.com/visulima/visulima/commit/28fdbd780fb3384dcfc3f06db4145fafaeef52d2))
578
+ * **vis:** style normalization sweep + scopedTasks/allowBins config fields ([ff97758](https://github.com/visulima/visulima/commit/ff977584da0afdf61d619b7a5fb7536f80c782a6))
579
+ * **vis:** tighten toolbox, cache, and TUI typings ([a761ad7](https://github.com/visulima/visulima/commit/a761ad76d9200e1751e4ac1c7efd6619d1d1cde0))
18
580
  * **vis:** upgrade packem to 2.0.0-alpha.76 ([9753759](https://github.com/visulima/visulima/commit/97537598a23a4f680e332ca2ea73ad64f301252a))
19
581
 
20
582
  ### Code Refactoring
21
583
 
584
+ * address thermos code-quality findings ([392ed96](https://github.com/visulima/visulima/commit/392ed96b489b1c4df30157ad2f33fc9b3fd82fef))
585
+ * replace execa with tinyexec ([56ec776](https://github.com/visulima/visulima/commit/56ec776908fe0c068c54542f3885cb29f061fea7))
586
+ * replace inline import() types with top-level imports ([4569a4c](https://github.com/visulima/visulima/commit/4569a4ca04723da069f985855dcfab292f7347e1))
587
+ * **task-runner,vis:** consolidate helpers and tighten branches ([d1290d1](https://github.com/visulima/visulima/commit/d1290d1f614036902c6803d8ff51df100fdd07ab))
588
+ * **task-runner,vis:** expose worktree helpers from task-runner ([12468d7](https://github.com/visulima/visulima/commit/12468d76bb03278ec56691ba0c6d9821c9482f94))
589
+ * **vis, staged:** move env-var concurrency fallback to the CLI layer ([31cb567](https://github.com/visulima/visulima/commit/31cb56767158e53f02ce2c5602a0221a774995b0))
590
+ * **vis:** address review findings across optimize and audit ([317dca8](https://github.com/visulima/visulima/commit/317dca88a16f6604c267f9240556d7e15a563a95))
22
591
  * **vis:** adopt cerebro lazy commands; split each command into folder ([e1efc0f](https://github.com/visulima/visulima/commit/e1efc0fe57e39433c33c50b1ad2c9e971ea596ba))
592
+ * **vis:** apply Nothing design system to TUI components ([3d0517d](https://github.com/visulima/visulima/commit/3d0517d6225f75ea2e2ccf6170efdfa7911bf0c2))
593
+ * **vis:** centralize per-user filesystem layout in vis-paths helpers ([9a06751](https://github.com/visulima/visulima/commit/9a0675131e7da5bc338bcaf438574a4a5930d239))
594
+ * **vis:** consolidate workspace state under .vis/ ([9e89d52](https://github.com/visulima/visulima/commit/9e89d52f03cc8b3a6a51c13a2359e9b93532c1dd))
595
+ * **vis:** drop --json alias from vis list, use --format=json ([30251b0](https://github.com/visulima/visulima/commit/30251b016c5631bb200d580ece891ff783d67930))
23
596
  * **vis:** drop native-binding wrapper; preserve indent in sort-package-json ([efcccb8](https://github.com/visulima/visulima/commit/efcccb8bedac2f7e7e0819b8eb12277e5bf71312))
597
+ * **vis:** expose /config via folder barrel ([0cd155a](https://github.com/visulima/visulima/commit/0cd155a872dda22d201fd86f16f056dced9886be))
598
+ * **vis:** expose VisConfig types and move RFC under rfc/ ([3baa115](https://github.com/visulima/visulima/commit/3baa1151b6ec5d611135cc77e1b39911a4592470))
599
+ * **vis:** extract definePlugin and fix jiti temp config path under pnpm hoisting ([8cda079](https://github.com/visulima/visulima/commit/8cda079c22686121c966befb25295bc3511bf29b))
600
+ * **vis:** extract tryLoadSourceMap helper ([5b06bb6](https://github.com/visulima/visulima/commit/5b06bb69876e4870e75985a75ff22e299c8cf583))
601
+ * **vis:** fold vis json deps into vis list --deps --format=ndjson ([1d0c859](https://github.com/visulima/visulima/commit/1d0c85981b9b1db1a49a6932dd4986e1862f4725))
602
+ * **vis:** humanizer formatBytes + remaining dlx gate review nits ([7e1495b](https://github.com/visulima/visulima/commit/7e1495b9ca962d2e4b4adbabf2f150830a1d3bda))
603
+ * **vis:** import @visulima/tui components and hooks from subpaths ([2d9245d](https://github.com/visulima/visulima/commit/2d9245d81c9555b87c3803a428b1a306ae242da0))
604
+ * **vis:** make defineConfig a pure typed-identity ([28f6f3f](https://github.com/visulima/visulima/commit/28f6f3f909a89103b972ca50a502fb6145d87794))
605
+ * **vis:** migrate five pilot handlers to toolbox.fs ([97ca31c](https://github.com/visulima/visulima/commit/97ca31c9afa94a69449b03a4ba848104e9bd1ea3))
606
+ * **vis:** migrate handlers to toolbox.fs ([e545a1e](https://github.com/visulima/visulima/commit/e545a1ee56b0464b8c90dfa42b7179400af58e83))
607
+ * **vis:** migrate otel plugin to @opentelemetry/api types ([6440f20](https://github.com/visulima/visulima/commit/6440f201e5c15013a941f014fc4a979c80314bcf))
608
+ * **vis:** mirror src/ layout in __tests__/ and lift __fixtures__ ([ddedc1b](https://github.com/visulima/visulima/commit/ddedc1bbf87d8e572e40cb6ad65452a947dac148))
609
+ * **vis:** move git hooks dir from .vis-hooks to .vis/hooks ([b3cc45b](https://github.com/visulima/visulima/commit/b3cc45b9dd82bea9ab60fcd387a6c95833555a39))
610
+ * **vis:** polish derivations across vis-* TUI apps ([47a7945](https://github.com/visulima/visulima/commit/47a79456341282f945689e40c8b174e92b8dc6df))
611
+ * **vis:** read negative flags via cerebro's options.X === false idiom ([c52f39f](https://github.com/visulima/visulima/commit/c52f39f9294c42e69be2e4e3c327330875aef37b))
612
+ * **vis:** read passthrough from toolbox.rawUnknown ([8d73d9c](https://github.com/visulima/visulima/commit/8d73d9c00924e02b98965d4cd89c8672a4fdffb8))
613
+ * **vis:** reformat source for prettier line-length rules ([3809217](https://github.com/visulima/visulima/commit/3809217337a14f42220cfb48e3f5f75fa9c72163))
614
+ * **vis:** regroup src into folders and reuse visulima primitives ([18250d7](https://github.com/visulima/visulima/commit/18250d7bd39bccfdccc9737e13a8b0e7c28ffca2))
615
+ * **vis:** resolve fallow dead-code findings ([fd0c8ae](https://github.com/visulima/visulima/commit/fd0c8aed0126db0d4bfa6fb0acfcad2780d7f615))
616
+ * **vis:** split hook/migrate/cache into nested cerebro commands ([42c04fc](https://github.com/visulima/visulima/commit/42c04fc90b16b1538eddb77cf00b1d5d20372dba))
617
+ * **vis:** tighten verify+syncpack types from audit feedback ([277bf93](https://github.com/visulima/visulima/commit/277bf93f810e034c98b83c53a5ff09b7b4fe8688))
618
+ * **vis:** tighten versionGroups remainder filter ([9965d34](https://github.com/visulima/visulima/commit/9965d34e5425d9307f1a2207058c3916d2b76cfb))
619
+ * **vis:** unify path imports on @visulima/path ([06632ab](https://github.com/visulima/visulima/commit/06632aba64e0985bb24d476cbba7bebeebe08724))
620
+ * **vis:** unify TUI style across run and update commands ([2c85520](https://github.com/visulima/visulima/commit/2c855204a1972596e079a42e12b3a79aba6c657c))
621
+ * **vis:** update commands, TUI components, and project scaffolding ([26b40fb](https://github.com/visulima/visulima/commit/26b40fb3521411f750d176ad638c353bd7e36f44))
622
+ * **vis:** use @visulima/fs helpers, remove compiled artifacts from src ([dc03e7c](https://github.com/visulima/visulima/commit/dc03e7c053e8d7fb747cde38924efce6f489ca7f))
24
623
 
25
624
  ### Tests
26
625
 
626
+ * added more tests ([33f3f19](https://github.com/visulima/visulima/commit/33f3f191332ff9590d94ae543f3b7ef0b82de291))
627
+ * fix failing and flaky package tests ([3f2894e](https://github.com/visulima/visulima/commit/3f2894e816e99f465abb0d3b7d5161af69bbb4ec))
628
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
629
+ * **repo:** cover bin entry points in dist integration suite ([7479ef1](https://github.com/visulima/visulima/commit/7479ef113cf5ccef25692619082afb1b6a0eecab))
630
+ * **vis,task-runner:** address review on native benches ([f89dd33](https://github.com/visulima/visulima/commit/f89dd335d103744308a48568e49577d2019aca35))
631
+ * **vis:** add 50 sample workspace packages for TUI testing ([579d05b](https://github.com/visulima/visulima/commit/579d05b46e2f5bad73297dfab823016663d3041e))
632
+ * **vis:** add cli benchmark harness + codspeed wiring ([c3b1a79](https://github.com/visulima/visulima/commit/c3b1a79cc1814276e95b946d2d227f56942a48cf))
633
+ * **vis:** add criterion transpile bench + harness docs ([fb34159](https://github.com/visulima/visulima/commit/fb341597b498916afb398bfc1be66944f2967c98)), closes [nubjs/nub#17](https://github.com/nubjs/nub/issues/17)
634
+ * **vis:** add gated remote template integration test ([a626e56](https://github.com/visulima/visulima/commit/a626e5675630db044230400794a02d37ecbc0d31)), closes [visulima/visulima#alpha](https://github.com/visulima/visulima/issues/alpha)
635
+ * **vis:** add tests for update command features and fix config tests ([52635db](https://github.com/visulima/visulima/commit/52635db43243e47f781bc8bd3e79d620b72ecfb5))
636
+ * **vis:** align task-store tests with lazy failure rendering ([9ddf5de](https://github.com/visulima/visulima/commit/9ddf5de95a41d89b4c9a33bbb88e777b909b6aee))
637
+ * **vis:** assert index excludes unstaged hunk on modify ([371063e](https://github.com/visulima/visulima/commit/371063ebc5fb2c4a90a3aa3cb377fdcc3d2d34ea))
638
+ * **vis:** bump docker-lockfile prune test timeout for CI ([ef57ec2](https://github.com/visulima/visulima/commit/ef57ec21799b1158b972ff92568db111daa2e74f))
639
+ * **vis:** bump loader-resolution timeout to 30s to survive suite contention ([17d738d](https://github.com/visulima/visulima/commit/17d738db8aee272fb9abbb40d0f2a094f16c5eae))
640
+ * **vis:** cover custom-types format outputs ([b99ea50](https://github.com/visulima/visulima/commit/b99ea50a7b270bbc56984adf8a3f3c7b154559bb))
641
+ * **vis:** cover dlx gatherPackageInfo ([f998e0b](https://github.com/visulima/visulima/commit/f998e0b3bb66042aac60eff312e948ab6604b837))
642
+ * **vis:** cover docker scaffold with example workspace and real-lockfile fixture ([9104638](https://github.com/visulima/visulima/commit/910463861d1200773b163acdc8bff919e37d6b97))
643
+ * **vis:** cover highlight-preservation on sort + symmetric newRef on min-age skip ([5d383c7](https://github.com/visulima/visulima/commit/5d383c70a16c1a3b2243cb3d4503a547036a0d7c))
644
+ * **vis:** cover syncpack-parity features and wire --query into --deps ([f913f51](https://github.com/visulima/visulima/commit/f913f51ba78e427c57099c9819f3013c5c88231d)), closes [pnpm-workspace.yaml#overrides](https://github.com/visulima/pnpm-workspace.yaml/issues/overrides)
645
+ * **vis:** fix toolchain corepack-suppression test on Windows ([32d532c](https://github.com/visulima/visulima/commit/32d532cc191d274f920e7b7ca3d0c90b0590abc1))
646
+ * **vis:** fix two windows-only test failures ([6fd8467](https://github.com/visulima/visulima/commit/6fd84671a63d7ae2483bdc8db05fc65c0d9e30ab))
647
+ * **vis:** fix windows timeout/EBUSY in release command suites ([a822cf7](https://github.com/visulima/visulima/commit/a822cf79a719fd0005ff7cda9ba81c9a2c9b7462))
648
+ * **vis:** guard command-definition laziness against regressions ([25f438f](https://github.com/visulima/visulima/commit/25f438f5eda837ce63c2abacd8e5eb0561e7cabb))
27
649
  * **vis:** isolate host env in toolchain tests, fix assertion count ([d472635](https://github.com/visulima/visulima/commit/d4726350c3a68d574b08aff88369751f07216137))
650
+ * **vis:** make 8.3 containment mock separator-agnostic ([c2cf820](https://github.com/visulima/visulima/commit/c2cf8208e43ad38f526b16f0546e5c45fddc94d6))
651
+ * **vis:** make release path/shell-quote assertions OS-aware ([8280b28](https://github.com/visulima/visulima/commit/8280b288ccf63fe7181ace194c22390501d5e7b1))
652
+ * **vis:** raise audit-offline gate to 5× budget for CI hosts ([345b159](https://github.com/visulima/visulima/commit/345b1590cd5f0fbe432855aafde8e7cb3ab19c84))
653
+ * **vis:** raise testTimeout for Windows integration suites ([88117ba](https://github.com/visulima/visulima/commit/88117baa741da21a45698489d37855872db2cfa4))
654
+ * **vis:** remove native binding guard from tests ([40e8707](https://github.com/visulima/visulima/commit/40e870700930b1284701d0a33a72e589e1d3facd))
28
655
  * **vis:** scope PATH in ensureToolchain engines-pnpm test ([ced1571](https://github.com/visulima/visulima/commit/ced157139ba8c6140b85a11d6c3655b2412620ac))
656
+ * **vis:** scrub leaked GIT_* env vars in worktree fixture tests ([f066775](https://github.com/visulima/visulima/commit/f0667756c16cd3ad4e25541113e481966606fe62))
657
+ * **vis:** skip docker-lockfile fixture suite in CI ([af7503e](https://github.com/visulima/visulima/commit/af7503eea3d76ace9b9703332456b771bfd91380))
658
+ * **vis:** skip flaky windows-only release/staged suites with TODO ([c568088](https://github.com/visulima/visulima/commit/c5680882df82341ce2cca220972a09e1b030f2de))
659
+ * **vis:** skip windows-deadlock release/commands suites ([1d48a62](https://github.com/visulima/visulima/commit/1d48a6272228629d95ec9620c6b7d0860a184cd3))
660
+ * **vis:** split catalog.test.ts into per-area suites ([bedd877](https://github.com/visulima/visulima/commit/bedd877afa7efaf03586a8dff3037b5cb240f27f))
661
+ * **vis:** use camelCase cacheDir key in cache verify tests ([5b08c11](https://github.com/visulima/visulima/commit/5b08c1116d97c45dd9eb2728b25bfd4b446614bf))
662
+ * **vis:** use median-of-11 samples for audit-offline perf gate ([3225515](https://github.com/visulima/visulima/commit/3225515f9bf67149b8e0cb42812bc21729b6d750))
663
+
664
+ ### Build System
665
+
666
+ * **deps:** update vis dependencies ([afac044](https://github.com/visulima/visulima/commit/afac044fecd71956199e0203e1e5a3d988c8a966))
667
+ * regenerate bundled-license manifests and types ordering ([af26588](https://github.com/visulima/visulima/commit/af26588d75aaa937fd4862800560bd4070a4878c))
668
+ * regenerate NAPI-RS bindings as ESM ([f202caf](https://github.com/visulima/visulima/commit/f202caf3dc383a2ec24815c4935d8d68c29f33d0))
669
+ * switch NAPI-RS native builds to ESM output ([3d7cd61](https://github.com/visulima/visulima/commit/3d7cd615ad830392005915735c11771e0247ef3f))
670
+
671
+ ### Continuous Integration
672
+
673
+ * distribute native artifacts for all three packages (task-runner, tui, vis) ([78760ec](https://github.com/visulima/visulima/commit/78760ec805ee4ed38a134ab18fa39b398527cef9))
674
+ * **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
675
+ * tighten workflow yaml + restore missing publint dep ([b478f9a](https://github.com/visulima/visulima/commit/b478f9a9329d9c7243e694e3f360d385cc34567c))
676
+ * **vis:** move schemas drift check out of vitest ([6da612b](https://github.com/visulima/visulima/commit/6da612bf459095777c163707747f6f0a29bf2fec))
677
+ * **vis:** track index.d.ts so loader artifact survives cache hits ([b9a439f](https://github.com/visulima/visulima/commit/b9a439f178f1849cc14233ad76e51fe38e5d180f))
678
+
679
+
680
+ ### Dependencies
681
+
682
+ * **@visulima/error:** upgraded to 6.0.0
683
+ * **@visulima/secret-scanner:** upgraded to 1.0.0
684
+ * **@visulima/source-map:** upgraded to 3.0.0
685
+ * **@visulima/tabular:** upgraded to 4.0.0
686
+ * **@visulima/task-runner:** upgraded to 1.0.0
687
+ * **@visulima/tui:** upgraded to 1.0.0
688
+ * **@visulima/ansi:** upgraded to 4.0.0
689
+ * **@visulima/cerebro:** upgraded to 3.0.0
690
+ * **@visulima/colorize:** upgraded to 2.0.0
691
+ * **@visulima/find-ai-runner:** upgraded to 1.0.0
692
+ * **@visulima/find-cache-dir:** upgraded to 3.0.0
693
+ * **@visulima/fs:** upgraded to 5.0.0
694
+ * **@visulima/humanizer:** upgraded to 3.0.0
695
+ * **@visulima/interactive-manager:** upgraded to 1.0.0
696
+ * **@visulima/package:** upgraded to 5.0.0
697
+ * **@visulima/pail:** upgraded to 4.0.0
698
+ * **@visulima/path:** upgraded to 3.0.0
699
+ * **@visulima/redact:** upgraded to 3.0.0
700
+ * **@visulima/spinner:** upgraded to 1.0.0
701
+ * **@visulima/string:** upgraded to 3.0.0
702
+ * **@visulima/tsconfig:** upgraded to 3.0.0
703
+
704
+ ## @visulima/vis [1.0.0-alpha.47](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.46...@visulima/vis@1.0.0-alpha.47) (2026-07-03)
705
+
706
+ ### Bug Fixes
707
+
708
+ * **vis:** move default task cache out of source-bearing .vis/ ([b76ee30](https://github.com/visulima/visulima/commit/b76ee303c94eb69cccb40fe2f49afb8c7569630b))
709
+
710
+ ### Tests
711
+
712
+ * **vis:** use camelCase cacheDir key in cache verify tests ([5b08c11](https://github.com/visulima/visulima/commit/5b08c1116d97c45dd9eb2728b25bfd4b446614bf))
713
+
714
+
715
+ ### Dependencies
716
+
717
+ * **@visulima/secret-scanner:** upgraded to 1.0.0-alpha.8
718
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.26
719
+ * **@visulima/find-ai-runner:** upgraded to 1.0.0-alpha.9
720
+
721
+ ## @visulima/vis [1.0.0-alpha.46](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.45...@visulima/vis@1.0.0-alpha.46) (2026-07-01)
722
+
723
+ ### Features
724
+
725
+ * **vis:** release features + npm pretrust ([#719](https://github.com/visulima/visulima/issues/719)) ([c19a814](https://github.com/visulima/visulima/commit/c19a8142ccf0bc86ce232c9aaa7f79f3bf7c21f2))
726
+
727
+ ## @visulima/vis [1.0.0-alpha.45](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.44...@visulima/vis@1.0.0-alpha.45) (2026-06-30)
728
+
729
+ ### Bug Fixes
730
+
731
+ * resolve eslint errors in fmt, jsdoc-open-api, vis ([43bf450](https://github.com/visulima/visulima/commit/43bf45081e46b042a08b555c3fcb60391b82d06f))
732
+ * **vis:** disable class-methods-use-this for tui lifecycle ([182c972](https://github.com/visulima/visulima/commit/182c9727dcbef66a8609a864133fb2869bd2d9c4))
733
+ * **vis:** drop pinned packageManager from release test fixtures ([d8c6a35](https://github.com/visulima/visulima/commit/d8c6a35326b12d5785cc8060a5aadb4cdc3d75be))
734
+ * **vis:** stop corepack prompt hanging release pm probes ([ddb5f2d](https://github.com/visulima/visulima/commit/ddb5f2de908ffe187162ad13d3f1cd7024a4b6c8))
735
+ * **vis:** stop Windows test hangs; start fallow dead-code cleanup ([e87ca70](https://github.com/visulima/visulima/commit/e87ca708223560775c2bd9ec7a59e1aa5853b5de))
736
+
737
+ ### Performance Improvements
738
+
739
+ * **vis:** fast-path local .bin in exec command ([#716](https://github.com/visulima/visulima/issues/716)) ([dec9d37](https://github.com/visulima/visulima/commit/dec9d37829ded30c7be0c0c9d4649f726b8fbe94))
740
+
741
+ ### Styles
742
+
743
+ * cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
744
+
745
+ ### Miscellaneous Chores
746
+
747
+ * add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
748
+ * **fallow:** resolve dead-code findings ([c4125d5](https://github.com/visulima/visulima/commit/c4125d53e03ac9d90115399634535991927a96cc))
749
+
750
+ ### Code Refactoring
751
+
752
+ * address thermos code-quality findings ([392ed96](https://github.com/visulima/visulima/commit/392ed96b489b1c4df30157ad2f33fc9b3fd82fef))
753
+ * **vis:** resolve fallow dead-code findings ([fd0c8ae](https://github.com/visulima/visulima/commit/fd0c8aed0126db0d4bfa6fb0acfcad2780d7f615))
754
+
755
+ ### Tests
756
+
757
+ * fix failing and flaky package tests ([3f2894e](https://github.com/visulima/visulima/commit/3f2894e816e99f465abb0d3b7d5161af69bbb4ec))
758
+ * **vis:** fix windows timeout/EBUSY in release command suites ([a822cf7](https://github.com/visulima/visulima/commit/a822cf79a719fd0005ff7cda9ba81c9a2c9b7462))
759
+
760
+ ### Continuous Integration
761
+
762
+ * **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
763
+
764
+
765
+ ### Dependencies
766
+
767
+ * **@visulima/error:** upgraded to 6.0.0-alpha.35
768
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.27
769
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.18
770
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.33
771
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.15
772
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.33
773
+ * **@visulima/package:** upgraded to 5.0.0-alpha.32
774
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.23
775
+ * **@visulima/string:** upgraded to 3.0.0-alpha.18
776
+ * **@visulima/tsconfig:** upgraded to 3.0.0-alpha.32
777
+
778
+ ## @visulima/vis [1.0.0-alpha.44](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.43...@visulima/vis@1.0.0-alpha.44) (2026-06-23)
779
+
780
+ ### Features
781
+
782
+ * **vis:** native Rust CLI front-end + nub-parity for x/run ([#697](https://github.com/visulima/visulima/issues/697)) ([88d505b](https://github.com/visulima/visulima/commit/88d505bef74f08a895849e41f26682e684aa67be))
783
+ * **vis:** task-runner feedback fixes + CI hook skip ([#696](https://github.com/visulima/visulima/issues/696)) ([450412c](https://github.com/visulima/visulima/commit/450412cb92eee1397edaa46447128b1487d06369))
784
+
785
+ ### Bug Fixes
786
+
787
+ * **vis:** group failed tasks in ci log output ([0fb8678](https://github.com/visulima/visulima/commit/0fb8678d9b66c6b587fb113310cfe9abce9aa6d0))
788
+ * **vis:** unbreak full build — exclude variable-import modules from dynamic-import-vars ([#712](https://github.com/visulima/visulima/issues/712)) ([29d46eb](https://github.com/visulima/visulima/commit/29d46eb719de11ab8f09e5303748264607b04fe3)), closes [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697) [#697](https://github.com/visulima/visulima/issues/697)
789
+ * **vis:** wrap native crate-type array to satisfy toml lint rule ([9470654](https://github.com/visulima/visulima/commit/94706547342291197afb8babd5d2929ae9e0bb9b))
790
+
791
+ ### Documentation
792
+
793
+ * **task-runner,vis:** add nub MIT attribution to ported native code ([9305f59](https://github.com/visulima/visulima/commit/9305f592da38dd13a179ef1af75fb0c8f5d84693))
794
+
795
+ ### Tests
796
+
797
+ * **vis,task-runner:** address review on native benches ([f89dd33](https://github.com/visulima/visulima/commit/f89dd335d103744308a48568e49577d2019aca35))
798
+ * **vis:** add criterion transpile bench + harness docs ([fb34159](https://github.com/visulima/visulima/commit/fb341597b498916afb398bfc1be66944f2967c98)), closes [nubjs/nub#17](https://github.com/nubjs/nub/issues/17)
799
+
800
+
801
+ ### Dependencies
802
+
803
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.25
804
+
805
+ ## @visulima/vis [1.0.0-alpha.43](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.42...@visulima/vis@1.0.0-alpha.43) (2026-06-20)
806
+
807
+ ### Features
808
+
809
+ * **vis:** first-run info gate for visx/dlx ([53dd31e](https://github.com/visulima/visulima/commit/53dd31e39659d1281d8e94e174475e209bcb8b11))
810
+
811
+ ### Bug Fixes
812
+
813
+ * **vis,secret-scanner:** windows absolute-path handling ([b1a3d67](https://github.com/visulima/visulima/commit/b1a3d673b3fe4f918c44b1cd33b62bf15d3687fc))
814
+ * **vis:** address dlx first-run gate review comments ([6b833d1](https://github.com/visulima/visulima/commit/6b833d105f0827a3a41140e646d3b548509ccd2d))
815
+ * **vis:** align native binding version check with package version ([4075bae](https://github.com/visulima/visulima/commit/4075bae7c37a4e34fc1416cba7bad1436e3f8090))
816
+ * **vis:** expand windows 8.3 short names in workspace containment ([dbfe9b1](https://github.com/visulima/visulima/commit/dbfe9b152154b1f7526d7e0cbfd48cd0d94e6cc0))
817
+ * **vis:** fix Windows-only release test failures ([158a6a3](https://github.com/visulima/visulima/commit/158a6a39a69d3a59bba9503c1fbcde19048378fc))
818
+ * **vis:** harden dlx first-run gate per review ([a370a57](https://github.com/visulima/visulima/commit/a370a579c4df1f6852bd9591701ce85ff674401c))
819
+
820
+ ### Code Refactoring
821
+
822
+ * **vis:** humanizer formatBytes + remaining dlx gate review nits ([7e1495b](https://github.com/visulima/visulima/commit/7e1495b9ca962d2e4b4adbabf2f150830a1d3bda))
823
+
824
+ ### Tests
825
+
826
+ * **vis:** cover dlx gatherPackageInfo ([f998e0b](https://github.com/visulima/visulima/commit/f998e0b3bb66042aac60eff312e948ab6604b837))
827
+ * **vis:** make 8.3 containment mock separator-agnostic ([c2cf820](https://github.com/visulima/visulima/commit/c2cf8208e43ad38f526b16f0546e5c45fddc94d6))
828
+ * **vis:** make release path/shell-quote assertions OS-aware ([8280b28](https://github.com/visulima/visulima/commit/8280b288ccf63fe7181ace194c22390501d5e7b1))
829
+ * **vis:** skip flaky windows-only release/staged suites with TODO ([c568088](https://github.com/visulima/visulima/commit/c5680882df82341ce2cca220972a09e1b030f2de))
830
+ * **vis:** skip windows-deadlock release/commands suites ([1d48a62](https://github.com/visulima/visulima/commit/1d48a6272228629d95ec9620c6b7d0860a184cd3))
831
+
832
+ ## @visulima/vis [1.0.0-alpha.42](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.41...@visulima/vis@1.0.0-alpha.42) (2026-06-19)
833
+
834
+ ### Features
835
+
836
+ * **vis:** runtime multi-tool ([#683](https://github.com/visulima/visulima/issues/683)) ([ee84daa](https://github.com/visulima/visulima/commit/ee84daa56434bfb487abccd27e9e2661c0492132))
837
+
838
+
839
+ ### Dependencies
840
+
841
+ * **@visulima/error:** upgraded to 6.0.0-alpha.34
842
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.24
843
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.26
844
+ * **@visulima/humanizer:** upgraded to 3.0.0-alpha.15
845
+
846
+ ## @visulima/vis [1.0.0-alpha.41](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.40...@visulima/vis@1.0.0-alpha.41) (2026-06-19)
847
+
848
+ ### Features
849
+
850
+ * **vis:** add runtime detection abstraction (phase 0) ([8dca5b2](https://github.com/visulima/visulima/commit/8dca5b235e3f7427937f60e8ec13ab90e4c698af)), closes [#native](https://github.com/visulima/visulima/issues/native)
851
+ * **vis:** add vis x file runner (phase 2) ([213fadf](https://github.com/visulima/visulima/commit/213fadf99f2de8126749c317ae3f002f174f39cc))
852
+ * **vis:** route dlx/exec through the runtime resolver (phase 1) ([5186df4](https://github.com/visulima/visulima/commit/5186df43a850bc8b0642608643095faa8b1ebc6f))
853
+ * **vis:** route install/add/remove/dedupe through runtime resolver (phase 1) ([8aaa3e1](https://github.com/visulima/visulima/commit/8aaa3e1d8f9ac73debfd6fc81808b570a25a1337))
854
+ * **vis:** route remaining pm verbs through runtime resolver (phase 1) ([e18a44f](https://github.com/visulima/visulima/commit/e18a44f975ce6b744c5e6a9237e056de8a5f230e))
855
+ * **vis:** validate runtime selection in run (phase 1) ([efaa952](https://github.com/visulima/visulima/commit/efaa95251519ad4ed3db77ed42421fd85756dbb2))
856
+
857
+ ### Bug Fixes
858
+
859
+ * **vis:** regenerate vis-config schema for the runtime field ([1de4ef0](https://github.com/visulima/visulima/commit/1de4ef0f50b6620f981b081b6ff746306b948a76))
860
+
861
+ ### Performance Improvements
862
+
863
+ * **vis:** skip heap-tuning re-exec for light commands (~290ms) ([885aebe](https://github.com/visulima/visulima/commit/885aebe0993210727f82918cb0474e14a8414ae6))
864
+
865
+ ### Documentation
866
+
867
+ * **vis:** correct cold-start profile with measured findings ([d02a8c1](https://github.com/visulima/visulima/commit/d02a8c1f2212ce61a5ecf9f396976f1031996557))
868
+
869
+ ### Tests
870
+
871
+ * **vis:** add cli benchmark harness + codspeed wiring ([c3b1a79](https://github.com/visulima/visulima/commit/c3b1a79cc1814276e95b946d2d227f56942a48cf))
872
+
873
+ ## @visulima/vis [1.0.0-alpha.40](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.39...@visulima/vis@1.0.0-alpha.40) (2026-06-17)
874
+
875
+ ### Features
876
+
877
+ * **vis:** added --ignore-release-age ([1767805](https://github.com/visulima/visulima/commit/1767805cb2a46c135a33429edf764f6760737ffc))
878
+
879
+ ## @visulima/vis [1.0.0-alpha.39](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.38...@visulima/vis@1.0.0-alpha.39) (2026-06-16)
880
+
881
+ ### Bug Fixes
882
+
883
+ * **vis:** reconcile run status-line task counts ([8ebee32](https://github.com/visulima/visulima/commit/8ebee32912227176ff1f361f37b2ea856d780895))
884
+
885
+ ## @visulima/vis [1.0.0-alpha.38](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.37...@visulima/vis@1.0.0-alpha.38) (2026-06-16)
886
+
887
+ ### Features
888
+
889
+ * **vis:** release manager subsystem ([#679](https://github.com/visulima/visulima/issues/679)) ([0a41889](https://github.com/visulima/visulima/commit/0a418897062a164ad7e8034eab77a7f70a3817e1)), closes [#620](https://github.com/visulima/visulima/issues/620)
890
+
891
+ ## @visulima/vis [1.0.0-alpha.37](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.36...@visulima/vis@1.0.0-alpha.37) (2026-06-15)
892
+
893
+
894
+ ### Dependencies
895
+
896
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.25
897
+
898
+ ## @visulima/vis [1.0.0-alpha.36](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.35...@visulima/vis@1.0.0-alpha.36) (2026-06-13)
899
+
900
+ ### Features
901
+
902
+ * **vis:** add git-history secret scanning via --history ([bf8b26c](https://github.com/visulima/visulima/commit/bf8b26c5990a7cc4f3630504f18c7cbc7c2e9372))
903
+ * **vis:** add quiet-on-success run mode and harden spawn/history/hadolint ([9b6e3bf](https://github.com/visulima/visulima/commit/9b6e3bf7c764c0962d633bebdd6f16d2e3ae73ed))
904
+ * **vis:** add split and import workspace commands ([#680](https://github.com/visulima/visulima/issues/680)) ([4077e1c](https://github.com/visulima/visulima/commit/4077e1c2d018c9e92f820f339967c1c583afd9b5))
905
+ * **vis:** add toolbox-fs helper utilities ([f34f2aa](https://github.com/visulima/visulima/commit/f34f2aa7a38fec0e13b3b991a3221905d736c1da))
906
+
907
+ ### Bug Fixes
908
+
909
+ * **vis:** dump successful task output after TUI exit ([ab51784](https://github.com/visulima/visulima/commit/ab517843910dadf543575c57466c5da01ef9401d))
910
+ * **vis:** escape control chars in shell history ([86471d2](https://github.com/visulima/visulima/commit/86471d27d68d9790eae005e5d2dfe561efbae700))
911
+ * **vis:** narrow secret-scanner baseline to string path in secrets handler ([9bc36e9](https://github.com/visulima/visulima/commit/9bc36e9e780a25d542417361d31403613d4c2c5a))
912
+ * **vis:** use platform-aware PATH delimiter in toolchain detection ([0a1294f](https://github.com/visulima/visulima/commit/0a1294f3bcf9265e6908e15dfdcffb439b5f0e81))
913
+
914
+ ### Documentation
915
+
916
+ * re-scope RFCs against what task-runner/vis already ship ([d6cf42c](https://github.com/visulima/visulima/commit/d6cf42c964b738c9872fb205b8c90b99bc7655e0))
917
+
918
+ ### Styles
919
+
920
+ * **vis:** clear pre-existing eslint findings in run handler ([ba423ad](https://github.com/visulima/visulima/commit/ba423adad677c2a9ffb6051743e463a33cb44541))
921
+
922
+ ### Code Refactoring
923
+
924
+ * **vis:** migrate five pilot handlers to toolbox.fs ([97ca31c](https://github.com/visulima/visulima/commit/97ca31c9afa94a69449b03a4ba848104e9bd1ea3))
925
+ * **vis:** migrate handlers to toolbox.fs ([e545a1e](https://github.com/visulima/visulima/commit/e545a1ee56b0464b8c90dfa42b7179400af58e83))
926
+ * **vis:** reformat source for prettier line-length rules ([3809217](https://github.com/visulima/visulima/commit/3809217337a14f42220cfb48e3f5f75fa9c72163))
927
+
928
+ ### Tests
929
+
930
+ * **vis:** fix toolchain corepack-suppression test on Windows ([32d532c](https://github.com/visulima/visulima/commit/32d532cc191d274f920e7b7ca3d0c90b0590abc1))
931
+ * **vis:** fix two windows-only test failures ([6fd8467](https://github.com/visulima/visulima/commit/6fd84671a63d7ae2483bdc8db05fc65c0d9e30ab))
932
+ * **vis:** guard command-definition laziness against regressions ([25f438f](https://github.com/visulima/visulima/commit/25f438f5eda837ce63c2abacd8e5eb0561e7cabb))
933
+ * **vis:** raise testTimeout for Windows integration suites ([88117ba](https://github.com/visulima/visulima/commit/88117baa741da21a45698489d37855872db2cfa4))
934
+ * **vis:** split catalog.test.ts into per-area suites ([bedd877](https://github.com/visulima/visulima/commit/bedd877afa7efaf03586a8dff3037b5cb240f27f))
935
+
936
+ ### Build System
937
+
938
+ * **deps:** update vis dependencies ([afac044](https://github.com/visulima/visulima/commit/afac044fecd71956199e0203e1e5a3d988c8a966))
939
+ * regenerate bundled-license manifests and types ordering ([af26588](https://github.com/visulima/visulima/commit/af26588d75aaa937fd4862800560bd4070a4878c))
940
+
941
+
942
+ ### Dependencies
943
+
944
+ * **@visulima/secret-scanner:** upgraded to 1.0.0-alpha.6
945
+ * **@visulima/tabular:** upgraded to 4.0.0-alpha.14
946
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.23
947
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.24
948
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.17
949
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.32
950
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.14
951
+ * **@visulima/error:** upgraded to 6.0.0-alpha.33
952
+ * **@visulima/find-ai-runner:** upgraded to 1.0.0-alpha.8
953
+ * **@visulima/find-cache-dir:** upgraded to 3.0.0-alpha.12
954
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.32
955
+ * **@visulima/humanizer:** upgraded to 3.0.0-alpha.14
956
+ * **@visulima/interactive-manager:** upgraded to 1.0.0-alpha.5
957
+ * **@visulima/package:** upgraded to 5.0.0-alpha.31
958
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.22
959
+ * **@visulima/path:** upgraded to 3.0.0-alpha.13
960
+ * **@visulima/redact:** upgraded to 3.0.0-alpha.14
961
+ * **@visulima/source-map:** upgraded to 3.0.0-alpha.12
962
+ * **@visulima/spinner:** upgraded to 1.0.0-alpha.4
963
+ * **@visulima/string:** upgraded to 3.0.0-alpha.17
964
+
965
+ ## @visulima/vis [1.0.0-alpha.35](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.34...@visulima/vis@1.0.0-alpha.35) (2026-06-09)
966
+
967
+ ### Features
968
+
969
+ * **vis:** add run --hash-mode override flag ([b9c5efa](https://github.com/visulima/visulima/commit/b9c5efa05b9e9f142e8d52fa9d88ddac10d2d4f0))
970
+
971
+
972
+ ### Dependencies
973
+
974
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.22
975
+
976
+ ## @visulima/vis [1.0.0-alpha.34](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.33...@visulima/vis@1.0.0-alpha.34) (2026-06-08)
977
+
978
+ ### Features
979
+
980
+ * **vis:** clean --empty-packages and staged per-package/cwd tasks ([cdba002](https://github.com/visulima/visulima/commit/cdba002af4714e3e74c1f832919855d0dd7f3a72)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
981
+
982
+ ### Documentation
983
+
984
+ * **vis:** correct and complete command reference ([b8c6c11](https://github.com/visulima/visulima/commit/b8c6c11e289c509a7d479e2371d8df63b710ce9b))
985
+
986
+ ### Miscellaneous Chores
987
+
988
+ * **vis:** merge clean/staged/hooks/docs feature branch ([f61821d](https://github.com/visulima/visulima/commit/f61821d9fb0e7f36769025edaa1d73993bf91c54))
989
+
990
+ ### Code Refactoring
991
+
992
+ * **vis:** move git hooks dir from .vis-hooks to .vis/hooks ([b3cc45b](https://github.com/visulima/visulima/commit/b3cc45b9dd82bea9ab60fcd387a6c95833555a39))
993
+
994
+ ## @visulima/vis [1.0.0-alpha.33](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.32...@visulima/vis@1.0.0-alpha.33) (2026-06-07)
995
+
996
+ ### Features
997
+
998
+ * **task-runner:** warn when a cacheable task's inputs resolve to zero files ([3a4ecbb](https://github.com/visulima/visulima/commit/3a4ecbbef46b49afa4cb8b3e0b741fae0de42b3c))
999
+
1000
+
1001
+ ### Dependencies
1002
+
1003
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.21
1004
+
1005
+ ## @visulima/vis [1.0.0-alpha.32](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.31...@visulima/vis@1.0.0-alpha.32) (2026-06-07)
1006
+
1007
+ ### Bug Fixes
1008
+
1009
+ * **vis:** forward config.namedInputs to the task runner ([02201de](https://github.com/visulima/visulima/commit/02201ded24b2881df8d6f7f0e6c573f4bd3123dc))
1010
+
1011
+ ## @visulima/vis [1.0.0-alpha.31](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.30...@visulima/vis@1.0.0-alpha.31) (2026-06-06)
1012
+
1013
+ ### Bug Fixes
1014
+
1015
+ * **vis:** expand {projectRoot}/{projectName} tokens in task outputs ([d32a206](https://github.com/visulima/visulima/commit/d32a206dde082276f3fe06c032d07373a0c9a59e))
1016
+
1017
+
1018
+ ### Dependencies
1019
+
1020
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.20
1021
+
1022
+ ## @visulima/vis [1.0.0-alpha.30](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.29...@visulima/vis@1.0.0-alpha.30) (2026-06-04)
1023
+
1024
+
1025
+ ### Dependencies
1026
+
1027
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.23
1028
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.31
1029
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.31
1030
+ * **@visulima/package:** upgraded to 5.0.0-alpha.30
1031
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.21
1032
+ * **@visulima/string:** upgraded to 3.0.0-alpha.16
1033
+
1034
+ ## @visulima/vis [1.0.0-alpha.29](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.28...@visulima/vis@1.0.0-alpha.29) (2026-06-04)
1035
+
1036
+ ### Features
1037
+
1038
+ * **vis:** docker lint/init + ignore-file commands ([#675](https://github.com/visulima/visulima/issues/675)) ([f22c9f3](https://github.com/visulima/visulima/commit/f22c9f34304a41e257f9f0371d1aaa312f90df25))
1039
+ * **vis:** docker lint/init, ci-ignore, hadolint + toolbox DI ([#677](https://github.com/visulima/visulima/issues/677)) ([e5b5bd1](https://github.com/visulima/visulima/commit/e5b5bd164ed648341d4e1d655098b72bd040e4ed))
1040
+
1041
+ ### Bug Fixes
1042
+
1043
+ * **vis:** 1 bug fix + 2 perf ([fdf3eb8](https://github.com/visulima/visulima/commit/fdf3eb86c19b471fd9891721e83fff7578df1da0))
1044
+
1045
+
1046
+ ### Dependencies
1047
+
1048
+ * **@visulima/secret-scanner:** upgraded to 1.0.0-alpha.5
1049
+ * **@visulima/tabular:** upgraded to 4.0.0-alpha.13
1050
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.19
1051
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.22
1052
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.16
1053
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.30
1054
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.13
1055
+ * **@visulima/error:** upgraded to 6.0.0-alpha.32
1056
+ * **@visulima/find-ai-runner:** upgraded to 1.0.0-alpha.7
1057
+ * **@visulima/find-cache-dir:** upgraded to 3.0.0-alpha.11
1058
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.30
1059
+ * **@visulima/humanizer:** upgraded to 3.0.0-alpha.13
1060
+ * **@visulima/interactive-manager:** upgraded to 1.0.0-alpha.4
1061
+ * **@visulima/package:** upgraded to 5.0.0-alpha.29
1062
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.20
1063
+ * **@visulima/path:** upgraded to 3.0.0-alpha.12
1064
+ * **@visulima/redact:** upgraded to 3.0.0-alpha.13
1065
+ * **@visulima/source-map:** upgraded to 3.0.0-alpha.11
1066
+ * **@visulima/spinner:** upgraded to 1.0.0-alpha.3
1067
+ * **@visulima/string:** upgraded to 3.0.0-alpha.15
1068
+
1069
+ ## @visulima/vis [1.0.0-alpha.28](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.27...@visulima/vis@1.0.0-alpha.28) (2026-06-03)
1070
+
1071
+ ### Bug Fixes
1072
+
1073
+ * **vis:** bundle react stack to dedupe react copies ([#672](https://github.com/visulima/visulima/issues/672)) ([fc35522](https://github.com/visulima/visulima/commit/fc35522a8414922c0b99a60c2f13d73e4767a6ac))
1074
+ * **vis:** resolve lint + Windows test failures from [#655](https://github.com/visulima/visulima/issues/655) ([#673](https://github.com/visulima/visulima/issues/673)) ([de2586d](https://github.com/visulima/visulima/commit/de2586dd1e04b8c61cc9f6fff05ecb666881253d))
1075
+
1076
+ ## @visulima/vis [1.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.26...@visulima/vis@1.0.0-alpha.27) (2026-06-02)
1077
+
1078
+ ### Features
1079
+
1080
+ * **task-runner,vis:** per-task pty + concurrency weight, abort cache gate, fspy scaffolds ([#656](https://github.com/visulima/visulima/issues/656)) ([ca64010](https://github.com/visulima/visulima/commit/ca64010b236903e08273680ea65dec7046fcd18b))
1081
+ * **vis:** declarative task arguments + per-target script mode ([#662](https://github.com/visulima/visulima/issues/662)) ([417ca53](https://github.com/visulima/visulima/commit/417ca5395728a0776cbfcd0122ae21e3159a4c48))
1082
+ * **vis:** lint + fmt orchestrator ([3a78ed7](https://github.com/visulima/visulima/commit/3a78ed709922e6a35648e0d0eb3f41cc49f89b7a))
1083
+
1084
+ ### Bug Fixes
1085
+
1086
+ * **task-runner:** tolerate dev-only dependency cycles ([#664](https://github.com/visulima/visulima/issues/664)) ([9ad384e](https://github.com/visulima/visulima/commit/9ad384e34927b40823ae104d6b05a581dcd05705)), closes [#411](https://github.com/visulima/visulima/issues/411)
1087
+ * **vis:** correct flag name in conflicting-schema error (--projects) ([#667](https://github.com/visulima/visulima/issues/667)) ([c56122b](https://github.com/visulima/visulima/commit/c56122bc6bc654e4a9e118e96b9ba852bc9b784f))
1088
+ * **vis:** require explicit opt-in to apply ecosystem updates ([#663](https://github.com/visulima/visulima/issues/663)) ([90cf12d](https://github.com/visulima/visulima/commit/90cf12dffa9dd53cc21849e9a41488dfbe2c8221))
1089
+
1090
+
1091
+ ### Dependencies
1092
+
1093
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.18
1094
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.21
1095
+ * **@visulima/error:** upgraded to 6.0.0-alpha.31
1096
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.29
1097
+ * **@visulima/package:** upgraded to 5.0.0-alpha.28
1098
+
1099
+ ## @visulima/vis [1.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.25...@visulima/vis@1.0.0-alpha.26) (2026-05-29)
1100
+
1101
+ ### Bug Fixes
1102
+
1103
+ * **vis:** isolate git env vars in staged integration tests ([18900a1](https://github.com/visulima/visulima/commit/18900a126bfb16f6d70ab81cbe5248720b03ac40))
1104
+ * **vis:** run persistent tasks under a PTY in the live TUI ([77b2a26](https://github.com/visulima/visulima/commit/77b2a263b9563f8ee894671f910e013f2c95077a))
1105
+
1106
+ ### Tests
1107
+
1108
+ * **vis:** assert index excludes unstaged hunk on modify ([371063e](https://github.com/visulima/visulima/commit/371063ebc5fb2c4a90a3aa3cb377fdcc3d2d34ea))
1109
+
1110
+
1111
+ ### Dependencies
1112
+
1113
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.29
1114
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.19
1115
+
1116
+ ## @visulima/vis [1.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.24...@visulima/vis@1.0.0-alpha.25) (2026-05-27)
1117
+
1118
+ ### Features
1119
+
1120
+ * **vis:** add GitLab and JUnit audit report formats ([18e8bc2](https://github.com/visulima/visulima/commit/18e8bc204cc5ce2bac8e83a043ede9cf51d57a70))
1121
+ * **vis:** audit hardening — ca-cert flag, dep-path walker, report parity ([eb187ab](https://github.com/visulima/visulima/commit/eb187ab4e9ee04357d142c438f428b556a68ff79))
1122
+ * **vis:** auto-update GitHub Actions, Docker, and GitLab CI references ([9a3c767](https://github.com/visulima/visulima/commit/9a3c7679c1aa981eb889250ddd841b6feb213b55))
1123
+ * **vis:** breaking-change UI + interactive picker for ecosystem updates ([75b7e33](https://github.com/visulima/visulima/commit/75b7e33eb9a460036cf8f8feff5197b1fb2db010))
1124
+ * **vis:** changelog URLs, docker min-age gate, action advisories, TUI sort ([23d65e1](https://github.com/visulima/visulima/commit/23d65e1f020dd723b900c5d25f9eb384be0bece8))
1125
+ * **vis:** honor project.json[#name](https://github.com/visulima/visulima/issues/name) as the workspace identity ([4a97c92](https://github.com/visulima/visulima/commit/4a97c9203df1398265196161213f1aa5736ea4c0)), closes [package.json#dependencies](https://github.com/visulima/package.json/issues/dependencies)
1126
+ * **vis:** migrate command handlers to toolbox.fs and toolbox.process ([c582c74](https://github.com/visulima/visulima/commit/c582c740150a7eab6b34e4eabe68f521471186c1))
1127
+ * **vis:** nx migrator hardening + smart --affected SHA resolution ([631351e](https://github.com/visulima/visulima/commit/631351ef32b9367a37c6ca0931673f0e08c103a9)), closes [VisConfig#defaultBase](https://github.com/visulima/VisConfig/issues/defaultBase)
1128
+
1129
+ ### Bug Fixes
1130
+
1131
+ * add tabular to dep ([92d578e](https://github.com/visulima/visulima/commit/92d578e7e2ce558f5e8947bd1d9c2b1da879e351))
1132
+ * added tabular to the excluded packges ([20799d6](https://github.com/visulima/visulima/commit/20799d66f3cf73381b7fd3e7bd8776401eef399f))
1133
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
1134
+ * **task-runner:** resolve workspace .bin binaries in spawned tasks ([69bd30c](https://github.com/visulima/visulima/commit/69bd30c95fb1e70aba1f7c5b4d3d17b8f0465c11))
1135
+ * **vis:** address coderabbit feedback on ecosystem updates ([#654](https://github.com/visulima/visulima/issues/654)) ([049f0b4](https://github.com/visulima/visulima/commit/049f0b40aa890978b43104cd15f238800d62d981))
1136
+ * **vis:** address ecosystem-update review findings ([88ac870](https://github.com/visulima/visulima/commit/88ac8703eaab7ad9741aa94a4addf77d618a2464))
1137
+ * **vis:** bump stale workspace dep versions so Nx links them ([448ce87](https://github.com/visulima/visulima/commit/448ce87dd146bd696fd0cb0b5ad6deabb7ffc9d6))
1138
+ * **vis:** enhance PATH inside ephemeral service bootstrap config ([30c6364](https://github.com/visulima/visulima/commit/30c6364cceff0d3c48fe5e7e4a996b77a1ed224c))
1139
+
1140
+ ### Documentation
1141
+
1142
+ * **vis:** mention ecosystem updates in README and ci-cd guide ([1577e95](https://github.com/visulima/visulima/commit/1577e95accc4a91a67ece2c7a25ad1a8b26bc784))
1143
+
1144
+ ### Miscellaneous Chores
1145
+
1146
+ * refresh generated license bundles and disposable-domain stats ([a389f38](https://github.com/visulima/visulima/commit/a389f38484788aafa8ba9b698e2dd5805a982d98))
1147
+ * sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
1148
+ * sorted package.json v2 ([70f0116](https://github.com/visulima/visulima/commit/70f01166709d5db1bd8cb309758e86edd4127eb5))
1149
+ * **vis:** regenerate vis-config.schema.json for defaultBase ([4a847e9](https://github.com/visulima/visulima/commit/4a847e9a7e193880546c295920c29b2c67265a16)), closes [VisConfig#defaultBase](https://github.com/visulima/VisConfig/issues/defaultBase)
1150
+
1151
+ ### Tests
1152
+
1153
+ * **vis:** cover highlight-preservation on sort + symmetric newRef on min-age skip ([5d383c7](https://github.com/visulima/visulima/commit/5d383c70a16c1a3b2243cb3d4503a547036a0d7c))
1154
+
1155
+
1156
+ ### Dependencies
1157
+
1158
+ * **@visulima/secret-scanner:** upgraded to 1.0.0-alpha.4
1159
+ * **@visulima/tabular:** upgraded to 4.0.0-alpha.12
1160
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.16
1161
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.20
1162
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.15
1163
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.28
1164
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.12
1165
+ * **@visulima/error:** upgraded to 6.0.0-alpha.30
1166
+ * **@visulima/find-cache-dir:** upgraded to 3.0.0-alpha.10
1167
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.28
1168
+ * **@visulima/interactive-manager:** upgraded to 1.0.0-alpha.3
1169
+ * **@visulima/package:** upgraded to 5.0.0-alpha.27
1170
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.18
1171
+ * **@visulima/path:** upgraded to 3.0.0-alpha.11
1172
+ * **@visulima/redact:** upgraded to 3.0.0-alpha.12
1173
+ * **@visulima/source-map:** upgraded to 3.0.0-alpha.10
1174
+ * **@visulima/spinner:** upgraded to 1.0.0-alpha.2
1175
+ * **@visulima/string:** upgraded to 3.0.0-alpha.14
1176
+
1177
+ ## @visulima/vis [1.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.23...@visulima/vis@1.0.0-alpha.24) (2026-05-26)
1178
+
1179
+ ### Features
1180
+
1181
+ * **vis:** surface peer-dependency hint after install ([4a140b0](https://github.com/visulima/visulima/commit/4a140b0d8e80f3dda82d0af645272e1149867d02))
1182
+
1183
+ ### Miscellaneous Chores
1184
+
1185
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
1186
+ * **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
1187
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
1188
+
1189
+ ### Tests
1190
+
1191
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
1192
+ * **repo:** cover bin entry points in dist integration suite ([7479ef1](https://github.com/visulima/visulima/commit/7479ef113cf5ccef25692619082afb1b6a0eecab))
1193
+
1194
+
1195
+ ### Dependencies
1196
+
1197
+ * **@visulima/error:** upgraded to 6.0.0-alpha.28
1198
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.19
1199
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.27
1200
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.26
1201
+ * **@visulima/package:** upgraded to 5.0.0-alpha.25
1202
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.17
1203
+
1204
+ ## @visulima/vis [1.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.22...@visulima/vis@1.0.0-alpha.23) (2026-05-20)
1205
+
1206
+ ### Features
1207
+
1208
+ * **vis:** add dashboard command with browser UI for cache and run metrics ([f94fcd9](https://github.com/visulima/visulima/commit/f94fcd94ef04f74e20ce308769d79cbd21d9fd60))
1209
+ * **vis:** add HTML graph report ([92865a2](https://github.com/visulima/visulima/commit/92865a2973a36f8c43adaf023ecd68e3859d0c68))
1210
+ * **vis:** add visx/vx npx-style entry point ([3802695](https://github.com/visulima/visulima/commit/3802695f3a0cf2776aaf706183ed2032324532bd))
1211
+ * **vis:** rebuild dashboard with Hono SSE + Vite + shadcn/ui ([f9df814](https://github.com/visulima/visulima/commit/f9df814683c6a1c967d8cbe15bee1b13959b5ab7))
1212
+ * **vis:** redesign audit HTML report + add --explain AI helper ([6b0ab9f](https://github.com/visulima/visulima/commit/6b0ab9ffe36c732a4ac0c05a4ad9453d51fbe89b))
1213
+ * **vis:** redesign dashboard with Nothing-inspired UI ([7cfc81d](https://github.com/visulima/visulima/commit/7cfc81d8592cdfda0086700363dbeac39650d1d7))
1214
+
1215
+ ### Bug Fixes
1216
+
1217
+ * **ci:** address review findings — injection, perms, defaults, fetch hardening ([0192278](https://github.com/visulima/visulima/commit/0192278b63a0178262c08a3d77fa0e832d085147))
1218
+ * **vis:** address audit findings on dashboard + visx + defineConfig refactor ([1eb8ae5](https://github.com/visulima/visulima/commit/1eb8ae5820d425780b9f5c05f153b68fe74a8a36))
1219
+ * **vis:** clean up dashboard audit nits — typos, dead code, redundant calls ([46a5c0e](https://github.com/visulima/visulima/commit/46a5c0ed8116f79c0307d51a1eb7c9d8ae419dde))
1220
+ * **vis:** harden dashboard server, metrics, and live UI ([be4c6a1](https://github.com/visulima/visulima/commit/be4c6a134410ef9e2b893d57ee6e2c1b163c4b88))
1221
+ * **vis:** key doctor cache on the resolved npm lockfile ([628a21d](https://github.com/visulima/visulima/commit/628a21d62285d6299fe399409783c297c64f9e1b))
1222
+ * **vis:** name the actual lockfile in npm pruner messages ([c783683](https://github.com/visulima/visulima/commit/c78368392930c3eafdb6e0c056535217665b2f07))
1223
+ * **vis:** prune npm-shrinkwrap.json into the Docker context ([ecfb54c](https://github.com/visulima/visulima/commit/ecfb54c7c515a14509c71458468c99c000b07d21))
1224
+ * **vis:** render task failure block lazily at the consumer ([cb35aa7](https://github.com/visulima/visulima/commit/cb35aa78550408b462e9a1ec2af3eddb65a27b87))
1225
+
1226
+ ### Miscellaneous Chores
1227
+
1228
+ * ignore sample-workspace .vis dirs and refresh license artifact ([0f88438](https://github.com/visulima/visulima/commit/0f884380bcc7b25ac0beec5994256cc5b956a167))
1229
+ * **vis:** make sample-workspace tasks cacheable ([a1db143](https://github.com/visulima/visulima/commit/a1db143b57a594470b9bf5695c60a0ced18344e3))
1230
+
1231
+ ### Code Refactoring
1232
+
1233
+ * **vis:** extract tryLoadSourceMap helper ([5b06bb6](https://github.com/visulima/visulima/commit/5b06bb69876e4870e75985a75ff22e299c8cf583))
1234
+ * **vis:** make defineConfig a pure typed-identity ([28f6f3f](https://github.com/visulima/visulima/commit/28f6f3f909a89103b972ca50a502fb6145d87794))
1235
+
1236
+ ### Tests
1237
+
1238
+ * **vis:** align task-store tests with lazy failure rendering ([9ddf5de](https://github.com/visulima/visulima/commit/9ddf5de95a41d89b4c9a33bbb88e777b909b6aee))
1239
+
1240
+ ### Continuous Integration
1241
+
1242
+ * tighten workflow yaml + restore missing publint dep ([b478f9a](https://github.com/visulima/visulima/commit/b478f9a9329d9c7243e694e3f360d385cc34567c))
1243
+
1244
+
1245
+ ### Dependencies
1246
+
1247
+ * **@visulima/error:** upgraded to 6.0.0-alpha.27
1248
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.18
1249
+ * **@visulima/ansi:** upgraded to 4.0.0-alpha.14
1250
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.26
1251
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.25
1252
+ * **@visulima/package:** upgraded to 5.0.0-alpha.24
1253
+
1254
+ ## @visulima/vis [1.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.21...@visulima/vis@1.0.0-alpha.22) (2026-05-19)
1255
+
1256
+ ### Features
1257
+
1258
+ * **task-runner:** auto-capture outputs for compound build scripts ([e084434](https://github.com/visulima/visulima/commit/e0844344cf184177999a82b708299f08fbfd31ec))
1259
+ * **task-runner:** per-target hashMode "trace" opt-in ([#643](https://github.com/visulima/visulima/issues/643)) ([32353ff](https://github.com/visulima/visulima/commit/32353ff7a760ae9486e23cc4042fab46a2f2cc11))
1260
+ * **vis:** add composite s1ngularity supply-chain marshall ([44cdeaf](https://github.com/visulima/visulima/commit/44cdeafb58eefcef061ffaab6822d4628cb06b2c))
1261
+ * **vis:** add deprecation + package-age marshalls ([5547840](https://github.com/visulima/visulima/commit/5547840b5aef9689f4080c77c44d3884309b0601))
1262
+ * **vis:** add deps.dev as supply-chain security provider alongside Socket ([7f752d2](https://github.com/visulima/visulima/commit/7f752d250fa3c96d2ec01ca58bddf911586ea949))
1263
+ * **vis:** add lockfile supply-chain verification ([a8c741d](https://github.com/visulima/visulima/commit/a8c741d80b52b275cde11be188ab22c41a11f5f4))
1264
+ * **vis:** add migrate verify-graph equivalence verification ([697e2c0](https://github.com/visulima/visulima/commit/697e2c0888c596e4bcee0a12922db76937a29175))
1265
+ * **vis:** add Snyk security provider ([aba3571](https://github.com/visulima/visulima/commit/aba35710719d1325b311bf80d81a91c91e75aa1f))
1266
+ * **vis:** add write guard, watchman backend, vcs hints ([5127d79](https://github.com/visulima/visulima/commit/5127d79ad2aa523760517601f71fdf38571ca4d3))
1267
+ * **vis:** attested keyless-signed remote cache (Sigstore) ([4732610](https://github.com/visulima/visulima/commit/47326103a668ab99fcfc4e21f2c9efeaa5892944))
1268
+ * **vis:** default inferTargets on with guarded script enrichment ([29cabd1](https://github.com/visulima/visulima/commit/29cabd1763ce915cbfa6aaa85b1c29a020d72b01))
1269
+ * **vis:** harden bootstrap installers + add lint CI ([49ec0a2](https://github.com/visulima/visulima/commit/49ec0a25e76ab5865cd2a2dce49413311fcf389c))
1270
+ * **vis:** integrate aube package manager + offline OSV bloom prefilter ([9513e09](https://github.com/visulima/visulima/commit/9513e0930c6fbcdb00e42df2ab9c650194a35eb4))
1271
+ * **vis:** scan npm-shrinkwrap.json with precedence ([ae907f1](https://github.com/visulima/visulima/commit/ae907f18e560eed7c80c7738650330909a254148))
1272
+ * **vis:** security check on by default for update, add --no-security ([e8db4c8](https://github.com/visulima/visulima/commit/e8db4c88a4c64038ca00c46b2a63083fee224637))
1273
+ * **vis:** source-mapped, code-framed task failure rendering ([95b2343](https://github.com/visulima/visulima/commit/95b2343d7299ab8537c5a4ef0205ddeee9146c58))
1274
+
1275
+ ### Bug Fixes
1276
+
1277
+ * **vis:** harden marshall pipeline and failure-render ANSI stripping ([22dc431](https://github.com/visulima/visulima/commit/22dc431ac3e841a2a342f297673b4d5f1a0a8a43))
1278
+ * **vis:** make write guard github/gitlab asymmetry explicit ([0202fd9](https://github.com/visulima/visulima/commit/0202fd99e920173cbbb5e9711bb2df9528d25e42))
1279
+ * **vis:** parse pnpm v11 multi-document lockfiles ([94024b6](https://github.com/visulima/visulima/commit/94024b65310ab70ef4a3d4fed93f4987203f4a57))
1280
+ * **vis:** version the packument cache so stale entries can't blind marshalls ([6741f55](https://github.com/visulima/visulima/commit/6741f551ed9c1a28a2184672ed644dd06344c93b))
1281
+ * **vis:** wire s1ngularity into the vis inspect dispatch ([0e355eb](https://github.com/visulima/visulima/commit/0e355eb44acfcf50caf09f7b0954038def735278))
1282
+
1283
+ ### Documentation
1284
+
1285
+ * **vis:** add MARSHALL_DISABLE_S1NGULARITY to shell-alias guide ([fee4979](https://github.com/visulima/visulima/commit/fee4979338cd255ee5c4ff1e52e99e545695e4d7))
1286
+ * **vis:** document lockfile supply-chain verification ([05c338f](https://github.com/visulima/visulima/commit/05c338f55f7069ed59018e64be3d24016ab3fb66))
1287
+ * **vis:** document s1ngularity marshall in add/update/inspect ([6a14d5c](https://github.com/visulima/visulima/commit/6a14d5c190a6125817abe9c3e35afde87893228a))
1288
+
1289
+ ### Styles
1290
+
1291
+ * **vis:** prettier/eslint conformance sweep ([dd200bd](https://github.com/visulima/visulima/commit/dd200bd84c022f5fd8819ce23bab2c1c4cace1ed))
1292
+
1293
+ ### Miscellaneous Chores
1294
+
1295
+ * **vis:** remove competitive-analysis and priority-roadmap docs ([3116348](https://github.com/visulima/visulima/commit/3116348a5f76772ace9f285d136d352a815c3f0a))
1296
+
1297
+
1298
+ ### Dependencies
1299
+
1300
+ * **@visulima/error:** upgraded to 6.0.0-alpha.26
1301
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.15
1302
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.17
1303
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.25
1304
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.24
1305
+ * **@visulima/package:** upgraded to 5.0.0-alpha.23
1306
+
1307
+ ## @visulima/vis [1.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.20...@visulima/vis@1.0.0-alpha.21) (2026-05-16)
1308
+
1309
+
1310
+ ### Dependencies
1311
+
1312
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.16
1313
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.24
1314
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.23
1315
+ * **@visulima/package:** upgraded to 5.0.0-alpha.22
1316
+
1317
+ ## @visulima/vis [1.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.19...@visulima/vis@1.0.0-alpha.20) (2026-05-14)
1318
+
1319
+ ### ⚠ BREAKING CHANGES
1320
+
1321
+ * **vis:** the following security.* keys were renamed:
1322
+ - security.minimumReleaseAge -> security.policies.first_seen.minutes
1323
+ - security.minimumReleaseAgeExclude -> security.policies.first_seen.exclude
1324
+ - security.trustPolicy -> security.policies.publisher_change.mode
1325
+ - security.trustPolicyExclude -> security.policies.publisher_change.exclude
1326
+ - security.trustPolicyIgnoreAfter -> security.policies.publisher_change.ignoreAfter
1327
+ - security.allowBuilds -> security.policies.install_scripts.allow
1328
+ - security.strictDepBuilds -> security.policies.install_scripts.strict
1329
+ - security.socket.minimumScore -> security.policies.score.minimum
1330
+ - security.socket.acceptedRisks -> security.acceptedRisks
1331
+ - security.audit.failOn -> security.policies.vulnerability.failOn
1332
+ - security.audit.usage -> security.policies.vulnerability.usage
1333
+
1334
+ AcceptedRisk now carries optional policies[] and expiresAt fields so
1335
+ risks can be scoped per-policy and time-boxed. Native PM sync writers
1336
+ keep emitting pnpm-native field names since pnpm owns that schema.
1337
+
1338
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1339
+
1340
+ * chore(vis): address coderabbit review feedback
1341
+
1342
+ - Add JSDoc to exported items across hook builtins, advisories, audit, docker
1343
+ - Document OSV `last_affected` inclusive-upper semantics with a focused test
1344
+ - Annotate NAPI u64→u32 truncations with JS Number range rationale
1345
+ - Switch vis-mcp tool payloads to zod schemas with `.catchall(z.unknown())`
1346
+ so unknown CLI fields stay forward-compatible
1347
+ - Fence RFC code blocks with explicit languages and tidy hook-command
1348
+ formatting (multi-line type, implicit-return arrows)
1349
+
1350
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1351
+
1352
+ * chore(vis): address second-round coderabbit feedback on policies rename
1353
+
1354
+ - Drift report labels now reference `security.policies.*` paths so the
1355
+ hint matches the keys users edit
1356
+ - `defineConfig` JSDoc examples use the new `security.policies` shape
1357
+ - `mergeSecurityDefaults` deep-merges every defaulted sub-policy
1358
+ generically; `mergeVisConfigs` deep-merges `policies` and
1359
+ `acceptedRisks` so presets aren't clobbered
1360
+ - Config-writer scopes its `allow:` match to follow an
1361
+ `install_scripts:` opener
1362
+ - JSDoc clarifications for `audit.advisories.source` default,
1363
+ `acceptedRisks.expiresAt`/`acceptedScore` ranges, `malware.mode`
1364
+ cross-field default, and the current `policies.score.minimum`
1365
+ wiring gap
1366
+
1367
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1368
+
1369
+ * chore(vis): finish coderabbit round-2 fixes — camelCase policies + wire score.minimum
1370
+
1371
+ - Rename `PolicyName` union to camelCase (`firstSeen`, `installScripts`,
1372
+ `publisherChange`, `unexpectedDeps`). Updates every consumer in src/,
1373
+ test fixtures, schemas, and docs. JSON schema regenerated.
1374
+ - Add `types` mapping to the `#native` package.json import so TypeScript
1375
+ resolves `index.d.ts` when consumers import the alias.
1376
+ - Thread `socketOptions.minimumScore` through `audit`, `doctor`, `check`,
1377
+ `update`, `add`, `formatSecurityOverview`, `formatSummary`, and
1378
+ `applyFilter`. `buildSocketOptions` now resolves the effective minimum
1379
+ once (from `security.policies.score.minimum` or
1380
+ `DEFAULT_LOW_SCORE_THRESHOLD`) so every consumer sees the same value
1381
+ instead of comparing scores against the hard-coded constant.
1382
+ - Update the JSDoc on `policies.score.minimum` to reflect the new wiring.
1383
+
1384
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1385
+
1386
+ * feat(vis): add Socket-style policy engine with 4 offline-clean policies
1387
+
1388
+ Introduce a unified `evaluatePolicies()` engine under `src/security/policies/`
1389
+ with four offline-clean modules: license, install_scripts, vulnerability,
1390
+ and unexpected_deps (baseline mode). Each policy emits PolicyDecisions
1391
+ (block/warn/info) keyed by package, with per-policy accepted-risk scoping
1392
+ and expiresAt support reused from the shared matcher.
1393
+
1394
+ Wires the engine into `vis audit`: a new `--policies <names>` flag
1395
+ (comma-list, `all`, or `none`) narrows evaluation. Block-severity
1396
+ decisions feed into `--exit-code` and `--fail-on`. JSON output gains
1397
+ `policies[]` + `summary.policyBlocks`. SARIF and HTML formatters render
1398
+ policy decisions alongside vulnerabilities; CSAF and CycloneDX-VEX are
1399
+ intentionally left untouched (vuln-specific data models).
1400
+
1401
+ Adds `readNodeModulesManifests()` to walk `node_modules/` (including the
1402
+ pnpm `.pnpm/` content-addressed store) and surface license + scripts +
1403
+ maintainers metadata for the offline policies.
1404
+
1405
+ 33 new unit + integration tests; full vitest suite (3582/3582) green;
1406
+ `tsc --noEmit` clean.
1407
+
1408
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1409
+
1410
+ * fix(vis): close three audit policy gating gaps surfaced by CodeRabbit
1411
+
1412
+ - applyExitGate's fallthrough call to applyFailOnGate was dropping the
1413
+ policyDecisions argument, so `vis audit --format sarif --fail-on high`
1414
+ exited 0 when the only signal was a block-severity policy decision.
1415
+ Forward the argument.
1416
+ - Unknown --policies tokens were silently swallowed when format was
1417
+ json/sarif/csaf/cyclonedx-vex, so a typoed CI invocation reduced
1418
+ enforcement with no log. Always emit the warning to stderr and
1419
+ surface the tokens in JSON output as `warnings[]`.
1420
+ - Vulnerability-policy block decisions whose advisory was masked by
1421
+ --severity used to exit 1 with no visible reason. Surface those
1422
+ decisions in the human-readable "Policy Decisions" section so the
1423
+ gate is always traceable.
1424
+
1425
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1426
+
1427
+ * fix(vis): correct npm/yarn min-release-age native config writers
1428
+
1429
+ npm CLI types `min-release-age` as `Number` in days, not a duration string —
1430
+ vis wrote `48h`/`15m`, which npm's parseInt would silently read as 48/15 days.
1431
+ Write integer days rounded up so the native gate is never weaker than vis-config.
1432
+
1433
+ Yarn Berry silently treats day suffixes in `npmMinimalAgeGate` as minutes
1434
+
1435
+ ### Features
1436
+
1437
+ * **vis:** add LavaMoat allow-scripts parity (run/tripwire/--write/allowBins) ([84218d3](https://github.com/visulima/visulima/commit/84218d392abcde8d76b9b92de7d220be2b08e854))
1438
+ * **vis:** multi-source codeowners aggregation ([d22df81](https://github.com/visulima/visulima/commit/d22df81214899209be3fd9fa4d83372be97552ef))
1439
+ * **vis:** offline OSV scanner + unified security.policies ([#632](https://github.com/visulima/visulima/issues/632)) ([6461902](https://github.com/visulima/visulima/commit/646190243bf51bb6df172665d70fd501644e7bc3)), closes [#631](https://github.com/visulima/visulima/issues/631) [#631](https://github.com/visulima/visulima/issues/631) [yarnpkg/berry#6991](https://github.com/yarnpkg/berry/issues/6991)
1440
+ * **vis:** wire marshall env-var matrix into install/audit/check + add keys-refresh ([e1e2d6c](https://github.com/visulima/visulima/commit/e1e2d6c2dc81cfdf442b6f75b6497150b368565f))
1441
+
1442
+ ### Bug Fixes
1443
+
1444
+ * **release:** patch NAPI version-check string and ship fresh loader on release ([0676e33](https://github.com/visulima/visulima/commit/0676e336f453c9ae38c9f3a5fbbb675f9bff7ea0))
1445
+ * **vis:** clear lint findings in hook dispatch, builtins, and util ([d05204c](https://github.com/visulima/visulima/commit/d05204c9a88d300b2b4ba3c2dd4169a9860a1d86))
1446
+
1447
+ ### Documentation
1448
+
1449
+ * **vis:** add vltpkg/security-archive attribution ([019d6fd](https://github.com/visulima/visulima/commit/019d6fd4d4426991f2fb31450f72616b14874aff))
1450
+
1451
+ ### Miscellaneous Chores
1452
+
1453
+ * fixed build ([ec156bf](https://github.com/visulima/visulima/commit/ec156bf08859e81186b74533610357d85c38f64e))
1454
+ * update license file ([8a84e10](https://github.com/visulima/visulima/commit/8a84e10f2077779159f2f1e186be1d461c47e043))
1455
+ * **vis:** apply prettier and eslint --fix sweep ([ec64552](https://github.com/visulima/visulima/commit/ec645524984f0e767ba63b3fcaaf60e184d31edf))
1456
+ * **vis:** clear remaining ESLint findings across marshalls and tests ([29f87c5](https://github.com/visulima/visulima/commit/29f87c56d8c4aadfe5e270e67901435af31b8eae))
1457
+ * **vis:** fix indent-binary-ops and silence default-log no-console ([9c8d5e1](https://github.com/visulima/visulima/commit/9c8d5e1cc07e6e5f3c01d0b79715f074dbda9b0b))
1458
+ * **vis:** style normalization sweep + scopedTasks/allowBins config fields ([ff97758](https://github.com/visulima/visulima/commit/ff977584da0afdf61d619b7a5fb7536f80c782a6))
1459
+
1460
+ ### Tests
1461
+
1462
+ * **vis:** raise audit-offline gate to 5× budget for CI hosts ([345b159](https://github.com/visulima/visulima/commit/345b1590cd5f0fbe432855aafde8e7cb3ab19c84))
1463
+ * **vis:** use median-of-11 samples for audit-offline perf gate ([3225515](https://github.com/visulima/visulima/commit/3225515f9bf67149b8e0cb42812bc21729b6d750))
1464
+
1465
+ ### Continuous Integration
1466
+
1467
+ * **vis:** track index.d.ts so loader artifact survives cache hits ([b9a439f](https://github.com/visulima/visulima/commit/b9a439f178f1849cc14233ad76e51fe38e5d180f))
1468
+
1469
+
1470
+ ### Dependencies
1471
+
1472
+ * **@visulima/secret-scanner:** upgraded to 1.0.0-alpha.3
1473
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.14
1474
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.15
1475
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.23
1476
+ * **@visulima/colorize:** upgraded to 2.0.0-alpha.11
1477
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.22
1478
+ * **@visulima/package:** upgraded to 5.0.0-alpha.21
1479
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.16
1480
+
1481
+ ## @visulima/vis [1.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.18...@visulima/vis@1.0.0-alpha.19) (2026-05-11)
1482
+
1483
+ ### ⚠ BREAKING CHANGES
1484
+
1485
+ * **vis:** replace prek runner with in-process hook dispatcher
1486
+ * **vis:** vis sbom now emits CycloneDX 1.7. Downstream consumers
1487
+ pinned to a 1.6 validator must upgrade.
1488
+
1489
+ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1490
+
1491
+ ### Features
1492
+
1493
+ * **vis:** bump sbom to cyclonedx 1.7 ([904075f](https://github.com/visulima/visulima/commit/904075fd9353e40b593d5a13f53307c584e31da7))
1494
+ * **vis:** replace prek runner with in-process hook dispatcher ([659ba07](https://github.com/visulima/visulima/commit/659ba07fc311c36783e8900188b9753276a961fe))
1495
+
1496
+
1497
+ ### Dependencies
1498
+
1499
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.14
1500
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.22
1501
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.21
1502
+ * **@visulima/package:** upgraded to 5.0.0-alpha.20
1503
+
1504
+ ## @visulima/vis [1.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.17...@visulima/vis@1.0.0-alpha.18) (2026-05-11)
1505
+
1506
+ ### Features
1507
+
1508
+ * **task-runner:** add resolveTurboEnvCompat helper ([a8e73ef](https://github.com/visulima/visulima/commit/a8e73ef324dd8d1bc1f1f471f59f9292f9f01745))
1509
+ * **vis:** add vis-mcp post-command promotion nudge ([9244fad](https://github.com/visulima/visulima/commit/9244fad8a8f9164ce99b2ab3cb771d53f926e788))
1510
+ * **vis:** expand secrets.config.presets to tag selectors ([77b8d2b](https://github.com/visulima/visulima/commit/77b8d2bbc951d5180753f37a45d2313c01fcf47f))
1511
+ * **vis:** honour TURBO_API/TURBO_TOKEN/TURBO_TEAM env vars ([0d4fc8c](https://github.com/visulima/visulima/commit/0d4fc8c1ad617ba27c436e40e520ddcbb19ebeca))
1512
+ * **vis:** show flakiness table on successful runs too ([085b219](https://github.com/visulima/visulima/commit/085b219a4472ceb0fd2f507c7bc3b3b1780a014a))
1513
+ * **vis:** surface retried-but-passed tasks and add CI log grouping ([2bdceaa](https://github.com/visulima/visulima/commit/2bdceaacf3f69c99a08c9e1b3b6eda0ee3528cd2))
1514
+
1515
+ ### Bug Fixes
1516
+
1517
+ * **vis:** raise timeout for exposed-files preset tests to 15s ([433db73](https://github.com/visulima/visulima/commit/433db7319ecf4720664bc199582d571ea6a3630b))
1518
+ * **vis:** warm default ruleset for exposed-files preset tests ([9c76250](https://github.com/visulima/visulima/commit/9c76250d2ee6e8e2be878e5dcfb149d38126d60d))
1519
+
1520
+ ### Documentation
1521
+
1522
+ * **vis:** mention TURBO_API fallback in help text and migrate hint ([f9bd7ac](https://github.com/visulima/visulima/commit/f9bd7acd7a53837e40376f9b0dcf54040bbc50a1))
1523
+
1524
+ ### Miscellaneous Chores
1525
+
1526
+ * added fixtures to prettier ignore ([13bda29](https://github.com/visulima/visulima/commit/13bda2942d5d95fedeec7c07937fdfc37cf960c7))
1527
+ * **vis:** apply eslint and formatter sweep ([d3a48c5](https://github.com/visulima/visulima/commit/d3a48c577a77864b1aae52e6061a8aad1554f273))
1528
+
1529
+
1530
+ ### Dependencies
1531
+
1532
+ * **@visulima/secret-scanner:** upgraded to 1.0.0-alpha.2
1533
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.13
1534
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.13
1535
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.21
1536
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.20
1537
+ * **@visulima/package:** upgraded to 5.0.0-alpha.19
1538
+
1539
+ ## @visulima/vis [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.16...@visulima/vis@1.0.0-alpha.17) (2026-05-10)
1540
+
1541
+ ### Features
1542
+
1543
+ * **vis:** expand typed plugin hook surface ([d0784df](https://github.com/visulima/visulima/commit/d0784df2b0c422002ec21c3c8da0002e0ff70dee))
1544
+
1545
+
1546
+ ### Dependencies
1547
+
1548
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.12
1549
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.12
1550
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.20
1551
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.19
1552
+ * **@visulima/package:** upgraded to 5.0.0-alpha.18
1553
+
1554
+ ## @visulima/vis [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.15...@visulima/vis@1.0.0-alpha.16) (2026-05-10)
1555
+
1556
+ ### Features
1557
+
1558
+ * add service and tool projectType variants ([61858ad](https://github.com/visulima/visulima/commit/61858ad4c044b5f30318f282615c83f716667053)), closes [#21](https://github.com/visulima/visulima/issues/21)
1559
+ * **vis:** auto-start declared service deps for vis run with TUI dock ([adeb316](https://github.com/visulima/visulima/commit/adeb3164d29aec6da2eeed03d46fc0502aec5d6a))
1560
+ * **vis:** cross-PM dispatch for vis pm (yarn berry, pnpm 11, bun pm) ([fd56b86](https://github.com/visulima/visulima/commit/fd56b86317f4141227814504845f03ce777c0b88))
1561
+ * **vis:** expand nx migrator and add --force overwrite ([d6e5a91](https://github.com/visulima/visulima/commit/d6e5a91c4bc44a34dd770dd0b8298b5017bdd6df))
1562
+ * **vis:** prune workspace lockfile in docker scaffold ([d1c0904](https://github.com/visulima/visulima/commit/d1c090425d130b3e18b6e64e44fe81eb1e08b923))
1563
+
1564
+ ### Bug Fixes
1565
+
1566
+ * **vis:** exit explicitly after cli.run settles ([2dc28e2](https://github.com/visulima/visulima/commit/2dc28e2d0d735526c9c551aeae72af63a2deee4d))
1567
+ * **vis:** release stdin and label persistent quits in dynamic TUI ([7350547](https://github.com/visulima/visulima/commit/7350547363fcbd4ec4d845d2194c22188605f34f))
1568
+
1569
+ ### Documentation
1570
+
1571
+ * **vis:** document missing cache subcommands and run flags ([cf093a1](https://github.com/visulima/visulima/commit/cf093a1879ff414d0500ac91d76bba98352ed97e))
1572
+
1573
+ ### Miscellaneous Chores
1574
+
1575
+ * **vis:** drop redundant section banners and pure-WHAT docblocks ([745844b](https://github.com/visulima/visulima/commit/745844b601cf111d362718611fa7021c19f2e939))
1576
+ * **vis:** finish .vis/ cutover for stragglers ([3053347](https://github.com/visulima/visulima/commit/30533478e084b9ae84aefe191d57c672ca0797fa))
1577
+ * **vis:** sort docker example api/package.json deps ([28fdbd7](https://github.com/visulima/visulima/commit/28fdbd780fb3384dcfc3f06db4145fafaeef52d2))
1578
+
1579
+ ### Code Refactoring
1580
+
1581
+ * replace execa with tinyexec ([56ec776](https://github.com/visulima/visulima/commit/56ec776908fe0c068c54542f3885cb29f061fea7))
1582
+ * **vis:** consolidate workspace state under .vis/ ([9e89d52](https://github.com/visulima/visulima/commit/9e89d52f03cc8b3a6a51c13a2359e9b93532c1dd))
1583
+ * **vis:** extract definePlugin and fix jiti temp config path under pnpm hoisting ([8cda079](https://github.com/visulima/visulima/commit/8cda079c22686121c966befb25295bc3511bf29b))
1584
+ * **vis:** import @visulima/tui components and hooks from subpaths ([2d9245d](https://github.com/visulima/visulima/commit/2d9245d81c9555b87c3803a428b1a306ae242da0))
1585
+ * **vis:** polish derivations across vis-* TUI apps ([47a7945](https://github.com/visulima/visulima/commit/47a79456341282f945689e40c8b174e92b8dc6df))
1586
+
1587
+ ### Tests
1588
+
1589
+ * **vis:** bump docker-lockfile prune test timeout for CI ([ef57ec2](https://github.com/visulima/visulima/commit/ef57ec21799b1158b972ff92568db111daa2e74f))
1590
+ * **vis:** cover docker scaffold with example workspace and real-lockfile fixture ([9104638](https://github.com/visulima/visulima/commit/910463861d1200773b163acdc8bff919e37d6b97))
1591
+ * **vis:** skip docker-lockfile fixture suite in CI ([af7503e](https://github.com/visulima/visulima/commit/af7503eea3d76ace9b9703332456b771bfd91380))
1592
+
1593
+
1594
+ ### Dependencies
1595
+
1596
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.11
1597
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.11
1598
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.19
1599
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.18
1600
+ * **@visulima/package:** upgraded to 5.0.0-alpha.17
1601
+ * **@visulima/string:** upgraded to 3.0.0-alpha.13
1602
+
1603
+ ## @visulima/vis [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.14...@visulima/vis@1.0.0-alpha.15) (2026-05-07)
1604
+
1605
+ ### Bug Fixes
1606
+
1607
+ * moved deps to dev dep ([62a47f2](https://github.com/visulima/visulima/commit/62a47f29b182b202c9956819f3b4a32da38c14cd))
1608
+
1609
+
1610
+ ### Dependencies
1611
+
1612
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.10
1613
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.18
1614
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.17
1615
+ * **@visulima/package:** upgraded to 5.0.0-alpha.16
1616
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.15
1617
+ * **@visulima/redact:** upgraded to 3.0.0-alpha.11
1618
+ * **@visulima/string:** upgraded to 3.0.0-alpha.12
1619
+
1620
+ ## @visulima/vis [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.13...@visulima/vis@1.0.0-alpha.14) (2026-05-07)
1621
+
1622
+ ### Features
1623
+
1624
+ * **vis:** add --peer and --include-internal flags to update and check ([900bbbe](https://github.com/visulima/visulima/commit/900bbbed6ec3611e993cf4fcc929c8b9b7cc7d60)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
1625
+
1626
+ ### Bug Fixes
1627
+
1628
+ * **vis:** apply pnpm !-exclusions and root .gitignore in workspace resolver ([b08a1be](https://github.com/visulima/visulima/commit/b08a1be4391e362dca4f935541362bae01b859d9)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
1629
+
1630
+ ### Miscellaneous Chores
1631
+
1632
+ * **vis:** bump example setup-wizard @inquirer/prompts to v8 ([1974734](https://github.com/visulima/visulima/commit/1974734c34d49c61ce62b663a999a6161e679251))
1633
+ * **vis:** bundle internal deps as devDeps and extend packem hoisted exclude ([9cd6cba](https://github.com/visulima/visulima/commit/9cd6cba0ed89e26b6def141433d024c7a5851578))
1634
+
1635
+ ### Code Refactoring
1636
+
1637
+ * **vis:** centralize per-user filesystem layout in vis-paths helpers ([9a06751](https://github.com/visulima/visulima/commit/9a0675131e7da5bc338bcaf438574a4a5930d239))
1638
+ * **vis:** read negative flags via cerebro's options.X === false idiom ([c52f39f](https://github.com/visulima/visulima/commit/c52f39f9294c42e69be2e4e3c327330875aef37b))
1639
+
1640
+
1641
+ ### Dependencies
1642
+
1643
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.16
1644
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.9
1645
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.17
1646
+ * **@visulima/package:** upgraded to 5.0.0-alpha.15
1647
+
1648
+ ## @visulima/vis [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.12...@visulima/vis@1.0.0-alpha.13) (2026-05-06)
1649
+
1650
+
1651
+ ### Dependencies
1652
+
1653
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.16
1654
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.15
1655
+ * **@visulima/package:** upgraded to 5.0.0-alpha.14
1656
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.14
1657
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.8
1658
+
1659
+ ## @visulima/vis [1.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.11...@visulima/vis@1.0.0-alpha.12) (2026-05-06)
1660
+
1661
+ ### Features
1662
+
1663
+ * **vis:** add --reverse for leaves-first task order ([9d02f37](https://github.com/visulima/visulima/commit/9d02f373ff08ed94c95055725ce43ed42ea8c9aa))
1664
+ * **vis:** add --skip-cache for selective per-task cache bypass ([28cfa7a](https://github.com/visulima/visulima/commit/28cfa7afc03ace27a4ff41746e91c70006cb9e9e))
1665
+ * **vis:** add corepack passthrough + unified dry/silent/env ([0ba38b2](https://github.com/visulima/visulima/commit/0ba38b297385497deb167efd03349f38ef1a7049)), closes [#6](https://github.com/visulima/visulima/issues/6) [#10](https://github.com/visulima/visulima/issues/10) [#11](https://github.com/visulima/visulima/issues/11)
1666
+ * **vis:** add custom-types lint for engines/packageManager/volta drift ([149455a](https://github.com/visulima/visulima/commit/149455a114b76c86ea12b7f271450297f38eeff6))
1667
+ * **vis:** add deno as first-class package manager + --auto-install-peers ([90d6d0f](https://github.com/visulima/visulima/commit/90d6d0fd98d531e1f76de42848da27605509f7d3))
1668
+ * **vis:** add sponsor notice after successful commands ([86ebd1c](https://github.com/visulima/visulima/commit/86ebd1c3270c3241c76577eae8bb889690b71e53))
1669
+ * **vis:** add syncpack migrate adapter and audit ([6e07ae8](https://github.com/visulima/visulima/commit/6e07ae86401f374d76206c81d1c6131bc08618e2))
1670
+ * **vis:** add task-level runner tags for capability-gated CI lanes ([8980e03](https://github.com/visulima/visulima/commit/8980e0319e99b4f79c5e049509d7dc2039f2092d))
1671
+ * **vis:** auto-generate JSON schemas from TypeScript types ([391a3f0](https://github.com/visulima/visulima/commit/391a3f0d253b3b55d02346bbb0dbeb061d8ec06f))
1672
+ * **vis:** close 7 syncpack-parity gaps ([85bc6b1](https://github.com/visulima/visulima/commit/85bc6b169fbc75cc4cc1b43b5bea85e673253f06)), closes [pnpm-workspace.yaml#overrides](https://github.com/visulima/pnpm-workspace.yaml/issues/overrides) [#623](https://github.com/visulima/visulima/issues/623) [#624](https://github.com/visulima/visulima/issues/624) [#625](https://github.com/visulima/visulima/issues/625) [#626](https://github.com/visulima/visulima/issues/626) [#627](https://github.com/visulima/visulima/issues/627) [#628](https://github.com/visulima/visulima/issues/628) [#629](https://github.com/visulima/visulima/issues/629)
1673
+ * **vis:** honor editorconfig in all JSON writers ([859e925](https://github.com/visulima/visulima/commit/859e92533d0349be37c1a750cb80582c14acb715))
1674
+ * **vis:** implement vis sync package-json-fields ([87e1fa1](https://github.com/visulima/visulima/commit/87e1fa11f2be741a768fe0c6c04238427823623a))
1675
+ * **vis:** port sherif lint rules and add migrate sherif command ([243324b](https://github.com/visulima/visulima/commit/243324b440a31831b6c6d93219d8cb3a3ab48495))
1676
+ * **vis:** scope banned-deps rules with packages/paths globs ([82fbaf2](https://github.com/visulima/visulima/commit/82fbaf2ffac946f032fc872ee2a428989ebf8c57))
1677
+ * **vis:** skip ignored paths in sort-package-json ([74215c0](https://github.com/visulima/visulima/commit/74215c06fd0e0f562b97e803a95b9e662e9980e2)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
1678
+ * **vis:** surface leftover migration references in vis doctor ([ebd3a48](https://github.com/visulima/visulima/commit/ebd3a4841a736209cdbf2641ac6e27ec2e69f886))
1679
+ * **vis:** translate syncpack isBanned versionGroups to policy.bannedDeps ([f95d01b](https://github.com/visulima/visulima/commit/f95d01bda6a5add3f7fa0d48c1c955942b5c7fc3))
1680
+ * **vis:** user-defined customTypes for vis lint ([51fa21f](https://github.com/visulima/visulima/commit/51fa21f4193913f64e4abcd1dc9f97322dd21553))
1681
+
1682
+ ### Bug Fixes
1683
+
1684
+ * **vis:** coalesce wheel-burst input and group sort-package-json TUI ([97aa78b](https://github.com/visulima/visulima/commit/97aa78bc445fc234e1473986a867e70f8d15d7b4))
1685
+ * **vis:** declare missing editorconfig field on VisConfig type ([4a33428](https://github.com/visulima/visulima/commit/4a334285b396ee41a1dbe507eb27fb2894055463))
1686
+ * **vis:** drop duplicate --no-color global option ([c50879a](https://github.com/visulima/visulima/commit/c50879a7ab2b195b4decf81d2cca5d3a39b8f137))
1687
+ * **vis:** harden extraTypes per review ([8b56f48](https://github.com/visulima/visulima/commit/8b56f48fce55ac133bd20f181133ad17e06a9825))
1688
+ * **vis:** hash expanded command so token-driven cache keys vary per affected set ([636b1ac](https://github.com/visulima/visulima/commit/636b1ac843381cf7df3fec844431ec0123b5f565))
1689
+ * **vis:** read bun minimumReleaseAge from bunfig.toml, not package.json ([78fe9f4](https://github.com/visulima/visulima/commit/78fe9f40452ddfc93d4bd3d66ec49f269b6085e6))
1690
+ * **vis:** replace editorconfig with ec4rs binding ([3a83ed0](https://github.com/visulima/visulima/commit/3a83ed0f9de3e4202dfa51cf9bf4e6d8c3b0134d))
1691
+ * **vis:** resolve tsc errors in create handler and watch keybinds ([033760d](https://github.com/visulima/visulima/commit/033760d83c8a7252dadbd716ecd04f80f54816e9))
1692
+
1693
+ ### Documentation
1694
+
1695
+ * **vis:** add migration sources to credits section ([2caddce](https://github.com/visulima/visulima/commit/2caddcea6755bdc73780b559243cc27d4f2d48f7))
1696
+ * **vis:** document json deps, sync fields, post-sort flags ([d244ddd](https://github.com/visulima/visulima/commit/d244ddd2b2e88d53e756fef57e4024cd46a57430))
1697
+ * **vis:** document patchedDependencies supply-chain check ([b373960](https://github.com/visulima/visulima/commit/b373960d6d7dc38db9eeb8437cec33d47f9102ab))
1698
+ * **vis:** document vis lint and mark syncpack item 6 shipped ([73cbd44](https://github.com/visulima/visulima/commit/73cbd4457810a91ecce99856522904885e80c4d6))
1699
+ * **vis:** mark `${affected.files}` token wiring as shipped ([e4d306e](https://github.com/visulima/visulima/commit/e4d306e5ddd1eba30a404bf3d03efc5d976f0e9a)), closes [#6](https://github.com/visulima/visulima/issues/6)
1700
+ * **vis:** mark syncpack ports shipped, link [#622](https://github.com/visulima/visulima/issues/622) ([2fdb8de](https://github.com/visulima/visulima/commit/2fdb8de9d1b6946208a34a4da491918820f8c815))
1701
+
1702
+ ### Miscellaneous Chores
1703
+
1704
+ * commit pnpm-lock and vis syncpack roadmap ([5138981](https://github.com/visulima/visulima/commit/5138981ee04b45900c6cf1ba41f8e18025d4ba63))
1705
+ * re-enable antfu/if-newline in vis and secret-scanner ([bcd84de](https://github.com/visulima/visulima/commit/bcd84de019b60f6bc474852e7ae6b7da822a9185))
1706
+ * re-enable jsdoc/match-description in api-platform and tighten config docs ([4ecaa31](https://github.com/visulima/visulima/commit/4ecaa315064cdd798af1ea1296be1fe52967bf9a))
1707
+ * **vis:** apply pending eslint autofixes and regenerate bundled licenses ([742c613](https://github.com/visulima/visulima/commit/742c61358fcc6b07a62f3c4f688320335aeca27b))
1708
+ * **vis:** apply prettier and eslint quote-style auto-fix ([f477246](https://github.com/visulima/visulima/commit/f47724629e5708ca45bb7891fdc03411088f0d00))
1709
+ * **vis:** apply prettier and eslint quote-style auto-fix ([915d80b](https://github.com/visulima/visulima/commit/915d80b4eca4e8da8ca36154a994f9048d1c1e28))
1710
+ * **vis:** clear all eslint warnings across vis package ([f0c513e](https://github.com/visulima/visulima/commit/f0c513ead5761ebba35379099bcfa50ee006e44f))
1711
+ * **vis:** commit pending lint+tsc fixes ([3d7a519](https://github.com/visulima/visulima/commit/3d7a5193f729e70444bdac983afdcf39828b4ad6))
1712
+ * **vis:** destructure runtime to satisfy prefer-destructuring in custom-types tests ([4802c91](https://github.com/visulima/visulima/commit/4802c912dda97ffd04182c1d9d4169c58b3c5aac))
1713
+ * **vis:** drop stale planning doc and exclude sherif-lint fixtures ([6002fd2](https://github.com/visulima/visulima/commit/6002fd273242f357eb8884a1d3cfe2526c769d61))
1714
+ * **vis:** enforce @stylistic/quotes — auto-fix 333 single→double quote sites ([b33bdcb](https://github.com/visulima/visulima/commit/b33bdcbb52ecba14b8088053df5653adba0b5b6e))
1715
+ * **vis:** fix lint errors ([0898454](https://github.com/visulima/visulima/commit/0898454c6119b2eaf77836015bc078a8afd2a1c0))
1716
+ * **vis:** housekeeping cleanup ([59a33fb](https://github.com/visulima/visulima/commit/59a33fba3ed65ae965b227d1e860e05e1b707bfa))
1717
+ * **vis:** remove ~10 eslint disables and fix mid-tier violations ([6a8a960](https://github.com/visulima/visulima/commit/6a8a960289c31d495cd3d37d2b28022516c02cd5))
1718
+ * **vis:** remove ~10 stale-zero/trivial eslint disables ([ffda729](https://github.com/visulima/visulima/commit/ffda72972a7d44d3b6eb2d1942897ff211811172))
1719
+ * **vis:** remove ~21 eslint disables and fix the violations ([6aec6e8](https://github.com/visulima/visulima/commit/6aec6e830c6e8816036f5dce8c6f57178f1e1af6))
1720
+ * **vis:** rename PascalCase TUI components to kebab-case ([3aaa398](https://github.com/visulima/visulima/commit/3aaa398125f722770c1b44d0edb45ddfec2d0802))
1721
+
1722
+ ### Code Refactoring
1723
+
1724
+ * **vis:** drop --json alias from vis list, use --format=json ([30251b0](https://github.com/visulima/visulima/commit/30251b016c5631bb200d580ece891ff783d67930))
1725
+ * **vis:** fold vis json deps into vis list --deps --format=ndjson ([1d0c859](https://github.com/visulima/visulima/commit/1d0c85981b9b1db1a49a6932dd4986e1862f4725))
1726
+ * **vis:** tighten verify+syncpack types from audit feedback ([277bf93](https://github.com/visulima/visulima/commit/277bf93f810e034c98b83c53a5ff09b7b4fe8688))
1727
+ * **vis:** tighten versionGroups remainder filter ([9965d34](https://github.com/visulima/visulima/commit/9965d34e5425d9307f1a2207058c3916d2b76cfb))
1728
+
1729
+ ### Tests
1730
+
1731
+ * **vis:** bump loader-resolution timeout to 30s to survive suite contention ([17d738d](https://github.com/visulima/visulima/commit/17d738db8aee272fb9abbb40d0f2a094f16c5eae))
1732
+ * **vis:** cover custom-types format outputs ([b99ea50](https://github.com/visulima/visulima/commit/b99ea50a7b270bbc56984adf8a3f3c7b154559bb))
1733
+ * **vis:** cover syncpack-parity features and wire --query into --deps ([f913f51](https://github.com/visulima/visulima/commit/f913f51ba78e427c57099c9819f3013c5c88231d)), closes [pnpm-workspace.yaml#overrides](https://github.com/visulima/pnpm-workspace.yaml/issues/overrides)
1734
+
1735
+ ### Continuous Integration
1736
+
1737
+ * **vis:** move schemas drift check out of vitest ([6da612b](https://github.com/visulima/visulima/commit/6da612bf459095777c163707747f6f0a29bf2fec))
1738
+
1739
+
1740
+ ### Dependencies
1741
+
1742
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.15
1743
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.14
1744
+ * **@visulima/package:** upgraded to 5.0.0-alpha.13
1745
+ * **@visulima/pail:** upgraded to 4.0.0-alpha.13
1746
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.10
1747
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.7
1748
+
1749
+ ## @visulima/vis [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.10...@visulima/vis@1.0.0-alpha.11) (2026-05-04)
1750
+
1751
+ ### Features
1752
+
1753
+ * **task-runner,vis:** cache restoration fidelity ([a15cb22](https://github.com/visulima/visulima/commit/a15cb22bde832cfe76ee017722b8b9f9102dac8f))
1754
+ * **task-runner:** add REAPI gRPC backend, cacheMode, and cache doctor ([03e6da9](https://github.com/visulima/visulima/commit/03e6da97beb84f6adc4a07a1c7ca4acf28be3b33))
1755
+ * **task-runner:** add URI-based input format ([050b583](https://github.com/visulima/visulima/commit/050b5838c15590a3ccba0ca99ad585cbabc36d99))
1756
+ * **vis:** add --json and --describe to vis generate ([396c89b](https://github.com/visulima/visulima/commit/396c89b29ddca99b01394508fda4b3d6b1804a3a))
1757
+ * **vis:** add `vis add --to <pkg>` auto-conforming to catalogs (syncpack[#285](https://github.com/visulima/visulima/issues/285)) ([03a5641](https://github.com/visulima/visulima/commit/03a56411fe88165395ec081f1d9caee2474fbf2a))
1758
+ * **vis:** add 33 inferTargets detectors ([b4b4684](https://github.com/visulima/visulima/commit/b4b468436ed2c48484ecbf69539b0121870fd124))
1759
+ * **vis:** add ai heal + heal accept commands ([3c6fa32](https://github.com/visulima/visulima/commit/3c6fa323c8133d95a17fe9bc19ffd3d8aeb37c4e))
1760
+ * **vis:** add Buildkite CI provider and `vis generate buildkite-ci` builtin ([845ac99](https://github.com/visulima/visulima/commit/845ac99a37dc9f280d5bba11aad4cf196cdaaebc)), closes [#19](https://github.com/visulima/visulima/issues/19)
1761
+ * **vis:** add Claude skill for vis-mcp consumption ([434ceb2](https://github.com/visulima/visulima/commit/434ceb2e8d6c49f31a3b7f84d45c35de247a4806))
1762
+ * **vis:** add discover-help subcommand, drop --format from ai root ([36d3990](https://github.com/visulima/visulima/commit/36d3990f7ee6368687af8151454a86181f188511))
1763
+ * **vis:** add replay + strict env, finish service registry ([c6db6d5](https://github.com/visulima/visulima/commit/c6db6d54688c43960b5aef9650b3bbc0292c0a58)), closes [#10](https://github.com/visulima/visulima/issues/10) [#16](https://github.com/visulima/visulima/issues/16) [#20](https://github.com/visulima/visulima/issues/20)
1764
+ * **vis:** inferred targets, preflight, services ([9697571](https://github.com/visulima/visulima/commit/96975719f12ccaf051452ecc60f07f1df0b5bc69)), closes [#11](https://github.com/visulima/visulima/issues/11) [#21](https://github.com/visulima/visulima/issues/21)
1765
+ * **vis:** list --targets table with type, cache, description ([a480e27](https://github.com/visulima/visulima/commit/a480e27a8d9a938a5225b9ebfda918de6c569f21)), closes [#22](https://github.com/visulima/visulima/issues/22) [#23](https://github.com/visulima/visulima/issues/23)
1766
+
1767
+ ### Bug Fixes
1768
+
1769
+ * declare libc on linux binding subpackages ([078b31f](https://github.com/visulima/visulima/commit/078b31f1a9029487c86651e75ecdad70f02b37e8)), closes [npm/cli#4828](https://github.com/npm/cli/issues/4828)
1770
+ * **vis:** address review findings on services + inference ([c191cbc](https://github.com/visulima/visulima/commit/c191cbc3661a2885488daa44554b642e64785e52))
1771
+ * **vis:** preserve probe error on close failure and clamp formatAge ([f1d71d6](https://github.com/visulima/visulima/commit/f1d71d63a5432fc2ed8c09c9a0a87e4e59b83b0b))
1772
+ * **vis:** tighten update command view and reduce duplicated security warnings ([4002b43](https://github.com/visulima/visulima/commit/4002b4379aadd00bac5c5e3d9c4eb5796b9d7b3d))
1773
+
1774
+ ### Documentation
1775
+
1776
+ * **vis:** add AI integration guide ([a6dbbe0](https://github.com/visulima/visulima/commit/a6dbbe0bf8c03519764ff41da9efdd4cb4439b77))
1777
+ * **vis:** add ai/list pages, stub 18 commands, refresh flags ([71b81ca](https://github.com/visulima/visulima/commit/71b81ca8704548bca0ec33437854476eb425c411))
1778
+ * **vis:** cover template introspection in AI guide and skill ([7763283](https://github.com/visulima/visulima/commit/7763283dfd0f94dc8ef25800fa9f48e6d7888c8e))
1779
+
1780
+ ### Miscellaneous Chores
1781
+
1782
+ * catalog refresh + task-runner binding bump to 1.0.0-alpha.8 ([ff4548a](https://github.com/visulima/visulima/commit/ff4548a5678c992048a57e73c310757733c04756))
1783
+ * **deps:** bump rust crates to current majors ([3a1d9bb](https://github.com/visulima/visulima/commit/3a1d9bb7f6e2c6b2d3862e212ae62707d60815cc))
1784
+ * prettier sweep + catalog refresh ([5c7a610](https://github.com/visulima/visulima/commit/5c7a610d9b33d6df3eb3d3ba77b79759241ee1a4))
1785
+
1786
+ ### Code Refactoring
1787
+
1788
+ * **task-runner,vis:** consolidate helpers and tighten branches ([d1290d1](https://github.com/visulima/visulima/commit/d1290d1f614036902c6803d8ff51df100fdd07ab))
1789
+ * **task-runner,vis:** expose worktree helpers from task-runner ([12468d7](https://github.com/visulima/visulima/commit/12468d76bb03278ec56691ba0c6d9821c9482f94))
1790
+ * **vis:** expose /config via folder barrel ([0cd155a](https://github.com/visulima/visulima/commit/0cd155a872dda22d201fd86f16f056dced9886be))
1791
+ * **vis:** migrate otel plugin to @opentelemetry/api types ([6440f20](https://github.com/visulima/visulima/commit/6440f201e5c15013a941f014fc4a979c80314bcf))
1792
+ * **vis:** mirror src/ layout in __tests__/ and lift __fixtures__ ([ddedc1b](https://github.com/visulima/visulima/commit/ddedc1bbf87d8e572e40cb6ad65452a947dac148))
1793
+ * **vis:** unify path imports on @visulima/path ([06632ab](https://github.com/visulima/visulima/commit/06632aba64e0985bb24d476cbba7bebeebe08724))
1794
+
1795
+
1796
+ ### Dependencies
1797
+
1798
+ * **@visulima/cerebro:** upgraded to 3.0.0-alpha.14
1799
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.13
1800
+ * **@visulima/package:** upgraded to 5.0.0-alpha.12
1801
+ * **@visulima/task-runner:** upgraded to 1.0.0-alpha.9
1802
+ * **@visulima/tui:** upgraded to 1.0.0-alpha.6
1803
+
1804
+ ## @visulima/vis [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.9...@visulima/vis@1.0.0-alpha.10) (2026-04-30)
1805
+
1806
+ ### Features
1807
+
1808
+ - **vis:** [@inherit](https://github.com/inherit) array merge sentinel ([c1334ab](https://github.com/visulima/visulima/commit/c1334ab75a84e12aa972aa1aba57ee74edbcc17d))
1809
+ - **vis:** add manual typosquat list and scoped brand-jacks ([1eaef11](https://github.com/visulima/visulima/commit/1eaef1154bb3ca18f09cebee290a9857c5171339))
1810
+ - **vis:** auto-recover orphaned runners via doctor --fix ([7c68a6e](https://github.com/visulima/visulima/commit/7c68a6e1fd163fdcfb2f4f663f78b5b81cf4df09))
1811
+ - **vis:** cache diagnostics, retention, and quiet output style ([9ec307b](https://github.com/visulima/visulima/commit/9ec307b06cec5c3114a6e70abbf1f2346ce61910))
1812
+ - **vis:** doctor checks for watch/signal runtime ([d7d53a7](https://github.com/visulima/visulima/commit/d7d53a7f520b64e72aa193e0beacf2722a82a6f4))
1813
+ - **vis:** finish vis-side when:/always:/tokens migration ([3c3c759](https://github.com/visulima/visulima/commit/3c3c75946d716efa5971f6cf1fa9ae8d139d9652))
1814
+ - **vis:** per-package vis.task.ts overlay ([14f6adf](https://github.com/visulima/visulima/commit/14f6adfc37b7ff552629309bd555d1fd3dd317f9)), closes [package.json#workspaces](https://github.com/visulima/package.json/issues/workspaces)
1815
+ - **vis:** rewrite doctor with TUI store and live scan progress ([84f4923](https://github.com/visulima/visulima/commit/84f492376ef9129781464b26a50b1954b7e3b206))
1816
+ - **vis:** secure-by-default install/add and lint cleanup ([28df4c4](https://github.com/visulima/visulima/commit/28df4c40504b7414460c57ef563593cfe14c5eeb))
1817
+ - **vis:** split ai into nested subcommands, add discovery, unify cache type filter ([51d2b5e](https://github.com/visulima/visulima/commit/51d2b5ee9fdfcee0cbd4d5e5b9f2f1d08f9ef2ea))
1818
+ - **vis:** support extends in vis.config.ts ([70d7b36](https://github.com/visulima/visulima/commit/70d7b36b362b0a7340e4717bdae12db355bf05e9))
1819
+ - **vis:** typed errors for vis config loader ([0dce143](https://github.com/visulima/visulima/commit/0dce143247ba695eb7fa46f3b59c709c473bdc57))
1820
+ - **vis:** watch keybinds and timeout escalation ([3181bb5](https://github.com/visulima/visulima/commit/3181bb50986b4d7e924a2d5b053a9883228ab08f))
1821
+ - **vis:** worktree-aware shared task cache with --scope flag ([4328542](https://github.com/visulima/visulima/commit/4328542a9abfa16a40fa62cfe9e8d688eb0d9d81))
1822
+
1823
+ ### Bug Fixes
1824
+
1825
+ - **vis:** address review findings on watch UX bundle ([edee703](https://github.com/visulima/visulima/commit/edee7038fe23a488791682dd8ce5c469b40a3e8c))
1826
+ - **vis:** measure update list viewport for scrollbar ([4451cd3](https://github.com/visulima/visulima/commit/4451cd3726598ad1848c61800410f6d3146ec817))
1827
+
1828
+ ### Documentation
1829
+
1830
+ - **vis:** document doctor command and Phase 2 watch/signal flow ([4e66350](https://github.com/visulima/visulima/commit/4e663505be135666757d9e90bbfd033f66466220)), closes [doctor#runtime](https://github.com/visulima/doctor/issues/runtime)
1831
+ - **vis:** document layered configuration ([9a0f303](https://github.com/visulima/visulima/commit/9a0f3037f94992887e3551fbcd72f2dc73260305))
1832
+ - **vis:** spec for layered configuration ([bcd830d](https://github.com/visulima/visulima/commit/bcd830dc9f1ed7e9dfc39f91649f839afe29bd87))
1833
+
1834
+ ### Miscellaneous Chores
1835
+
1836
+ - **vis:** alphabetize VisConfig members in workspace.ts ([b7869a6](https://github.com/visulima/visulima/commit/b7869a650641a55d895dbf135bfec1a94f9f50e7))
1837
+
1838
+ ### Code Refactoring
1839
+
1840
+ - **vis:** expose VisConfig types and move RFC under rfc/ ([3baa115](https://github.com/visulima/visulima/commit/3baa1151b6ec5d611135cc77e1b39911a4592470))
1841
+ - **vis:** regroup src into folders and reuse visulima primitives ([18250d7](https://github.com/visulima/visulima/commit/18250d7bd39bccfdccc9737e13a8b0e7c28ffca2))
1842
+
1843
+ ### Tests
1844
+
1845
+ - added more tests ([33f3f19](https://github.com/visulima/visulima/commit/33f3f191332ff9590d94ae543f3b7ef0b82de291))
1846
+ - **vis:** scrub leaked GIT\_\* env vars in worktree fixture tests ([f066775](https://github.com/visulima/visulima/commit/f0667756c16cd3ad4e25541113e481966606fe62))
1847
+
1848
+ ### Dependencies
1849
+
1850
+ - **@visulima/cerebro:** upgraded to 3.0.0-alpha.13
1851
+ - **@visulima/task-runner:** upgraded to 1.0.0-alpha.8
1852
+
1853
+ ## @visulima/vis [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.8...@visulima/vis@1.0.0-alpha.9) (2026-04-28)
1854
+
1855
+ ### Features
1856
+
1857
+ - Add toolchain management with version manager detection and delegation ([#617](https://github.com/visulima/visulima/issues/617)) ([548b0e8](https://github.com/visulima/visulima/commit/548b0e8f9d59743be25abb97b5de3fdbeb681bd6))
1858
+ - **vis:** add aube as default installer with PM fallback ([79a9933](https://github.com/visulima/visulima/commit/79a99333c0e73e69f375b36c56e40b2693dc4c90))
1859
+ - **vis:** add ignore/sortOrder/unsorted/finalNewline/lineEnding to sort-package-json ([50f68df](https://github.com/visulima/visulima/commit/50f68dfc2bc31c082ef98b3ddcf73d3dee0cc080))
1860
+ - **vis:** interactive TUI for bare `vis migrate` ([2171441](https://github.com/visulima/visulima/commit/217144190520447ba9fbe66a9a8f0c452469151e))
1861
+
1862
+ ### Bug Fixes
1863
+
1864
+ - fixed spacing ([1544af2](https://github.com/visulima/visulima/commit/1544af21294edaaf5799846e6c6063c86def3d29))
1865
+ - **vis:** use default colorize import ([2b95ad2](https://github.com/visulima/visulima/commit/2b95ad28207e699161ed201a43f175a630a06c61))
1866
+
1867
+ ### Miscellaneous Chores
1868
+
1869
+ - added missing version key ([036d86e](https://github.com/visulima/visulima/commit/036d86e6cfa078e4f651327f630cec721f1bbc47))
1870
+ - **vis:** upgrade packem to 2.0.0-alpha.76 ([9753759](https://github.com/visulima/visulima/commit/97537598a23a4f680e332ca2ea73ad64f301252a))
1871
+
1872
+ ### Code Refactoring
1873
+
1874
+ - **vis:** adopt cerebro lazy commands; split each command into folder ([e1efc0f](https://github.com/visulima/visulima/commit/e1efc0fe57e39433c33c50b1ad2c9e971ea596ba))
1875
+ - **vis:** drop native-binding wrapper; preserve indent in sort-package-json ([efcccb8](https://github.com/visulima/visulima/commit/efcccb8bedac2f7e7e0819b8eb12277e5bf71312))
1876
+
1877
+ ### Tests
29
1878
 
1879
+ - **vis:** isolate host env in toolchain tests, fix assertion count ([d472635](https://github.com/visulima/visulima/commit/d4726350c3a68d574b08aff88369751f07216137))
1880
+ - **vis:** scope PATH in ensureToolchain engines-pnpm test ([ced1571](https://github.com/visulima/visulima/commit/ced157139ba8c6140b85a11d6c3655b2412620ac))
30
1881
 
31
1882
  ### Dependencies
32
1883
 
33
- * **@visulima/cerebro:** upgraded to 3.0.0-alpha.12
34
- * **@visulima/tui:** upgraded to 1.0.0-alpha.5
1884
+ - **@visulima/cerebro:** upgraded to 3.0.0-alpha.12
1885
+ - **@visulima/tui:** upgraded to 1.0.0-alpha.5
35
1886
 
36
1887
  ## @visulima/vis [1.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/vis@1.0.0-alpha.7...@visulima/vis@1.0.0-alpha.8) (2026-04-22)
37
1888