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