boost-skill-cli 1.2.117__tar.gz → 1.2.119__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 (1046) hide show
  1. {boost_skill_cli-1.2.117/boost_skill_cli.egg-info → boost_skill_cli-1.2.119}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/bmad.py +98 -38
  4. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/bmad.py +55 -18
  5. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/hookhost.py +26 -0
  6. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  7. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/bmad.md +21 -3
  8. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/commands.html +4 -3
  9. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +3 -3
  10. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +3 -3
  11. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap.html +4 -123
  12. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_bmad_all_hosts.py +88 -0
  13. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_bmad.py +44 -6
  14. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_bmad_core.py +56 -3
  15. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_hookhost.py +26 -0
  16. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.gitattributes +0 -0
  17. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.gitignore +0 -0
  18. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.gitleaks.toml +0 -0
  19. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.htmlvalidate.json +0 -0
  20. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.lighthouserc.json +0 -0
  21. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.lycheeignore +0 -0
  22. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.markdownlint-cli2.jsonc +0 -0
  23. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.pre-commit-config.yaml +0 -0
  24. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.stylelintrc.json +0 -0
  25. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.vale/styles/boost/AIWriting.yml +0 -0
  26. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.vale/styles/boost/Terminology.yml +0 -0
  27. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  28. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/.vale.ini +0 -0
  29. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/CLAUDE.md +0 -0
  30. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/CODE_OF_CONDUCT.md +0 -0
  31. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/CONTRIBUTING.md +0 -0
  32. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/DCO +0 -0
  33. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/GOVERNANCE.md +0 -0
  34. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/LICENSE +0 -0
  35. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/MAINTAINERS.md +0 -0
  36. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/MANIFEST.in +0 -0
  37. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/Makefile +0 -0
  38. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/README.md +0 -0
  39. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/SECURITY.md +0 -0
  40. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/SUPPORT.md +0 -0
  41. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost +0 -0
  42. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/__init__.py +0 -0
  43. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/__main__.py +0 -0
  44. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/cli.py +0 -0
  45. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/cliparse.py +0 -0
  46. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/__init__.py +0 -0
  47. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/_common.py +0 -0
  48. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/configuration.py +0 -0
  49. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/discovery.py +0 -0
  50. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/hooks.py +0 -0
  51. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/info.py +0 -0
  52. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/intelligence.py +0 -0
  53. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/pkg.py +0 -0
  54. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/quality.py +0 -0
  55. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/quickstart.py +0 -0
  56. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/run.py +0 -0
  57. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/safety.py +0 -0
  58. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/taps.py +0 -0
  59. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/commands/team.py +0 -0
  60. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/__init__.py +0 -0
  61. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/adapters.py +0 -0
  62. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/agents.py +0 -0
  63. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/ai.py +0 -0
  64. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/aihost.py +0 -0
  65. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/archive.py +0 -0
  66. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/bootstrap.py +0 -0
  67. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/browse.py +0 -0
  68. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/builtin.py +0 -0
  69. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/capabilities.py +0 -0
  70. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/catalog.py +0 -0
  71. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/catalogbundle.py +0 -0
  72. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/chat.py +0 -0
  73. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/claude_settings.py +0 -0
  74. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/cohort.py +0 -0
  75. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/complete.py +0 -0
  76. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/config.py +0 -0
  77. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/dense.py +0 -0
  78. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/deps.py +0 -0
  79. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/discovery.py +0 -0
  80. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/ed25519.py +0 -0
  81. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/embed.py +0 -0
  82. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/faithfulness.py +0 -0
  83. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/frontmatter.py +0 -0
  84. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/gitutil.py +0 -0
  85. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/imperative.py +0 -0
  86. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/injectscan.py +0 -0
  87. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/installscan.py +0 -0
  88. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/integrity.py +0 -0
  89. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/journal.py +0 -0
  90. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/jsonstate.py +0 -0
  91. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/localembed.py +0 -0
  92. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/lockfile.py +0 -0
  93. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/logs.py +0 -0
  94. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/mcp.py +0 -0
  95. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/mcpdecl.py +0 -0
  96. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/mcphost.py +0 -0
  97. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/minisign.py +0 -0
  98. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/nethttp.py +0 -0
  99. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/output.py +0 -0
  100. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/paths.py +0 -0
  101. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/policy.py +0 -0
  102. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/projectlock.py +0 -0
  103. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/provenance.py +0 -0
  104. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/rag.py +0 -0
  105. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/registry.py +0 -0
  106. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/report.py +0 -0
  107. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/resolve.py +0 -0
  108. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/rules.py +0 -0
  109. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/scopes.py +0 -0
  110. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/secretscan.py +0 -0
  111. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/selfupdate.py +0 -0
  112. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/serve.py +0 -0
  113. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/shards.py +0 -0
  114. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/stackprobe.py +0 -0
  115. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/staleness.py +0 -0
  116. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/store.py +0 -0
  117. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/trustaudit.py +0 -0
  118. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/typedvalue.py +0 -0
  119. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/typosquat.py +0 -0
  120. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/updatediff.py +0 -0
  121. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/util.py +0 -0
  122. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/core/workflows.py +0 -0
  123. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/data/registries.json +0 -0
  124. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/data/rules/boost-first.mdc +0 -0
  125. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/errors.py +0 -0
  126. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_cli/spin.py +0 -0
  127. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_langchain/__init__.py +0 -0
  128. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_langchain/_compat.py +0 -0
  129. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_langchain/graph.py +0 -0
  130. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_langchain/loader.py +0 -0
  131. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_langchain/py.typed +0 -0
  132. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_langchain/retriever.py +0 -0
  133. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  134. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  135. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  136. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_skill_cli.egg-info/requires.txt +0 -0
  137. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/boost_skill_cli.egg-info/top_level.txt +0 -0
  138. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/codecov.yml +0 -0
  139. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/.claude/settings.local.json +0 -0
  140. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/DEBUGGING.md +0 -0
  141. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/adapters.html +0 -0
  142. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/architecture/README.md +0 -0
  143. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/architecture/c4-components-core.md +0 -0
  144. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/architecture/c4-containers.md +0 -0
  145. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/architecture/c4-context.md +0 -0
  146. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/architecture/c4-dynamic-install.md +0 -0
  147. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/distill.gif +0 -0
  148. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/doctor.gif +0 -0
  149. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/explain.gif +0 -0
  150. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/hooks.gif +0 -0
  151. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/install.gif +0 -0
  152. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/pulse.gif +0 -0
  153. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/search.gif +0 -0
  154. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/gifs/tap.gif +0 -0
  155. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/distill.tape +0 -0
  156. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/doctor.tape +0 -0
  157. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/explain.tape +0 -0
  158. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/hooks.tape +0 -0
  159. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/install.tape +0 -0
  160. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/pulse.tape +0 -0
  161. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/search.tape +0 -0
  162. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel/tapes/tap.tape +0 -0
  163. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/carousel.html +0 -0
  164. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/chat.html +0 -0
  165. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/code-review.md +0 -0
  166. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/commit-audit.md +0 -0
  167. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/demo-index.json +0 -0
  168. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/demo.gif +0 -0
  169. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/demo.html +0 -0
  170. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/demo.tape +0 -0
  171. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/dependencies.md +0 -0
  172. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/design-roadmap.html +0 -0
  173. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/eval-latest.json +0 -0
  174. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/eval.html +0 -0
  175. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/index.html +0 -0
  176. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/langchain.html +0 -0
  177. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/mcp-hub.html +0 -0
  178. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/openssf-badge.md +0 -0
  179. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/openssf-playbook.md +0 -0
  180. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/rag-architecture.md +0 -0
  181. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D01.md +0 -0
  182. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D02.md +0 -0
  183. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D03.md +0 -0
  184. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D04.md +0 -0
  185. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D05.md +0 -0
  186. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D06.md +0 -0
  187. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D07.md +0 -0
  188. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D08.md +0 -0
  189. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D09.md +0 -0
  190. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D10.md +0 -0
  191. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D11.md +0 -0
  192. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D12.md +0 -0
  193. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D13.md +0 -0
  194. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D14.md +0 -0
  195. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D15.md +0 -0
  196. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D16.md +0 -0
  197. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D17.md +0 -0
  198. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D18.md +0 -0
  199. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D19.md +0 -0
  200. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D20.md +0 -0
  201. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D21.md +0 -0
  202. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D22.md +0 -0
  203. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D23.md +0 -0
  204. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D24.md +0 -0
  205. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D25.md +0 -0
  206. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D26.md +0 -0
  207. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/BOOST-D27.md +0 -0
  208. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
  209. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  210. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  211. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  212. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  213. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  214. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  215. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  216. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  217. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  218. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  219. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-absorb-findings.md +0 -0
  220. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-adapt-findings.md +0 -0
  221. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
  222. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
  223. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
  224. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-attest-findings.md +0 -0
  225. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-audit-findings.md +0 -0
  226. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-bmad-findings.md +0 -0
  227. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-browse-findings.md +0 -0
  228. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-bundle-findings.md +0 -0
  229. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-catalog-findings.md +0 -0
  230. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
  231. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-changelog-findings.md +0 -0
  232. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-chat-findings.md +0 -0
  233. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
  234. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
  235. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-cohort-findings.md +0 -0
  236. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-completions-findings.md +0 -0
  237. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-config-findings.md +0 -0
  238. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
  239. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-context-findings.md +0 -0
  240. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
  241. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
  242. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-create-findings.md +0 -0
  243. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
  244. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-deps-findings.md +0 -0
  245. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-discover-findings.md +0 -0
  246. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
  247. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-doctor-findings.md +0 -0
  248. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-drift-findings.md +0 -0
  249. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
  250. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-edit-findings.md +0 -0
  251. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-evolve-findings.md +0 -0
  252. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-explain-findings.md +0 -0
  253. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-export-findings.md +0 -0
  254. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
  255. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
  256. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
  257. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
  258. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
  259. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-health-findings.md +0 -0
  260. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
  261. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
  262. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-import-findings.md +0 -0
  263. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-index-findings.md +0 -0
  264. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
  265. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
  266. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-install-findings.md +0 -0
  267. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
  268. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
  269. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-lint-findings.md +0 -0
  270. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-log-findings.md +0 -0
  271. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
  272. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-mcp-findings.md +0 -0
  273. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
  274. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
  275. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
  276. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-onboard-findings.md +0 -0
  277. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
  278. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
  279. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-outdated-findings.md +0 -0
  280. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
  281. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
  282. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-policy-findings.md +0 -0
  283. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-preview-findings.md +0 -0
  284. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-profile-findings.md +0 -0
  285. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
  286. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-protocol-findings.md +0 -0
  287. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-pulse-findings.md +0 -0
  288. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
  289. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
  290. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
  291. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-recommend-findings.md +0 -0
  292. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-reindex-findings.md +0 -0
  293. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
  294. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-replay-findings.md +0 -0
  295. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-root-findings.md +0 -0
  296. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
  297. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-run-findings.md +0 -0
  298. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-schedule-findings.md +0 -0
  299. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-search-findings.md +0 -0
  300. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-simulate-findings.md +0 -0
  301. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
  302. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
  303. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
  304. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
  305. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
  306. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
  307. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
  308. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-sync-findings.md +0 -0
  309. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-tag-findings.md +0 -0
  310. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
  311. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-tap-findings.md +0 -0
  312. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-taps-findings.md +0 -0
  313. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
  314. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-test-findings.md +0 -0
  315. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-trust-findings.md +0 -0
  316. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
  317. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-unpin-findings.md +0 -0
  318. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-untap-findings.md +0 -0
  319. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-update-findings.md +0 -0
  320. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
  321. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-verify-findings.md +0 -0
  322. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/audit-who-findings.md +0 -0
  323. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  324. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
  325. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/because-that-was-not-the-reason.md +0 -0
  326. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
  327. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  328. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  329. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  330. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +0 -0
  331. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  332. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +0 -0
  333. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +0 -0
  334. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +0 -0
  335. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +0 -0
  336. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  337. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/boost-first-rule.md +0 -0
  338. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  339. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  340. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/branch-current-gate.md +0 -0
  341. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  342. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  343. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  344. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  345. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  346. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  347. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  348. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
  349. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
  350. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  351. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  352. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  353. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  354. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  355. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  356. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  357. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
  358. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/cli-command-audit.md +0 -0
  359. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  360. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  361. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  362. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  363. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/command-carousel-page.md +0 -0
  364. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  365. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
  366. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  367. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  368. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  369. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
  370. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  371. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
  372. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
  373. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/count-flags-that-silently-invert.md +0 -0
  374. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  375. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  376. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  377. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  378. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  379. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
  380. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  381. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  382. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  383. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
  384. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
  385. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
  386. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
  387. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
  388. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  389. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  390. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
  391. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  392. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  393. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  394. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  395. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  396. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  397. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  398. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  399. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  400. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
  401. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  402. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  403. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  404. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
  405. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  406. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  407. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
  408. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
  409. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  410. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  411. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  412. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  413. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  414. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
  415. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
  416. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  417. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
  418. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  419. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
  420. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  421. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  422. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  423. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  424. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  425. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  426. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  427. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  428. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  429. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
  430. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
  431. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  432. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  433. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  434. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  435. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  436. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/github-community-health-files.md +0 -0
  437. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  438. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  439. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  440. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  441. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  442. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  443. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  444. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
  445. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  446. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  447. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  448. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  449. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  450. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  451. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  452. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  453. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  454. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  455. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  456. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  457. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  458. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  459. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  460. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  461. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  462. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  463. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  464. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  465. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
  466. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  467. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  468. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  469. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  470. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  471. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +0 -0
  472. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  473. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  474. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  475. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  476. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  477. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  478. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  479. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  480. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  481. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  482. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  483. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  484. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  485. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
  486. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  487. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  488. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
  489. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  490. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  491. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  492. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  493. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  494. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
  495. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  496. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  497. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  498. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
  499. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  500. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  501. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  502. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  503. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  504. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  505. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  506. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  507. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  508. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  509. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  510. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
  511. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  512. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  513. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
  514. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  515. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  516. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  517. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  518. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  519. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  520. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  521. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  522. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/openssf-playbook.md +0 -0
  523. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/openssf-silver.md +0 -0
  524. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  525. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  526. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
  527. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  528. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  529. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  530. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  531. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  532. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  533. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  534. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  535. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  536. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  537. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  538. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  539. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  540. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  541. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  542. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  543. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  544. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  545. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
  546. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  547. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  548. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  549. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  550. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  551. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
  552. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
  553. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
  554. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
  555. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  556. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  557. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
  558. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
  559. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  560. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
  561. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
  562. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  563. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
  564. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  565. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
  566. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  567. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  568. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/relicence-apache-2.md +0 -0
  569. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  570. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  571. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  572. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
  573. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  574. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  575. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  576. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
  577. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  578. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  579. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  580. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  581. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  582. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  583. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  584. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  585. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  586. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  587. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  588. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  589. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  590. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  591. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  592. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  593. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  594. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  595. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
  596. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
  597. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
  598. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
  599. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  600. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
  601. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
  602. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  603. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  604. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  605. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  606. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  607. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  608. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  609. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  610. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  611. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
  612. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
  613. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  614. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  615. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  616. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/shrink-the-published-index.md +0 -0
  617. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  618. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  619. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  620. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  621. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
  622. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
  623. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  624. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  625. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  626. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  627. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
  628. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  629. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
  630. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  631. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  632. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  633. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  634. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  635. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
  636. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  637. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  638. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
  639. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  640. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  641. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  642. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  643. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
  644. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  645. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  646. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  647. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  648. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/typos-reported-as-boost-bugs.md +0 -0
  649. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  650. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  651. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  652. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
  653. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  654. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  655. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
  656. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  657. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  658. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  659. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  660. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  661. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  662. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  663. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
  664. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  665. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  666. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  667. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  668. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  669. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  670. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/workspace-scope-install.md +0 -0
  671. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/zip-strict-audit.md +0 -0
  672. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  673. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  674. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/security-design.md +0 -0
  675. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/semantic-search.md +0 -0
  676. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  677. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/verifying-releases.md +0 -0
  678. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/vex/meta.md +0 -0
  679. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/vex/openvex.json +0 -0
  680. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  681. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  682. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  683. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  684. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/eslint.config.mjs +0 -0
  685. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/README.md +0 -0
  686. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/__init__.py +0 -0
  687. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/baseline.json +0 -0
  688. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/faithfulness.py +0 -0
  689. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/golden_set.json +0 -0
  690. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/make_corpus.py +0 -0
  691. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/make_golden.py +0 -0
  692. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/metrics.py +0 -0
  693. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/publish_golden_dataset.py +0 -0
  694. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/evals/run_evals.py +0 -0
  695. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/examples/README.md +0 -0
  696. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/examples/adapt-demo.sh +0 -0
  697. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/examples/boost-run-prototype.sh +0 -0
  698. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/index.html +0 -0
  699. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/noxfile.py +0 -0
  700. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/pyproject.toml +0 -0
  701. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/coverage-tools.in +0 -0
  702. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/coverage-tools.txt +0 -0
  703. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/lint-tools.in +0 -0
  704. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/lint-tools.txt +0 -0
  705. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/mutation-tools.in +0 -0
  706. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/mutation-tools.txt +0 -0
  707. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/platform-pins.lock +0 -0
  708. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/release-tools.in +0 -0
  709. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/release-tools.txt +0 -0
  710. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/test-tools.in +0 -0
  711. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/requirements/test-tools.txt +0 -0
  712. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/a11y_check.py +0 -0
  713. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/add_spdx_headers.py +0 -0
  714. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/bench_cli.sh +0 -0
  715. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/build_command_reference.py +0 -0
  716. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/build_demo_index.py +0 -0
  717. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/build_registries.py +0 -0
  718. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/build_roadmap.py +0 -0
  719. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/build_scale_corpus.py +0 -0
  720. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/build_vex.py +0 -0
  721. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/check_anchors.py +0 -0
  722. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/check_branch_current.py +0 -0
  723. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/check_dco.py +0 -0
  724. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/check_licenses.py +0 -0
  725. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/check_reproducible.py +0 -0
  726. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/check_required_checks.py +0 -0
  727. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/ensure_eval_corpus.sh +0 -0
  728. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_corpus.py +0 -0
  729. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_explain.py +0 -0
  730. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_gate.py +0 -0
  731. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_recommend.py +0 -0
  732. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_retrieval.py +0 -0
  733. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_stats_summary.py +0 -0
  734. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/eval_tools.py +0 -0
  735. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/import_budget.py +0 -0
  736. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/lock_toolchain.py +0 -0
  737. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/measure_near_duplicate_bound.py +0 -0
  738. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/measure_registry.py +0 -0
  739. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/mutation_gate.py +0 -0
  740. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/mutation_shards.py +0 -0
  741. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/mutation_weights.json +0 -0
  742. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/normalize_sdist.py +0 -0
  743. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/page_budget.py +0 -0
  744. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/perf_gate.py +0 -0
  745. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/post_deploy_smoke.py +0 -0
  746. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/publish_eval_json.py +0 -0
  747. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/publish_shards.py +0 -0
  748. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/release_guard.py +0 -0
  749. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/release_preflight.py +0 -0
  750. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/serve_docs.py +0 -0
  751. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/scripts/shard_plan.py +0 -0
  752. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/setup.cfg +0 -0
  753. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/sonar-project.properties +0 -0
  754. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/style/README.md +0 -0
  755. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/style/boost.css +0 -0
  756. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/style/boost.js +0 -0
  757. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/style/demo.html +0 -0
  758. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/adapt.feature +0 -0
  759. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/browse.feature +0 -0
  760. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/count.feature +0 -0
  761. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/discover.feature +0 -0
  762. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/doctor.feature +0 -0
  763. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/environment.py +0 -0
  764. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/explain.feature +0 -0
  765. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/index.feature +0 -0
  766. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/install.feature +0 -0
  767. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/list.feature +0 -0
  768. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/mcp.feature +0 -0
  769. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/search.feature +0 -0
  770. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/steps/cli_steps.py +0 -0
  771. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/steps/discovery_steps.py +0 -0
  772. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/steps/mcp_steps.py +0 -0
  773. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/bdd/features/steps/quality_steps.py +0 -0
  774. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/conftest.py +0 -0
  775. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/baseline.json +0 -0
  776. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/explain.jsonl +0 -0
  777. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
  778. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/golden-natural.jsonl +0 -0
  779. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/golden.jsonl +0 -0
  780. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/recommend.jsonl +0 -0
  781. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/taps-scale.txt +0 -0
  782. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/taps.txt +0 -0
  783. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/eval/tool_calls.jsonl +0 -0
  784. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_bad_input_is_not_a_crash.py +0 -0
  785. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_bmad_personas_scope.py +0 -0
  786. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_capabilities_policy.py +0 -0
  787. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_adapt.py +0 -0
  788. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_catalog.py +0 -0
  789. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_chat.py +0 -0
  790. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_configuration.py +0 -0
  791. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_discovery.py +0 -0
  792. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_hooks.py +0 -0
  793. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_hooks_gemini.py +0 -0
  794. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_info.py +0 -0
  795. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_intelligence.py +0 -0
  796. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_json_reports.py +0 -0
  797. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_pane_width.py +0 -0
  798. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_pkg.py +0 -0
  799. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_quality.py +0 -0
  800. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_quickstart.py +0 -0
  801. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_tap_pins.py +0 -0
  802. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_taps.py +0 -0
  803. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_cli_team.py +0 -0
  804. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_context_sees_an_unborn_branch.py +0 -0
  805. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_count_flags_reject_nonpositive.py +0 -0
  806. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_everyday_loop.py +0 -0
  807. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_integrity_enforce.py +0 -0
  808. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_kind_conformance.py +0 -0
  809. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_property_parsers.py +0 -0
  810. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_recommend_because_is_true.py +0 -0
  811. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_reports_match_reality.py +0 -0
  812. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_run.py +0 -0
  813. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_tap_signing.py +0 -0
  814. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/functional/test_workspace_scope.py +0 -0
  815. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/README.md +0 -0
  816. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  817. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  818. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  819. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  820. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  821. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  822. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  823. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  824. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  825. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  826. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  827. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  828. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  829. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  830. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  831. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  832. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  833. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  834. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  835. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  836. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  837. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  838. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  839. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/fuzz_frontmatter.py +0 -0
  840. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/fuzz/fuzz_registry.py +0 -0
  841. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/langchain/conftest.py +0 -0
  842. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/langchain/test_graph.py +0 -0
  843. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/langchain/test_loader.py +0 -0
  844. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/langchain/test_retriever.py +0 -0
  845. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/make_fixture.py +0 -0
  846. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/perf/test_benchmarks.py +0 -0
  847. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/smoke.sh +0 -0
  848. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_a11y_check.py +0 -0
  849. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_action_pin_lockstep.py +0 -0
  850. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_adapters.py +0 -0
  851. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_adapters_multi.py +0 -0
  852. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_adapters_runner.py +0 -0
  853. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_agents.py +0 -0
  854. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_ai.py +0 -0
  855. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_aihost.py +0 -0
  856. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_archive.py +0 -0
  857. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_boost_first_offer.py +0 -0
  858. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_bootstrap.py +0 -0
  859. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_bot_pr_dco.py +0 -0
  860. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_branch_current.py +0 -0
  861. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_browse.py +0 -0
  862. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_builtin.py +0 -0
  863. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_capabilities.py +0 -0
  864. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_catalog.py +0 -0
  865. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_catalog_keyword_words.py +0 -0
  866. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_catalogbundle.py +0 -0
  867. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_chat.py +0 -0
  868. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_check_anchors.py +0 -0
  869. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_check_dco.py +0 -0
  870. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_check_licenses.py +0 -0
  871. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_check_reproducible.py +0 -0
  872. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_claude_settings.py +0 -0
  873. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_clean_internal_cache.py +0 -0
  874. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_cli_update_shards.py +0 -0
  875. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_cliparse.py +0 -0
  876. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_codeql_analysis_key.py +0 -0
  877. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_cohort.py +0 -0
  878. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_command_reference_fresh.py +0 -0
  879. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_community_health_files.py +0 -0
  880. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_compact.py +0 -0
  881. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_complete.py +0 -0
  882. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_complete_rc_block.py +0 -0
  883. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_config.py +0 -0
  884. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_content_dedupe.py +0 -0
  885. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_content_identity.py +0 -0
  886. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_count_flags_use_positive_int.py +0 -0
  887. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_crash_redaction.py +0 -0
  888. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dedup_trust.py +0 -0
  889. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_demo_index.py +0 -0
  890. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense.py +0 -0
  891. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
  892. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_embed_dedupe.py +0 -0
  893. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_entry_reuse.py +0 -0
  894. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_entry_vectors.py +0 -0
  895. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_fallback.py +0 -0
  896. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_fix_hint.py +0 -0
  897. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_progress.py +0 -0
  898. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_quantized.py +0 -0
  899. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_ready_order.py +0 -0
  900. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_shard_real_schema.py +0 -0
  901. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  902. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_shards.py +0 -0
  903. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_status.py +0 -0
  904. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_status_cheap.py +0 -0
  905. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dense_vector_dedupe.py +0 -0
  906. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_dependabot_config.py +0 -0
  907. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_deps.py +0 -0
  908. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_discovery.py +0 -0
  909. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_distill_merge.py +0 -0
  910. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_docs_pages_linked.py +0 -0
  911. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_docsite_chrome.py +0 -0
  912. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_doctor_output_polish.py +0 -0
  913. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_drift_hint.py +0 -0
  914. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_ed25519.py +0 -0
  915. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_embed.py +0 -0
  916. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_embed_local.py +0 -0
  917. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_embed_truncated_response.py +0 -0
  918. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_entry_key.py +0 -0
  919. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_errors_and_cli_table.py +0 -0
  920. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_baseline.py +0 -0
  921. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_corpus.py +0 -0
  922. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_faithfulness.py +0 -0
  923. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_gate.py +0 -0
  924. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_grading.py +0 -0
  925. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_metrics.py +0 -0
  926. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_stats_summary.py +0 -0
  927. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_tools.py +0 -0
  928. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_eval_tools_probe.py +0 -0
  929. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  930. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_faithfulness.py +0 -0
  931. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_frontmatter.py +0 -0
  932. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_fuzz_targets.py +0 -0
  933. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  934. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_gitleaks_config.py +0 -0
  935. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_gitutil.py +0 -0
  936. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_gitutil_lfs.py +0 -0
  937. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_gitutil_sparse.py +0 -0
  938. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_gstack_coexistence.py +0 -0
  939. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_hook_settings_hosts.py +0 -0
  940. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_imperative.py +0 -0
  941. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_import_budget.py +0 -0
  942. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_injectscan.py +0 -0
  943. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_install_permission_error.py +0 -0
  944. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_installscan.py +0 -0
  945. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_integrity.py +0 -0
  946. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_journal.py +0 -0
  947. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_jsonstate.py +0 -0
  948. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_langchain_packaging.py +0 -0
  949. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_launcher_python_floor.py +0 -0
  950. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_link_ownership.py +0 -0
  951. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_localembed.py +0 -0
  952. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_localembed_e2e.py +0 -0
  953. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_lockfile.py +0 -0
  954. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_logs.py +0 -0
  955. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_marketing_counts.py +0 -0
  956. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mcp.py +0 -0
  957. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mcp_install_scan.py +0 -0
  958. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mcp_read.py +0 -0
  959. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mcpdecl.py +0 -0
  960. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mcphost.py +0 -0
  961. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_measure_registry.py +0 -0
  962. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_minisign.py +0 -0
  963. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mutation_hardening.py +0 -0
  964. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mutation_shards.py +0 -0
  965. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mutation_subfile_shards.py +0 -0
  966. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_mutmut_source_paths.py +0 -0
  967. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_near_duplicate_collapse.py +0 -0
  968. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_nethttp.py +0 -0
  969. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_normalize_sdist.py +0 -0
  970. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_output.py +0 -0
  971. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_page_budget.py +0 -0
  972. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_paths.py +0 -0
  973. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_perf_gate.py +0 -0
  974. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_pkg_confusions.py +0 -0
  975. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_pkg_injection.py +0 -0
  976. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_pkg_secrets.py +0 -0
  977. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_platform_pins.py +0 -0
  978. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_policy.py +0 -0
  979. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_post_deploy_smoke.py +0 -0
  980. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_project_mcp_sidecar.py +0 -0
  981. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_projectlock.py +0 -0
  982. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_provenance.py +0 -0
  983. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_publish_golden_dataset.py +0 -0
  984. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_rag.py +0 -0
  985. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_rag_completeness.py +0 -0
  986. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_rag_fastpath.py +0 -0
  987. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_rag_fusion.py +0 -0
  988. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_registries_fresh.py +0 -0
  989. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_registry.py +0 -0
  990. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_registry_categories.py +0 -0
  991. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_registry_control_chars.py +0 -0
  992. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_registry_parallel.py +0 -0
  993. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_release_guard.py +0 -0
  994. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_release_preflight.py +0 -0
  995. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_report.py +0 -0
  996. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_required_checks.py +0 -0
  997. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_rerank_cache.py +0 -0
  998. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_resolve.py +0 -0
  999. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
  1000. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_roadmap_fresh.py +0 -0
  1001. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_rules.py +0 -0
  1002. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_scale_corpus.py +0 -0
  1003. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_schedule_plist.py +0 -0
  1004. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_scopes.py +0 -0
  1005. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_secretscan.py +0 -0
  1006. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_selfupdate.py +0 -0
  1007. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_serve.py +0 -0
  1008. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_serve_docs.py +0 -0
  1009. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_shard_plan.py +0 -0
  1010. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_shards.py +0 -0
  1011. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_shards_incremental.py +0 -0
  1012. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_shards_ingest.py +0 -0
  1013. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_shards_matrix.py +0 -0
  1014. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_smoke_covers_every_command.py +0 -0
  1015. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_spdx_headers.py +0 -0
  1016. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_spin.py +0 -0
  1017. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_stackprobe.py +0 -0
  1018. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_staleness.py +0 -0
  1019. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_store.py +0 -0
  1020. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_store_materialize.py +0 -0
  1021. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_sync_blocked_links.py +0 -0
  1022. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  1023. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_tap_pins.py +0 -0
  1024. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_token_parity.py +0 -0
  1025. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_toolchain_lock.py +0 -0
  1026. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_trustaudit.py +0 -0
  1027. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_typedvalue.py +0 -0
  1028. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_typosquat.py +0 -0
  1029. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_updatediff.py +0 -0
  1030. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_util.py +0 -0
  1031. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_version.py +0 -0
  1032. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_version_tags.py +0 -0
  1033. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_vex.py +0 -0
  1034. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_visual_harness_capture.py +0 -0
  1035. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_visual_harness_flags.py +0 -0
  1036. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_workflow_concurrency.py +0 -0
  1037. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  1038. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  1039. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_workflow_timeouts.py +0 -0
  1040. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_workflows.py +0 -0
  1041. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  1042. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/visual/a11y_check.mjs +0 -0
  1043. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/visual/console_check.mjs +0 -0
  1044. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/visual/package-lock.json +0 -0
  1045. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/tests/visual/package.json +0 -0
  1046. {boost_skill_cli-1.2.117 → boost_skill_cli-1.2.119}/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.117
3
+ Version: 1.2.119
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.117'
22
- __version_tuple__ = version_tuple = (1, 2, 117)
21
+ __version__ = version = '1.2.119'
22
+ __version_tuple__ = version_tuple = (1, 2, 119)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -11,13 +11,14 @@ and no network: it writes the seven BMAD persona subagents into
11
11
  carrying the persona that should lead it, the support personas to spawn
12
12
  alongside, the BMAD skill for that track, and a definition of done read off the
13
13
  repo in front of it (its test dir, its docs, its roadmap items, its gate
14
- command). Trivial asks get nothing, so the router costs a question nothing. All
14
+ command). Trivial asks get no banner. All
15
15
  of the thinking lives in :mod:`boost_cli.core.bmad`; this module is glue.
16
16
 
17
17
  boost bmad on # <- the one command. global.
18
18
  boost bmad off # remove hooks + boost-written personas
19
19
  boost bmad personas # the roster + whether installed, both scopes
20
20
  boost bmad route [PROMPT] [--plain] # hook target; pipeable for debugging
21
+ boost bmad on --host claude # hooks for one host, not every one in use
21
22
 
22
23
  **The full method** is `boost bmad install`, unchanged: it delegates to the
23
24
  canonical `npx bmad-method install` (Node.js 20.12+) for the `bmad-*` workflow
@@ -55,8 +56,10 @@ way. Matchers are *not* translated — `hookhost` passes them through
55
56
  host-native — so Claude's `startup|resume|clear` source matcher is applied only
56
57
  on Claude.
57
58
 
58
- What that buys on a second host is prompt shaping, not full parity: the routing
59
- banner names personas Gemini cannot spawn.
59
+ What that buys on a second host is prompt shaping, not full parity. Gemini's
60
+ hooks pass `--host gemini`, so `route` and `orient` answer in the JSON Gemini
61
+ adds to the model's context and name the personas as roles rather than
62
+ subagents; `--host` on `on`/`startup` picks the hosts explicitly.
60
63
  """
61
64
  from __future__ import annotations
62
65
 
@@ -110,14 +113,19 @@ def cmd_bmad(argv) -> int:
110
113
  help="enable the startup toggle right after install")
111
114
  p.add_argument("--plain", action="store_true",
112
115
  help="route: print the banner as text, not as hook JSON")
116
+ p.add_argument("--host", metavar="H", default=None,
117
+ choices=(*hookhost.hosts(), "auto"),
118
+ help="on/startup: hosts to hook (%s; default auto: "
119
+ "claude + any in use) · route/orient: output format"
120
+ % " | ".join(hookhost.hosts()))
113
121
  args = p.parse_args(argv)
114
122
 
115
123
  if args.action == "on":
116
- return _autopilot_on(args.scope)
124
+ return _autopilot_on(args.scope, args.host)
117
125
  if args.action == "off":
118
126
  return _autopilot_off(args.scope)
119
127
  if args.action == "route":
120
- return _route(args.value, args.plain, args.scope)
128
+ return _route(args.value, args.plain, args.scope, _one_host(args.host))
121
129
  if args.action == "personas":
122
130
  return _personas(args.scope)
123
131
  if args.action == "install":
@@ -125,9 +133,9 @@ def cmd_bmad(argv) -> int:
125
133
  if args.action == "init":
126
134
  return _init(args.modules, args.startup)
127
135
  if args.action == "startup":
128
- return _startup(args.value or "status", args.scope)
136
+ return _startup(args.value or "status", args.scope, args.host)
129
137
  if args.action == "orient":
130
- return _orient(args.scope)
138
+ return _orient(args.scope, _one_host(args.host))
131
139
  if args.action == "uninstall":
132
140
  return _uninstall(args.scope, args.yes)
133
141
  if args.action == "disable":
@@ -174,7 +182,12 @@ def _never_fails(command: str) -> str:
174
182
  return command + " || true"
175
183
 
176
184
 
177
- def _hook_hosts(scope: str) -> list[str]:
185
+ def _one_host(host) -> str:
186
+ """The host a hook runs under. Hooks written before `--host` are Claude's."""
187
+ return hookhost.CLAUDE if host in (None, "auto") else host
188
+
189
+
190
+ def _hook_hosts(scope: str, requested=None) -> list[str]:
178
191
  """Hosts to write hooks into: Claude always, others on evidence of use.
179
192
 
180
193
  Claude is unconditional. It is boost's primary host and the behaviour every
@@ -189,7 +202,13 @@ def _hook_hosts(scope: str) -> list[str]:
189
202
  `~/.gemini/settings.json` for someone who has never run Gemini is litter in
190
203
  a file boost does not own. A host that appears later is picked up by the
191
204
  next `boost bmad on`, which is idempotent.
205
+
206
+ ``requested`` (`--host`) overrides the rule: naming one host writes that
207
+ host only, so Claude-only no longer means hand-editing Gemini's settings
208
+ after every `on`.
192
209
  """
210
+ if requested not in (None, "auto"):
211
+ return [requested]
193
212
  chosen = [hookhost.CLAUDE]
194
213
  for host in hookhost.hosts():
195
214
  if host == hookhost.CLAUDE:
@@ -209,11 +228,26 @@ _ORIENT_HOOK = ("SessionStart", HOOK_NAME, HOOK_MATCHER)
209
228
  _ROUTE_HOOK = ("UserPromptSubmit", ROUTE_HOOK_NAME, None)
210
229
 
211
230
 
212
- def _add_hook_everywhere(scope: str, spec: tuple, command: str) -> list[str]:
213
- """Install one hook on every installed host. Returns the hosts written."""
231
+ def _host_command(host: str, command: str) -> str:
232
+ """``command`` as ``host``'s hook runs it, made incapable of failing.
233
+
234
+ Claude's bytes are what every earlier release wrote. Another host's hook
235
+ names its host, so `route`/`orient` answer in the format that host reads,
236
+ and drops stderr: Gemini shows stderr to the user when stdout is empty, so
237
+ a launcher too old to know the action printed its usage error into the
238
+ session despite `|| true`.
239
+ """
240
+ if host == hookhost.CLAUDE:
241
+ return _never_fails(command)
242
+ return _never_fails("%s --host %s 2>/dev/null" % (command, host))
243
+
244
+
245
+ def _add_hook_everywhere(scope: str, spec: tuple, command: str,
246
+ requested=None) -> list[str]:
247
+ """Install one hook on every chosen host. Returns the hosts written."""
214
248
  event, name, matcher = spec
215
249
  written = []
216
- for host in _hook_hosts(scope):
250
+ for host in _hook_hosts(scope, requested):
217
251
  target = hookhost.translate(host, event)
218
252
  if target is None:
219
253
  # Refused out loud rather than dropped: a hook the user asked for
@@ -221,7 +255,7 @@ def _add_hook_everywhere(scope: str, spec: tuple, command: str) -> list[str]:
221
255
  out.warn("%s has no counterpart for %s — skipped"
222
256
  % (hookhost.label(host), event))
223
257
  continue
224
- cs.add_hook(scope, target, name, command,
258
+ cs.add_hook(scope, target, name, _host_command(host, command),
225
259
  matcher=matcher if host == hookhost.CLAUDE else None,
226
260
  host=host)
227
261
  written.append(host)
@@ -246,7 +280,7 @@ def _remove_hook_everywhere(scope: str, *specs: tuple) -> int:
246
280
  return removed
247
281
 
248
282
 
249
- def _autopilot_on(scope) -> int:
283
+ def _autopilot_on(scope, requested_host=None) -> int:
250
284
  """The one command. Personas + orientation + router, in one idempotent pass.
251
285
 
252
286
  Global by default: the point of the autopilot is that a task arriving in
@@ -267,10 +301,11 @@ def _autopilot_on(scope) -> int:
267
301
 
268
302
  launcher = shlex.quote(str(paths.launcher()))
269
303
  hosts = _add_hook_everywhere(
270
- scope, _ORIENT_HOOK,
271
- _never_fails("%s bmad orient --scope %s" % (launcher, scope)))
304
+ scope, _ORIENT_HOOK, "%s bmad orient --scope %s" % (launcher, scope),
305
+ requested_host)
272
306
  _add_hook_everywhere(scope, _ROUTE_HOOK,
273
- _never_fails("%s bmad route --scope %s" % (launcher, scope)))
307
+ "%s bmad route --scope %s" % (launcher, scope),
308
+ requested_host)
274
309
  _set_scope_state(scope, autopilot=True, startup=True, personas=present,
275
310
  enabled_at=util.now_iso())
276
311
  journal.log("bmad-autopilot", "on", scope=scope, personas=present)
@@ -335,7 +370,7 @@ def _read_hook_stdin() -> dict:
335
370
  return data if isinstance(data, dict) else {"prompt": raw}
336
371
 
337
372
 
338
- def _route(prompt, plain, scope=None) -> int:
373
+ def _route(prompt, plain, scope=None, host=hookhost.CLAUDE) -> int:
339
374
  """UserPromptSubmit hook target: classify, then emit the routing banner.
340
375
 
341
376
  This runs on every single prompt, so it has exactly one hard rule: **always
@@ -356,9 +391,9 @@ def _route(prompt, plain, scope=None) -> int:
356
391
  cwd = payload.get("cwd")
357
392
  root = Path(cwd) if cwd else Path.cwd()
358
393
  if prompt or plain:
359
- banner = core.route_context(text, root)
394
+ banner = core.route_context(text, root, None, host)
360
395
  elif _autopilot_live(scope, root):
361
- banner = _session_banner(payload, text, root)
396
+ banner = _session_banner(payload, text, root, host)
362
397
  else:
363
398
  return 0
364
399
  except Exception: # a hook must never break the session
@@ -368,14 +403,12 @@ def _route(prompt, plain, scope=None) -> int:
368
403
  if plain:
369
404
  print(banner)
370
405
  return 0
371
- print(json.dumps({"hookSpecificOutput": {
372
- "hookEventName": "UserPromptSubmit",
373
- "additionalContext": banner,
374
- }}))
406
+ print(hookhost.context_output(host, "UserPromptSubmit", banner))
375
407
  return 0
376
408
 
377
409
 
378
- def _session_banner(payload: dict, text: str, root: Path) -> str:
410
+ def _session_banner(payload: dict, text: str, root: Path,
411
+ host: str = hookhost.CLAUDE) -> str:
379
412
  """The hook's banner, or ``""`` when this session already holds it.
380
413
 
381
414
  Keyed by ``session_id``. Gemini's `BeforeAgent` carries one too, but its
@@ -383,7 +416,7 @@ def _session_banner(payload: dict, text: str, root: Path) -> str:
383
416
  skipped there would simply be missing; the check applies to Claude alone.
384
417
  """
385
418
  session = str(payload.get("session_id") or "")
386
- if payload.get("hook_event_name") == "BeforeAgent":
419
+ if host != hookhost.CLAUDE or payload.get("hook_event_name") == "BeforeAgent":
387
420
  session = ""
388
421
  track = core.classify(text, root)
389
422
  if track == core.TRIVIAL:
@@ -393,7 +426,7 @@ def _session_banner(payload: dict, text: str, root: Path) -> str:
393
426
  str(root)):
394
427
  return ""
395
428
  banner = core.route_context(
396
- text, root, (_agents_dir("global"), root / ".claude" / "agents"))
429
+ text, root, (_agents_dir("global"), root / ".claude" / "agents"), host)
397
430
  if session and banner:
398
431
  sessions[session] = {"track": track, "root": str(root),
399
432
  "at": util.now_iso()}
@@ -548,12 +581,12 @@ def _copy_global_skills(modules) -> int:
548
581
 
549
582
  # ----------------------------------------------------------------------- toggle
550
583
 
551
- def _startup(value, scope) -> int:
584
+ def _startup(value, scope, requested_host=None) -> int:
552
585
  scope = scope or "project"
553
586
  if value == "on":
554
- cmd = _never_fails("%s bmad orient --scope %s" % (
555
- shlex.quote(str(paths.launcher())), scope))
556
- started = _add_hook_everywhere(scope, _ORIENT_HOOK, cmd)
587
+ cmd = "%s bmad orient --scope %s" % (
588
+ shlex.quote(str(paths.launcher())), scope)
589
+ started = _add_hook_everywhere(scope, _ORIENT_HOOK, cmd, requested_host)
557
590
  _set_scope_state(scope, startup=True)
558
591
  journal.log("bmad-startup", "on", scope=scope)
559
592
  out.ok("BMAD startup ON (%s) — new sessions get orientation" % scope)
@@ -572,7 +605,7 @@ def _startup(value, scope) -> int:
572
605
  hint="use 'on', 'off' or 'status'")
573
606
 
574
607
 
575
- def _orient(scope) -> int:
608
+ def _orient(scope, host=hookhost.CLAUDE) -> int:
576
609
  """SessionStart hook target: print the briefing iff enabled (else silent).
577
610
 
578
611
  On `clear` and `compact` it also forgets the session's last routing banner:
@@ -589,17 +622,18 @@ def _orient(scope) -> int:
589
622
  _sessions_write(sessions)
590
623
  with suppress(Exception):
591
624
  if _get_scope_state(scope).get("startup"):
592
- print(core.orientation())
625
+ print(hookhost.context_output(host, "SessionStart",
626
+ core.orientation(host)))
593
627
  return 0
594
628
 
595
629
 
596
630
  def _status(scope) -> int:
597
631
  st = _get_scope_state(scope)
598
- hook = cs.has_hook(scope, "SessionStart", HOOK_NAME)
632
+ hosts = _hosts_with(scope, "SessionStart", HOOK_NAME)
599
633
  n = _count_skills(_skills_dir(scope))
600
634
  out.heading("BMAD startup — %s" % scope)
601
635
  out.kv("enabled", str(bool(st.get("startup"))))
602
- out.kv("hook", "present" if hook else "absent")
636
+ out.kv("hook", "present (%s)" % ", ".join(hosts) if hosts else "absent")
603
637
  out.kv("skills", str(n))
604
638
  out.kv("installed", str(bool(st.get("installed"))))
605
639
  return 0
@@ -683,16 +717,18 @@ def _doctor() -> int:
683
717
  # managed + edited: an edited persona file is still on disk and
684
718
  # Claude Code still loads it, same as core.present_personas().
685
719
  personas = len(core.present_personas(agents))
686
- router = cs.has_hook(scope, "UserPromptSubmit", ROUTE_HOOK_NAME)
720
+ router_hosts = _hosts_with(scope, "UserPromptSubmit", ROUTE_HOOK_NAME)
721
+ briefing_hosts = _hosts_with(scope, "SessionStart", HOOK_NAME)
722
+ router = bool(router_hosts)
687
723
  live = bool(st.get("autopilot")) and router
688
- briefing = _on_off(cs.has_hook(scope, "SessionStart", HOOK_NAME))
689
- if briefing == "on" and _stale_matcher(scope):
724
+ briefing = _where(briefing_hosts)
725
+ if briefing_hosts and _stale_matcher(scope):
690
726
  # The matcher lives in the user's settings.json from whenever they
691
727
  # last ran `on`, while the code that depends on it ships with the
692
728
  # binary — so an old install silently misses newer sources.
693
729
  briefing += " (stale matcher: re-run `boost bmad on`)"
694
730
  out.kv(scope, "autopilot=%s %d personas router=%s briefing=%s"
695
- % (_on_off(live), personas, _on_off(router), briefing))
731
+ % (_on_off(live), personas, _where(router_hosts), briefing))
696
732
  out.kv(" workflows", "skills=%d installed=%s"
697
733
  % (_count_skills(_skills_dir(scope)), _on_off(st.get("installed"))))
698
734
  out.dim(" project = %s" % Path.cwd())
@@ -714,6 +750,30 @@ def _stale_matcher(scope) -> bool:
714
750
  return any(r.get("matcher") != HOOK_MATCHER for r in rows)
715
751
 
716
752
 
753
+ def _hosts_with(scope, event: str, name: str) -> list[str]:
754
+ """Which hosts carry this boost hook, in report order.
755
+
756
+ `--host gemini` makes a Claude-less autopilot reachable for the first time,
757
+ and a report that asks only Claude called that install absent — `doctor`
758
+ said `autopilot=off router=off` about a router that was about to run.
759
+ """
760
+ found = []
761
+ for host in hookhost.hosts():
762
+ target = hookhost.translate(host, event)
763
+ if target is not None and cs.has_hook(scope, target, name, host=host):
764
+ found.append(host)
765
+ return found
766
+
767
+
768
+ def _where(hosts: list[str]) -> str:
769
+ """``off``, ``on`` (Claude only) or ``on (gemini)`` — who has the hook."""
770
+ if not hosts:
771
+ return "off"
772
+ if hosts == [hookhost.CLAUDE]:
773
+ return "on"
774
+ return "on (%s)" % ", ".join(hosts)
775
+
776
+
717
777
  def _skills_dir(scope) -> Path:
718
778
  base = paths.home() if scope == "global" else Path.cwd()
719
779
  return base / ".claude" / "skills"
@@ -42,6 +42,8 @@ import re
42
42
  from pathlib import Path
43
43
  from typing import NamedTuple
44
44
 
45
+ from . import hookhost
46
+
45
47
  MARKER = "<!-- boost:bmad-persona"
46
48
  """Prefix of the ownership stamp boost writes into every persona file.
47
49
 
@@ -752,7 +754,8 @@ def done_checklist(signals: dict, done: str = "change") -> list[str]:
752
754
  # --------------------------------------------------------------------- routing
753
755
 
754
756
  def route_lines(prompt: str, root: Path | None = None,
755
- agents_dirs: tuple[Path, ...] | None = None) -> list[str]:
757
+ agents_dirs: tuple[Path, ...] | None = None,
758
+ host: str = hookhost.CLAUDE) -> list[str]:
756
759
  """The banner for one prompt: `[]` when the prompt is not a unit of work.
757
760
 
758
761
  Kept to a handful of lines on purpose — this is prepended to *every*
@@ -763,6 +766,11 @@ def route_lines(prompt: str, root: Path | None = None,
763
766
  are dropped: naming a subagent the session cannot spawn sends the model
764
767
  after something that does not exist. An edited file counts as present —
765
768
  it is still a subagent, just no longer boost's.
769
+
770
+ On a host other than Claude Code the personas are roles to adopt, not
771
+ subagents: Gemini's subagent tool is `invoke_agent` and boost writes no
772
+ personas for it, so its banner names no subagent, no Agent tool and no
773
+ ``~/.claude`` path.
766
774
  """
767
775
  root = Path(root) if root is not None else Path.cwd()
768
776
  track_name = classify(prompt, root)
@@ -775,15 +783,22 @@ def route_lines(prompt: str, root: Path | None = None,
775
783
  persona_state(d, lead) != "absent" for d in agents_dirs)
776
784
 
777
785
  lines = ["[BMAD autopilot] track: %s" % track_name]
778
- if delegate:
786
+ if host != hookhost.CLAUDE:
787
+ lines.append("Lead: take the role of %s, %s. %s"
788
+ % (lead.character, lead.title, track.note))
789
+ if track.support:
790
+ lines.append("Support: bring in the view of %s." % ", ".join(
791
+ "%s (%s)" % (PERSONA_BY_SLUG[s].character, PERSONA_BY_SLUG[s].title)
792
+ for s in track.support))
793
+ elif delegate:
779
794
  lines.append("Lead: `%s` subagent — %s, %s. %s"
780
795
  % (lead.slug, lead.character, lead.title, track.note))
781
- if delegate and track.support:
782
- lines.append(
783
- "Support: %s — spawn them with the Agent tool, in parallel where "
784
- "the work is independent."
785
- % ", ".join("`%s` (%s)" % (s, PERSONA_BY_SLUG[s].character)
786
- for s in track.support))
796
+ if track.support:
797
+ lines.append(
798
+ "Support: %s — spawn them with the Agent tool, in parallel where "
799
+ "the work is independent."
800
+ % ", ".join("`%s` (%s)" % (s, PERSONA_BY_SLUG[s].character)
801
+ for s in track.support))
787
802
  lines.extend((
788
803
  "BMAD skill: `%s` — invoke it if it is installed; otherwise the "
789
804
  "persona's own playbook stands." % track.skill,
@@ -803,20 +818,31 @@ CHANGE_CLOSE = ("Finish the change and verify it; stop only for a choice that "
803
818
 
804
819
 
805
820
  def route_context(prompt: str, root: Path | None = None,
806
- agents_dirs: tuple[Path, ...] | None = None) -> str:
821
+ agents_dirs: tuple[Path, ...] | None = None,
822
+ host: str = hookhost.CLAUDE) -> str:
807
823
  """:func:`route_lines` as one string (``""`` when there is nothing to say)."""
808
- return "\n".join(route_lines(prompt, root, agents_dirs))
824
+ return "\n".join(route_lines(prompt, root, agents_dirs, host))
809
825
 
810
826
 
811
827
  # ----------------------------------------------------------------- orientation
812
828
 
813
- def orientation() -> str:
814
- """The SessionStart briefing: the roster, the phases, and the house rule."""
829
+ _SUBAGENT_INTRO = ("This session routes work through BMAD personas. Persona "
830
+ "subagents live in\n~/.claude/agents and are delegated to "
831
+ "with the Agent tool:")
832
+ _ROLE_INTRO = ("This session routes work through BMAD personas. A routing banner "
833
+ "names the\npersona whose role to take on for that prompt:")
834
+
835
+
836
+ def orientation(host: str = hookhost.CLAUDE) -> str:
837
+ """The SessionStart briefing: the roster, the phases, and the house rule.
838
+
839
+ Only Claude Code gets persona subagents; elsewhere the roster is a list of
840
+ roles, for the same reason as :func:`route_lines`.
841
+ """
815
842
  roster = "\n".join(
816
843
  " %-15s %s, %s" % (p.slug, p.character, p.title) for p in PERSONAS)
817
844
  return """[BMAD autopilot active]
818
- This session routes work through BMAD personas. Persona subagents live in
819
- ~/.claude/agents and are delegated to with the Agent tool:
845
+ %s
820
846
 
821
847
  %s
822
848
 
@@ -834,15 +860,26 @@ Full workflow skills need a per-project `_bmad/` runtime — `boost bmad init`.
834
860
 
835
861
  House rule: a change is done when its tests, its docs and its tracked item are;
836
862
  findings are done when each carries its evidence; an artifact is done when it is
837
- written down and tracked. Turn this off with `boost bmad off`.""" % roster
863
+ written down and tracked. Turn this off with `boost bmad off`.""" % (
864
+ _SUBAGENT_INTRO if host == hookhost.CLAUDE else _ROLE_INTRO, roster)
838
865
 
839
866
 
840
867
  # ------------------------------------------------------------ persona files
841
868
 
842
869
  def persona_description(persona: Persona) -> str:
843
- """The one-line `description:` Claude reads when choosing a subagent."""
844
- return ("%s, %s (BMAD %s). Use PROACTIVELY for %s."
845
- % (persona.character, persona.title, persona.module,
870
+ """The one-line `description:` Claude reads when choosing a subagent.
871
+
872
+ Claude Code treats this line as a delegation rule, and its docs recommend
873
+ "use proactively" to make delegation *more* eager. That wording made the
874
+ router's silence cosmetic: a prompt the router judged trivial, or marked
875
+ `no bmad`, got no banner but could still spawn a persona on the strength of
876
+ its description alone. Tying the trigger to the banner makes the router the
877
+ one place that decides, while naming the persona by slug keeps delegation
878
+ working when a banner does name it, or the user does.
879
+ """
880
+ return ("%s, %s (BMAD %s). Use when a [BMAD autopilot] routing banner names "
881
+ "%s, or the user asks for it by name. Covers %s."
882
+ % (persona.character, persona.title, persona.module, persona.slug,
846
883
  persona.triggers))
847
884
 
848
885
 
@@ -52,6 +52,8 @@ Gemini's tool names, and a lifecycle matcher is an exact string.
52
52
  """
53
53
  from __future__ import annotations
54
54
 
55
+ import json
56
+
55
57
  from ..errors import BoostError
56
58
 
57
59
  CLAUDE = "claude"
@@ -257,3 +259,27 @@ def resolve(requested: str | None) -> list[str]:
257
259
  return hosts()
258
260
  _spec(str(requested))
259
261
  return [str(requested)]
262
+
263
+
264
+ def context_output(host: str, event: str, text: str) -> str:
265
+ """What a hook prints to hand ``text`` to the model, for a Claude ``event``.
266
+
267
+ The two hosts read hook stdout differently, and the difference is silent.
268
+ Claude Code adds a `SessionStart` hook's plain stdout to the context, and
269
+ takes `UserPromptSubmit` context from ``hookSpecificOutput``. Gemini CLI
270
+ turns any non-JSON stdout into ``{decision: "allow", systemMessage: text}``
271
+ — shown to the *user* — and adds only ``additionalContext`` to the model's
272
+ history. So boost's session briefing, printed as text, reached Gemini users
273
+ as a 26-line info message and never reached the model at all (measured
274
+ against Gemini CLI 0.57.0's hook runner: ``systemMessage`` 1,297 chars,
275
+ ``additionalContext`` 0).
276
+
277
+ Claude's bytes are unchanged. Gemini always gets JSON, under its own name
278
+ for the event.
279
+ """
280
+ if host == CLAUDE and event == "SessionStart":
281
+ return text
282
+ return json.dumps({"hookSpecificOutput": {
283
+ "hookEventName": translate(host, event),
284
+ "additionalContext": text,
285
+ }})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.117
3
+ Version: 1.2.119
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -83,7 +83,7 @@ puts real change requests on both kinds.
83
83
  Only a change gets the closing "finish and verify" line, and that line defers
84
84
  to any approval step your repo guide or a loaded skill requires.
85
85
 
86
- The router costs a question nothing. Acknowledgements, slash commands, short
86
+ The router leaves questions alone. Acknowledgements, slash commands, short
87
87
  questions ("what does `scan_dir` do?", "are there tests for the parser?"),
88
88
  "read X and tell me Y" asks and anything containing `no bmad` produce no banner
89
89
  at all. Pasted output is scored on the lines you typed around it, and needs two
@@ -100,6 +100,14 @@ scope, so a copy `boost bmad off` could not reach (a committed project
100
100
  `.claude/settings.json` in another checkout, a restored settings snapshot) stays
101
101
  silent, and a banner never names a persona whose file is gone.
102
102
 
103
+ That silence governs the banner, and the personas are written to follow it.
104
+ Claude Code decides delegation from the `description` line of a subagent, so
105
+ each persona says it applies when a routing banner names it, or when you ask for
106
+ it by name; a silent or `no bmad` prompt has nothing pointing at a persona
107
+ except the session briefing's roster. The final call is Claude Code's, not boost's.
108
+ Personas written by earlier releases said "Use PROACTIVELY" instead: run
109
+ `boost bmad on` again to rewrite the ones you have not edited.
110
+
103
111
  ```bash
104
112
  boost bmad personas # the roster, and whether it's installed
105
113
  boost bmad route "add tests for the scanner" --plain # what would this route to?
@@ -144,8 +152,18 @@ applied only on Claude, where that vocabulary exists.
144
152
 
145
153
  **The personas stay Claude-only.** A subagent definition is a Claude Code
146
154
  contract, and Gemini's `agents/` slot validates its input, so a Claude-dialect
147
- persona would be rejected. What a second host gets is prompt shaping: the
148
- routing banner arrives and names a lead persona, but Gemini cannot spawn it.
155
+ persona would be rejected. What a second host gets is prompt shaping. Gemini's
156
+ hooks run `bmad route --host gemini` and `bmad orient --host gemini`, which
157
+ answer in the JSON Gemini adds to the model's context (plain stdout on Gemini is
158
+ shown to you instead, and never reaches the model), and name the lead persona as
159
+ a role to take on rather than a subagent to spawn.
160
+
161
+ Pass `--host claude`, `--host gemini` or `--host auto` (the default, the rule
162
+ above) to `boost bmad on` or `boost bmad startup on` to choose for yourself:
163
+
164
+ ```bash
165
+ boost bmad on --host claude # never touch ~/.gemini/settings.json
166
+ ```
149
167
 
150
168
  ## The full BMAD method
151
169
 
@@ -192,7 +192,7 @@
192
192
  <a class="cmd-link" href="#cmd-serve" data-search="serve browse the catalogue in a browser: search, facets and a tap graph --port port --host host">serve</a>
193
193
  <a class="cmd-link" href="#cmd-mcp" data-search="mcp register boost as an mcp server (claude code, gemini cli, antigravity cli) register boost as an mcp server for your agent clis --host h --stdio --dry-run --seed --no-seed {register,unregister}">mcp</a>
194
194
  <a class="cmd-link" href="#cmd-hooks" data-search="hooks manage agent hooks (claude code, gemini cli) in settings.json manage agent hooks (scope- and host-aware) in settings.json --host h -c, --command command -n, --name name -s, --scope {global,project} -m, --matcher matcher --timeout timeout --json {add,remove,list} event">hooks</a>
195
- <a class="cmd-link" href="#cmd-bmad" data-search="bmad bmad method autopilot — `bmad on` routes every task to a persona bmad method autopilot: personas, prompt routing, workflows -s, --scope {project,global} --modules modules -y, --yes --startup --plain action value">bmad</a>
195
+ <a class="cmd-link" href="#cmd-bmad" data-search="bmad bmad method autopilot — `bmad on` routes every task to a persona bmad method autopilot: personas, prompt routing, workflows -s, --scope {project,global} --modules modules -y, --yes --startup --plain --host h action value">bmad</a>
196
196
  <a class="cmd-link" href="#cmd-self-update" data-search="self-update update boost itself to the latest version --dry-run">self-update</a>
197
197
  </div>
198
198
  <div class="group" data-group="team">
@@ -1188,10 +1188,10 @@
1188
1188
  <div class="arg"><code>--json</code><span>machine-readable output (list)</span></div>
1189
1189
  </div>
1190
1190
  </section>
1191
- <section class="cmd" id="cmd-bmad" data-search="bmad bmad method autopilot — `bmad on` routes every task to a persona bmad method autopilot: personas, prompt routing, workflows -s, --scope {project,global} --modules modules -y, --yes --startup --plain action value">
1191
+ <section class="cmd" id="cmd-bmad" data-search="bmad bmad method autopilot — `bmad on` routes every task to a persona bmad method autopilot: personas, prompt routing, workflows -s, --scope {project,global} --modules modules -y, --yes --startup --plain --host h action value">
1192
1192
  <h3><span class="cname">bmad</span><span class="gtag">cfg</span></h3>
1193
1193
  <p class="summary">BMAD Method autopilot — `bmad on` routes every task to a persona</p>
1194
- <pre class="syn">boost bmad [-s {project,global}] [--modules MODULES] [-y] [--startup] [--plain] ACTION [value]</pre>
1194
+ <pre class="syn">boost bmad [-s {project,global}] [--modules MODULES] [-y] [--startup] [--plain] [--host H] ACTION [value]</pre>
1195
1195
  <p class="desc">BMAD Method autopilot: personas, prompt routing, workflows</p>
1196
1196
  <div class="args-h">Arguments</div>
1197
1197
  <div class="args">
@@ -1205,6 +1205,7 @@
1205
1205
  <div class="arg"><code>-y, --yes</code><span>skip confirmation prompts</span></div>
1206
1206
  <div class="arg"><code>--startup</code><span>enable the startup toggle right after install</span></div>
1207
1207
  <div class="arg"><code>--plain</code><span>route: print the banner as text, not as hook JSON</span></div>
1208
+ <div class="arg"><code>--host H</code><span>on/startup: hosts to hook (claude | gemini; default auto: claude + any in use) · route/orient: output format</span></div>
1208
1209
  </div>
1209
1210
  </section>
1210
1211
  <section class="cmd" id="cmd-self-update" data-search="self-update update boost itself to the latest version --dry-run">
@@ -2,15 +2,15 @@
2
2
  id: bmad-gemini-gets-claude-hook-output
3
3
  board: code
4
4
  section: dx
5
- status: next
5
+ status: shipped
6
6
  category: "Agents · BMAD"
7
7
  complexity: M
8
8
  impact: Med
9
9
  wow: 2
10
10
  note: gemini takes the banner but shows the briefing to the user
11
11
  order: 324
12
- owner:
13
- pr:
12
+ owner: loop/bmad-gemini-hook-output
13
+ pr: 866
14
14
  title: On Gemini, the <code>bmad on</code> briefing reaches the user and never the model
15
15
  ---
16
16
  <code>boost bmad on</code> installs both autopilot hooks on Claude always, and on Gemini whenever
@@ -2,15 +2,15 @@
2
2
  id: bmad-personas-delegate-outside-the-router
3
3
  board: code
4
4
  section: dx
5
- status: next
5
+ status: shipped
6
6
  category: "Agents · BMAD"
7
7
  complexity: S
8
8
  impact: Med
9
9
  wow: 3
10
10
  note: router silence is banner-only, and nobody has counted
11
11
  order: 325
12
- owner:
13
- pr:
12
+ owner: loop/bmad-persona-triggers
13
+ pr: 865
14
14
  title: "Persona descriptions say <code>Use PROACTIVELY</code>, so the router's silence governs only the banner"
15
15
  ---
16
16
  <code>boost bmad on</code> gives Claude Code two routes to a persona, and only one goes through the router.