boost-skill-cli 1.2.52__tar.gz → 1.2.53__tar.gz

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 (818) hide show
  1. {boost_skill_cli-1.2.52/boost_skill_cli.egg-info → boost_skill_cli-1.2.53}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/taps.py +19 -9
  4. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  5. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_skill_cli.egg-info/SOURCES.txt +3 -0
  6. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/commands.html +2 -2
  7. boost_skill_cli-1.2.53/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +93 -0
  8. boost_skill_cli-1.2.53/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +93 -0
  9. boost_skill_cli-1.2.53/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +67 -0
  10. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap.html +243 -1
  11. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_taps.py +33 -0
  12. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_shards_matrix.py +59 -0
  13. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.gitattributes +0 -0
  14. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.gitignore +0 -0
  15. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.gitleaks.toml +0 -0
  16. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.htmlvalidate.json +0 -0
  17. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.lighthouserc.json +0 -0
  18. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.lycheeignore +0 -0
  19. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.markdownlint-cli2.jsonc +0 -0
  20. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.pre-commit-config.yaml +0 -0
  21. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.stylelintrc.json +0 -0
  22. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.vale/styles/boost/AIWriting.yml +0 -0
  23. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.vale/styles/boost/Terminology.yml +0 -0
  24. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  25. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/.vale.ini +0 -0
  26. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/CLAUDE.md +0 -0
  27. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/CODE_OF_CONDUCT.md +0 -0
  28. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/CONTRIBUTING.md +0 -0
  29. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/DCO +0 -0
  30. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/GOVERNANCE.md +0 -0
  31. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/LICENSE +0 -0
  32. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/MAINTAINERS.md +0 -0
  33. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/MANIFEST.in +0 -0
  34. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/Makefile +0 -0
  35. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/README.md +0 -0
  36. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/SECURITY.md +0 -0
  37. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/SUPPORT.md +0 -0
  38. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost +0 -0
  39. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/__init__.py +0 -0
  40. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/__main__.py +0 -0
  41. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/cli.py +0 -0
  42. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/cliparse.py +0 -0
  43. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/__init__.py +0 -0
  44. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/_common.py +0 -0
  45. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/bmad.py +0 -0
  46. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/configuration.py +0 -0
  47. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/discovery.py +0 -0
  48. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/hooks.py +0 -0
  49. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/info.py +0 -0
  50. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/intelligence.py +0 -0
  51. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/pkg.py +0 -0
  52. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/quality.py +0 -0
  53. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/quickstart.py +0 -0
  54. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/run.py +0 -0
  55. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/safety.py +0 -0
  56. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/commands/team.py +0 -0
  57. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/__init__.py +0 -0
  58. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/adapters.py +0 -0
  59. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/agents.py +0 -0
  60. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/ai.py +0 -0
  61. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/aihost.py +0 -0
  62. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/bmad.py +0 -0
  63. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/bootstrap.py +0 -0
  64. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/browse.py +0 -0
  65. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/builtin.py +0 -0
  66. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/capabilities.py +0 -0
  67. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/catalog.py +0 -0
  68. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/catalogbundle.py +0 -0
  69. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/chat.py +0 -0
  70. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/claude_settings.py +0 -0
  71. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/complete.py +0 -0
  72. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/config.py +0 -0
  73. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/dense.py +0 -0
  74. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/ed25519.py +0 -0
  75. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/embed.py +0 -0
  76. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/faithfulness.py +0 -0
  77. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/frontmatter.py +0 -0
  78. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/gitutil.py +0 -0
  79. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/hookhost.py +0 -0
  80. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/imperative.py +0 -0
  81. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/injectscan.py +0 -0
  82. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/installscan.py +0 -0
  83. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/integrity.py +0 -0
  84. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/journal.py +0 -0
  85. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/localembed.py +0 -0
  86. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/lockfile.py +0 -0
  87. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/logs.py +0 -0
  88. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/mcp.py +0 -0
  89. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/mcpdecl.py +0 -0
  90. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/mcphost.py +0 -0
  91. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/minisign.py +0 -0
  92. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/nethttp.py +0 -0
  93. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/output.py +0 -0
  94. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/paths.py +0 -0
  95. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/policy.py +0 -0
  96. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/projectlock.py +0 -0
  97. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/provenance.py +0 -0
  98. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/rag.py +0 -0
  99. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/registry.py +0 -0
  100. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/resolve.py +0 -0
  101. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/rules.py +0 -0
  102. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/scopes.py +0 -0
  103. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/secretscan.py +0 -0
  104. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/selfupdate.py +0 -0
  105. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/serve.py +0 -0
  106. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/shards.py +0 -0
  107. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/stackprobe.py +0 -0
  108. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/staleness.py +0 -0
  109. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/store.py +0 -0
  110. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/trustaudit.py +0 -0
  111. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/typosquat.py +0 -0
  112. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/updatediff.py +0 -0
  113. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/util.py +0 -0
  114. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/core/workflows.py +0 -0
  115. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/data/registries.json +0 -0
  116. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/data/rules/boost-first.mdc +0 -0
  117. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/errors.py +0 -0
  118. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_cli/spin.py +0 -0
  119. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_langchain/__init__.py +0 -0
  120. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_langchain/_compat.py +0 -0
  121. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_langchain/graph.py +0 -0
  122. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_langchain/loader.py +0 -0
  123. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_langchain/py.typed +0 -0
  124. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_langchain/retriever.py +0 -0
  125. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  126. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  127. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_skill_cli.egg-info/requires.txt +0 -0
  128. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/boost_skill_cli.egg-info/top_level.txt +0 -0
  129. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/codecov.yml +0 -0
  130. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/.claude/settings.local.json +0 -0
  131. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/DEBUGGING.md +0 -0
  132. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/adapters.html +0 -0
  133. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/architecture/README.md +0 -0
  134. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/architecture/c4-components-core.md +0 -0
  135. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/architecture/c4-containers.md +0 -0
  136. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/architecture/c4-context.md +0 -0
  137. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/architecture/c4-dynamic-install.md +0 -0
  138. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/bmad.md +0 -0
  139. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/distill.gif +0 -0
  140. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/doctor.gif +0 -0
  141. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/explain.gif +0 -0
  142. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/hooks.gif +0 -0
  143. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/install.gif +0 -0
  144. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/pulse.gif +0 -0
  145. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/search.gif +0 -0
  146. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/gifs/tap.gif +0 -0
  147. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/distill.tape +0 -0
  148. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/doctor.tape +0 -0
  149. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/explain.tape +0 -0
  150. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/hooks.tape +0 -0
  151. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/install.tape +0 -0
  152. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/pulse.tape +0 -0
  153. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/search.tape +0 -0
  154. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel/tapes/tap.tape +0 -0
  155. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/carousel.html +0 -0
  156. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/chat.html +0 -0
  157. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/code-review.md +0 -0
  158. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/commit-audit.md +0 -0
  159. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/demo-index.json +0 -0
  160. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/demo.gif +0 -0
  161. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/demo.html +0 -0
  162. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/demo.tape +0 -0
  163. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/dependencies.md +0 -0
  164. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/design-roadmap.html +0 -0
  165. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/eval-latest.json +0 -0
  166. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/eval.html +0 -0
  167. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/index.html +0 -0
  168. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/langchain.html +0 -0
  169. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/mcp-hub.html +0 -0
  170. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/openssf-badge.md +0 -0
  171. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/openssf-playbook.md +0 -0
  172. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/rag-architecture.md +0 -0
  173. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D01.md +0 -0
  174. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D02.md +0 -0
  175. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D03.md +0 -0
  176. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D04.md +0 -0
  177. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D05.md +0 -0
  178. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D06.md +0 -0
  179. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D07.md +0 -0
  180. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D08.md +0 -0
  181. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D09.md +0 -0
  182. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D10.md +0 -0
  183. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D11.md +0 -0
  184. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D12.md +0 -0
  185. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D13.md +0 -0
  186. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D14.md +0 -0
  187. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D15.md +0 -0
  188. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D16.md +0 -0
  189. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D17.md +0 -0
  190. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D18.md +0 -0
  191. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D19.md +0 -0
  192. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D20.md +0 -0
  193. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D21.md +0 -0
  194. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D22.md +0 -0
  195. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D23.md +0 -0
  196. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D24.md +0 -0
  197. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D25.md +0 -0
  198. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D26.md +0 -0
  199. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/BOOST-D27.md +0 -0
  200. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  201. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  202. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  203. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  204. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  205. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  206. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  207. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  208. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  209. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  210. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  211. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  212. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  213. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  214. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  215. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  216. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/boost-first-rule.md +0 -0
  217. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  218. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  219. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/branch-current-gate.md +0 -0
  220. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  221. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  222. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  223. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  224. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  225. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  226. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  227. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  228. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  229. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  230. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  231. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  232. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  233. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  234. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/cli-command-audit.md +0 -0
  235. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  236. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  237. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  238. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  239. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/command-carousel-page.md +0 -0
  240. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  241. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  242. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  243. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  244. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  245. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  246. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  247. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  248. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  249. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  250. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  251. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  252. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  253. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  254. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  255. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  256. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  257. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  258. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  259. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  260. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  261. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  262. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  263. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  264. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  265. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  266. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  267. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  268. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  269. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  270. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  271. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  272. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  273. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  274. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  275. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  276. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  277. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  278. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  279. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  280. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  281. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  282. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  283. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  284. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  285. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  286. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  287. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  288. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  289. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  290. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/github-community-health-files.md +0 -0
  291. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  292. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  293. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  294. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  295. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  296. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  297. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  298. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  299. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  300. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  301. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  302. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  303. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  304. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  305. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  306. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  307. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  308. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  309. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  310. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  311. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  312. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  313. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  314. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  315. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  316. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  317. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  318. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  319. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  320. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  321. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  322. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  323. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  324. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  325. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  326. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  327. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  328. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  329. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  330. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  331. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  332. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  333. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  334. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  335. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  336. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  337. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  338. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  339. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  340. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  341. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  342. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  343. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  344. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  345. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  346. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  347. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  348. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  349. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  350. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  351. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  352. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  353. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  354. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  355. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  356. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  357. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  358. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  359. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  360. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  361. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  362. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  363. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  364. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  365. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  366. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  367. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/openssf-playbook.md +0 -0
  368. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/openssf-silver.md +0 -0
  369. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  370. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  371. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  372. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  373. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  374. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  375. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  376. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  377. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  378. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  379. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  380. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  381. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  382. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  383. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  384. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  385. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  386. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  387. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  388. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  389. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  390. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  391. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  392. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  393. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  394. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  395. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  396. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  397. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  398. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  399. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  400. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  401. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/relicence-apache-2.md +0 -0
  402. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  403. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  404. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  405. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  406. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  407. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  408. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  409. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  410. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  411. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  412. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  413. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  414. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  415. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  416. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  417. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  418. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  419. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  420. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  421. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  422. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  423. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  424. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  425. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  426. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  427. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  428. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  429. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  430. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  431. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  432. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  433. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  434. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  435. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  436. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  437. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  438. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  439. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  440. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  441. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  442. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  443. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  444. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  445. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  446. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  447. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  448. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  449. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  450. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  451. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  452. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  453. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  454. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  455. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  456. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  457. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  458. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  459. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  460. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  461. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  462. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  463. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  464. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  465. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  466. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  467. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  468. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  469. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  470. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  471. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  472. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  473. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  474. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  475. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  476. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  477. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  478. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  479. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  480. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  481. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/workspace-scope-install.md +0 -0
  482. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/zip-strict-audit.md +0 -0
  483. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  484. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  485. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/security-design.md +0 -0
  486. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/semantic-search.md +0 -0
  487. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  488. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/verifying-releases.md +0 -0
  489. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/vex/meta.md +0 -0
  490. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/vex/openvex.json +0 -0
  491. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  492. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  493. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  494. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  495. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/eslint.config.mjs +0 -0
  496. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/README.md +0 -0
  497. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/__init__.py +0 -0
  498. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/baseline.json +0 -0
  499. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/faithfulness.py +0 -0
  500. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/golden_set.json +0 -0
  501. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/make_corpus.py +0 -0
  502. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/make_golden.py +0 -0
  503. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/metrics.py +0 -0
  504. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/publish_golden_dataset.py +0 -0
  505. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/evals/run_evals.py +0 -0
  506. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/examples/README.md +0 -0
  507. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/examples/adapt-demo.sh +0 -0
  508. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/examples/boost-run-prototype.sh +0 -0
  509. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/index.html +0 -0
  510. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/noxfile.py +0 -0
  511. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/pyproject.toml +0 -0
  512. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/coverage-tools.in +0 -0
  513. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/coverage-tools.txt +0 -0
  514. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/lint-tools.in +0 -0
  515. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/lint-tools.txt +0 -0
  516. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/mutation-tools.in +0 -0
  517. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/mutation-tools.txt +0 -0
  518. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/platform-pins.lock +0 -0
  519. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/release-tools.in +0 -0
  520. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/release-tools.txt +0 -0
  521. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/test-tools.in +0 -0
  522. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/requirements/test-tools.txt +0 -0
  523. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/a11y_check.py +0 -0
  524. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/add_spdx_headers.py +0 -0
  525. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/bench_cli.sh +0 -0
  526. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/build_command_reference.py +0 -0
  527. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/build_demo_index.py +0 -0
  528. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/build_registries.py +0 -0
  529. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/build_roadmap.py +0 -0
  530. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/build_scale_corpus.py +0 -0
  531. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/build_vex.py +0 -0
  532. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/check_anchors.py +0 -0
  533. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/check_branch_current.py +0 -0
  534. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/check_dco.py +0 -0
  535. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/check_licenses.py +0 -0
  536. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/check_reproducible.py +0 -0
  537. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/check_required_checks.py +0 -0
  538. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/ensure_eval_corpus.sh +0 -0
  539. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/eval_corpus.py +0 -0
  540. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/eval_explain.py +0 -0
  541. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/eval_gate.py +0 -0
  542. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/eval_recommend.py +0 -0
  543. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/eval_retrieval.py +0 -0
  544. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/eval_stats_summary.py +0 -0
  545. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/import_budget.py +0 -0
  546. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/lock_toolchain.py +0 -0
  547. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/measure_registry.py +0 -0
  548. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/mutation_gate.py +0 -0
  549. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/mutation_shards.py +0 -0
  550. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/mutation_weights.json +0 -0
  551. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/normalize_sdist.py +0 -0
  552. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/page_budget.py +0 -0
  553. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/perf_gate.py +0 -0
  554. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/post_deploy_smoke.py +0 -0
  555. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/publish_eval_json.py +0 -0
  556. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/publish_shards.py +0 -0
  557. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/release_guard.py +0 -0
  558. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/release_preflight.py +0 -0
  559. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/serve_docs.py +0 -0
  560. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/scripts/shard_plan.py +0 -0
  561. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/setup.cfg +0 -0
  562. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/sonar-project.properties +0 -0
  563. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/style/README.md +0 -0
  564. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/style/boost.css +0 -0
  565. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/style/boost.js +0 -0
  566. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/style/demo.html +0 -0
  567. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/adapt.feature +0 -0
  568. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/browse.feature +0 -0
  569. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/count.feature +0 -0
  570. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/discover.feature +0 -0
  571. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/doctor.feature +0 -0
  572. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/environment.py +0 -0
  573. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/explain.feature +0 -0
  574. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/index.feature +0 -0
  575. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/install.feature +0 -0
  576. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/list.feature +0 -0
  577. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/mcp.feature +0 -0
  578. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/search.feature +0 -0
  579. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/steps/cli_steps.py +0 -0
  580. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/steps/discovery_steps.py +0 -0
  581. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/steps/mcp_steps.py +0 -0
  582. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/bdd/features/steps/quality_steps.py +0 -0
  583. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/conftest.py +0 -0
  584. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/baseline.json +0 -0
  585. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/explain.jsonl +0 -0
  586. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/golden-natural.jsonl +0 -0
  587. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/golden.jsonl +0 -0
  588. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/recommend.jsonl +0 -0
  589. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/taps-scale.txt +0 -0
  590. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/eval/taps.txt +0 -0
  591. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_bmad_all_hosts.py +0 -0
  592. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_capabilities_policy.py +0 -0
  593. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_adapt.py +0 -0
  594. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_bmad.py +0 -0
  595. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_catalog.py +0 -0
  596. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_chat.py +0 -0
  597. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_configuration.py +0 -0
  598. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_discovery.py +0 -0
  599. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_hooks.py +0 -0
  600. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_hooks_gemini.py +0 -0
  601. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_info.py +0 -0
  602. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_intelligence.py +0 -0
  603. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_pane_width.py +0 -0
  604. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_pkg.py +0 -0
  605. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_quality.py +0 -0
  606. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_quickstart.py +0 -0
  607. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_tap_pins.py +0 -0
  608. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_cli_team.py +0 -0
  609. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_everyday_loop.py +0 -0
  610. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_integrity_enforce.py +0 -0
  611. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_kind_conformance.py +0 -0
  612. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_property_parsers.py +0 -0
  613. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_run.py +0 -0
  614. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_tap_signing.py +0 -0
  615. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/functional/test_workspace_scope.py +0 -0
  616. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/README.md +0 -0
  617. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  618. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  619. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  620. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  621. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  622. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  623. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  624. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  625. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  626. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  627. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  628. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  629. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  630. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  631. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  632. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  633. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  634. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  635. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  636. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  637. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  638. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  639. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  640. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/fuzz_frontmatter.py +0 -0
  641. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/fuzz/fuzz_registry.py +0 -0
  642. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/langchain/conftest.py +0 -0
  643. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/langchain/test_graph.py +0 -0
  644. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/langchain/test_loader.py +0 -0
  645. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/langchain/test_retriever.py +0 -0
  646. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/make_fixture.py +0 -0
  647. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/perf/test_benchmarks.py +0 -0
  648. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/smoke.sh +0 -0
  649. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_a11y_check.py +0 -0
  650. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_action_pin_lockstep.py +0 -0
  651. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_adapters.py +0 -0
  652. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_adapters_multi.py +0 -0
  653. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_adapters_runner.py +0 -0
  654. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_agents.py +0 -0
  655. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_ai.py +0 -0
  656. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_aihost.py +0 -0
  657. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_bmad_core.py +0 -0
  658. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_boost_first_offer.py +0 -0
  659. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_bootstrap.py +0 -0
  660. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_branch_current.py +0 -0
  661. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_browse.py +0 -0
  662. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_builtin.py +0 -0
  663. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_capabilities.py +0 -0
  664. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_catalog.py +0 -0
  665. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_catalogbundle.py +0 -0
  666. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_chat.py +0 -0
  667. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_check_anchors.py +0 -0
  668. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_check_dco.py +0 -0
  669. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_check_licenses.py +0 -0
  670. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_check_reproducible.py +0 -0
  671. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_claude_settings.py +0 -0
  672. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_clean_internal_cache.py +0 -0
  673. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_cliparse.py +0 -0
  674. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_codeql_analysis_key.py +0 -0
  675. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_command_reference_fresh.py +0 -0
  676. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_community_health_files.py +0 -0
  677. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_compact.py +0 -0
  678. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_complete.py +0 -0
  679. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_complete_rc_block.py +0 -0
  680. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_config.py +0 -0
  681. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_content_dedupe.py +0 -0
  682. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_content_identity.py +0 -0
  683. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_crash_redaction.py +0 -0
  684. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dedup_trust.py +0 -0
  685. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_demo_index.py +0 -0
  686. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense.py +0 -0
  687. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_embed_dedupe.py +0 -0
  688. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_fallback.py +0 -0
  689. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_fix_hint.py +0 -0
  690. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_progress.py +0 -0
  691. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_quantized.py +0 -0
  692. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_ready_order.py +0 -0
  693. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_shard_real_schema.py +0 -0
  694. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  695. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_shards.py +0 -0
  696. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_status.py +0 -0
  697. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dense_status_cheap.py +0 -0
  698. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_dependabot_config.py +0 -0
  699. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_docs_pages_linked.py +0 -0
  700. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_docsite_chrome.py +0 -0
  701. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_ed25519.py +0 -0
  702. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_embed.py +0 -0
  703. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_embed_local.py +0 -0
  704. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_embed_truncated_response.py +0 -0
  705. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_entry_key.py +0 -0
  706. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_errors_and_cli_table.py +0 -0
  707. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_baseline.py +0 -0
  708. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_corpus.py +0 -0
  709. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_faithfulness.py +0 -0
  710. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_gate.py +0 -0
  711. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_grading.py +0 -0
  712. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_metrics.py +0 -0
  713. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_eval_stats_summary.py +0 -0
  714. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  715. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_faithfulness.py +0 -0
  716. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_frontmatter.py +0 -0
  717. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_fuzz_targets.py +0 -0
  718. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  719. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_gitleaks_config.py +0 -0
  720. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_gitutil.py +0 -0
  721. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_gitutil_lfs.py +0 -0
  722. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_gitutil_sparse.py +0 -0
  723. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_hook_settings_hosts.py +0 -0
  724. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_hookhost.py +0 -0
  725. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_imperative.py +0 -0
  726. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_import_budget.py +0 -0
  727. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_injectscan.py +0 -0
  728. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_install_permission_error.py +0 -0
  729. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_installscan.py +0 -0
  730. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_integrity.py +0 -0
  731. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_journal.py +0 -0
  732. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_langchain_packaging.py +0 -0
  733. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_link_ownership.py +0 -0
  734. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_localembed.py +0 -0
  735. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_localembed_e2e.py +0 -0
  736. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_lockfile.py +0 -0
  737. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_logs.py +0 -0
  738. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_marketing_counts.py +0 -0
  739. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mcp.py +0 -0
  740. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mcp_install_scan.py +0 -0
  741. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mcpdecl.py +0 -0
  742. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mcphost.py +0 -0
  743. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_measure_registry.py +0 -0
  744. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_minisign.py +0 -0
  745. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mutation_hardening.py +0 -0
  746. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mutation_shards.py +0 -0
  747. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mutation_subfile_shards.py +0 -0
  748. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_mutmut_source_paths.py +0 -0
  749. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_nethttp.py +0 -0
  750. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_normalize_sdist.py +0 -0
  751. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_output.py +0 -0
  752. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_page_budget.py +0 -0
  753. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_paths.py +0 -0
  754. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_perf_gate.py +0 -0
  755. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_pkg_confusions.py +0 -0
  756. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_pkg_injection.py +0 -0
  757. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_pkg_secrets.py +0 -0
  758. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_platform_pins.py +0 -0
  759. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_policy.py +0 -0
  760. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_post_deploy_smoke.py +0 -0
  761. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_project_mcp_sidecar.py +0 -0
  762. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_projectlock.py +0 -0
  763. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_provenance.py +0 -0
  764. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_publish_golden_dataset.py +0 -0
  765. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_rag.py +0 -0
  766. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_rag_fastpath.py +0 -0
  767. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_rag_fusion.py +0 -0
  768. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_registries_fresh.py +0 -0
  769. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_registry.py +0 -0
  770. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_registry_categories.py +0 -0
  771. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_registry_control_chars.py +0 -0
  772. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_registry_parallel.py +0 -0
  773. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_release_guard.py +0 -0
  774. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_release_preflight.py +0 -0
  775. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_required_checks.py +0 -0
  776. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_rerank_cache.py +0 -0
  777. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_resolve.py +0 -0
  778. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_roadmap_fresh.py +0 -0
  779. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_rules.py +0 -0
  780. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_scale_corpus.py +0 -0
  781. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_scopes.py +0 -0
  782. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_secretscan.py +0 -0
  783. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_selfupdate.py +0 -0
  784. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_serve.py +0 -0
  785. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_serve_docs.py +0 -0
  786. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_shard_plan.py +0 -0
  787. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_shards.py +0 -0
  788. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_smoke_covers_every_command.py +0 -0
  789. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_spdx_headers.py +0 -0
  790. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_spin.py +0 -0
  791. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_stackprobe.py +0 -0
  792. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_staleness.py +0 -0
  793. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_store.py +0 -0
  794. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_store_materialize.py +0 -0
  795. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_sync_blocked_links.py +0 -0
  796. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  797. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_tap_pins.py +0 -0
  798. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_token_parity.py +0 -0
  799. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_toolchain_lock.py +0 -0
  800. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_trustaudit.py +0 -0
  801. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_typosquat.py +0 -0
  802. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_updatediff.py +0 -0
  803. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_util.py +0 -0
  804. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_version.py +0 -0
  805. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_version_tags.py +0 -0
  806. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_vex.py +0 -0
  807. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_visual_harness_flags.py +0 -0
  808. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_workflow_concurrency.py +0 -0
  809. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  810. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  811. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_workflow_timeouts.py +0 -0
  812. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_workflows.py +0 -0
  813. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  814. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/visual/a11y_check.mjs +0 -0
  815. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/visual/console_check.mjs +0 -0
  816. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/visual/package-lock.json +0 -0
  817. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/visual/package.json +0 -0
  818. {boost_skill_cli-1.2.52 → boost_skill_cli-1.2.53}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.52
3
+ Version: 1.2.53
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.2.52'
22
- __version_tuple__ = version_tuple = (1, 2, 52)
21
+ __version__ = version = '1.2.53'
22
+ __version_tuple__ = version_tuple = (1, 2, 53)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -51,7 +51,8 @@ def _tap_catalog(args) -> int:
51
51
 
52
52
  def _tap_all(urls: list[str], jobs: int | None,
53
53
  focus: dict[str, str] | None = None,
54
- pins: dict[str, str] | None = None) -> int:
54
+ pins: dict[str, str] | None = None,
55
+ curated: bool = True) -> int:
55
56
  """Clone many registries at once, then scan each one that arrived.
56
57
 
57
58
  The split is the whole optimisation. Cloning is network latency — 1.6 s per
@@ -60,7 +61,7 @@ def _tap_all(urls: list[str], jobs: int | None,
60
61
  its output can be printed in order and its errors belong to one tap.
61
62
  """
62
63
  focus = focus or {}
63
- results = registry.add_many(urls, curated=True, pins=pins, jobs=jobs)
64
+ results = registry.add_many(urls, curated=curated, pins=pins, jobs=jobs)
64
65
  rc = 0
65
66
  for res in results:
66
67
  name = res["name"]
@@ -106,8 +107,9 @@ def cmd_tap(argv) -> int:
106
107
  p = cliparse.parser(
107
108
  prog="boost tap",
108
109
  description="Add a GitHub repo as a skill registry")
109
- p.add_argument("spec", nargs="?",
110
- help="owner/repo, a git URL, or a local directory")
110
+ p.add_argument("spec", nargs="*",
111
+ help="owner/repo, a git URL, or a local directory — several "
112
+ "at once clone in parallel")
111
113
  p.add_argument("--defaults", action="store_true",
112
114
  help="tap the recommended public registries")
113
115
  p.add_argument("--catalog", action="store_true",
@@ -131,8 +133,8 @@ def cmd_tap(argv) -> int:
131
133
  "%d)" % (registry.DEFAULT_TAP_JOBS,
132
134
  registry.MAX_TAP_JOBS))
133
135
  args = p.parse_args(argv)
134
- if args.at and not args.spec:
135
- p.error("--at pins one registry, so it needs a SPEC")
136
+ if args.at and len(args.spec) != 1:
137
+ p.error("--at pins one registry, so it needs exactly one SPEC")
136
138
  if not args.spec and not args.defaults and not args.catalog:
137
139
  p.error("provide a SPEC, --defaults, or --catalog")
138
140
 
@@ -147,13 +149,21 @@ def cmd_tap(argv) -> int:
147
149
  jobs=args.jobs,
148
150
  focus={str(d["name"]): str(d.get("focus", ""))
149
151
  for d in config.DEFAULT_TAPS})
150
- if args.spec:
151
- with spin.Spinner("cloning %s" % args.spec):
152
- tap = registry.add(args.spec, curated=args.curated, at=args.at)
152
+ if len(args.spec) == 1:
153
+ with spin.Spinner("cloning %s" % args.spec[0]):
154
+ tap = registry.add(args.spec[0], curated=args.curated, at=args.at)
153
155
  entries = catalog.rebuild_tap(tap)
154
156
  journal.log("tap", tap.name)
155
157
  pin = " @ %s" % args.at[:7] if args.at else ""
156
158
  out.ok("Tapped %s (%d items)%s" % (tap.name, len(entries), pin))
159
+ elif args.spec:
160
+ # Several specs clone through the same pool as --defaults/--catalog.
161
+ # This is not only a convenience: `xargs boost_cli tap < list` hands
162
+ # every line to ONE invocation, and rejecting the extras is how the
163
+ # shards workflow tapped nothing — argparse errored, `|| true`
164
+ # swallowed it, and the job died three steps later on "no taps
165
+ # configured". A multi-spec surface makes the natural script correct.
166
+ rc |= _tap_all(list(args.spec), jobs=args.jobs, curated=args.curated)
157
167
  # Refresh the TAB-completion name cache so `boost install <TAB>` sees
158
168
  # whatever this call just tapped instead of the pre-tap snapshot.
159
169
  complete.refresh_names()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.52
3
+ Version: 1.2.53
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -253,6 +253,8 @@ docs/roadmap/items/crash-reports-leak-api-keys.md
253
253
  docs/roadmap/items/demo-cannot-open-its-own-pr.md
254
254
  docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md
255
255
  docs/roadmap/items/demo-workflow-cancels-other-prs.md
256
+ docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md
257
+ docs/roadmap/items/dense-reindex-reuses-whole-taps.md
256
258
  docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md
257
259
  docs/roadmap/items/dense-search-rescans-every-vector.md
258
260
  docs/roadmap/items/dependabot-missing-pip-ecosystem.md
@@ -336,6 +338,7 @@ docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md
336
338
  docs/roadmap/items/marketing-crm-domain-had-no-category.md
337
339
  docs/roadmap/items/mcp-already-covered-defeater.md
338
340
  docs/roadmap/items/mcp-aware-skills.md
341
+ docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md
339
342
  docs/roadmap/items/mcp-check-skills-before-starting-a-task.md
340
343
  docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md
341
344
  docs/roadmap/items/mcp-install-skips-the-injection-scan.md
@@ -628,10 +628,10 @@
628
628
  <section class="cmd" id="cmd-tap" data-search="tap add a github repo as a skill registry --defaults --catalog --type {skill,rule,workflow} --category category --limit n --include-lists --dry-run --curated --at sha --jobs n spec">
629
629
  <h3><span class="cname">tap</span><span class="gtag">tap</span></h3>
630
630
  <p class="summary">Add a GitHub repo as a skill registry</p>
631
- <pre class="syn">boost tap [--defaults] [--catalog] [--type {skill,rule,workflow}] [--category CATEGORY] [--limit N] [--include-lists] [--dry-run] [--curated] [--at SHA] [--jobs N] [spec]</pre>
631
+ <pre class="syn">boost tap [--defaults] [--catalog] [--type {skill,rule,workflow}] [--category CATEGORY] [--limit N] [--include-lists] [--dry-run] [--curated] [--at SHA] [--jobs N] [spec ...]</pre>
632
632
  <div class="args-h">Arguments</div>
633
633
  <div class="args">
634
- <div class="arg"><code>spec</code><span>owner/repo, a git URL, or a local directory</span></div>
634
+ <div class="arg"><code>spec</code><span>owner/repo, a git URL, or a local directory — several at once clone in parallel</span></div>
635
635
  </div>
636
636
  <div class="args-h">Options</div>
637
637
  <div class="args">
@@ -0,0 +1,93 @@
1
+ ---
2
+ id: dense-reindex-has-no-progress-or-durability
3
+ board: code
4
+ section: internals
5
+ status: shipped
6
+ category: Observability · UX
7
+ complexity: M
8
+ impact: High
9
+ wow: 3
10
+ note: 5 h 33 m of silence, 18.26 GB RSS, nothing on disk
11
+ order: 125
12
+ owner:
13
+ pr: 603
14
+ title: "<code>reindex --dense</code> runs for hours behind a bare spinner, and a cancel discards all of it"
15
+ ---
16
+ A keyless <code>boost reindex --dense</code> on a 465-tap / <b>63,003-entry</b> install ran
17
+ <b>5&nbsp;h&nbsp;33&nbsp;m</b> and emitted exactly one thing the whole time:
18
+ <code>⠏ embedding chunks into the dense store</code>. Nothing on the machine could answer
19
+ &ldquo;how far along is it, and should I cancel?&rdquo; &mdash; three independent reasons, each
20
+ separately fixable.
21
+
22
+ <b>(1) The loop is holding the numbers and never prints them.</b> <code>_embed_and_store</code>'s
23
+ batch loop (<code>dense.py:781</code>) has <code>start</code> and <code>len(order)</code> in scope
24
+ &mdash; precisely the pair <code>spin.progress(current, total, label)</code> takes.
25
+ That helper already exists in <code>boost_cli/spin.py</code>, is already TTY-gated so piped, CI and
26
+ test output stay clean, and already has a caller <em>one module over</em> at
27
+ <code>discovery.py:478</code>. So this is a one-line call into shipped, exercised code, not new
28
+ machinery.
29
+
30
+ <b>(2) <code>--debug</code> is a dead end on this path.</b> <code>dense.py</code> never constructs a
31
+ logger, so <code>--debug</code>, <code>BOOST_DEBUG=1</code> and <code>BOOST_LOG_LEVEL=DEBUG</code>
32
+ all produce the same bare spinner. <code>~/.boost/logs/boost.log</code> records <code>invoke:</code>
33
+ and <code>done:</code> and nothing in between &mdash; which for a six-hour command is the one
34
+ interval that matters.
35
+
36
+ <b>(3) The store cannot serve as a proxy either, and that is the deeper defect.</b>
37
+ <code>_embed_and_store</code> accumulates every vector into the <code>vec_of</code> dict and inserts
38
+ nothing until the final batch returns (<code>dense.py:802</code>); <code>build()</code> then commits
39
+ <b>once</b>, at <code>dense.py:535</code>. Measured across the entire run:
40
+ <code>rag_vectors.sqlite</code> sat at <b>24,924,160 bytes</b> with its mtime unchanged and no
41
+ <code>-journal</code> beside it. A user watching the file sees a dead process.
42
+
43
+ The only thing that actually worked was reading the live frame:
44
+ <code>sudo py-spy dump --pid &lt;pid&gt; --locals</code> &rarr; <code>start: 361216</code>. The
45
+ <code>--locals</code> is load-bearing; a plain <code>dump</code> gives the function but not the
46
+ position. From that one number: <b>361,216 distinct texts in 20,006 s = 18.1/s</b>, on
47
+ <b>1 of 18 cores</b>, at <b>18.26 GB RSS</b> of 48 GB &mdash; <code>vec_of</code> grows
48
+ monotonically and is never drained.
49
+
50
+ <b>And <code>start</code> alone is still not an answer, which is the sharpest form of the bug.</b>
51
+ A numerator without its denominator is not progress. <code>len(order)</code> is <em>not</em>
52
+ printable from a py-spy dump, so establishing it meant re-deriving boost's own chunking over all 465
53
+ cached catalogs out-of-process: <b>647,597 chunks spanning 390,978 distinct texts</b> (39.63%
54
+ duplicates) from <b>62,041 entries across 457 fresh taps</b>. Only then does
55
+ <code>start: 361216</code> resolve to <b>92.4% complete, ~27 min remaining</b>. Requiring a user to
56
+ reimplement the chunker to read a percentage is the whole defect in one sentence &mdash; and the
57
+ process already had both numbers in the same stack frame the entire time.
58
+
59
+ <b>What the opacity actually costs.</b> Because the only commit is at the end, Ctrl-C rolls the whole
60
+ transaction back; and <code>build()</code> records per-tap commits only <em>after</em>
61
+ <code>_embed_and_store</code> returns, so a cancelled run records nothing and a re-run re-embeds from
62
+ zero. The user is therefore asked to bet five and a half hours of CPU on a guess about whether a
63
+ spinner is stuck. That is the real bug &mdash; the missing progress line is how it reaches them.
64
+
65
+ <b>Fix, smallest first.</b>
66
+ <b>(a)</b> <code>spin.progress(start, len(order), "embedding chunks")</code> in the batch loop.
67
+ <b>(b)</b> A <code>logger.debug</code> per batch, so <code>--debug</code> leaves a trail a bug report
68
+ can carry.
69
+ <b>(c)</b> Stream rather than accumulate &mdash; embed a batch, insert it, commit every N &mdash;
70
+ which bounds peak RSS instead of letting it reach tens of GB, and makes a cancel cost one batch
71
+ rather than the whole run.
72
+ <b>(c) is what makes (a) worth trusting</b>: a progress bar over work that evaporates on Ctrl-C is
73
+ still a bad deal. Note (c) has to keep the current failure semantics &mdash; a tap whose batch the
74
+ provider rejected must still not get a recorded commit, or one transient failure leaves that tap
75
+ permanently marked built and empty.
76
+
77
+ <b>(a) and (c) shipped in <code>#603</code>.</b> <code>dense.build</code> now takes
78
+ <code>on_progress(done, total)</code>, called once before the first request so the size of the job is
79
+ known up front and again after every batch &mdash; including a rejected one, or a run with a few
80
+ provider errors would appear to stall. <code>discovery.py</code> feeds it into the existing spinner via
81
+ <code>_embed_progress</code>. And <code>_embed_and_store</code> now commits every
82
+ <code>_COMMIT_EVERY = 5000</code> rows instead of once at the end, so an interrupt costs one batch
83
+ rather than the whole run. That is safe precisely because <code>build</code> deletes each changed
84
+ tap's rows <em>before</em> re-inserting, so a partial store is replaced rather than doubled.
85
+
86
+ <b>One detail worth keeping.</b> The progress total counts <b>distinct</b> texts, not rows. On this
87
+ corpus 657,587 chunks reduce to 396,812 distinct (39.66% repeats, embedded once), so a total taken
88
+ from the row count would over-report the work by two thirds and make the bar crawl.
89
+
90
+ <b>Still open: (b).</b> <code>dense.py</code> constructs no logger, so <code>--debug</code>,
91
+ <code>BOOST_DEBUG=1</code> and <code>BOOST_LOG_LEVEL=DEBUG</code> still produce no per-batch trail &mdash;
92
+ fine interactively now that the spinner counts, but a piped or CI run still has nothing to attach to a
93
+ bug report, and <code>spin.progress</code> is deliberately silent off a TTY.
@@ -0,0 +1,93 @@
1
+ ---
2
+ id: dense-reindex-reuses-whole-taps
3
+ board: code
4
+ section: internals
5
+ status: next
6
+ category: Search · Performance
7
+ complexity: M
8
+ impact: High
9
+ wow: 3
10
+ note: one changed file re-embeds 29 min for 1.9 s of new text
11
+ order: 126
12
+ owner:
13
+ pr:
14
+ title: "Dense reuse is per <em>tap</em>, so one changed file re-embeds the whole registry"
15
+ ---
16
+ <code>dense.build</code> decides reuse by comparing each tap's recorded commit against its current
17
+ one, and everything below that granularity is re-done from scratch:
18
+ <code>_delete_taps</code> is <code>DELETE FROM chunks WHERE tap = ?</code>, and <code>fresh</code>
19
+ collects <b>every entry of any tap whose commit moved</b>. So a one-character fix upstream costs that
20
+ registry's entire distinct chunk set.
21
+
22
+ <b>The incremental path is excellent when nothing moves and terrible when something does.</b> Measured
23
+ on a real 464-tap / 63,003-entry / 657,587-chunk install (keyless local
24
+ <code>BAAI/bge-small-en-v1.5</code>, 384-d, ~21 texts/s single-core):
25
+
26
+ full cold build <b>5 h 28 m</b>;<br>
27
+ <code>reindex --dense</code> with nothing changed <b>26.6 s</b>;<br>
28
+ worst single tap re-embed <b>29 m 13 s</b> &mdash; for <b>&le;1.9 s</b> of genuinely new text.
29
+
30
+ That last figure is the defect in one line. The corpus is brutally skewed:
31
+ <code>lingxling/awesome-skills-cn</code> alone is <b>123,471 chunks (18.8%)</b>, the top ten taps carry
32
+ <b>47.2%</b>, and the median tap is <b>349 chunks (~17 s)</b>. So the cost of an update is decided
33
+ almost entirely by <em>which</em> registries happened to push.
34
+
35
+ <b>And they push often.</b> Measured 6.56 h after tapping all 464 at HEAD: <b>19 taps had already
36
+ moved</b> &mdash; 4.1% of taps but <b>17.0% of chunks</b>, because drift is weighted toward the big,
37
+ active registries. Re-running at that point costs <b>61&ndash;68 min, 20.9% of the full
38
+ build</b>, to absorb a few hours of upstream commits &mdash; and ~99% of that is embedding: deleting
39
+ and re-inserting all 112,081 rows on a copy of the real 1.65 GB store measured <b>2.7 s</b>, a full
40
+ 464-clone rescan <b>12.7 s</b>.
41
+
42
+ <b>The amplification, counted exactly.</b> Those 19 taps are 64 commits and 967 changed files ahead.
43
+ Exactly <b>39</b> of those files map to an indexed catalog entry, and those entries own <b>659
44
+ chunks</b>. Boost re-embeds <b>112,081</b>. That is <b>170&times;</b> more work than the change.
45
+
46
+ <b>Worse: 40% of it is bots.</b> <b>10 of the 19 moved taps changed nothing boost indexes at all</b>
47
+ &mdash; no SKILL.md, no rule file, no Markdown under commands/agents/workflows. They moved on badge
48
+ JSON, star-history SVGs, CI YAML and e2e TypeScript, and they cost <b>44,866 chunks = 40.0% of the
49
+ incremental bill</b>, about <b>37 of the 68 minutes</b>. <code>davila7/claude-code-templates</code>
50
+ alone re-embeds all <b>18,566</b> of its chunks because four dashboard JSON files changed.
51
+ Entry-level digests take that 40% to <b>zero</b> without a special case, which is most of the argument
52
+ for doing it.
53
+
54
+ <b>And the advantage decays with cadence</b> (distinct-text counts per scenario at the measured
55
+ 19.92 texts/s): 6.9 h &rarr; 21%, 1 day &rarr; 33%, <b>7 days &rarr; 52&ndash;58%</b>, 30 days
56
+ &rarr; 72% of a full rebuild. A weekly refresh buys under 2&times;. Part of that is a dedup collapse:
57
+ the whole corpus is 39.66% duplicate text, but <em>within</em> the 19 moved taps only 27.21%, so
58
+ effective throughput falls 33.5 &rarr; 27.4 chunks/s.
59
+
60
+ <b>The fix does not need new identity machinery.</b> A catalog entry already carries
61
+ <code>content</code>, a truncated sha256 of name + description + body stamped by
62
+ <code>catalog._content_digest</code> at scan time and pinned byte-identical to what
63
+ <code>rag.read_body</code> assembles by <code>tests/unit/test_content_identity.py</code>. On a commit
64
+ change, diff the tap's entries by that digest and delete + re-embed only the ones that actually moved.
65
+ A registry that reorganised files, bumped a README or touched one skill then costs one entry rather
66
+ than 123,471 chunks. Deletion stays tap-scoped underneath, so the constraint that
67
+ <code>chunks.tap</code> is what scopes removal is unaffected.
68
+
69
+ <b>Content-keyed vectors were measured and declined.</b> The obvious neighbouring idea &mdash; hash each
70
+ chunk's text, look it up before embedding, skip on a hit &mdash; sounds like it should erase the
71
+ corpus's 39.6% duplicate rate. It does not, because <code>_embed_and_store</code> already dedupes
72
+ <code>order</code> <em>within the fresh set</em>: on a cold build every duplicate is already collapsed,
73
+ so content keying saves <b>0</b>. Only text shared with the <em>unchanged</em> taps is recoverable:
74
+ measured on the real moved set, <b>11,501 of 81,580 distinct texts = 14.1%</b>, worth <b>9.6 min of
75
+ the 68</b> &mdash; against ~60&ndash;120 lines in <code>dense.py</code>
76
+ plus a schema change, an <code>INDEX_VERSION</code> bump and a wrong-vector failure mode that is silent.
77
+ Recorded so the measurement is not re-litigated; per-entry granularity is where the win is.
78
+
79
+ <b>Related gap: a tap pin cannot be set after tapping.</b> <code>registry.pin</code> /
80
+ <code>unpin</code> exist (<code>registry.py:398</code>/<code>410</code>) and <code>registry.update</code>
81
+ already honours them &mdash; <em>&ldquo;A pinned tap is skipped unless <code>force</code>, which also
82
+ clears the pin&rdquo;</em> &mdash; but the only way to set one is <code>boost tap --at &lt;SHA&gt;</code> at
83
+ creation, and <code>add()</code> raises <code>"tap %s is already configured"</code>.
84
+ <code>boost pin</code>/<code>unpin</code> are in the <code>pkg</code> group and pin <em>skills</em>, not
85
+ taps. So freezing the registries responsible for most of the re-embed cost is impossible on an
86
+ existing install without untapping. Exposing the pin that already works is the cheapest lever here and
87
+ worth landing first &mdash; measured, pinning just <code>jeremylongshore/claude-code-plugins-plus-skills</code>
88
+ and <code>davila7/claude-code-templates</code> removes <b>75,227 of 112,081 moved chunks = 67.1%</b> of
89
+ today's incremental cost, and <code>davila7</code> changed nothing boost indexes.
90
+
91
+ <b>Shards do not cover this case.</b> Of the 19 moved taps exactly one appears in the published
92
+ manifest, and its shard is pinned at the commit the tap just left, so <code>import_shard</code>
93
+ refuses it. Net importable for this reindex: <b>0 of 112,081 chunks</b>.
@@ -0,0 +1,67 @@
1
+ ---
2
+ id: mcp-cannot-read-a-skill-before-installing
3
+ board: code
4
+ section: dx
5
+ status: next
6
+ category: MCP · UX
7
+ complexity: S
8
+ impact: High
9
+ wow: 3
10
+ note: boost_info returns the same one line boost_search already gave
11
+ order: 127
12
+ owner:
13
+ pr:
14
+ title: MCP has no way to read a skill before installing it
15
+ ---
16
+ <code>boost_info</code>'s MCP description promises &ldquo;<em>the whole picture of one skill, rule or
17
+ workflow by name &mdash; what it does, its kind, the tap it came from, its version, and whether it is
18
+ already installed</em>&rdquo;. Called on a real hit it returns five fields:
19
+
20
+ <code>name</code> &middot; <code>version</code> &middot; <code>tap</code> &middot;
21
+ <code>description</code> &middot; <code>installed</code>
22
+
23
+ &mdash; where <code>description</code> is <b>byte-identical to the one-liner
24
+ <code>boost_search</code> already returned</b>. There is no body, no excerpt, no first paragraph. So
25
+ &ldquo;what it does&rdquo; is the same sentence the agent already had, and the tool adds only
26
+ <code>installed: no</code>, which the search reply already marks.
27
+
28
+ <b>The consequence is that installing is the only way to read.</b> An agent deciding whether a skill
29
+ is worth adopting has exactly one sentence to go on, written by whoever published it, and its only
30
+ route to the actual procedure is to install it into the user's real
31
+ <code>~/.agents/skills</code> and read it off disk. That inverts the tool's own pitch: the point of
32
+ <code>boost_search</code> costing 10&ndash;15 s of LLM rerank is that the top result is
33
+ &ldquo;worth acting on rather than skimming&rdquo;, and then nothing lets the agent look before it acts.
34
+
35
+ <b>Why the one-liner is not enough, measured today.</b> A single search for embedding work returned ten
36
+ hits, two of which &mdash; <code>ai-cost-optimization</code> and <code>rag-patterns</code>, both from
37
+ <code>j4flmao/agent-skills</code> &mdash; carry the description &ldquo;<em>To optimize **Skill**, we
38
+ enforce the following foundational rules:</em>&rdquo;. That is an unfilled template. Separately,
39
+ <code>superpowers-lab</code> installs to an 868-byte <code>SKILL.md</code> whose entire Instructions
40
+ section reads &ldquo;<em>This skill provides guidance and patterns for lab environment for claude
41
+ superpowers.</em>&rdquo; &mdash; the name echoed back in every section. Both indexed, both ranked, both
42
+ returned looking exactly like real results. <b>The body is the only thing that separates a written
43
+ skill from a generated stub, and MCP cannot reach the body.</b> Note the eval gate cannot catch this
44
+ either: <code>golden.jsonl</code> grades by <em>name</em>, and a stub matches its own name perfectly.
45
+
46
+ <b>The fix is already written &mdash; it is just not exposed.</b> Two CLI commands already do this, both
47
+ in the <code>info</code> module: <code>boost cat</code> (&ldquo;Print a skill or rule's contents&rdquo;,
48
+ <code>cli.py:79</code>) and <code>boost explain</code> (&ldquo;Explain what a skill does in plain
49
+ English&rdquo;, <code>cli.py:82</code>). The MCP server exposes six tools and neither is among them. And
50
+ <code>core/mcp.py</code> is built for exactly this: tools self-register on a <code>Registry</code>, so
51
+ adding one is &ldquo;<em>one <code>register()</code> call &mdash; no dispatcher edits, no server
52
+ changes</em>&rdquo; (<code>mcp.py:7-10</code>).
53
+
54
+ <b>Three things to get right, none of them large.</b>
55
+ <b>(1) Prefer <code>cat</code> as the default.</b> It is offline, deterministic and free;
56
+ <code>explain</code> goes through <code>core/ai.py</code>, costs seconds plus a key, and degrades to
57
+ heuristics without one. The cheap answer must not sit behind the expensive one's latency &mdash; that is
58
+ the same mistake <code>boost_list</code> avoids by never reading the catalog.
59
+ <b>(2) Cap the bytes and say so when truncating.</b> A <code>SKILL.md</code> can be large and an MCP
60
+ reply lands directly in an agent's context; returning a whole file unbounded is how one lookup costs a
61
+ session. The <code>snip = text[:200]</code> convention exists for the same reason.
62
+ <b>(3) Keep it read-only.</b> This is the tool that exists so an agent does <em>not</em> have to install
63
+ to look; it must not become a second install path.
64
+
65
+ <b>And fix the description either way.</b> If <code>boost_info</code> keeps returning five fields, it
66
+ should stop claiming the whole picture &mdash; an overstated tool description costs an agent a wasted
67
+ call and teaches it to distrust the rest of the surface.