boost-skill-cli 1.2.27__tar.gz → 1.2.29__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 (761) hide show
  1. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.vale/styles/config/vocabularies/boost/accept.txt +13 -0
  2. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.vale.ini +7 -0
  3. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/CONTRIBUTING.md +30 -0
  4. boost_skill_cli-1.2.29/DCO +34 -0
  5. boost_skill_cli-1.2.29/MAINTAINERS.md +102 -0
  6. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/PKG-INFO +1 -1
  7. boost_skill_cli-1.2.29/SECURITY.md +86 -0
  8. boost_skill_cli-1.2.29/SUPPORT.md +78 -0
  9. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/_version.py +2 -2
  10. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/quality.py +13 -2
  11. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  12. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_skill_cli.egg-info/SOURCES.txt +11 -0
  13. boost_skill_cli-1.2.29/docs/commit-audit.md +129 -0
  14. boost_skill_cli-1.2.29/docs/dependencies.md +119 -0
  15. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/openssf-badge.md +26 -10
  16. boost_skill_cli-1.2.29/docs/openssf-playbook.md +238 -0
  17. boost_skill_cli-1.2.29/docs/roadmap/items/openssf-playbook.md +33 -0
  18. boost_skill_cli-1.2.29/docs/roadmap/items/osps-baseline-levels.md +53 -0
  19. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap.html +80 -1
  20. boost_skill_cli-1.2.29/docs/verifying-releases.md +101 -0
  21. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/pyproject.toml +3 -1
  22. boost_skill_cli-1.2.29/scripts/check_dco.py +112 -0
  23. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_tap_signing.py +18 -0
  24. boost_skill_cli-1.2.29/tests/unit/test_check_dco.py +179 -0
  25. boost_skill_cli-1.2.27/SECURITY.md +0 -48
  26. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.gitattributes +0 -0
  27. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.gitignore +0 -0
  28. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.gitleaks.toml +0 -0
  29. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.htmlvalidate.json +0 -0
  30. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.lighthouserc.json +0 -0
  31. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.lycheeignore +0 -0
  32. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.markdownlint-cli2.jsonc +0 -0
  33. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.pre-commit-config.yaml +0 -0
  34. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.stylelintrc.json +0 -0
  35. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.vale/styles/boost/AIWriting.yml +0 -0
  36. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/.vale/styles/boost/Terminology.yml +0 -0
  37. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/CLAUDE.md +0 -0
  38. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/CODE_OF_CONDUCT.md +0 -0
  39. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/LICENSE +0 -0
  40. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/MANIFEST.in +0 -0
  41. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/Makefile +0 -0
  42. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/README.md +0 -0
  43. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost +0 -0
  44. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/__init__.py +0 -0
  45. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/__main__.py +0 -0
  46. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/cli.py +0 -0
  47. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/cliparse.py +0 -0
  48. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/__init__.py +0 -0
  49. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/_common.py +0 -0
  50. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/bmad.py +0 -0
  51. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/configuration.py +0 -0
  52. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/discovery.py +0 -0
  53. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/hooks.py +0 -0
  54. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/info.py +0 -0
  55. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/intelligence.py +0 -0
  56. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/pkg.py +0 -0
  57. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/run.py +0 -0
  58. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/safety.py +0 -0
  59. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/taps.py +0 -0
  60. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/commands/team.py +0 -0
  61. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/__init__.py +0 -0
  62. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/adapters.py +0 -0
  63. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/agents.py +0 -0
  64. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/ai.py +0 -0
  65. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/bmad.py +0 -0
  66. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/bootstrap.py +0 -0
  67. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/browse.py +0 -0
  68. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/builtin.py +0 -0
  69. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/capabilities.py +0 -0
  70. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/catalog.py +0 -0
  71. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/catalogbundle.py +0 -0
  72. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/chat.py +0 -0
  73. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/claude_settings.py +0 -0
  74. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/complete.py +0 -0
  75. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/config.py +0 -0
  76. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/dense.py +0 -0
  77. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/ed25519.py +0 -0
  78. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/embed.py +0 -0
  79. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/faithfulness.py +0 -0
  80. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/frontmatter.py +0 -0
  81. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/gitutil.py +0 -0
  82. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/imperative.py +0 -0
  83. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/injectscan.py +0 -0
  84. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/installscan.py +0 -0
  85. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/integrity.py +0 -0
  86. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/journal.py +0 -0
  87. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/localembed.py +0 -0
  88. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/lockfile.py +0 -0
  89. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/logs.py +0 -0
  90. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/mcp.py +0 -0
  91. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/mcpdecl.py +0 -0
  92. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/mcphost.py +0 -0
  93. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/minisign.py +0 -0
  94. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/nethttp.py +0 -0
  95. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/output.py +0 -0
  96. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/paths.py +0 -0
  97. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/policy.py +0 -0
  98. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/projectlock.py +0 -0
  99. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/provenance.py +0 -0
  100. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/rag.py +0 -0
  101. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/registry.py +0 -0
  102. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/resolve.py +0 -0
  103. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/rules.py +0 -0
  104. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/scopes.py +0 -0
  105. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/secretscan.py +0 -0
  106. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/selfupdate.py +0 -0
  107. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/serve.py +0 -0
  108. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/stackprobe.py +0 -0
  109. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/staleness.py +0 -0
  110. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/store.py +0 -0
  111. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/trustaudit.py +0 -0
  112. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/typosquat.py +0 -0
  113. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/updatediff.py +0 -0
  114. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/util.py +0 -0
  115. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/core/workflows.py +0 -0
  116. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/data/registries.json +0 -0
  117. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/data/rules/boost-first.mdc +0 -0
  118. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/errors.py +0 -0
  119. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_cli/spin.py +0 -0
  120. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_langchain/__init__.py +0 -0
  121. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_langchain/_compat.py +0 -0
  122. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_langchain/graph.py +0 -0
  123. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_langchain/loader.py +0 -0
  124. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_langchain/py.typed +0 -0
  125. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_langchain/retriever.py +0 -0
  126. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  127. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  128. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_skill_cli.egg-info/requires.txt +0 -0
  129. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/boost_skill_cli.egg-info/top_level.txt +0 -0
  130. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/codecov.yml +0 -0
  131. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/.claude/settings.local.json +0 -0
  132. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/DEBUGGING.md +0 -0
  133. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/adapters.html +0 -0
  134. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/architecture/README.md +0 -0
  135. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/architecture/c4-components-core.md +0 -0
  136. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/architecture/c4-containers.md +0 -0
  137. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/architecture/c4-context.md +0 -0
  138. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/architecture/c4-dynamic-install.md +0 -0
  139. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/distill.gif +0 -0
  140. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/doctor.gif +0 -0
  141. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/explain.gif +0 -0
  142. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/hooks.gif +0 -0
  143. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/install.gif +0 -0
  144. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/pulse.gif +0 -0
  145. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/search.gif +0 -0
  146. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/gifs/tap.gif +0 -0
  147. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/distill.tape +0 -0
  148. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/doctor.tape +0 -0
  149. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/explain.tape +0 -0
  150. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/hooks.tape +0 -0
  151. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/install.tape +0 -0
  152. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/pulse.tape +0 -0
  153. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/search.tape +0 -0
  154. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel/tapes/tap.tape +0 -0
  155. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/carousel.html +0 -0
  156. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/chat.html +0 -0
  157. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/commands.html +0 -0
  158. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/demo-index.json +0 -0
  159. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/demo.gif +0 -0
  160. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/demo.html +0 -0
  161. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/demo.tape +0 -0
  162. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/design-roadmap.html +0 -0
  163. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/eval-latest.json +0 -0
  164. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/eval.html +0 -0
  165. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/index.html +0 -0
  166. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/langchain.html +0 -0
  167. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/mcp-hub.html +0 -0
  168. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/rag-architecture.md +0 -0
  169. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D01.md +0 -0
  170. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D02.md +0 -0
  171. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D03.md +0 -0
  172. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D04.md +0 -0
  173. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D05.md +0 -0
  174. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D06.md +0 -0
  175. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D07.md +0 -0
  176. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D08.md +0 -0
  177. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D09.md +0 -0
  178. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D10.md +0 -0
  179. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D11.md +0 -0
  180. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D12.md +0 -0
  181. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D13.md +0 -0
  182. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D14.md +0 -0
  183. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D15.md +0 -0
  184. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D16.md +0 -0
  185. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D17.md +0 -0
  186. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D18.md +0 -0
  187. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D19.md +0 -0
  188. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D20.md +0 -0
  189. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D21.md +0 -0
  190. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D22.md +0 -0
  191. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D23.md +0 -0
  192. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D24.md +0 -0
  193. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D25.md +0 -0
  194. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/BOOST-D26.md +0 -0
  195. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  196. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  197. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  198. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  199. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  200. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  201. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  202. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  203. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  204. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  205. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  206. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  207. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  208. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  209. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/boost-first-rule.md +0 -0
  210. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  211. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  212. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  213. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  214. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  215. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  216. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  217. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  218. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  219. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  220. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  221. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  222. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  223. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  224. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  225. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  226. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  227. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  228. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  229. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  230. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/command-carousel-page.md +0 -0
  231. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  232. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  233. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  234. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  235. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  236. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  237. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  238. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  239. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  240. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  241. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  242. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  243. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  244. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  245. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  246. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  247. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  248. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  249. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  250. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  251. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  252. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  253. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  254. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  255. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  256. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  257. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  258. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  259. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  260. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  261. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  262. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  263. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  264. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  265. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  266. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  267. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  268. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  269. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  270. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  271. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  272. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  273. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  274. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  275. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  276. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  277. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  278. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/github-community-health-files.md +0 -0
  279. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  280. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  281. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  282. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  283. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  284. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  285. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  286. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  287. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  288. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  289. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  290. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  291. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  292. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  293. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  294. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  295. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  296. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  297. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  298. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  299. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  300. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  301. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  302. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  303. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  304. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  305. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  306. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  307. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  308. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  309. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  310. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  311. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  312. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  313. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  314. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  315. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  316. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  317. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  318. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  319. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  320. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  321. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  322. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  323. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  324. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  325. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  326. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  327. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  328. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  329. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  330. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  331. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  332. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  333. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  334. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  335. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  336. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  337. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  338. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  339. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  340. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  341. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  342. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  343. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  344. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  345. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  346. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  347. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  348. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  349. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  350. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  351. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  352. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  353. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  354. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  355. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  356. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  357. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  358. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  359. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  360. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  361. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  362. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  363. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  364. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  365. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  366. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  367. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  368. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  369. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  370. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  371. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  372. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  373. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  374. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  375. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  376. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  377. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  378. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  379. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  380. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  381. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  382. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  383. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  384. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  385. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  386. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  387. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  388. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  389. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  390. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  391. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  392. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  393. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  394. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  395. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  396. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  397. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  398. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  399. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  400. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  401. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  402. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  403. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  404. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  405. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  406. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  407. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  408. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  409. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  410. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  411. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  412. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  413. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  414. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  415. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  416. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  417. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  418. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  419. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  420. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  421. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  422. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  423. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  424. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  425. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  426. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  427. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  428. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  429. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  430. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  431. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  432. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  433. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  434. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  435. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  436. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  437. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  438. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  439. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  440. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  441. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  442. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  443. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  444. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  445. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  446. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  447. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  448. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  449. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  450. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  451. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  452. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  453. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  454. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  455. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  456. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  457. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  458. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  459. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/workspace-scope-install.md +0 -0
  460. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/zip-strict-audit.md +0 -0
  461. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  462. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  463. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/security-design.md +0 -0
  464. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  465. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/eslint.config.mjs +0 -0
  466. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/README.md +0 -0
  467. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/__init__.py +0 -0
  468. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/baseline.json +0 -0
  469. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/faithfulness.py +0 -0
  470. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/golden_set.json +0 -0
  471. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/make_corpus.py +0 -0
  472. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/make_golden.py +0 -0
  473. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/metrics.py +0 -0
  474. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/publish_golden_dataset.py +0 -0
  475. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/evals/run_evals.py +0 -0
  476. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/examples/README.md +0 -0
  477. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/examples/adapt-demo.sh +0 -0
  478. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/examples/boost-run-prototype.sh +0 -0
  479. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/index.html +0 -0
  480. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/noxfile.py +0 -0
  481. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/coverage-tools.in +0 -0
  482. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/coverage-tools.txt +0 -0
  483. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/lint-tools.in +0 -0
  484. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/lint-tools.txt +0 -0
  485. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/mutation-tools.in +0 -0
  486. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/mutation-tools.txt +0 -0
  487. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/platform-pins.lock +0 -0
  488. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/release-tools.in +0 -0
  489. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/release-tools.txt +0 -0
  490. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/test-tools.in +0 -0
  491. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/requirements/test-tools.txt +0 -0
  492. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/a11y_check.py +0 -0
  493. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/bench_cli.sh +0 -0
  494. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/build_command_reference.py +0 -0
  495. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/build_demo_index.py +0 -0
  496. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/build_registries.py +0 -0
  497. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/build_roadmap.py +0 -0
  498. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/build_scale_corpus.py +0 -0
  499. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/check_anchors.py +0 -0
  500. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/check_licenses.py +0 -0
  501. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/check_required_checks.py +0 -0
  502. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/ensure_eval_corpus.sh +0 -0
  503. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/eval_corpus.py +0 -0
  504. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/eval_explain.py +0 -0
  505. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/eval_gate.py +0 -0
  506. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/eval_recommend.py +0 -0
  507. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/eval_retrieval.py +0 -0
  508. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/eval_stats_summary.py +0 -0
  509. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/import_budget.py +0 -0
  510. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/lock_toolchain.py +0 -0
  511. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/measure_registry.py +0 -0
  512. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/mutation_gate.py +0 -0
  513. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/mutation_shards.py +0 -0
  514. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/mutation_weights.json +0 -0
  515. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/page_budget.py +0 -0
  516. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/perf_gate.py +0 -0
  517. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/post_deploy_smoke.py +0 -0
  518. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/publish_eval_json.py +0 -0
  519. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/release_guard.py +0 -0
  520. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/release_preflight.py +0 -0
  521. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/scripts/serve_docs.py +0 -0
  522. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/setup.cfg +0 -0
  523. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/sonar-project.properties +0 -0
  524. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/style/README.md +0 -0
  525. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/style/boost.css +0 -0
  526. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/style/boost.js +0 -0
  527. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/style/demo.html +0 -0
  528. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/adapt.feature +0 -0
  529. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/browse.feature +0 -0
  530. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/count.feature +0 -0
  531. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/discover.feature +0 -0
  532. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/doctor.feature +0 -0
  533. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/environment.py +0 -0
  534. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/explain.feature +0 -0
  535. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/index.feature +0 -0
  536. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/install.feature +0 -0
  537. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/list.feature +0 -0
  538. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/mcp.feature +0 -0
  539. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/search.feature +0 -0
  540. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/steps/cli_steps.py +0 -0
  541. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/steps/discovery_steps.py +0 -0
  542. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/steps/mcp_steps.py +0 -0
  543. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/bdd/features/steps/quality_steps.py +0 -0
  544. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/conftest.py +0 -0
  545. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/baseline.json +0 -0
  546. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/explain.jsonl +0 -0
  547. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/golden-natural.jsonl +0 -0
  548. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/golden.jsonl +0 -0
  549. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/recommend.jsonl +0 -0
  550. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/taps-scale.txt +0 -0
  551. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/eval/taps.txt +0 -0
  552. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_capabilities_policy.py +0 -0
  553. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_adapt.py +0 -0
  554. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_bmad.py +0 -0
  555. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_catalog.py +0 -0
  556. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_chat.py +0 -0
  557. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_configuration.py +0 -0
  558. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_discovery.py +0 -0
  559. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_hooks.py +0 -0
  560. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_info.py +0 -0
  561. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_intelligence.py +0 -0
  562. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_pane_width.py +0 -0
  563. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_pkg.py +0 -0
  564. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_quality.py +0 -0
  565. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_taps.py +0 -0
  566. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_cli_team.py +0 -0
  567. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_everyday_loop.py +0 -0
  568. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_integrity_enforce.py +0 -0
  569. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_kind_conformance.py +0 -0
  570. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_property_parsers.py +0 -0
  571. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_run.py +0 -0
  572. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/functional/test_workspace_scope.py +0 -0
  573. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/README.md +0 -0
  574. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  575. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  576. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  577. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  578. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  579. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  580. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  581. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  582. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  583. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  584. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  585. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  586. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  587. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  588. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  589. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  590. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  591. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  592. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  593. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  594. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  595. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  596. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  597. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/fuzz_frontmatter.py +0 -0
  598. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/fuzz/fuzz_registry.py +0 -0
  599. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/langchain/conftest.py +0 -0
  600. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/langchain/test_graph.py +0 -0
  601. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/langchain/test_loader.py +0 -0
  602. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/langchain/test_retriever.py +0 -0
  603. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/make_fixture.py +0 -0
  604. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/perf/test_benchmarks.py +0 -0
  605. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/smoke.sh +0 -0
  606. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_a11y_check.py +0 -0
  607. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_action_pin_lockstep.py +0 -0
  608. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_adapters.py +0 -0
  609. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_adapters_multi.py +0 -0
  610. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_adapters_runner.py +0 -0
  611. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_agents.py +0 -0
  612. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_ai.py +0 -0
  613. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_bmad_core.py +0 -0
  614. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_boost_first_offer.py +0 -0
  615. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_bootstrap.py +0 -0
  616. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_browse.py +0 -0
  617. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_builtin.py +0 -0
  618. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_capabilities.py +0 -0
  619. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_catalog.py +0 -0
  620. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_catalogbundle.py +0 -0
  621. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_chat.py +0 -0
  622. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_check_anchors.py +0 -0
  623. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_check_licenses.py +0 -0
  624. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_claude_settings.py +0 -0
  625. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_clean_internal_cache.py +0 -0
  626. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_cliparse.py +0 -0
  627. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_codeql_analysis_key.py +0 -0
  628. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_command_reference_fresh.py +0 -0
  629. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_community_health_files.py +0 -0
  630. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_compact.py +0 -0
  631. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_complete.py +0 -0
  632. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_complete_rc_block.py +0 -0
  633. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_config.py +0 -0
  634. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_content_dedupe.py +0 -0
  635. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_content_identity.py +0 -0
  636. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_crash_redaction.py +0 -0
  637. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dedup_trust.py +0 -0
  638. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_demo_index.py +0 -0
  639. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense.py +0 -0
  640. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_embed_dedupe.py +0 -0
  641. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_fallback.py +0 -0
  642. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_fix_hint.py +0 -0
  643. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_quantized.py +0 -0
  644. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_ready_order.py +0 -0
  645. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_shard_real_schema.py +0 -0
  646. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  647. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_shards.py +0 -0
  648. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_status.py +0 -0
  649. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dense_status_cheap.py +0 -0
  650. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_dependabot_config.py +0 -0
  651. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_docs_pages_linked.py +0 -0
  652. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_docsite_chrome.py +0 -0
  653. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_ed25519.py +0 -0
  654. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_embed.py +0 -0
  655. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_embed_local.py +0 -0
  656. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_embed_truncated_response.py +0 -0
  657. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_entry_key.py +0 -0
  658. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_errors_and_cli_table.py +0 -0
  659. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_baseline.py +0 -0
  660. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_corpus.py +0 -0
  661. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_faithfulness.py +0 -0
  662. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_gate.py +0 -0
  663. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_grading.py +0 -0
  664. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_metrics.py +0 -0
  665. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_eval_stats_summary.py +0 -0
  666. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  667. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_faithfulness.py +0 -0
  668. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_frontmatter.py +0 -0
  669. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_fuzz_targets.py +0 -0
  670. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  671. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_gitleaks_config.py +0 -0
  672. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_gitutil.py +0 -0
  673. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_gitutil_lfs.py +0 -0
  674. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_gitutil_sparse.py +0 -0
  675. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_imperative.py +0 -0
  676. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_import_budget.py +0 -0
  677. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_injectscan.py +0 -0
  678. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_install_permission_error.py +0 -0
  679. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_installscan.py +0 -0
  680. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_integrity.py +0 -0
  681. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_journal.py +0 -0
  682. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_langchain_packaging.py +0 -0
  683. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_link_ownership.py +0 -0
  684. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_localembed.py +0 -0
  685. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_localembed_e2e.py +0 -0
  686. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_lockfile.py +0 -0
  687. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_logs.py +0 -0
  688. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_marketing_counts.py +0 -0
  689. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mcp.py +0 -0
  690. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mcp_install_scan.py +0 -0
  691. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mcpdecl.py +0 -0
  692. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mcphost.py +0 -0
  693. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_measure_registry.py +0 -0
  694. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_minisign.py +0 -0
  695. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mutation_hardening.py +0 -0
  696. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mutation_shards.py +0 -0
  697. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mutation_subfile_shards.py +0 -0
  698. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_mutmut_source_paths.py +0 -0
  699. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_nethttp.py +0 -0
  700. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_output.py +0 -0
  701. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_page_budget.py +0 -0
  702. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_paths.py +0 -0
  703. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_perf_gate.py +0 -0
  704. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_pkg_confusions.py +0 -0
  705. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_pkg_injection.py +0 -0
  706. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_pkg_secrets.py +0 -0
  707. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_platform_pins.py +0 -0
  708. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_policy.py +0 -0
  709. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_post_deploy_smoke.py +0 -0
  710. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_project_mcp_sidecar.py +0 -0
  711. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_projectlock.py +0 -0
  712. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_provenance.py +0 -0
  713. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_publish_golden_dataset.py +0 -0
  714. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_rag.py +0 -0
  715. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_rag_fastpath.py +0 -0
  716. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_rag_fusion.py +0 -0
  717. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_registries_fresh.py +0 -0
  718. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_registry.py +0 -0
  719. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_registry_categories.py +0 -0
  720. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_registry_control_chars.py +0 -0
  721. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_release_guard.py +0 -0
  722. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_release_preflight.py +0 -0
  723. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_required_checks.py +0 -0
  724. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_rerank_cache.py +0 -0
  725. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_resolve.py +0 -0
  726. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_roadmap_fresh.py +0 -0
  727. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_rules.py +0 -0
  728. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_scale_corpus.py +0 -0
  729. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_scopes.py +0 -0
  730. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_secretscan.py +0 -0
  731. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_selfupdate.py +0 -0
  732. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_serve.py +0 -0
  733. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_serve_docs.py +0 -0
  734. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_shards_matrix.py +0 -0
  735. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_smoke_covers_every_command.py +0 -0
  736. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_spin.py +0 -0
  737. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_stackprobe.py +0 -0
  738. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_staleness.py +0 -0
  739. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_store.py +0 -0
  740. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_store_materialize.py +0 -0
  741. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_sync_blocked_links.py +0 -0
  742. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  743. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_token_parity.py +0 -0
  744. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_toolchain_lock.py +0 -0
  745. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_trustaudit.py +0 -0
  746. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_typosquat.py +0 -0
  747. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_updatediff.py +0 -0
  748. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_util.py +0 -0
  749. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_version.py +0 -0
  750. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_visual_harness_flags.py +0 -0
  751. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_workflow_concurrency.py +0 -0
  752. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  753. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  754. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_workflow_timeouts.py +0 -0
  755. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_workflows.py +0 -0
  756. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  757. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/visual/a11y_check.mjs +0 -0
  758. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/visual/console_check.mjs +0 -0
  759. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/visual/package-lock.json +0 -0
  760. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/visual/package.json +0 -0
  761. {boost_skill_cli-1.2.27 → boost_skill_cli-1.2.29}/tests/visual/visual_check.mjs +0 -0
@@ -7,6 +7,12 @@ argparse
7
7
  Arize
8
8
  ASan
9
9
  Attio
10
+ Autofix
11
+ autofix
12
+ Backfilling
13
+ backfilling
14
+ backport
15
+ backported
10
16
  backtick
11
17
  backticks
12
18
  Bagisto
@@ -46,6 +52,7 @@ fuzzer
46
52
  GEO
47
53
  GIF
48
54
  gitignored
55
+ gitleaks
49
56
  GitOps
50
57
  glassmorphic
51
58
  Grafana
@@ -72,6 +79,7 @@ mcp
72
79
  mergeable
73
80
  minisign
74
81
  misconfiguration
82
+ mitigations
75
83
  MLflow
76
84
  mutmut
77
85
  mypy
@@ -93,6 +101,7 @@ Quarkus
93
101
  rebased
94
102
  reimplement
95
103
  reimplemented
104
+ reimplements
96
105
  reindex
97
106
  repo
98
107
  repo's
@@ -112,8 +121,10 @@ Saltzer
112
121
  sandboxed
113
122
  sandboxing
114
123
  scrollbar
124
+ sdist
115
125
  SEO
116
126
  setuptools
127
+ SHAs
117
128
  Shopify
118
129
  Sigstore
119
130
  SonarCloud
@@ -129,6 +140,7 @@ subprocess
129
140
  tappable
130
141
  teardown
131
142
  tempdir
143
+ textarea
132
144
  toggleable
133
145
  Tokenization
134
146
  tokenization
@@ -144,6 +156,7 @@ unkilled
144
156
  unlinking
145
157
  unpatched
146
158
  unregister
159
+ unremediated
147
160
  unstaged
148
161
  untap
149
162
  untrusted
@@ -20,5 +20,12 @@ Vale.Terms = NO
20
20
  [docs/roadmap/items/*.md]
21
21
  BasedOnStyles =
22
22
 
23
+ ; docs/commit-audit.md is a generated record: a table of short SHAs, file paths
24
+ ; and tool identifiers produced by an audit pass, not authored prose. Spelling
25
+ ; it would mean adding ~27 one-off identifiers to the shared vocabulary, which
26
+ ; would weaken the check everywhere else to lint one machine-written file.
27
+ [docs/commit-audit.md]
28
+ BasedOnStyles =
29
+
23
30
  [.claude/**/*.md]
24
31
  BasedOnStyles =
@@ -98,6 +98,36 @@ list, and neither should be added to it.
98
98
  | `refurb boost_cli` | modernization smells the ruff families miss, zero findings |
99
99
  | `scripts/lock_toolchain.py --check` | the hash-pinned toolchain matches its `.in` declarations |
100
100
 
101
+ ## Sign your commits (DCO)
102
+
103
+ Every commit needs a `Signed-off-by` trailer naming **you**, the author. It is
104
+ your assertion, under the [Developer Certificate of Origin](DCO), that you have
105
+ the right to submit the work. Git writes it for you:
106
+
107
+ ```bash
108
+ git commit -s # sign off as you go
109
+ git commit --amend --signoff --no-edit # fix the last commit
110
+ git rebase --signoff origin/main # fix a whole branch
111
+ ```
112
+
113
+ `scripts/check_dco.py` enforces it as a required check, and you can run the
114
+ exact same check locally:
115
+
116
+ ```bash
117
+ python3 scripts/check_dco.py # HEAD against origin/main
118
+ ```
119
+
120
+ Two things it deliberately will not accept. The trailer must name the **author** of
121
+ the commit it sits on — a sign-off from anyone else certifies nothing, so it is
122
+ rejected rather than counted. And the check only ever looks at the commits your
123
+ pull request adds: DCO applies from the commit that introduced it, and history
124
+ before that is left alone. Backfilling sign-offs would mean rewriting `main`,
125
+ breaking 478 tags and invalidating the build-provenance attestation on every
126
+ published release, to record an assertion nobody actually made.
127
+
128
+ Bot authors (Dependabot and friends) are exempt — an account cannot agree to a
129
+ certificate.
130
+
101
131
  ## Code of conduct
102
132
 
103
133
  Participation is governed by the [Code of Conduct](CODE_OF_CONDUCT.md)
@@ -0,0 +1,34 @@
1
+ Developer Certificate of Origin
2
+ Version 1.1
3
+
4
+ Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
5
+
6
+ Everyone is permitted to copy and distribute verbatim copies of this
7
+ license document, but changing it is not allowed.
8
+
9
+
10
+ Developer's Certificate of Origin 1.1
11
+
12
+ By making a contribution to this project, I certify that:
13
+
14
+ (a) The contribution was created in whole or in part by me and I
15
+ have the right to submit it under the open source license
16
+ indicated in the file; or
17
+
18
+ (b) The contribution is based upon previous work that, to the best
19
+ of my knowledge, is covered under an appropriate open source
20
+ license and I have the right under that license to submit that
21
+ work with modifications, whether created in whole or in part
22
+ by me, under the same open source license (unless I am
23
+ permitted to submit under a different license), as indicated
24
+ in the file; or
25
+
26
+ (c) The contribution was provided directly to me by some other
27
+ person who certified (a), (b) or (c) and I have not modified
28
+ it.
29
+
30
+ (d) I understand and agree that this project and the contribution
31
+ are public and that a record of the contribution (including all
32
+ personal information I submit with it, including my sign-off) is
33
+ maintained indefinitely and may be redistributed consistent with
34
+ this project or the open source license(s) involved.
@@ -0,0 +1,102 @@
1
+ # Maintainers
2
+
3
+ Who has access to what, what each role is expected to do, and what has to
4
+ happen before anyone is granted more. This file is the authoritative list; if it
5
+ disagrees with someone's memory, this file is right and the memory is stale.
6
+
7
+ ## Current maintainers
8
+
9
+ | Name | GitHub | Role | Since |
10
+ |---|---|---|---|
11
+ | Jonathan Reyes | [@jonnyeclectic](https://github.com/jonnyeclectic) | Lead maintainer | 2026-07 |
12
+
13
+ boost is a **single-maintainer project today**. That is stated plainly rather
14
+ than glossed, because it is the single largest risk to the project and it
15
+ changes what you should expect: review latency depends on one person, and the
16
+ bus factor is one. See [Continuity](#continuity) for what happens if that
17
+ person becomes unavailable, and [Becoming a maintainer](#becoming-a-maintainer)
18
+ for how that changes.
19
+
20
+ ## Access to sensitive resources
21
+
22
+ Every credential and privileged surface the project depends on, and who holds
23
+ it. Nothing not listed here grants access to anything.
24
+
25
+ | Resource | Who has access | How access works |
26
+ |---|---|---|
27
+ | GitHub repository (admin) | Lead maintainer | GitHub account with 2FA |
28
+ | `main` branch | **No one directly.** | A ruleset requires a pull request and the full required-check gate; `non_fast_forward` blocks history rewrites. Admin included. |
29
+ | PyPI project `boost-skill-cli` | **No stored credential exists.** | Publishing is a [PyPI Trusted Publisher](https://docs.pypi.org/trusted-publishers/): GitHub mints a short-lived OIDC token for `publish.yml` on `main` only. There is no API token to leak, share, or rotate. |
30
+ | GitHub Actions secrets | Lead maintainer | Only optional dashboard tokens (`CODECOV_TOKEN`, `SONAR_TOKEN`) and optional evaluation API keys. Every job reading one skips itself when it is absent, so none is required to build, test, or release. |
31
+ | Security advisories / private vulnerability reports | Lead maintainer | GitHub private vulnerability reporting |
32
+ | GitHub Pages docs site | Lead maintainer | Published from `main` by CI; no separate credential |
33
+
34
+ ## Roles and responsibilities
35
+
36
+ **Lead maintainer.** Sets direction; reviews and merges pull requests; owns the
37
+ release process; is the recipient of private vulnerability reports and owns the
38
+ response; administers repository settings, branch rulesets and the required-check
39
+ list; maintains this file.
40
+
41
+ **Maintainer** (none appointed yet). Reviews and merges pull requests within an
42
+ agreed area; may not change repository settings, rulesets, or the release path.
43
+ A maintainer is expected to keep the quality gates green rather than route
44
+ around them, and to say so publicly when a gate is wrong instead of disabling it
45
+ quietly.
46
+
47
+ **Contributor.** Anyone who opens a pull request. No standing permissions; a
48
+ contribution is merged by a maintainer after the gates pass. See
49
+ [CONTRIBUTING.md](CONTRIBUTING.md).
50
+
51
+ **Security reporter.** Anyone who reports a vulnerability through the process in
52
+ [SECURITY.md](SECURITY.md). Reporters are credited by name in the advisory and
53
+ the release notes unless they ask not to be.
54
+
55
+ ## Becoming a maintainer
56
+
57
+ Escalated permission is granted deliberately and never by default. The policy:
58
+
59
+ 1. **A track record first.** A sustained series of merged, non-trivial
60
+ contributions — enough that their judgement on this codebase is a known
61
+ quantity, not an assumption.
62
+ 2. **Review before the grant.** The lead maintainer reviews that history and
63
+ proposes the change in a public issue, naming the scope of access being
64
+ granted and why. Existing maintainers may object there.
65
+ 3. **Least privilege at the grant.** New collaborators receive the lowest
66
+ permission that lets them do the job. Write access is a separate, later
67
+ decision from repository administration, which is a separate decision again
68
+ from anything touching the release path.
69
+ 4. **This file is updated in the same change** that grants the permission. An
70
+ access grant that is not recorded here has not happened.
71
+
72
+ The same review applies when an existing maintainer is given more access, not
73
+ only to a first grant.
74
+
75
+ ## Removing access
76
+
77
+ Access is removed promptly when a maintainer steps down, becomes unreachable for
78
+ an extended period, or at their own request — and immediately if an account is
79
+ believed compromised. Removal does not require agreement from the person losing
80
+ access. Because publishing uses a short-lived OIDC identity rather than a stored
81
+ token, removing someone's GitHub access removes their ability to release; there
82
+ is no separate credential left behind to revoke.
83
+
84
+ ## Continuity
85
+
86
+ If the lead maintainer becomes unavailable:
87
+
88
+ - **The code is safe regardless.** It is GPL-3.0, the full history is public,
89
+ and every release is reproducible from a public tag. Anyone may fork.
90
+ - **The published artifacts stay published.** PyPI releases and GitHub releases
91
+ remain available; nothing expires if no one logs in.
92
+ - **Recovery of the canonical repository** would go through
93
+ [GitHub's account-recovery and inactive-repository processes](https://docs.github.com/en/site-policy).
94
+ Because the release path is a GitHub OIDC identity bound to this repository,
95
+ whoever legitimately controls the repository controls releases — there is no
96
+ personal token that has to be handed over.
97
+ - **The practical answer is to fork.** Until a second maintainer exists, that
98
+ is the honest continuity plan, and the project would rather say so than
99
+ imply a succession process it does not have.
100
+
101
+ Reducing this risk is open work: if you have been contributing and want to help
102
+ carry it, say so in an issue.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.27
3
+ Version: 1.2.29
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -0,0 +1,86 @@
1
+ # Security policy
2
+
3
+ ## Supported versions
4
+
5
+ Only the latest release receives security fixes. [SUPPORT.md](SUPPORT.md) sets
6
+ out the scope and duration of support in full, including when a version stops
7
+ receiving security updates.
8
+
9
+ ## Reporting a vulnerability
10
+
11
+ Please **do not** open a public issue for security reports. Instead, use
12
+ GitHub's private vulnerability reporting:
13
+
14
+ **[Report a vulnerability](https://github.com/jonnyeclectic/boost/security/advisories/new)**
15
+
16
+ You can expect an acknowledgement within a few days. Please include steps to
17
+ reproduce and the affected command(s).
18
+
19
+ ## Vulnerability fixes in release notes
20
+
21
+ Every merge to `main` cuts a release, so a fix reaches users within minutes of
22
+ landing. When a release fixes a publicly known vulnerability in boost itself —
23
+ one that already had a CVE or an equivalent identifier when the release was
24
+ cut — the [release notes](https://github.com/jonnyeclectic/boost/releases) will
25
+ name it and its identifier, so you can tell an upgrade that matters from one
26
+ that does not. No such vulnerability has been reported to date.
27
+
28
+ Vulnerabilities in boost's *dependencies* are handled separately: the runtime
29
+ has none, and the development toolchain is watched by `osv-scanner`, `pip-audit`
30
+ and Dependabot.
31
+
32
+ ## Scope notes
33
+
34
+ boost executes `git` against registry URLs you tap and symlinks skills into
35
+ agent directories. Reports about tap-supplied content escaping the store,
36
+ path traversal via `SKILL.md` frontmatter, or command injection through
37
+ skill/tap names are especially valuable.
38
+
39
+ ## Secrets and credentials
40
+
41
+ The policy in one line: **boost stores no credential it could leak.**
42
+
43
+ - **Releases use no stored token.** Publishing goes through PyPI Trusted
44
+ Publishing — GitHub mints a short-lived OIDC identity for `publish.yml` at the
45
+ moment of upload. There is no PyPI API token in a secret, on a laptop, or in a
46
+ password manager, so there is nothing to rotate and nothing to steal.
47
+ - **Every secret that does exist is optional.** Only `CODECOV_TOKEN`,
48
+ `SONAR_TOKEN` and the optional evaluation API keys are configured, all as
49
+ GitHub Actions repository secrets. Every job reading one skips itself when it
50
+ is absent, so none is required to build, test or release.
51
+ - **Secrets never reach untrusted code.** No workflow uses
52
+ `pull_request_target`, so a fork's pull request runs with a read-only token
53
+ and no secret access. Secrets are bound at job level, never interpolated into
54
+ a `run:` block, and `zizmor` fails a pull request that breaks either rule.
55
+ - **Access follows the maintainer list.** Who holds what is recorded in
56
+ [MAINTAINERS.md](MAINTAINERS.md), which also states the policy that escalated
57
+ permissions are reviewed before they are granted. Access is removed promptly
58
+ when someone steps down and immediately if an account is believed compromised.
59
+ - **Rotation.** An optional dashboard token is rotated on suspicion of exposure
60
+ or when the holder's access is removed — revoked at the issuing service, then
61
+ replaced or deleted in repository settings. Because none is required, deleting
62
+ one is always a safe first move.
63
+ - **Committed secrets are caught.** `gitleaks` runs in CI on every push and
64
+ fails the build on a hit; the allowlist covers only boost's own synthetic
65
+ scanner test fixtures.
66
+
67
+ If you believe a boost credential has been exposed, report it through the
68
+ private channel above rather than opening an issue.
69
+
70
+ ## How boost is designed to resist this
71
+
72
+ [`docs/security-design.md`](docs/security-design.md) is the threat model: what
73
+ boost trusts and what it does not, the design principles the code is held to,
74
+ and the table of error classes — path traversal, command injection, zip-slip,
75
+ untrusted deserialization, supply-chain compromise — each paired with the
76
+ mitigation that counters it. It also states the known limits plainly, including
77
+ the one that matters most: boost gives you a skill's provenance, integrity and
78
+ diff, but judging what the skill *tells your agent to do* is yours.
79
+
80
+ For how boost's badge-level security posture is assessed, see
81
+ [`docs/openssf-badge.md`](docs/openssf-badge.md). Two companion documents cover
82
+ the supply chain either side of a release:
83
+ [`docs/dependencies.md`](docs/dependencies.md) — how dependencies are chosen,
84
+ pinned by hash, tracked, and at what threshold a finding blocks a merge — and
85
+ [`docs/verifying-releases.md`](docs/verifying-releases.md) — how to verify for
86
+ yourself that an artifact you installed was built by this repository.
@@ -0,0 +1,78 @@
1
+ # Support
2
+
3
+ What boost supports, for how long, and where to ask.
4
+
5
+ ## Where to ask
6
+
7
+ | You want to | Go here |
8
+ |---|---|
9
+ | Report a bug | [Open an issue](https://github.com/jonnyeclectic/boost/issues/new/choose) |
10
+ | Request a feature | [Open an issue](https://github.com/jonnyeclectic/boost/issues/new/choose) |
11
+ | Report a vulnerability | **Not an issue** — [SECURITY.md](SECURITY.md) |
12
+ | Diagnose a broken install | [`docs/DEBUGGING.md`](docs/DEBUGGING.md), then `boost doctor` |
13
+ | Contribute a change | [CONTRIBUTING.md](CONTRIBUTING.md) |
14
+
15
+ `boost doctor` is the first thing to run for anything that looks like a
16
+ misconfiguration. It names the single next action for each problem it finds
17
+ rather than printing a menu, and its output is the most useful thing to paste
18
+ into an issue.
19
+
20
+ ## What is supported
21
+
22
+ **Only the latest release.** boost releases on every merge to `main`, so the
23
+ latest version is usually minutes old and the gap between "what you have" and
24
+ "what is fixed" is small by design. Bug fixes and security fixes go into the
25
+ next release; there are no backport branches and no long-term-support line.
26
+
27
+ If you are on an older version, the supported answer is to upgrade:
28
+
29
+ ```bash
30
+ pipx upgrade boost-skill-cli # or: pip install -U boost-skill-cli
31
+ ```
32
+
33
+ **Supported environments** — these are what CI runs on every pull request, so a
34
+ regression on any of them fails the build:
35
+
36
+ | | Supported |
37
+ |---|---|
38
+ | Python | 3.12, 3.13, 3.14 (and a non-blocking 3.14 free-threaded canary) |
39
+ | Operating system | Linux, macOS, Windows |
40
+ | Required external tools | `git` |
41
+
42
+ Python 3.11 and earlier are **not** supported: the project's floor is
43
+ `requires-python = ">=3.12"`.
44
+
45
+ ## When a version stops receiving security updates
46
+
47
+ **The moment a newer release exists.** A version other than the latest receives
48
+ no security updates, and none will be backported to it.
49
+
50
+ This is stated as a policy rather than left implicit because the alternative
51
+ would be misleading. With a release cut on every merge, maintaining a supported
52
+ older line would mean supporting hundreds of versions; the project does not do
53
+ that and will not pretend to. In exchange, the upgrade path is deliberately
54
+ cheap — a single `pipx upgrade`, a stdlib-only runtime with no dependency
55
+ resolution to go wrong, and no configuration migration between patch releases.
56
+
57
+ If a release fixes a publicly known vulnerability, the release notes name it and
58
+ its identifier — see
59
+ [SECURITY.md](SECURITY.md#vulnerability-fixes-in-release-notes).
60
+
61
+ ## What is not supported
62
+
63
+ - **The content of third-party skills, rules and workflows.** boost gives you a
64
+ skill's provenance, its integrity digest and a diff. Judging what a skill
65
+ tells your agent to do is yours; see the limits section of
66
+ [`docs/security-design.md`](docs/security-design.md).
67
+ - **`boost serve`** as a hardened server. It is a local development
68
+ convenience for a trusted network.
69
+ - **Optional extras** (`[rag]`, `[eval]`, `[bdd]`, `[langchain]`) carry
70
+ third-party dependencies and their own compatibility constraints. The default
71
+ install is stdlib-only and is what the support statement above covers.
72
+
73
+ ## Response expectations
74
+
75
+ This is a single-maintainer project ([MAINTAINERS.md](MAINTAINERS.md)), so
76
+ response times depend on one person's availability. Vulnerability reports are
77
+ acknowledged within a few days and are the highest priority; ordinary issues are
78
+ triaged as they arrive but carry no service-level guarantee.
@@ -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.27'
22
- __version_tuple__ = version_tuple = (1, 2, 27)
21
+ __version__ = version = '1.2.29'
22
+ __version_tuple__ = version_tuple = (1, 2, 29)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1187,9 +1187,20 @@ def cmd_trust(argv) -> int:
1187
1187
  key_path = paths.expand(args.key)
1188
1188
  key_text = (key_path.read_text(encoding="utf-8")
1189
1189
  if key_path.is_file() else args.key)
1190
- provenance.add_trusted_key(args.name, key_text)
1190
+ rec = provenance.add_trusted_key(args.name, key_text)
1191
1191
  journal.log("trust", args.name, op="add-key")
1192
- out.ok("trusted key added")
1192
+ # The fingerprint is the point of this line, not incidental detail: it
1193
+ # is how the user checks by eye that the key they just trusted is the
1194
+ # one the publisher advertises. CodeQL's py/clear-text-logging-sensitive
1195
+ # -data flags it because `name` is user-supplied and `fingerprint` reads
1196
+ # like a credential, but a minisign PUBLIC key fingerprint is meant to
1197
+ # be published — printing it is the verification, and an autofix that
1198
+ # replaced this with a constant string (dc6e827) removed the only check
1199
+ # `trust add` offers. Restored, suppressed with the reason, and pinned
1200
+ # by tests/functional/test_tap_signing.py so it cannot be quietly
1201
+ # dropped a second time.
1202
+ out.ok("trusted key %s (%s)" # codeql[py/clear-text-logging-sensitive-data]
1203
+ % (rec["name"], rec["fingerprint"]))
1193
1204
  return 0
1194
1205
 
1195
1206
  if args.action == "remove":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.27
3
+ Version: 1.2.29
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -11,11 +11,14 @@
11
11
  CLAUDE.md
12
12
  CODE_OF_CONDUCT.md
13
13
  CONTRIBUTING.md
14
+ DCO
14
15
  LICENSE
16
+ MAINTAINERS.md
15
17
  MANIFEST.in
16
18
  Makefile
17
19
  README.md
18
20
  SECURITY.md
21
+ SUPPORT.md
19
22
  boost
20
23
  codecov.yml
21
24
  eslint.config.mjs
@@ -122,10 +125,12 @@ docs/adapters.html
122
125
  docs/carousel.html
123
126
  docs/chat.html
124
127
  docs/commands.html
128
+ docs/commit-audit.md
125
129
  docs/demo-index.json
126
130
  docs/demo.gif
127
131
  docs/demo.html
128
132
  docs/demo.tape
133
+ docs/dependencies.md
129
134
  docs/design-roadmap.html
130
135
  docs/eval-latest.json
131
136
  docs/eval.html
@@ -133,9 +138,11 @@ docs/index.html
133
138
  docs/langchain.html
134
139
  docs/mcp-hub.html
135
140
  docs/openssf-badge.md
141
+ docs/openssf-playbook.md
136
142
  docs/rag-architecture.md
137
143
  docs/roadmap.html
138
144
  docs/security-design.md
145
+ docs/verifying-releases.md
139
146
  docs/.claude/settings.local.json
140
147
  docs/architecture/README.md
141
148
  docs/architecture/c4-components-core.md
@@ -342,6 +349,8 @@ docs/roadmap/items/one-commit-can-cut-two-releases.md
342
349
  docs/roadmap/items/one-dead-tap-broke-every-update.md
343
350
  docs/roadmap/items/one-shared-atomic-write-helper.md
344
351
  docs/roadmap/items/openssf-best-practices-badge.md
352
+ docs/roadmap/items/openssf-playbook.md
353
+ docs/roadmap/items/osps-baseline-levels.md
345
354
  docs/roadmap/items/package-metadata-validation-twine-check-friends.md
346
355
  docs/roadmap/items/patch-coverage-gate-diff-cover.md
347
356
  docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md
@@ -485,6 +494,7 @@ scripts/build_registries.py
485
494
  scripts/build_roadmap.py
486
495
  scripts/build_scale_corpus.py
487
496
  scripts/check_anchors.py
497
+ scripts/check_dco.py
488
498
  scripts/check_licenses.py
489
499
  scripts/check_required_checks.py
490
500
  scripts/ensure_eval_corpus.sh
@@ -607,6 +617,7 @@ tests/unit/test_catalog.py
607
617
  tests/unit/test_catalogbundle.py
608
618
  tests/unit/test_chat.py
609
619
  tests/unit/test_check_anchors.py
620
+ tests/unit/test_check_dco.py
610
621
  tests/unit/test_check_licenses.py
611
622
  tests/unit/test_claude_settings.py
612
623
  tests/unit/test_clean_internal_cache.py