boost-skill-cli 1.2.113__tar.gz → 1.2.115__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.113/boost_skill_cli.egg-info → boost_skill_cli-1.2.115}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/bmad.py +44 -11
  4. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/bmad.py +79 -14
  5. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  6. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/bmad.md +9 -2
  7. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +3 -3
  8. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +3 -3
  9. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap.html +4 -122
  10. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_bmad.py +124 -4
  11. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_bmad_core.py +118 -0
  12. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.gitattributes +0 -0
  13. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.gitignore +0 -0
  14. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.gitleaks.toml +0 -0
  15. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.htmlvalidate.json +0 -0
  16. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.lighthouserc.json +0 -0
  17. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.lycheeignore +0 -0
  18. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.markdownlint-cli2.jsonc +0 -0
  19. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.pre-commit-config.yaml +0 -0
  20. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.stylelintrc.json +0 -0
  21. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.vale/styles/boost/AIWriting.yml +0 -0
  22. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.vale/styles/boost/Terminology.yml +0 -0
  23. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  24. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/.vale.ini +0 -0
  25. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/CLAUDE.md +0 -0
  26. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/CODE_OF_CONDUCT.md +0 -0
  27. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/CONTRIBUTING.md +0 -0
  28. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/DCO +0 -0
  29. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/GOVERNANCE.md +0 -0
  30. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/LICENSE +0 -0
  31. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/MAINTAINERS.md +0 -0
  32. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/MANIFEST.in +0 -0
  33. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/Makefile +0 -0
  34. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/README.md +0 -0
  35. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/SECURITY.md +0 -0
  36. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/SUPPORT.md +0 -0
  37. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost +0 -0
  38. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/__init__.py +0 -0
  39. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/__main__.py +0 -0
  40. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/cli.py +0 -0
  41. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/cliparse.py +0 -0
  42. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/__init__.py +0 -0
  43. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/_common.py +0 -0
  44. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/configuration.py +0 -0
  45. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/discovery.py +0 -0
  46. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/hooks.py +0 -0
  47. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/info.py +0 -0
  48. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/intelligence.py +0 -0
  49. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/pkg.py +0 -0
  50. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/quality.py +0 -0
  51. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/quickstart.py +0 -0
  52. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/run.py +0 -0
  53. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/safety.py +0 -0
  54. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/taps.py +0 -0
  55. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/commands/team.py +0 -0
  56. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/__init__.py +0 -0
  57. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/adapters.py +0 -0
  58. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/agents.py +0 -0
  59. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/ai.py +0 -0
  60. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/aihost.py +0 -0
  61. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/archive.py +0 -0
  62. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/bootstrap.py +0 -0
  63. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/browse.py +0 -0
  64. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/builtin.py +0 -0
  65. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/capabilities.py +0 -0
  66. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/catalog.py +0 -0
  67. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/catalogbundle.py +0 -0
  68. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/chat.py +0 -0
  69. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/claude_settings.py +0 -0
  70. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/cohort.py +0 -0
  71. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/complete.py +0 -0
  72. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/config.py +0 -0
  73. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/dense.py +0 -0
  74. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/deps.py +0 -0
  75. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/discovery.py +0 -0
  76. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/ed25519.py +0 -0
  77. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/embed.py +0 -0
  78. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/faithfulness.py +0 -0
  79. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/frontmatter.py +0 -0
  80. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/gitutil.py +0 -0
  81. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/hookhost.py +0 -0
  82. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/imperative.py +0 -0
  83. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/injectscan.py +0 -0
  84. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/installscan.py +0 -0
  85. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/integrity.py +0 -0
  86. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/journal.py +0 -0
  87. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/jsonstate.py +0 -0
  88. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/localembed.py +0 -0
  89. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/lockfile.py +0 -0
  90. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/logs.py +0 -0
  91. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/mcp.py +0 -0
  92. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/mcpdecl.py +0 -0
  93. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/mcphost.py +0 -0
  94. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/minisign.py +0 -0
  95. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/nethttp.py +0 -0
  96. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/output.py +0 -0
  97. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/paths.py +0 -0
  98. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/policy.py +0 -0
  99. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/projectlock.py +0 -0
  100. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/provenance.py +0 -0
  101. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/rag.py +0 -0
  102. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/registry.py +0 -0
  103. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/report.py +0 -0
  104. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/resolve.py +0 -0
  105. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/rules.py +0 -0
  106. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/scopes.py +0 -0
  107. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/secretscan.py +0 -0
  108. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/selfupdate.py +0 -0
  109. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/serve.py +0 -0
  110. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/shards.py +0 -0
  111. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/stackprobe.py +0 -0
  112. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/staleness.py +0 -0
  113. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/store.py +0 -0
  114. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/trustaudit.py +0 -0
  115. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/typedvalue.py +0 -0
  116. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/typosquat.py +0 -0
  117. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/updatediff.py +0 -0
  118. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/util.py +0 -0
  119. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/core/workflows.py +0 -0
  120. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/data/registries.json +0 -0
  121. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/data/rules/boost-first.mdc +0 -0
  122. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/errors.py +0 -0
  123. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_cli/spin.py +0 -0
  124. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_langchain/__init__.py +0 -0
  125. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_langchain/_compat.py +0 -0
  126. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_langchain/graph.py +0 -0
  127. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_langchain/loader.py +0 -0
  128. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_langchain/py.typed +0 -0
  129. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_langchain/retriever.py +0 -0
  130. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  131. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  132. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  133. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_skill_cli.egg-info/requires.txt +0 -0
  134. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/boost_skill_cli.egg-info/top_level.txt +0 -0
  135. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/codecov.yml +0 -0
  136. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/.claude/settings.local.json +0 -0
  137. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/DEBUGGING.md +0 -0
  138. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/adapters.html +0 -0
  139. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/architecture/README.md +0 -0
  140. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/architecture/c4-components-core.md +0 -0
  141. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/architecture/c4-containers.md +0 -0
  142. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/architecture/c4-context.md +0 -0
  143. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/architecture/c4-dynamic-install.md +0 -0
  144. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/distill.gif +0 -0
  145. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/doctor.gif +0 -0
  146. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/explain.gif +0 -0
  147. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/hooks.gif +0 -0
  148. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/install.gif +0 -0
  149. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/pulse.gif +0 -0
  150. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/search.gif +0 -0
  151. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/gifs/tap.gif +0 -0
  152. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/distill.tape +0 -0
  153. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/doctor.tape +0 -0
  154. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/explain.tape +0 -0
  155. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/hooks.tape +0 -0
  156. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/install.tape +0 -0
  157. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/pulse.tape +0 -0
  158. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/search.tape +0 -0
  159. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel/tapes/tap.tape +0 -0
  160. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/carousel.html +0 -0
  161. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/chat.html +0 -0
  162. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/code-review.md +0 -0
  163. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/commands.html +0 -0
  164. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/commit-audit.md +0 -0
  165. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/demo-index.json +0 -0
  166. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/demo.gif +0 -0
  167. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/demo.html +0 -0
  168. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/demo.tape +0 -0
  169. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/dependencies.md +0 -0
  170. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/design-roadmap.html +0 -0
  171. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/eval-latest.json +0 -0
  172. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/eval.html +0 -0
  173. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/index.html +0 -0
  174. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/langchain.html +0 -0
  175. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/mcp-hub.html +0 -0
  176. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/openssf-badge.md +0 -0
  177. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/openssf-playbook.md +0 -0
  178. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/rag-architecture.md +0 -0
  179. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D01.md +0 -0
  180. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D02.md +0 -0
  181. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D03.md +0 -0
  182. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D04.md +0 -0
  183. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D05.md +0 -0
  184. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D06.md +0 -0
  185. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D07.md +0 -0
  186. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D08.md +0 -0
  187. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D09.md +0 -0
  188. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D10.md +0 -0
  189. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D11.md +0 -0
  190. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D12.md +0 -0
  191. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D13.md +0 -0
  192. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D14.md +0 -0
  193. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D15.md +0 -0
  194. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D16.md +0 -0
  195. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D17.md +0 -0
  196. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D18.md +0 -0
  197. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D19.md +0 -0
  198. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D20.md +0 -0
  199. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D21.md +0 -0
  200. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D22.md +0 -0
  201. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D23.md +0 -0
  202. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D24.md +0 -0
  203. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D25.md +0 -0
  204. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D26.md +0 -0
  205. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/BOOST-D27.md +0 -0
  206. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
  207. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  208. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  209. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  210. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  211. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  212. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  213. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  214. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  215. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  216. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  217. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-absorb-findings.md +0 -0
  218. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-adapt-findings.md +0 -0
  219. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
  220. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
  221. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
  222. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-attest-findings.md +0 -0
  223. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-audit-findings.md +0 -0
  224. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-bmad-findings.md +0 -0
  225. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-browse-findings.md +0 -0
  226. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-bundle-findings.md +0 -0
  227. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-catalog-findings.md +0 -0
  228. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
  229. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-changelog-findings.md +0 -0
  230. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-chat-findings.md +0 -0
  231. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
  232. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
  233. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-cohort-findings.md +0 -0
  234. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-completions-findings.md +0 -0
  235. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-config-findings.md +0 -0
  236. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
  237. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-context-findings.md +0 -0
  238. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
  239. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
  240. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-create-findings.md +0 -0
  241. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
  242. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-deps-findings.md +0 -0
  243. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-discover-findings.md +0 -0
  244. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
  245. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-doctor-findings.md +0 -0
  246. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-drift-findings.md +0 -0
  247. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
  248. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-edit-findings.md +0 -0
  249. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-evolve-findings.md +0 -0
  250. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-explain-findings.md +0 -0
  251. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-export-findings.md +0 -0
  252. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
  253. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
  254. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
  255. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
  256. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
  257. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-health-findings.md +0 -0
  258. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
  259. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
  260. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-import-findings.md +0 -0
  261. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-index-findings.md +0 -0
  262. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
  263. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
  264. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-install-findings.md +0 -0
  265. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
  266. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
  267. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-lint-findings.md +0 -0
  268. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-log-findings.md +0 -0
  269. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
  270. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-mcp-findings.md +0 -0
  271. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
  272. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
  273. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
  274. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-onboard-findings.md +0 -0
  275. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
  276. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
  277. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-outdated-findings.md +0 -0
  278. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
  279. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
  280. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-policy-findings.md +0 -0
  281. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-preview-findings.md +0 -0
  282. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-profile-findings.md +0 -0
  283. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
  284. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-protocol-findings.md +0 -0
  285. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-pulse-findings.md +0 -0
  286. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
  287. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
  288. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
  289. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-recommend-findings.md +0 -0
  290. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-reindex-findings.md +0 -0
  291. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
  292. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-replay-findings.md +0 -0
  293. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-root-findings.md +0 -0
  294. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
  295. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-run-findings.md +0 -0
  296. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-schedule-findings.md +0 -0
  297. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-search-findings.md +0 -0
  298. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-simulate-findings.md +0 -0
  299. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
  300. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
  301. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
  302. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
  303. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
  304. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
  305. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
  306. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-sync-findings.md +0 -0
  307. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-tag-findings.md +0 -0
  308. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
  309. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-tap-findings.md +0 -0
  310. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-taps-findings.md +0 -0
  311. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
  312. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-test-findings.md +0 -0
  313. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-trust-findings.md +0 -0
  314. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
  315. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-unpin-findings.md +0 -0
  316. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-untap-findings.md +0 -0
  317. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-update-findings.md +0 -0
  318. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
  319. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-verify-findings.md +0 -0
  320. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/audit-who-findings.md +0 -0
  321. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  322. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
  323. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/because-that-was-not-the-reason.md +0 -0
  324. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
  325. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  326. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  327. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  328. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +0 -0
  329. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +0 -0
  330. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  331. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +0 -0
  332. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +0 -0
  333. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +0 -0
  334. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  335. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/boost-first-rule.md +0 -0
  336. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  337. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  338. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/branch-current-gate.md +0 -0
  339. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  340. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  341. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  342. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  343. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  344. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  345. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  346. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
  347. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
  348. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  349. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  350. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  351. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  352. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  353. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  354. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  355. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
  356. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/cli-command-audit.md +0 -0
  357. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  358. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  359. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  360. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  361. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/command-carousel-page.md +0 -0
  362. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  363. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
  364. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  365. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  366. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  367. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
  368. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  369. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
  370. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
  371. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/count-flags-that-silently-invert.md +0 -0
  372. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  373. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  374. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  375. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  376. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  377. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
  378. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  379. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  380. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  381. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
  382. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
  383. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
  384. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
  385. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
  386. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  387. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  388. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
  389. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  390. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  391. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  392. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  393. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  394. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  395. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  396. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  397. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  398. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
  399. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  400. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  401. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  402. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
  403. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  404. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  405. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
  406. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
  407. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  408. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  409. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  410. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  411. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  412. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
  413. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
  414. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  415. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
  416. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  417. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
  418. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  419. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  420. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  421. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  422. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  423. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  424. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  425. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  426. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  427. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
  428. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
  429. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  430. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  431. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  432. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  433. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  434. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/github-community-health-files.md +0 -0
  435. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  436. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  437. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  438. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  439. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  440. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  441. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  442. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
  443. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  444. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  445. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  446. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  447. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  448. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  449. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  450. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  451. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  452. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  453. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  454. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  455. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  456. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  457. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  458. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  459. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  460. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  461. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  462. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  463. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
  464. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  465. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  466. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  467. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  468. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  469. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +0 -0
  470. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  471. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  472. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  473. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  474. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  475. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  476. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  477. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  478. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  479. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  480. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  481. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  482. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  483. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
  484. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  485. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  486. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
  487. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  488. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  489. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  490. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  491. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  492. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
  493. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  494. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  495. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  496. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
  497. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  498. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  499. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  500. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  501. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  502. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  503. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  504. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  505. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  506. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  507. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  508. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
  509. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  510. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  511. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
  512. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  513. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  514. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  515. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  516. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  517. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  518. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  519. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  520. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/openssf-playbook.md +0 -0
  521. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/openssf-silver.md +0 -0
  522. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  523. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  524. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
  525. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  526. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  527. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  528. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  529. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  530. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  531. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  532. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  533. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  534. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  535. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  536. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  537. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  538. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  539. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  540. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  541. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  542. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  543. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
  544. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  545. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  546. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  547. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  548. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  549. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
  550. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
  551. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
  552. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
  553. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  554. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  555. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
  556. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
  557. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  558. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
  559. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
  560. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  561. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
  562. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  563. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
  564. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  565. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  566. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/relicence-apache-2.md +0 -0
  567. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  568. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  569. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  570. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
  571. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  572. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  573. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  574. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
  575. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  576. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  577. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  578. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  579. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  580. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  581. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  582. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  583. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  584. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  585. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  586. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  587. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  588. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  589. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  590. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  591. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  592. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  593. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
  594. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
  595. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
  596. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
  597. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  598. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
  599. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
  600. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  601. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  602. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  603. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  604. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  605. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  606. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  607. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  608. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  609. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
  610. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
  611. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  612. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  613. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  614. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/shrink-the-published-index.md +0 -0
  615. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  616. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  617. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  618. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  619. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
  620. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
  621. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  622. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  623. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  624. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  625. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
  626. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  627. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
  628. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  629. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  630. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  631. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  632. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  633. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
  634. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  635. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  636. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
  637. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  638. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  639. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  640. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  641. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
  642. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  643. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  644. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  645. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  646. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/typos-reported-as-boost-bugs.md +0 -0
  647. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  648. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  649. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  650. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
  651. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  652. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  653. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
  654. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  655. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  656. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  657. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  658. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  659. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  660. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  661. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
  662. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  663. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  664. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  665. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  666. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  667. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  668. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/workspace-scope-install.md +0 -0
  669. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/zip-strict-audit.md +0 -0
  670. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  671. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  672. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/security-design.md +0 -0
  673. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/semantic-search.md +0 -0
  674. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  675. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/verifying-releases.md +0 -0
  676. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/vex/meta.md +0 -0
  677. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/vex/openvex.json +0 -0
  678. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  679. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  680. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  681. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  682. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/eslint.config.mjs +0 -0
  683. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/README.md +0 -0
  684. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/__init__.py +0 -0
  685. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/baseline.json +0 -0
  686. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/faithfulness.py +0 -0
  687. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/golden_set.json +0 -0
  688. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/make_corpus.py +0 -0
  689. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/make_golden.py +0 -0
  690. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/metrics.py +0 -0
  691. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/publish_golden_dataset.py +0 -0
  692. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/evals/run_evals.py +0 -0
  693. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/examples/README.md +0 -0
  694. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/examples/adapt-demo.sh +0 -0
  695. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/examples/boost-run-prototype.sh +0 -0
  696. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/index.html +0 -0
  697. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/noxfile.py +0 -0
  698. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/pyproject.toml +0 -0
  699. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/coverage-tools.in +0 -0
  700. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/coverage-tools.txt +0 -0
  701. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/lint-tools.in +0 -0
  702. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/lint-tools.txt +0 -0
  703. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/mutation-tools.in +0 -0
  704. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/mutation-tools.txt +0 -0
  705. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/platform-pins.lock +0 -0
  706. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/release-tools.in +0 -0
  707. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/release-tools.txt +0 -0
  708. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/test-tools.in +0 -0
  709. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/requirements/test-tools.txt +0 -0
  710. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/a11y_check.py +0 -0
  711. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/add_spdx_headers.py +0 -0
  712. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/bench_cli.sh +0 -0
  713. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/build_command_reference.py +0 -0
  714. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/build_demo_index.py +0 -0
  715. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/build_registries.py +0 -0
  716. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/build_roadmap.py +0 -0
  717. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/build_scale_corpus.py +0 -0
  718. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/build_vex.py +0 -0
  719. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/check_anchors.py +0 -0
  720. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/check_branch_current.py +0 -0
  721. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/check_dco.py +0 -0
  722. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/check_licenses.py +0 -0
  723. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/check_reproducible.py +0 -0
  724. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/check_required_checks.py +0 -0
  725. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/ensure_eval_corpus.sh +0 -0
  726. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_corpus.py +0 -0
  727. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_explain.py +0 -0
  728. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_gate.py +0 -0
  729. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_recommend.py +0 -0
  730. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_retrieval.py +0 -0
  731. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_stats_summary.py +0 -0
  732. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/eval_tools.py +0 -0
  733. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/import_budget.py +0 -0
  734. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/lock_toolchain.py +0 -0
  735. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/measure_near_duplicate_bound.py +0 -0
  736. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/measure_registry.py +0 -0
  737. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/mutation_gate.py +0 -0
  738. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/mutation_shards.py +0 -0
  739. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/mutation_weights.json +0 -0
  740. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/normalize_sdist.py +0 -0
  741. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/page_budget.py +0 -0
  742. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/perf_gate.py +0 -0
  743. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/post_deploy_smoke.py +0 -0
  744. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/publish_eval_json.py +0 -0
  745. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/publish_shards.py +0 -0
  746. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/release_guard.py +0 -0
  747. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/release_preflight.py +0 -0
  748. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/serve_docs.py +0 -0
  749. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/scripts/shard_plan.py +0 -0
  750. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/setup.cfg +0 -0
  751. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/sonar-project.properties +0 -0
  752. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/style/README.md +0 -0
  753. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/style/boost.css +0 -0
  754. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/style/boost.js +0 -0
  755. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/style/demo.html +0 -0
  756. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/adapt.feature +0 -0
  757. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/browse.feature +0 -0
  758. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/count.feature +0 -0
  759. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/discover.feature +0 -0
  760. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/doctor.feature +0 -0
  761. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/environment.py +0 -0
  762. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/explain.feature +0 -0
  763. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/index.feature +0 -0
  764. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/install.feature +0 -0
  765. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/list.feature +0 -0
  766. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/mcp.feature +0 -0
  767. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/search.feature +0 -0
  768. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/steps/cli_steps.py +0 -0
  769. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/steps/discovery_steps.py +0 -0
  770. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/steps/mcp_steps.py +0 -0
  771. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/bdd/features/steps/quality_steps.py +0 -0
  772. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/conftest.py +0 -0
  773. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/baseline.json +0 -0
  774. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/explain.jsonl +0 -0
  775. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
  776. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/golden-natural.jsonl +0 -0
  777. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/golden.jsonl +0 -0
  778. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/recommend.jsonl +0 -0
  779. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/taps-scale.txt +0 -0
  780. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/taps.txt +0 -0
  781. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/eval/tool_calls.jsonl +0 -0
  782. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_bad_input_is_not_a_crash.py +0 -0
  783. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_bmad_all_hosts.py +0 -0
  784. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_bmad_personas_scope.py +0 -0
  785. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_capabilities_policy.py +0 -0
  786. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_adapt.py +0 -0
  787. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_catalog.py +0 -0
  788. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_chat.py +0 -0
  789. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_configuration.py +0 -0
  790. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_discovery.py +0 -0
  791. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_hooks.py +0 -0
  792. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_hooks_gemini.py +0 -0
  793. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_info.py +0 -0
  794. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_intelligence.py +0 -0
  795. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_json_reports.py +0 -0
  796. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_pane_width.py +0 -0
  797. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_pkg.py +0 -0
  798. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_quality.py +0 -0
  799. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_quickstart.py +0 -0
  800. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_tap_pins.py +0 -0
  801. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_taps.py +0 -0
  802. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_cli_team.py +0 -0
  803. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_context_sees_an_unborn_branch.py +0 -0
  804. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_count_flags_reject_nonpositive.py +0 -0
  805. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_everyday_loop.py +0 -0
  806. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_integrity_enforce.py +0 -0
  807. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_kind_conformance.py +0 -0
  808. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_property_parsers.py +0 -0
  809. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_recommend_because_is_true.py +0 -0
  810. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_reports_match_reality.py +0 -0
  811. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_run.py +0 -0
  812. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_tap_signing.py +0 -0
  813. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/functional/test_workspace_scope.py +0 -0
  814. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/README.md +0 -0
  815. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  816. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  817. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  818. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  819. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  820. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  821. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  822. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  823. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  824. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  825. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  826. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  827. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  828. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  829. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  830. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  831. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  832. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  833. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  834. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  835. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  836. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  837. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  838. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/fuzz_frontmatter.py +0 -0
  839. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/fuzz/fuzz_registry.py +0 -0
  840. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/langchain/conftest.py +0 -0
  841. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/langchain/test_graph.py +0 -0
  842. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/langchain/test_loader.py +0 -0
  843. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/langchain/test_retriever.py +0 -0
  844. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/make_fixture.py +0 -0
  845. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/perf/test_benchmarks.py +0 -0
  846. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/smoke.sh +0 -0
  847. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_a11y_check.py +0 -0
  848. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_action_pin_lockstep.py +0 -0
  849. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_adapters.py +0 -0
  850. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_adapters_multi.py +0 -0
  851. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_adapters_runner.py +0 -0
  852. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_agents.py +0 -0
  853. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_ai.py +0 -0
  854. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_aihost.py +0 -0
  855. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_archive.py +0 -0
  856. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_boost_first_offer.py +0 -0
  857. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_bootstrap.py +0 -0
  858. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_bot_pr_dco.py +0 -0
  859. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_branch_current.py +0 -0
  860. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_browse.py +0 -0
  861. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_builtin.py +0 -0
  862. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_capabilities.py +0 -0
  863. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_catalog.py +0 -0
  864. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_catalog_keyword_words.py +0 -0
  865. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_catalogbundle.py +0 -0
  866. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_chat.py +0 -0
  867. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_check_anchors.py +0 -0
  868. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_check_dco.py +0 -0
  869. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_check_licenses.py +0 -0
  870. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_check_reproducible.py +0 -0
  871. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_claude_settings.py +0 -0
  872. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_clean_internal_cache.py +0 -0
  873. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_cli_update_shards.py +0 -0
  874. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_cliparse.py +0 -0
  875. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_codeql_analysis_key.py +0 -0
  876. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_cohort.py +0 -0
  877. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_command_reference_fresh.py +0 -0
  878. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_community_health_files.py +0 -0
  879. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_compact.py +0 -0
  880. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_complete.py +0 -0
  881. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_complete_rc_block.py +0 -0
  882. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_config.py +0 -0
  883. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_content_dedupe.py +0 -0
  884. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_content_identity.py +0 -0
  885. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_count_flags_use_positive_int.py +0 -0
  886. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_crash_redaction.py +0 -0
  887. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dedup_trust.py +0 -0
  888. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_demo_index.py +0 -0
  889. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense.py +0 -0
  890. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
  891. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_embed_dedupe.py +0 -0
  892. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_entry_reuse.py +0 -0
  893. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_entry_vectors.py +0 -0
  894. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_fallback.py +0 -0
  895. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_fix_hint.py +0 -0
  896. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_progress.py +0 -0
  897. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_quantized.py +0 -0
  898. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_ready_order.py +0 -0
  899. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_shard_real_schema.py +0 -0
  900. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  901. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_shards.py +0 -0
  902. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_status.py +0 -0
  903. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_status_cheap.py +0 -0
  904. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dense_vector_dedupe.py +0 -0
  905. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_dependabot_config.py +0 -0
  906. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_deps.py +0 -0
  907. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_discovery.py +0 -0
  908. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_distill_merge.py +0 -0
  909. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_docs_pages_linked.py +0 -0
  910. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_docsite_chrome.py +0 -0
  911. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_doctor_output_polish.py +0 -0
  912. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_drift_hint.py +0 -0
  913. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_ed25519.py +0 -0
  914. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_embed.py +0 -0
  915. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_embed_local.py +0 -0
  916. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_embed_truncated_response.py +0 -0
  917. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_entry_key.py +0 -0
  918. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_errors_and_cli_table.py +0 -0
  919. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_baseline.py +0 -0
  920. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_corpus.py +0 -0
  921. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_faithfulness.py +0 -0
  922. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_gate.py +0 -0
  923. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_grading.py +0 -0
  924. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_metrics.py +0 -0
  925. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_stats_summary.py +0 -0
  926. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_tools.py +0 -0
  927. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_eval_tools_probe.py +0 -0
  928. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  929. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_faithfulness.py +0 -0
  930. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_frontmatter.py +0 -0
  931. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_fuzz_targets.py +0 -0
  932. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  933. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_gitleaks_config.py +0 -0
  934. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_gitutil.py +0 -0
  935. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_gitutil_lfs.py +0 -0
  936. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_gitutil_sparse.py +0 -0
  937. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_gstack_coexistence.py +0 -0
  938. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_hook_settings_hosts.py +0 -0
  939. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_hookhost.py +0 -0
  940. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_imperative.py +0 -0
  941. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_import_budget.py +0 -0
  942. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_injectscan.py +0 -0
  943. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_install_permission_error.py +0 -0
  944. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_installscan.py +0 -0
  945. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_integrity.py +0 -0
  946. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_journal.py +0 -0
  947. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_jsonstate.py +0 -0
  948. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_langchain_packaging.py +0 -0
  949. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_launcher_python_floor.py +0 -0
  950. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_link_ownership.py +0 -0
  951. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_localembed.py +0 -0
  952. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_localembed_e2e.py +0 -0
  953. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_lockfile.py +0 -0
  954. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_logs.py +0 -0
  955. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_marketing_counts.py +0 -0
  956. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mcp.py +0 -0
  957. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mcp_install_scan.py +0 -0
  958. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mcp_read.py +0 -0
  959. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mcpdecl.py +0 -0
  960. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mcphost.py +0 -0
  961. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_measure_registry.py +0 -0
  962. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_minisign.py +0 -0
  963. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mutation_hardening.py +0 -0
  964. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mutation_shards.py +0 -0
  965. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mutation_subfile_shards.py +0 -0
  966. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_mutmut_source_paths.py +0 -0
  967. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_near_duplicate_collapse.py +0 -0
  968. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_nethttp.py +0 -0
  969. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_normalize_sdist.py +0 -0
  970. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_output.py +0 -0
  971. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_page_budget.py +0 -0
  972. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_paths.py +0 -0
  973. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_perf_gate.py +0 -0
  974. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_pkg_confusions.py +0 -0
  975. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_pkg_injection.py +0 -0
  976. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_pkg_secrets.py +0 -0
  977. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_platform_pins.py +0 -0
  978. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_policy.py +0 -0
  979. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_post_deploy_smoke.py +0 -0
  980. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_project_mcp_sidecar.py +0 -0
  981. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_projectlock.py +0 -0
  982. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_provenance.py +0 -0
  983. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_publish_golden_dataset.py +0 -0
  984. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_rag.py +0 -0
  985. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_rag_completeness.py +0 -0
  986. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_rag_fastpath.py +0 -0
  987. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_rag_fusion.py +0 -0
  988. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_registries_fresh.py +0 -0
  989. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_registry.py +0 -0
  990. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_registry_categories.py +0 -0
  991. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_registry_control_chars.py +0 -0
  992. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_registry_parallel.py +0 -0
  993. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_release_guard.py +0 -0
  994. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_release_preflight.py +0 -0
  995. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_report.py +0 -0
  996. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_required_checks.py +0 -0
  997. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_rerank_cache.py +0 -0
  998. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_resolve.py +0 -0
  999. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
  1000. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_roadmap_fresh.py +0 -0
  1001. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_rules.py +0 -0
  1002. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_scale_corpus.py +0 -0
  1003. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_schedule_plist.py +0 -0
  1004. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_scopes.py +0 -0
  1005. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_secretscan.py +0 -0
  1006. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_selfupdate.py +0 -0
  1007. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_serve.py +0 -0
  1008. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_serve_docs.py +0 -0
  1009. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_shard_plan.py +0 -0
  1010. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_shards.py +0 -0
  1011. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_shards_incremental.py +0 -0
  1012. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_shards_ingest.py +0 -0
  1013. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_shards_matrix.py +0 -0
  1014. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_smoke_covers_every_command.py +0 -0
  1015. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_spdx_headers.py +0 -0
  1016. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_spin.py +0 -0
  1017. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_stackprobe.py +0 -0
  1018. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_staleness.py +0 -0
  1019. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_store.py +0 -0
  1020. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_store_materialize.py +0 -0
  1021. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_sync_blocked_links.py +0 -0
  1022. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  1023. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_tap_pins.py +0 -0
  1024. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_token_parity.py +0 -0
  1025. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_toolchain_lock.py +0 -0
  1026. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_trustaudit.py +0 -0
  1027. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_typedvalue.py +0 -0
  1028. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_typosquat.py +0 -0
  1029. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_updatediff.py +0 -0
  1030. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_util.py +0 -0
  1031. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_version.py +0 -0
  1032. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_version_tags.py +0 -0
  1033. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_vex.py +0 -0
  1034. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_visual_harness_capture.py +0 -0
  1035. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_visual_harness_flags.py +0 -0
  1036. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_workflow_concurrency.py +0 -0
  1037. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  1038. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  1039. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_workflow_timeouts.py +0 -0
  1040. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_workflows.py +0 -0
  1041. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  1042. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/visual/a11y_check.mjs +0 -0
  1043. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/visual/console_check.mjs +0 -0
  1044. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/visual/package-lock.json +0 -0
  1045. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/tests/visual/package.json +0 -0
  1046. {boost_skill_cli-1.2.113 → boost_skill_cli-1.2.115}/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.113
3
+ Version: 1.2.115
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.113'
22
- __version_tuple__ = version_tuple = (1, 2, 113)
21
+ __version__ = version = '1.2.115'
22
+ __version_tuple__ = version_tuple = (1, 2, 115)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -117,7 +117,7 @@ def cmd_bmad(argv) -> int:
117
117
  if args.action == "off":
118
118
  return _autopilot_off(args.scope)
119
119
  if args.action == "route":
120
- return _route(args.value, args.plain)
120
+ return _route(args.value, args.plain, args.scope)
121
121
  if args.action == "personas":
122
122
  return _personas(args.scope)
123
123
  if args.action == "install":
@@ -255,6 +255,9 @@ def _autopilot_on(scope) -> int:
255
255
  """
256
256
  scope = scope or "global"
257
257
  agents = _agents_dir(scope)
258
+ # Asked before writing: whether this run *creates* the directory decides
259
+ # what running sessions can see (see the restart line below).
260
+ fresh = not agents.is_dir()
258
261
  _written, skipped = core.write_personas(agents)
259
262
  # A skipped (edited) persona file is still on disk and Claude Code still
260
263
  # loads it — only the ones neither written nor present at all are truly
@@ -267,7 +270,7 @@ def _autopilot_on(scope) -> int:
267
270
  scope, _ORIENT_HOOK,
268
271
  _never_fails("%s bmad orient --scope %s" % (launcher, scope)))
269
272
  _add_hook_everywhere(scope, _ROUTE_HOOK,
270
- _never_fails("%s bmad route" % launcher))
273
+ _never_fails("%s bmad route --scope %s" % (launcher, scope)))
271
274
  _set_scope_state(scope, autopilot=True, startup=True, personas=present,
272
275
  enabled_at=util.now_iso())
273
276
  journal.log("bmad-autopilot", "on", scope=scope, personas=present)
@@ -286,9 +289,13 @@ def _autopilot_on(scope) -> int:
286
289
  hookhost.translate(host, "UserPromptSubmit")))
287
290
  out.dim(" every substantive prompt now names its lead persona and its "
288
291
  "definition of done; trivial asks are left alone")
289
- # Claude Code only watches an agents dir that existed when the session
290
- # started, so a first-ever install is invisible until the next launch.
291
- out.info("restart your agent session to pick up the new subagents")
292
+ # Hook edits reach open sessions through the settings watcher, but Claude
293
+ # Code only watches an agents dir that existed when the session started. So
294
+ # a run that creates the dir starts banners before their personas can load;
295
+ # one that finds it already there is picked up live and needs no restart.
296
+ if fresh:
297
+ out.info("routing banners can start in open sessions now; restart "
298
+ "them to use the new subagents")
292
299
  out.dim(" full BMAD workflow skills (needs Node): boost bmad install")
293
300
  return 0
294
301
 
@@ -328,20 +335,33 @@ def _read_hook_stdin() -> dict:
328
335
  return data if isinstance(data, dict) else {"prompt": raw}
329
336
 
330
337
 
331
- def _route(prompt, plain) -> int:
338
+ def _route(prompt, plain, scope=None) -> int:
332
339
  """UserPromptSubmit hook target: classify, then emit the routing banner.
333
340
 
334
341
  This runs on every single prompt, so it has exactly one hard rule: **always
335
342
  exit 0**. On UserPromptSubmit an exit code of 2 blocks the prompt and erases
336
343
  it from the transcript — a crash here would eat the user's message. Every
337
344
  failure mode therefore degrades to silence.
345
+
346
+ Run as a hook (no positional prompt, no ``--plain``) it speaks only while
347
+ the autopilot is on, the same rule `_orient` applies. `off` works by
348
+ deleting the hook, so without this any copy it missed kept routing: a
349
+ committed `.claude/settings.json` in a second checkout, or a settings
350
+ snapshot restored from boost's own history. A human asking what a prompt
351
+ would route to gets the answer whatever the state.
338
352
  """
339
353
  try:
340
354
  payload = {} if prompt else _read_hook_stdin()
341
355
  text = prompt or str(payload.get("prompt") or "")
342
356
  cwd = payload.get("cwd")
343
357
  root = Path(cwd) if cwd else Path.cwd()
344
- banner = core.route_context(text, root)
358
+ if prompt or plain:
359
+ banner = core.route_context(text, root)
360
+ elif _autopilot_live(scope, root):
361
+ banner = core.route_context(
362
+ text, root, (_agents_dir("global"), root / ".claude" / "agents"))
363
+ else:
364
+ return 0
345
365
  except Exception: # a hook must never break the session
346
366
  return 0
347
367
  if not banner:
@@ -689,15 +709,28 @@ def _state_write(d: dict) -> None:
689
709
  _state_path().write_text(json.dumps(d, indent=2) + "\n", encoding="utf-8")
690
710
 
691
711
 
692
- def _proj_key() -> str:
693
- return str(Path.cwd().resolve())
712
+ def _proj_key(project=None) -> str:
713
+ return str(Path(project or Path.cwd()).resolve())
694
714
 
695
715
 
696
- def _get_scope_state(scope) -> dict:
716
+ def _get_scope_state(scope, project=None) -> dict:
697
717
  d = _state_read()
698
718
  if scope == "global":
699
719
  return d["global"]
700
- return d["projects"].get(_proj_key(), {})
720
+ return d["projects"].get(_proj_key(project), {})
721
+
722
+
723
+ def _autopilot_live(scope, root) -> bool:
724
+ """Whether the router hook for ``scope`` may speak in the repo at ``root``.
725
+
726
+ Project state is keyed by the exact checkout path, the key `_orient` uses. A
727
+ nearest-parent lookup would route in a worktree nested under the repo while
728
+ the briefing stayed silent — the disagreement this check exists to end. A
729
+ hook with no ``--scope`` (every install before this one wrote it that way)
730
+ accepts either scope until the next `boost bmad on` rewrites it.
731
+ """
732
+ scopes = (scope,) if scope else ("global", "project")
733
+ return any(_get_scope_state(sc, root).get("autopilot") for sc in scopes)
701
734
 
702
735
 
703
736
  def _set_scope_state(scope, **patch) -> None:
@@ -389,7 +389,54 @@ under-route than talk over someone.
389
389
  """
390
390
 
391
391
 
392
- def classify(prompt: str) -> str:
392
+ _NOT_INTENT = re.compile(
393
+ r"```.*?```" # fenced code
394
+ r"|`[^`\n]*`" # inline code
395
+ r"|\b(?:https?|ftp)://\S+|\bwww\.\S+" # URLs
396
+ r"|(?<!\S)--?[a-z]\S*" # --flag, -f, --flag=value
397
+ r"|\b(?:story|ticket|issue|epic|task|bug|card|pr)\s+"
398
+ r"(?:[a-z][a-z0-9]*-\d+|#\d+)\b", # story ABC-123, issue #42
399
+ re.IGNORECASE | re.DOTALL)
400
+ """Text that names something rather than asking for anything.
401
+
402
+ A prompt of up to :data:`LONG_PROMPT_WORDS` routes on one keyword, so one match
403
+ anywhere decided the track — including words nobody meant as intent. "rerun the
404
+ installer with --scope global" went to product on `\\bscope\\b`, a link to
405
+ `https://example.com/docs/...` went to docs, "move story ABC-123 to in progress"
406
+ went to product. These spans are removed before any table is scored.
407
+ """
408
+
409
+ _PATH_TOKEN = re.compile(r"\S*/\S*")
410
+ """A token with a `/` in it: a path, which `build` does not score.
411
+
412
+ "tail logs/build/server.log" is not a build. The rule is build-only because a
413
+ path is often the object of the ask — "update docs/README.md" must stay docs —
414
+ and build is the catch-all whose single hits are the cheapest.
415
+ """
416
+
417
+ _ADDRESSEE = re.compile(r"\b\w+\s+(?:me|us)\b", re.IGNORECASE)
418
+ """A verb aimed at the user, not the code: "update me when the CI run finishes".
419
+
420
+ Build-only for the same reason as :data:`_PATH_TOKEN` — every build keyword is
421
+ a verb that also reads as a request to *tell* someone something.
422
+ """
423
+
424
+
425
+ def _intent_text(text: str, root: Path | str | None) -> str:
426
+ """`text` with everything that is not intent blanked out, for scoring.
427
+
428
+ The repo's own directory name goes too, whole-word: in a checkout called
429
+ `migrations`, "list the last three commits in migrations" is a `git log`,
430
+ not a migration. The hook already knows the root; this is where it counts.
431
+ """
432
+ text = _NOT_INTENT.sub(" ", text)
433
+ if root is not None and Path(root).name:
434
+ text = re.sub(r"(?<!\w)%s(?!\w)" % re.escape(Path(root).name), " ",
435
+ text, flags=re.IGNORECASE)
436
+ return text
437
+
438
+
439
+ def classify(prompt: str, root: Path | str | None = None) -> str:
393
440
  """Name the track a prompt belongs to, or ``"trivial"`` to stay silent.
394
441
 
395
442
  Silence is the default for anything that is not recognisably a unit of
@@ -397,6 +444,11 @@ def classify(prompt: str) -> str:
397
444
  own instructions), a short informational question, an explicit opt-out
398
445
  ("no bmad"), a prompt that matches no track at all, or — past
399
446
  :data:`LONG_PROMPT_WORDS` — one that matches only a single keyword.
447
+
448
+ Only intent is scored (:func:`_intent_text`): code spans, URLs, flags,
449
+ tracker IDs and the name of ``root`` — the repo the prompt was typed in —
450
+ never count, and ``build`` additionally ignores paths and verbs addressed
451
+ to the user. The threshold stays where it is; the evidence got cleaner.
400
452
  """
401
453
  text = prompt.strip()
402
454
  if not text or _SLASH.match(text) or _OPT_OUT.search(text):
@@ -407,9 +459,12 @@ def classify(prompt: str) -> str:
407
459
  if (_INFO_QUESTION.match(text) and len(words) <= QUESTION_MAX_WORDS
408
460
  and not _SECOND_SENTENCE.search(text)):
409
461
  return TRIVIAL
462
+ intent = _intent_text(text, root)
463
+ build_intent = _ADDRESSEE.sub(" ", _PATH_TOKEN.sub(" ", intent))
410
464
  # Distinct patterns matched, not occurrences: saying "update" twenty times
411
465
  # is one piece of evidence, which is what keeps a repetitive log quiet.
412
- scores = {t: sum(1 for rx in pats if rx.search(text))
466
+ scores = {t: sum(1 for rx in pats
467
+ if rx.search(build_intent if t == "build" else intent))
413
468
  for t, pats in _COMPILED.items()}
414
469
  best = max(scores.values())
415
470
  if best == 0 or (best < 2 and len(words) > LONG_PROMPT_WORDS):
@@ -520,25 +575,34 @@ def done_checklist(signals: dict) -> list[str]:
520
575
 
521
576
  # --------------------------------------------------------------------- routing
522
577
 
523
- def route_lines(prompt: str, root: Path | None = None) -> list[str]:
578
+ def route_lines(prompt: str, root: Path | None = None,
579
+ agents_dirs: tuple[Path, ...] | None = None) -> list[str]:
524
580
  """The banner for one prompt: `[]` when the prompt is not a unit of work.
525
581
 
526
582
  Kept to a handful of lines on purpose — this is prepended to *every*
527
583
  substantive prompt, so its cost is paid on each turn of every session.
584
+
585
+ ``agents_dirs`` are the directories a session loads subagents from. When
586
+ given, and the lead's file is in none of them, the Lead and Support lines
587
+ are dropped: naming a subagent the session cannot spawn sends the model
588
+ after something that does not exist. An edited file counts as present —
589
+ it is still a subagent, just no longer boost's.
528
590
  """
529
- track_name = classify(prompt)
591
+ root = Path(root) if root is not None else Path.cwd()
592
+ track_name = classify(prompt, root)
530
593
  if track_name == TRIVIAL:
531
594
  return []
532
595
  track = TRACKS[track_name]
533
596
  lead = PERSONA_BY_SLUG[track.lead]
534
- signals = project_signals(Path(root) if root is not None else Path.cwd())
535
-
536
- lines = [
537
- "[BMAD autopilot] track: %s" % track_name,
538
- "Lead: `%s` subagent — %s, %s. %s"
539
- % (lead.slug, lead.character, lead.title, track.note),
540
- ]
541
- if track.support:
597
+ signals = project_signals(root)
598
+ delegate = agents_dirs is None or any(
599
+ persona_state(d, lead) != "absent" for d in agents_dirs)
600
+
601
+ lines = ["[BMAD autopilot] track: %s" % track_name]
602
+ if delegate:
603
+ lines.append("Lead: `%s` subagent — %s, %s. %s"
604
+ % (lead.slug, lead.character, lead.title, track.note))
605
+ if delegate and track.support:
542
606
  lines.append(
543
607
  "Support: %s — spawn them with the Agent tool, in parallel where "
544
608
  "the work is independent."
@@ -554,9 +618,10 @@ def route_lines(prompt: str, root: Path | None = None) -> list[str]:
554
618
  return lines
555
619
 
556
620
 
557
- def route_context(prompt: str, root: Path | None = None) -> str:
621
+ def route_context(prompt: str, root: Path | None = None,
622
+ agents_dirs: tuple[Path, ...] | None = None) -> str:
558
623
  """:func:`route_lines` as one string (``""`` when there is nothing to say)."""
559
- return "\n".join(route_lines(prompt, root))
624
+ return "\n".join(route_lines(prompt, root, agents_dirs))
560
625
 
561
626
 
562
627
  # ----------------------------------------------------------------- orientation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.113
3
+ Version: 1.2.115
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -75,9 +75,16 @@ instead of being remembered afterwards.
75
75
 
76
76
  The router costs a question nothing. Acknowledgements, slash commands, short
77
77
  informational questions ("what does `scan_dir` do?") and anything containing
78
- `no bmad` produce no banner at all. Because a `UserPromptSubmit` hook that exits
78
+ `no bmad` produce no banner at all. A short prompt routes on a single keyword, so
79
+ only intent is scored: code spans, URLs, `--flags`, tracker IDs such as
80
+ `story ABC-123` and the name of the repo you are in never count, and the `build`
81
+ track also ignores paths and verbs aimed at you ("update me when CI finishes").
82
+ Because a `UserPromptSubmit` hook that exits
79
83
  non-zero would erase your prompt, it degrades every failure to silence and
80
- always exits 0.
84
+ always exits 0. The hook also speaks only while the autopilot is on for its
85
+ scope, so a copy `boost bmad off` could not reach (a committed project
86
+ `.claude/settings.json` in another checkout, a restored settings snapshot) stays
87
+ silent, and a banner never names a persona whose file is gone.
81
88
 
82
89
  ```bash
83
90
  boost bmad personas # the roster, and whether it's installed
@@ -2,15 +2,15 @@
2
2
  id: bmad-route-ignores-autopilot-state
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: 2
10
10
  note: the briefing hook checks state, the router never does
11
11
  order: 322
12
- owner:
13
- pr:
12
+ owner: loop/bmad-route-state
13
+ pr: 862
14
14
  title: <code>bmad route</code> never checks autopilot state, so any hook <code>off</code> missed keeps routing
15
15
  ---
16
16
  The two autopilot hooks disagree about what decides whether they speak. <code>_orient</code>
@@ -2,15 +2,15 @@
2
2
  id: bmad-router-one-keyword-decides-the-track
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: High
9
9
  wow: 3
10
10
  note: 89 of 143 routed prompts rode on a single keyword
11
11
  order: 319
12
- owner:
13
- pr:
12
+ owner: loop/bmad-incidental-keywords
13
+ pr: 861
14
14
  title: One incidental keyword decides the <code>boost bmad</code> track
15
15
  ---
16
16
  <code>classify</code> counts distinct keyword patterns per track over the raw prompt and routes on
@@ -7564,67 +7564,9 @@ its own pass rather than a bolt-on inside this PR. Left <code>inflight</code> ra
7564
7564
  </article>
7565
7565
 
7566
7566
  <article class="cap rcard" id="bmad-router-one-keyword-decides-the-track">
7567
- <div class="head"><span class="pill next">Next</span><span class="cat">Agents · BMAD</span></div>
7567
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Agents · BMAD</span></div>
7568
7568
  <h3>One incidental keyword decides the <code>boost bmad</code> track</h3>
7569
- <p><code>classify</code> counts distinct keyword patterns per track over the raw prompt and routes on
7570
- the best score (<code>core/bmad.py:412</code>&ndash;<code>417</code>). Two hits are required only
7571
- past <code>LONG_PROMPT_WORDS</code> (60, #630; <code>:415</code>), so any prompt of up to 60 words
7572
- that clears the question and slash gates <b>routes on one match anywhere</b> &mdash; including
7573
- words nobody meant as intent: a URL, a path, a flag, a ticket reference, the repo's own name.
7574
- Replaying the origin/main classifier over one real prompt history (417 prompts, 348 unique, 6
7575
- active days): <b>89 of 143 routed unique prompts were decided by exactly one keyword</b>. A single
7576
- judge labelling 41 routed banners found the track or lead clearly wrong in <b>21 of 41</b>.
7577
-
7578
- <b>A wrong route costs more than silence.</b> The banner names a lead, asks for support subagents,
7579
- sets a done-contract (tests, docs, and the gate when there is one) and says to work autonomously
7580
- (<code>:536</code>&ndash;<code>553</code>). In a repo directory named <code>migrations</code>,
7581
- &ldquo;list the last three commits in migrations&rdquo; gets a 643-char build banner &mdash; Amelia
7582
- leads, Murat and Paige to be spawned, <code>make check</code> green &mdash; for a
7583
- <code>git log</code>. The module already chose: it &ldquo;would rather under-route than talk over
7584
- someone&rdquo; (<code>:387</code>&ndash;<code>388</code>).
7585
-
7586
- <b>Five collision classes, all single hits, reproduced on origin/main with synthetic prompts</b>
7587
- (three spot-checked on the installed v1.2.112): <i>repo name</i> &mdash; &ldquo;list the last three
7588
- commits in migrations&rdquo; in <code>migrations/</code> &rarr; build, &ldquo;list the new notebooks
7589
- in benchmarks&rdquo; in <code>benchmarks/</code> &rarr; discovery; <i>flags</i> &mdash; &ldquo;rerun
7590
- the installer with <code>--scope</code> global&hellip;&rdquo; &rarr; product; <i>URLs, paths,
7591
- code</i> &mdash; <code>https://example.com/docs/&hellip;</code> &rarr; docs, <code>tail
7592
- logs/build/server.log</code> &rarr; build, <code>`npm run build`</code> &rarr; build; <i>tracker
7593
- words</i> &mdash; &ldquo;move story ABC-123 to in progress&rdquo; &rarr; product; <i>generic
7594
- verbs</i> &mdash; &ldquo;update me when the CI run finishes&rdquo; &rarr; build. The hook already
7595
- has the repo &mdash; <code>cwd</code> becomes <code>root</code>
7596
- (<code>commands/bmad.py:342</code>&ndash;<code>344</code>) &mdash; but <code>route_lines</code>
7597
- calls <code>classify(prompt)</code> bare (<code>core/bmad.py:529</code>).
7598
-
7599
- <b>Fix: stop scoring text that is not intent; do not raise the threshold.</b> Before scoring,
7600
- <i>(1)</i> drop URLs, backtick spans, <code>--flag</code>/<code>-f</code> tokens and tracker-noun +
7601
- ID pairs (<code>story ABC-123</code>); <i>(2)</i> a token containing <code>/</code> stops scoring
7602
- for <code>build</code> but still counts for every other table, so <code>docs/README.md</code>
7603
- stays docs; <i>(3)</i> <code>classify(prompt, root=None)</code>, fed by <code>route_lines</code>,
7604
- drops whole-word matches of <code>Path(root).name</code>; <i>(4)</i> a build verb followed by
7605
- <em>me</em>/<em>us</em> does not score. On a stdlib prototype: all <b>46</b> distinct prompts
7606
- <code>test_bmad_core.py</code> sends through <code>classify</code> keep their verdict; <b>16 of
7607
- 18</b> synthetic misroutes go silent; build asks still route &mdash; 12/12 verb-first, 8/8 not
7608
- (&ldquo;we need to fix the crash&hellip;&rdquo;), 4/4 late-verb &mdash; and 5/5 path-object asks
7609
- keep their track. Small hand-written sets: they show which rule does the work, not a rate.
7610
-
7611
- <b>Threshold rules measured and declined.</b> Layered on <i>(1)</i>&ndash;<i>(4)</i>: two build hits
7612
- or a head verb silences neither of the 2 left but routes <b>2 of 8</b> non-head and <b>0 of 4</b>
7613
- late-verb asks; a verb in a clause's first six words routes <b>0 of 4</b> late-verb asks; making
7614
- <code>add</code>/<code>update</code>/<code>create</code>-class verbs need a second hit silences one
7615
- more but keeps only <b>6 of 12</b> short build asks and breaks <code>"update the flag"</code>
7616
- (<code>test_bmad_core.py:142</code>). Stripping paths outright flips 3 of 5 path-object asks.
7617
- <b>Residue:</b> &ldquo;add the meeting notes to my summary&rdquo; stays build; &ldquo;pull the
7618
- comments on story ABC-123&hellip;&rdquo; goes docs on <code>\bcomments?\b</code>; a sibling repo's
7619
- name still routes; and a cwd named after a keyword loses that word &mdash; in <code>tests/</code>,
7620
- &ldquo;add tests for catalog.scan_dir&rdquo; flips quality &rarr; build.
7621
-
7622
- <b>Tests:</b> add <code>TestIncidentalKeywords</code> beside <code>TestClassifyTracks</code>
7623
- (<code>tests/unit/test_bmad_core.py:173</code>): one <code>(prompt, repo_dirname, expected)</code>
7624
- table with every repro as <code>trivial</code> except the two residues (pinned at today's track,
7625
- so a later fix shows as a diff), the non-head, late-verb and path-object asks at their tracks,
7626
- plus a <code>route_lines</code> case rooted at <code>tmp_path / "migrations"</code> so the name
7627
- must reach <code>classify</code>.</p>
7569
+ <p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md">Write-up &middot; bmad-router-one-keyword-decides-the-track.md</a></p>
7628
7570
  <div class="meta">
7629
7571
  <span class="m">Complexity <b>S</b></span>
7630
7572
  <span class="m hi">Impact <b>High</b></span>
@@ -7778,69 +7720,9 @@ contract directly. Out of scope: router accuracy (same single judge: track or le
7778
7720
  </article>
7779
7721
 
7780
7722
  <article class="cap rcard" id="bmad-route-ignores-autopilot-state">
7781
- <div class="head"><span class="pill next">Next</span><span class="cat">Agents · BMAD</span></div>
7723
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Agents · BMAD</span></div>
7782
7724
  <h3><code>bmad route</code> never checks autopilot state, so any hook <code>off</code> missed keeps routing</h3>
7783
- <p>The two autopilot hooks disagree about what decides whether they speak. <code>_orient</code>
7784
- (<code>boost_cli/commands/bmad.py:525-531</code>) prints only when its scope's state says so, and its hook names the
7785
- scope (<code>:266-268</code>). <code>_route</code> (<code>:331-356</code>) reads the prompt and the payload
7786
- <code>cwd</code> and nothing else, and its hook is a bare <code>&lt;launcher&gt; bmad route || true</code>
7787
- (<code>:269-270</code>). Only <code>status</code> reads the <code>autopilot</code> flag, and it already applies the
7788
- right rule: on means state <em>and</em> hook (<code>:625</code>, pinned by
7789
- <code>test_autopilot_reads_as_off_when_the_hook_is_gone</code>). <code>off</code> works only because it deletes the
7790
- hook, so any copy it misses keeps routing. Replayed once over one real prompt history, the router bannered <b>147 of
7791
- 417</b> regular prompts (35%; 109 if pasted text is not part of the hook's <code>prompt</code> field, which was not
7792
- checked), averaging ~163 tokens.
7793
-
7794
- <b>Copies it misses are ordinary. Two were reproduced in a throwaway HOME.</b> <i>(1) A worktree or second
7795
- checkout.</i> <code>on --scope project</code> writes the hook into <code>.claude/settings.json</code>, which Claude
7796
- Code's docs tell teams to commit, but keys state by the absolute checkout path (<code>:692-693</code>). In a copy of
7797
- the checkout, <code>status</code> reads <code>project autopilot=off 7 personas router=on briefing=on</code>,
7798
- <code>orient</code> prints <b>0 bytes</b> and <code>route</code> prints <b>711 bytes</b> of hook JSON.
7799
- <i>(2) The restore net.</i> Every hook write that changes the file snapshots the prior version into
7800
- <code>claude-settings-history/</code> (<code>boost_cli/core/claude_settings.py:19-21, 88-124</code>). <code>off</code>
7801
- removes the two hooks in two saves, so the last snapshot it writes holds <em>only</em> the router. Copy it back and
7802
- state says <code>autopilot:false</code>, no personas are on disk, the hook still sends a <b>594-char</b> banner, and
7803
- <code>status</code> suggests turning the autopilot on (<code>commands/bmad.py:632-633</code>).
7804
-
7805
- <b>The first <code>on</code> reaches running sessions before its personas can.</b> The hooks docs say edits to hooks
7806
- in settings files &ldquo;are normally picked up automatically by the file watcher&rdquo;. The sub-agents docs say
7807
- the agents-directory watcher &ldquo;covers only directories that existed when the session started&rdquo;, and
7808
- <code>write_personas</code> creates <code>~/.claude/agents</code> when it is absent (<code>core/bmad.py:680</code>).
7809
- Read together (inferred from the docs, not observed in a live session), a first install that creates the directory
7810
- can start banners in open sessions before any restart, naming a lead subagent and support personas those sessions
7811
- cannot load. The command only says &ldquo;restart your agent session to pick up the new subagents&rdquo;
7812
- (<code>commands/bmad.py:289-291</code>), not that the banners are already live.
7813
-
7814
- <b>Fix.</b> <i>(1)</i> Install <code>&lt;launcher&gt; bmad route --scope &lt;scope&gt; || true</code> and pass
7815
- <code>args.scope</code> through (<code>commands/bmad.py:120</code>). When <code>_route</code> runs as a hook (no
7816
- positional prompt, no <code>--plain</code>), it returns 0 silently inside its existing <code>try</code> unless that
7817
- scope's state has <code>autopilot</code>. Project scope looks up the payload <code>cwd</code> with the same exact
7818
- key <code>_orient</code> uses (<code>:692-693</code>). A nearest-parent lookup would route in a worktree nested under
7819
- the repo while the briefing stays silent, which is this defect again. A hook with no <code>--scope</code>, as on
7820
- every current install, accepts either scope until the next <code>on</code> replaces it. A corrupt state file reads as
7821
- empty, so the router stays silent. <i>(2)</i> For a live autopilot whose persona files are gone, drop the Lead and Support lines when the
7822
- lead's <code>.md</code> is in neither <code>~/.claude/agents</code> nor the project's. Check with
7823
- <code>persona_state()</code> (<code>core/bmad.py:707-720</code>), not <code>installed_personas()</code>
7824
- (<code>:693-704</code>), which requires an unedited digest and would drop the lead for anyone who hand-edited
7825
- <code>bmad-dev.md</code>. <i>(3)</i>
7826
- <code>on</code> checks <code>agents.is_dir()</code> before writing. If the directory is new, say that banners can
7827
- start in open sessions immediately and a restart is needed to use the personas. If it already existed, drop the
7828
- restart line.
7829
-
7830
- <b>Checked and left alone.</b> <code>off</code> leaves an empty agents directory. Keep it, because it lets the
7831
- <em>next</em> <code>on</code> reach running sessions without a restart.
7832
-
7833
- <b>Tests.</b> In <code>tests/functional/test_cli_bmad.py</code>,
7834
- <code>TestRoute.test_emits_the_hook_json_contract</code> and
7835
- <code>test_uses_the_cwd_the_hook_reports_not_its_own</code> assert a banner where <code>on</code> never ran. They
7836
- pin the defect, so they should run <code>on</code> first. So should
7837
- <code>test_trivial_prompts_produce_no_output_at_all</code> and <code>test_a_project_signal_failure_still_exits_zero</code>,
7838
- which would otherwise pass vacuously once state gates the router. Add <code>TestRoute</code> cases for state off
7839
- (empty stdout, exit 0), the second-checkout repro, a corrupt state file (as in
7840
- <code>TestOrient.test_a_broken_state_file_never_breaks_the_session</code>), and positional or <code>--plain</code>
7841
- input still printing. <code>TestAutopilotOn</code> should check <code>--scope global</code> on the route hook and
7842
- split its <code>"restart"</code> assertion by whether the directory existed. Also add a personas-absent case to
7843
- <code>TestRouteContext</code> in <code>tests/unit/test_bmad_core.py</code>.</p>
7725
+ <p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/bmad-route-ignores-autopilot-state.md">Write-up &middot; bmad-route-ignores-autopilot-state.md</a></p>
7844
7726
  <div class="meta">
7845
7727
  <span class="m">Complexity <b>S</b></span>
7846
7728
  <span class="m">Impact <b>Med</b></span>