boost-skill-cli 1.0.254__tar.gz → 1.0.256__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 (501) hide show
  1. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
  5. boost_skill_cli-1.0.256/docs/roadmap/items/sbom-release-event-never-fires.md +54 -0
  6. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap.html +27 -8
  7. boost_skill_cli-1.0.256/tests/unit/test_dependabot_config.py +106 -0
  8. boost_skill_cli-1.0.254/docs/roadmap/items/sbom-release-event-never-fires.md +0 -35
  9. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.gitattributes +0 -0
  10. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.gitignore +0 -0
  11. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.gitleaks.toml +0 -0
  12. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.htmlvalidate.json +0 -0
  13. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.lighthouserc.json +0 -0
  14. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.lycheeignore +0 -0
  15. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.markdownlint-cli2.jsonc +0 -0
  16. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.pre-commit-config.yaml +0 -0
  17. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.stylelintrc.json +0 -0
  18. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.vale/styles/boost/Terminology.yml +0 -0
  19. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  20. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/.vale.ini +0 -0
  21. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/CLAUDE.md +0 -0
  22. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/CONTRIBUTING.md +0 -0
  23. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/LICENSE +0 -0
  24. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/MANIFEST.in +0 -0
  25. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/Makefile +0 -0
  26. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/README.md +0 -0
  27. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/SECURITY.md +0 -0
  28. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost +0 -0
  29. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/__init__.py +0 -0
  30. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/__main__.py +0 -0
  31. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/cli.py +0 -0
  32. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/cliparse.py +0 -0
  33. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/__init__.py +0 -0
  34. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/_common.py +0 -0
  35. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/bmad.py +0 -0
  36. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/configuration.py +0 -0
  37. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/discovery.py +0 -0
  38. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/hooks.py +0 -0
  39. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/info.py +0 -0
  40. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/intelligence.py +0 -0
  41. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/pkg.py +0 -0
  42. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/quality.py +0 -0
  43. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/run.py +0 -0
  44. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/safety.py +0 -0
  45. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/taps.py +0 -0
  46. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/commands/team.py +0 -0
  47. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/__init__.py +0 -0
  48. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/adapters.py +0 -0
  49. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/agents.py +0 -0
  50. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/ai.py +0 -0
  51. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/capabilities.py +0 -0
  52. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/catalog.py +0 -0
  53. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/claude_settings.py +0 -0
  54. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/config.py +0 -0
  55. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/dense.py +0 -0
  56. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/ed25519.py +0 -0
  57. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/embed.py +0 -0
  58. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/faithfulness.py +0 -0
  59. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/frontmatter.py +0 -0
  60. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/gitutil.py +0 -0
  61. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/imperative.py +0 -0
  62. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/injectscan.py +0 -0
  63. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/integrity.py +0 -0
  64. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/journal.py +0 -0
  65. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/lockfile.py +0 -0
  66. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/logs.py +0 -0
  67. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/mcp.py +0 -0
  68. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/mcpdecl.py +0 -0
  69. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/minisign.py +0 -0
  70. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/nethttp.py +0 -0
  71. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/output.py +0 -0
  72. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/paths.py +0 -0
  73. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/policy.py +0 -0
  74. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/projectlock.py +0 -0
  75. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/provenance.py +0 -0
  76. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/rag.py +0 -0
  77. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/registry.py +0 -0
  78. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/resolve.py +0 -0
  79. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/rules.py +0 -0
  80. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/scopes.py +0 -0
  81. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/secretscan.py +0 -0
  82. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/selfupdate.py +0 -0
  83. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/serve.py +0 -0
  84. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/stackprobe.py +0 -0
  85. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/staleness.py +0 -0
  86. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/store.py +0 -0
  87. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/trustaudit.py +0 -0
  88. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/typosquat.py +0 -0
  89. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/updatediff.py +0 -0
  90. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/util.py +0 -0
  91. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/core/workflows.py +0 -0
  92. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/data/registries.json +0 -0
  93. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/errors.py +0 -0
  94. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_cli/spin.py +0 -0
  95. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  96. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  97. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_skill_cli.egg-info/requires.txt +0 -0
  98. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/boost_skill_cli.egg-info/top_level.txt +0 -0
  99. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/codecov.yml +0 -0
  100. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/.claude/settings.local.json +0 -0
  101. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/DEBUGGING.md +0 -0
  102. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/adapters.html +0 -0
  103. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/distill.gif +0 -0
  104. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/doctor.gif +0 -0
  105. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/explain.gif +0 -0
  106. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/hooks.gif +0 -0
  107. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/install.gif +0 -0
  108. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/pulse.gif +0 -0
  109. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/search.gif +0 -0
  110. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/gifs/tap.gif +0 -0
  111. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/distill.tape +0 -0
  112. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/doctor.tape +0 -0
  113. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/explain.tape +0 -0
  114. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/hooks.tape +0 -0
  115. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/install.tape +0 -0
  116. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/pulse.tape +0 -0
  117. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/search.tape +0 -0
  118. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel/tapes/tap.tape +0 -0
  119. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/carousel.html +0 -0
  120. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/commands.html +0 -0
  121. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/demo.gif +0 -0
  122. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/demo.tape +0 -0
  123. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/design-roadmap.html +0 -0
  124. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/eval.html +0 -0
  125. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/index.html +0 -0
  126. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/mcp-hub.html +0 -0
  127. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/rag-architecture.md +0 -0
  128. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D01.md +0 -0
  129. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D02.md +0 -0
  130. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D03.md +0 -0
  131. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D04.md +0 -0
  132. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D05.md +0 -0
  133. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D06.md +0 -0
  134. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D07.md +0 -0
  135. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D08.md +0 -0
  136. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D09.md +0 -0
  137. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D10.md +0 -0
  138. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D11.md +0 -0
  139. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D12.md +0 -0
  140. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D13.md +0 -0
  141. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D14.md +0 -0
  142. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D15.md +0 -0
  143. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D16.md +0 -0
  144. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D17.md +0 -0
  145. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D18.md +0 -0
  146. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D19.md +0 -0
  147. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D20.md +0 -0
  148. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D21.md +0 -0
  149. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D22.md +0 -0
  150. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D23.md +0 -0
  151. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D24.md +0 -0
  152. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D25.md +0 -0
  153. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/BOOST-D26.md +0 -0
  154. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  155. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  156. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  157. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  158. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  159. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  160. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  161. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  162. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  163. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  164. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  165. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  166. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  167. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  168. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  169. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  170. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  171. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/command-carousel-page.md +0 -0
  172. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  173. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  174. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  175. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  176. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  177. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  178. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  179. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  180. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  181. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  182. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  183. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  184. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  185. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  186. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  187. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  188. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  189. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  190. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  191. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  192. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  193. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  194. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  195. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  196. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/github-community-health-files.md +0 -0
  197. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  198. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  199. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  200. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  201. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  202. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  203. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  204. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  205. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  206. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  207. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  208. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  209. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  210. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  211. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  212. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  213. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  214. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  215. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  216. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  217. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  218. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  219. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  220. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  221. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  222. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  223. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  224. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  225. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  226. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  227. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  228. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  229. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  230. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  231. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  232. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  233. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  234. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  235. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  236. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  237. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  238. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  239. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  240. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  241. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  242. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  243. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  244. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  245. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  246. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  247. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  248. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  249. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  250. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  251. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  252. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  253. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  254. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  255. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  256. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  257. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  258. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  259. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  260. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  261. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  262. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  263. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  264. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  265. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  266. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  267. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  268. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  269. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  270. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  271. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  272. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  273. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  274. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  275. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  276. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  277. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  278. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  279. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  280. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  281. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  282. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  283. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  284. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  285. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  286. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  287. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  288. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  289. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  290. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  291. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  292. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  293. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  294. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  295. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  296. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  297. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  298. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  299. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  300. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  301. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  302. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  303. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  304. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  305. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  306. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  307. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  308. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  309. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  310. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  311. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  312. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/docs/roadmap/items/workspace-scope-install.md +0 -0
  313. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/eslint.config.mjs +0 -0
  314. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/examples/README.md +0 -0
  315. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/examples/adapt-demo.sh +0 -0
  316. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/examples/boost-run-prototype.sh +0 -0
  317. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/index.html +0 -0
  318. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/noxfile.py +0 -0
  319. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/pyproject.toml +0 -0
  320. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/coverage-tools.in +0 -0
  321. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/coverage-tools.txt +0 -0
  322. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/lint-tools.in +0 -0
  323. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/lint-tools.txt +0 -0
  324. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/mutation-tools.in +0 -0
  325. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/mutation-tools.txt +0 -0
  326. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/release-tools.in +0 -0
  327. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/release-tools.txt +0 -0
  328. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/test-tools.in +0 -0
  329. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/requirements/test-tools.txt +0 -0
  330. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/a11y_check.py +0 -0
  331. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/bench_cli.sh +0 -0
  332. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/build_command_reference.py +0 -0
  333. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/build_registries.py +0 -0
  334. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/build_roadmap.py +0 -0
  335. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/check_anchors.py +0 -0
  336. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/check_required_checks.py +0 -0
  337. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/ensure_eval_corpus.sh +0 -0
  338. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/eval_explain.py +0 -0
  339. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/eval_recommend.py +0 -0
  340. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/eval_retrieval.py +0 -0
  341. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/eval_stats_summary.py +0 -0
  342. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/import_budget.py +0 -0
  343. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/lock_toolchain.py +0 -0
  344. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/mutation_gate.py +0 -0
  345. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/mutation_shards.py +0 -0
  346. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/mutation_weights.json +0 -0
  347. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/perf_gate.py +0 -0
  348. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/post_deploy_smoke.py +0 -0
  349. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/scripts/release_preflight.py +0 -0
  350. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/setup.cfg +0 -0
  351. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/sonar-project.properties +0 -0
  352. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/style/README.md +0 -0
  353. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/style/boost.css +0 -0
  354. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/style/boost.js +0 -0
  355. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/style/demo.html +0 -0
  356. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/adapt.feature +0 -0
  357. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/browse.feature +0 -0
  358. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/count.feature +0 -0
  359. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/discover.feature +0 -0
  360. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/doctor.feature +0 -0
  361. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/environment.py +0 -0
  362. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/explain.feature +0 -0
  363. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/index.feature +0 -0
  364. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/install.feature +0 -0
  365. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/list.feature +0 -0
  366. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/mcp.feature +0 -0
  367. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/search.feature +0 -0
  368. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/steps/cli_steps.py +0 -0
  369. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/steps/discovery_steps.py +0 -0
  370. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/steps/mcp_steps.py +0 -0
  371. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/bdd/features/steps/quality_steps.py +0 -0
  372. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/conftest.py +0 -0
  373. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/eval/baseline.json +0 -0
  374. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/eval/explain.jsonl +0 -0
  375. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/eval/golden.jsonl +0 -0
  376. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/eval/recommend.jsonl +0 -0
  377. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/eval/taps.txt +0 -0
  378. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_capabilities_policy.py +0 -0
  379. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_adapt.py +0 -0
  380. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_bmad.py +0 -0
  381. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_configuration.py +0 -0
  382. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_discovery.py +0 -0
  383. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_hooks.py +0 -0
  384. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_info.py +0 -0
  385. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_intelligence.py +0 -0
  386. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_pkg.py +0 -0
  387. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_quality.py +0 -0
  388. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_taps.py +0 -0
  389. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_cli_team.py +0 -0
  390. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_everyday_loop.py +0 -0
  391. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_integrity_enforce.py +0 -0
  392. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_property_parsers.py +0 -0
  393. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_run.py +0 -0
  394. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_tap_signing.py +0 -0
  395. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/functional/test_workspace_scope.py +0 -0
  396. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/README.md +0 -0
  397. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  398. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  399. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  400. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  401. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  402. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  403. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  404. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  405. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  406. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  407. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  408. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  409. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  410. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  411. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  412. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  413. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  414. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  415. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  416. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  417. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/fuzz_frontmatter.py +0 -0
  418. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/fuzz/fuzz_registry.py +0 -0
  419. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/make_fixture.py +0 -0
  420. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/perf/test_benchmarks.py +0 -0
  421. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/smoke.sh +0 -0
  422. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_a11y_check.py +0 -0
  423. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_adapters.py +0 -0
  424. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_adapters_multi.py +0 -0
  425. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_adapters_runner.py +0 -0
  426. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_agents.py +0 -0
  427. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_ai.py +0 -0
  428. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_capabilities.py +0 -0
  429. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_catalog.py +0 -0
  430. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_check_anchors.py +0 -0
  431. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_claude_settings.py +0 -0
  432. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_cliparse.py +0 -0
  433. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_command_reference_fresh.py +0 -0
  434. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_config.py +0 -0
  435. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_dense.py +0 -0
  436. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_dense_fallback.py +0 -0
  437. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_docs_pages_linked.py +0 -0
  438. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_docsite_chrome.py +0 -0
  439. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_ed25519.py +0 -0
  440. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_embed.py +0 -0
  441. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_errors_and_cli_table.py +0 -0
  442. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_eval_stats_summary.py +0 -0
  443. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_faithfulness.py +0 -0
  444. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_frontmatter.py +0 -0
  445. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_fuzz_targets.py +0 -0
  446. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_gitleaks_config.py +0 -0
  447. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_gitutil.py +0 -0
  448. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_imperative.py +0 -0
  449. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_import_budget.py +0 -0
  450. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_injectscan.py +0 -0
  451. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_integrity.py +0 -0
  452. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_journal.py +0 -0
  453. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_lockfile.py +0 -0
  454. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_logs.py +0 -0
  455. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_marketing_counts.py +0 -0
  456. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_mcp.py +0 -0
  457. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_mcpdecl.py +0 -0
  458. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_minisign.py +0 -0
  459. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_mutation_hardening.py +0 -0
  460. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_mutation_shards.py +0 -0
  461. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_mutmut_source_paths.py +0 -0
  462. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_nethttp.py +0 -0
  463. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_output.py +0 -0
  464. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_paths.py +0 -0
  465. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_perf_gate.py +0 -0
  466. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_pkg_confusions.py +0 -0
  467. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_pkg_injection.py +0 -0
  468. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_pkg_secrets.py +0 -0
  469. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_policy.py +0 -0
  470. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_post_deploy_smoke.py +0 -0
  471. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_projectlock.py +0 -0
  472. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_provenance.py +0 -0
  473. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_rag.py +0 -0
  474. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_registries_fresh.py +0 -0
  475. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_registry.py +0 -0
  476. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_release_preflight.py +0 -0
  477. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_required_checks.py +0 -0
  478. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_resolve.py +0 -0
  479. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_roadmap_fresh.py +0 -0
  480. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_rules.py +0 -0
  481. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_scopes.py +0 -0
  482. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_secretscan.py +0 -0
  483. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_selfupdate.py +0 -0
  484. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_serve.py +0 -0
  485. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_spin.py +0 -0
  486. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_stackprobe.py +0 -0
  487. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_staleness.py +0 -0
  488. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_store.py +0 -0
  489. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_token_parity.py +0 -0
  490. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_toolchain_lock.py +0 -0
  491. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_trustaudit.py +0 -0
  492. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_typosquat.py +0 -0
  493. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_updatediff.py +0 -0
  494. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_util.py +0 -0
  495. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_version.py +0 -0
  496. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_workflow_timeouts.py +0 -0
  497. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/unit/test_workflows.py +0 -0
  498. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/visual/a11y_check.mjs +0 -0
  499. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/visual/console_check.mjs +0 -0
  500. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/visual/package.json +0 -0
  501. {boost_skill_cli-1.0.254 → boost_skill_cli-1.0.256}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.254
3
+ Version: 1.0.256
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -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.0.254'
22
- __version_tuple__ = version_tuple = (1, 0, 254)
21
+ __version__ = version = '1.0.256'
22
+ __version_tuple__ = version_tuple = (1, 0, 256)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.254
3
+ Version: 1.0.256
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -431,6 +431,7 @@ tests/unit/test_command_reference_fresh.py
431
431
  tests/unit/test_config.py
432
432
  tests/unit/test_dense.py
433
433
  tests/unit/test_dense_fallback.py
434
+ tests/unit/test_dependabot_config.py
434
435
  tests/unit/test_docs_pages_linked.py
435
436
  tests/unit/test_docsite_chrome.py
436
437
  tests/unit/test_ed25519.py
@@ -0,0 +1,54 @@
1
+ ---
2
+ id: sbom-release-event-never-fires
3
+ board: code
4
+ section: trust
5
+ status: shipped
6
+ category: Supply chain
7
+ complexity: S
8
+ impact: High
9
+ wow: 4
10
+ note: 253 releases shipped with no SBOM; fixed with workflow_run
11
+ order: 50
12
+ owner:
13
+ pr: 295
14
+ title: <code>sbom.yml</code> has never run — it waits for an event <code>GITHUB_TOKEN</code> cannot emit
15
+ ---
16
+ <code>sbom.yml</code> triggers on <code>release: types: [published]</code> and promises
17
+ "a CycloneDX SBOM for every release, attached to the GitHub Release as an asset".
18
+ It has <b>0 runs</b>. Releases here are created by <code>release-drafter</code> inside
19
+ <code>publish.yml</code> authenticated with <code>GITHUB_TOKEN</code>, and <b>events created
20
+ with <code>GITHUB_TOKEN</code> do not trigger workflows</b>. <code>publish.yml</code>'s own
21
+ header states that rule verbatim — "we never rely on the release event to trigger a second
22
+ workflow" — and <code>sbom.yml</code> is exactly that pattern.
23
+
24
+ So the <code>if: github.event_name == 'release'</code> guard on its upload step is dead code,
25
+ <code>workflow_dispatch</code> is the only reachable path and has never been used, and every
26
+ one of the last ten releases carries <code>assets: []</code>. Zero SBOMs have been produced
27
+ since the file landed on 2026-07-22. Same shape as the LangGraph conformance leg: wired up,
28
+ looks covered, never executed once.
29
+
30
+ By the time it was fixed the count was <b>253 releases, 0 runs, 0 SBOM assets</b>.
31
+
32
+ <b>Fixed with a third option neither branch of that decision considered:</b>
33
+ <code>workflow_run</code>. The <code>GITHUB_TOKEN</code> restriction applies to
34
+ <em>events</em> a token creates; <code>workflow_run</code> is documented as exempt and fires
35
+ on the upstream <em>run</em> completing regardless of what triggered it &mdash; which is
36
+ already how <code>ci &rarr; release</code> works in this repo. Chaining
37
+ <code>release &rarr; sbom</code> makes this the third link, inside GitHub's documented
38
+ three-level <code>workflow_run</code> limit. So no PAT is needed, and the SBOM logic stays
39
+ out of <code>publish.yml</code>.
40
+
41
+ That separation turned out to matter more than "keeps the logic in its own file":
42
+ <code>publish.yml</code>'s job holds PyPI Trusted-Publishing OIDC credentials, and generating
43
+ the SBOM means installing a third-party build plugin (<code>cyclonedx-bom</code>). Inlining it
44
+ would have put that plugin inside the one job that can publish to PyPI. Kept separate, it
45
+ holds only <code>contents: write</code>.
46
+
47
+ Two details the trigger change forced. The workflow now resolves its tag from the release
48
+ commit (<code>git tag --points-at</code>) rather than "newest release" &mdash; releases here
49
+ land minutes apart, so <code>gh release view</code> would race and SBOM the <em>next</em>
50
+ version; and two tags on one commit is real (<code>v1.0.248</code> and <code>v1.0.249</code>
51
+ both point at <code>c750651</code>), so it takes the highest. And per the original note, a
52
+ final step re-reads the release and fails unless the asset is actually attached &mdash; a
53
+ silent upload no-op is indistinguishable from success, which is the same class of quiet
54
+ nothing that produced this bug.
@@ -3520,7 +3520,7 @@ is built.</p>
3520
3520
  </article>
3521
3521
 
3522
3522
  <article class="cap rcard" id="sbom-release-event-never-fires">
3523
- <div class="head"><span class="pill planned">Planned</span><span class="cat">Supply chain</span></div>
3523
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Supply chain</span></div>
3524
3524
  <h3><code>sbom.yml</code> has never run — it waits for an event <code>GITHUB_TOKEN</code> cannot emit</h3>
3525
3525
  <p><code>sbom.yml</code> triggers on <code>release: types: [published]</code> and promises
3526
3526
  "a CycloneDX SBOM for every release, attached to the GitHub Release as an asset".
@@ -3536,17 +3536,36 @@ one of the last ten releases carries <code>assets: []</code>. Zero SBOMs have be
3536
3536
  since the file landed on 2026-07-22. Same shape as the LangGraph conformance leg: wired up,
3537
3537
  looks covered, never executed once.
3538
3538
 
3539
- Fix is a decision, not a patch: either build and attach the SBOM inside
3540
- <code>publish.yml</code>'s release job (it already holds <code>contents: write</code> and is
3541
- where the tag is cut), or have <code>publish.yml</code> dispatch this workflow with a PAT
3542
- rather than <code>GITHUB_TOKEN</code>. The first is simpler and keeps the release atomic;
3543
- the second keeps the SBOM logic in its own file. Worth pairing with a check that fails the
3544
- release when the asset is missing, so "never ran" cannot recur silently.</p>
3539
+ By the time it was fixed the count was <b>253 releases, 0 runs, 0 SBOM assets</b>.
3540
+
3541
+ <b>Fixed with a third option neither branch of that decision considered:</b>
3542
+ <code>workflow_run</code>. The <code>GITHUB_TOKEN</code> restriction applies to
3543
+ <em>events</em> a token creates; <code>workflow_run</code> is documented as exempt and fires
3544
+ on the upstream <em>run</em> completing regardless of what triggered it &mdash; which is
3545
+ already how <code>ci &rarr; release</code> works in this repo. Chaining
3546
+ <code>release &rarr; sbom</code> makes this the third link, inside GitHub's documented
3547
+ three-level <code>workflow_run</code> limit. So no PAT is needed, and the SBOM logic stays
3548
+ out of <code>publish.yml</code>.
3549
+
3550
+ That separation turned out to matter more than "keeps the logic in its own file":
3551
+ <code>publish.yml</code>'s job holds PyPI Trusted-Publishing OIDC credentials, and generating
3552
+ the SBOM means installing a third-party build plugin (<code>cyclonedx-bom</code>). Inlining it
3553
+ would have put that plugin inside the one job that can publish to PyPI. Kept separate, it
3554
+ holds only <code>contents: write</code>.
3555
+
3556
+ Two details the trigger change forced. The workflow now resolves its tag from the release
3557
+ commit (<code>git tag --points-at</code>) rather than "newest release" &mdash; releases here
3558
+ land minutes apart, so <code>gh release view</code> would race and SBOM the <em>next</em>
3559
+ version; and two tags on one commit is real (<code>v1.0.248</code> and <code>v1.0.249</code>
3560
+ both point at <code>c750651</code>), so it takes the highest. And per the original note, a
3561
+ final step re-reads the release and fails unless the asset is actually attached &mdash; a
3562
+ silent upload no-op is indistinguishable from success, which is the same class of quiet
3563
+ nothing that produced this bug.</p>
3545
3564
  <div class="meta">
3546
3565
  <span class="m">Complexity <b>S</b></span>
3547
3566
  <span class="m hi">Impact <b>High</b></span>
3548
3567
  <span class="m">Wow <b class="wow">★★★★</b></span>
3549
- <span class="m">0 runs, 0 SBOMs, 227 releases</span>
3568
+ <span class="m">253 releases shipped with no SBOM; fixed with workflow_run</span>
3550
3569
  </div>
3551
3570
  </article>
3552
3571
 
@@ -0,0 +1,106 @@
1
+ """Unit test: .github/dependabot.yml — what actually gets bump PRs.
2
+
3
+ Dependabot only scans manifests under an entry's declared ``directory``, so
4
+ "we have a pip entry" says nothing about which manifests are covered. This
5
+ pins the two that matter (``/requirements`` for the hash-pinned toolchain, ``/``
6
+ for ``pyproject.toml``'s extras) and ties the root entry's ignore list to the
7
+ version ceilings pyproject actually sets — so lifting a ceiling and leaving a
8
+ stale ignore behind fails here rather than silently costing us the bump PRs.
9
+
10
+ Read by hand rather than with a YAML parser: PyYAML is not a dependency of this
11
+ repo, and ``scripts/check_required_checks.py`` sets the same precedent for
12
+ workflow YAML.
13
+ """
14
+ from __future__ import annotations
15
+
16
+ import re
17
+ import sys
18
+ from pathlib import Path
19
+
20
+ import pytest
21
+
22
+ ROOT = Path(__file__).resolve().parents[2]
23
+ CONFIG = ROOT / ".github" / "dependabot.yml"
24
+ PYPROJECT = ROOT / "pyproject.toml"
25
+
26
+ pytestmark = pytest.mark.skipif(
27
+ not CONFIG.exists(),
28
+ reason="repo-root .github/dependabot.yml not reachable (e.g. mutation sandbox)")
29
+
30
+ _ENTRY = re.compile(r"^ - package-ecosystem:\s*(\S+)\s*$")
31
+ _FIELD = re.compile(r"^ (\w[\w-]*):\s*(\S*)\s*$")
32
+ _IGNORE = re.compile(r"^ - dependency-name:\s*(\S+)\s*$")
33
+
34
+
35
+ def entries():
36
+ """[(ecosystem, directory, [ignored dependency names])] in file order."""
37
+ out = []
38
+ for line in CONFIG.read_text(encoding="utf-8").splitlines():
39
+ m = _ENTRY.match(line)
40
+ if m:
41
+ out.append((m.group(1), None, []))
42
+ continue
43
+ if not out:
44
+ continue
45
+ eco, _directory, ignored = out[-1]
46
+ m = _FIELD.match(line)
47
+ if m and m.group(1) == "directory":
48
+ out[-1] = (eco, m.group(2), ignored)
49
+ continue
50
+ m = _IGNORE.match(line)
51
+ if m:
52
+ ignored.append(m.group(1))
53
+ return out
54
+
55
+
56
+ def pip_entry(directory: str):
57
+ matches = [e for e in entries() if e[0] == "pip" and e[1] == directory]
58
+ assert len(matches) == 1, "expected exactly one pip entry for %r" % directory
59
+ return matches[0]
60
+
61
+
62
+ def test_every_entry_declares_a_directory():
63
+ # An entry with no directory silently defaults to /, which would make one
64
+ # of these a duplicate of another rather than the coverage it looks like.
65
+ assert entries(), "no update entries parsed — has the file's shape changed?"
66
+ for eco, directory, _ignored in entries():
67
+ assert directory, "%s entry has no directory" % eco
68
+
69
+
70
+ def test_the_pinned_toolchain_is_covered():
71
+ # requirements/*.txt are hash-pinned; a pin with no update path is only
72
+ # half the job, so this entry is what stops the lock silently rotting.
73
+ assert pip_entry("/requirements")[1] == "/requirements"
74
+
75
+
76
+ def test_pyprojects_extras_are_covered():
77
+ # The bug this file was added for: only /requirements was declared, so
78
+ # pyproject.toml at the repo root was never scanned and [rag]/[bdd]/[perf]
79
+ # got no proactive bumps at all — only reactive pip-audit CVE flags.
80
+ assert pip_entry("/")[1] == "/"
81
+
82
+
83
+ def test_the_actions_workflows_are_covered():
84
+ assert [e for e in entries() if e[0] == "github-actions"], \
85
+ "workflow action versions are a supply-chain surface too"
86
+
87
+
88
+ @pytest.mark.skipif(sys.version_info < (3, 11),
89
+ reason="tomllib is stdlib only on Python 3.11+")
90
+ def test_the_root_ignore_list_matches_the_ceilings_pyproject_sets():
91
+ """Ignore exactly the packages pyproject deliberately holds back.
92
+
93
+ ragas 0.2.x hard-imports a ChatVertexAI path that langchain>=1.0 removed,
94
+ so the [eval] stack carries upper bounds and a bump PR there cannot be
95
+ merged. Ignoring them is why declaring ``directory: /`` is safe at all.
96
+ Anything held back but *not* ignored raises unmergeable PRs; anything
97
+ ignored but no longer held back silently costs us a bump we could take.
98
+ """
99
+ import tomllib
100
+
101
+ with open(PYPROJECT, "rb") as f:
102
+ extras = tomllib.load(f)["project"]["optional-dependencies"]
103
+ held_back = {re.split(r"[<>=!~\[]", req, maxsplit=1)[0].strip()
104
+ for reqs in extras.values() for req in reqs if "<" in req}
105
+ assert held_back, "no upper bounds left in pyproject — drop the ignores"
106
+ assert set(pip_entry("/")[2]) == held_back
@@ -1,35 +0,0 @@
1
- ---
2
- id: sbom-release-event-never-fires
3
- board: code
4
- section: trust
5
- status: planned
6
- category: Supply chain
7
- complexity: S
8
- impact: High
9
- wow: 4
10
- note: 0 runs, 0 SBOMs, 227 releases
11
- order: 50
12
- owner:
13
- pr:
14
- title: <code>sbom.yml</code> has never run — it waits for an event <code>GITHUB_TOKEN</code> cannot emit
15
- ---
16
- <code>sbom.yml</code> triggers on <code>release: types: [published]</code> and promises
17
- "a CycloneDX SBOM for every release, attached to the GitHub Release as an asset".
18
- It has <b>0 runs</b>. Releases here are created by <code>release-drafter</code> inside
19
- <code>publish.yml</code> authenticated with <code>GITHUB_TOKEN</code>, and <b>events created
20
- with <code>GITHUB_TOKEN</code> do not trigger workflows</b>. <code>publish.yml</code>'s own
21
- header states that rule verbatim — "we never rely on the release event to trigger a second
22
- workflow" — and <code>sbom.yml</code> is exactly that pattern.
23
-
24
- So the <code>if: github.event_name == 'release'</code> guard on its upload step is dead code,
25
- <code>workflow_dispatch</code> is the only reachable path and has never been used, and every
26
- one of the last ten releases carries <code>assets: []</code>. Zero SBOMs have been produced
27
- since the file landed on 2026-07-22. Same shape as the LangGraph conformance leg: wired up,
28
- looks covered, never executed once.
29
-
30
- Fix is a decision, not a patch: either build and attach the SBOM inside
31
- <code>publish.yml</code>'s release job (it already holds <code>contents: write</code> and is
32
- where the tag is cut), or have <code>publish.yml</code> dispatch this workflow with a PAT
33
- rather than <code>GITHUB_TOKEN</code>. The first is simpler and keeps the release atomic;
34
- the second keeps the SBOM logic in its own file. Worth pairing with a check that fails the
35
- release when the asset is missing, so "never ran" cannot recur silently.