boost-skill-cli 1.0.298__tar.gz → 1.0.299__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 (558) hide show
  1. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
  5. boost_skill_cli-1.0.299/docs/roadmap/items/mutation-shard-floor-is-one-file.md +101 -0
  6. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap.html +60 -2
  7. boost_skill_cli-1.0.299/scripts/mutation_shards.py +833 -0
  8. boost_skill_cli-1.0.299/scripts/mutation_weights.json +1129 -0
  9. boost_skill_cli-1.0.299/tests/unit/test_mutation_subfile_shards.py +589 -0
  10. boost_skill_cli-1.0.298/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -43
  11. boost_skill_cli-1.0.298/scripts/mutation_shards.py +0 -424
  12. boost_skill_cli-1.0.298/scripts/mutation_weights.json +0 -49
  13. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.gitattributes +0 -0
  14. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.gitignore +0 -0
  15. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.gitleaks.toml +0 -0
  16. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.htmlvalidate.json +0 -0
  17. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.lighthouserc.json +0 -0
  18. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.lycheeignore +0 -0
  19. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.markdownlint-cli2.jsonc +0 -0
  20. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.pre-commit-config.yaml +0 -0
  21. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.stylelintrc.json +0 -0
  22. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.vale/styles/boost/Terminology.yml +0 -0
  23. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  24. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/.vale.ini +0 -0
  25. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/CLAUDE.md +0 -0
  26. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/CODE_OF_CONDUCT.md +0 -0
  27. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/CONTRIBUTING.md +0 -0
  28. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/LICENSE +0 -0
  29. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/MANIFEST.in +0 -0
  30. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/Makefile +0 -0
  31. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/README.md +0 -0
  32. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/SECURITY.md +0 -0
  33. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost +0 -0
  34. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/__init__.py +0 -0
  35. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/__main__.py +0 -0
  36. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/cli.py +0 -0
  37. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/cliparse.py +0 -0
  38. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/__init__.py +0 -0
  39. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/_common.py +0 -0
  40. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/bmad.py +0 -0
  41. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/configuration.py +0 -0
  42. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/discovery.py +0 -0
  43. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/hooks.py +0 -0
  44. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/info.py +0 -0
  45. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/intelligence.py +0 -0
  46. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/pkg.py +0 -0
  47. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/quality.py +0 -0
  48. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/run.py +0 -0
  49. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/safety.py +0 -0
  50. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/taps.py +0 -0
  51. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/commands/team.py +0 -0
  52. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/__init__.py +0 -0
  53. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/adapters.py +0 -0
  54. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/agents.py +0 -0
  55. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/ai.py +0 -0
  56. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/capabilities.py +0 -0
  57. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/catalog.py +0 -0
  58. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/claude_settings.py +0 -0
  59. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/config.py +0 -0
  60. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/dense.py +0 -0
  61. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/ed25519.py +0 -0
  62. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/embed.py +0 -0
  63. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/faithfulness.py +0 -0
  64. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/frontmatter.py +0 -0
  65. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/gitutil.py +0 -0
  66. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/imperative.py +0 -0
  67. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/injectscan.py +0 -0
  68. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/installscan.py +0 -0
  69. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/integrity.py +0 -0
  70. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/journal.py +0 -0
  71. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/lockfile.py +0 -0
  72. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/logs.py +0 -0
  73. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/mcp.py +0 -0
  74. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/mcpdecl.py +0 -0
  75. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/mcphost.py +0 -0
  76. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/minisign.py +0 -0
  77. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/nethttp.py +0 -0
  78. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/output.py +0 -0
  79. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/paths.py +0 -0
  80. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/policy.py +0 -0
  81. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/projectlock.py +0 -0
  82. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/provenance.py +0 -0
  83. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/rag.py +0 -0
  84. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/registry.py +0 -0
  85. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/resolve.py +0 -0
  86. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/rules.py +0 -0
  87. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/scopes.py +0 -0
  88. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/secretscan.py +0 -0
  89. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/selfupdate.py +0 -0
  90. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/serve.py +0 -0
  91. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/stackprobe.py +0 -0
  92. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/staleness.py +0 -0
  93. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/store.py +0 -0
  94. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/trustaudit.py +0 -0
  95. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/typosquat.py +0 -0
  96. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/updatediff.py +0 -0
  97. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/util.py +0 -0
  98. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/core/workflows.py +0 -0
  99. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/data/registries.json +0 -0
  100. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/errors.py +0 -0
  101. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_cli/spin.py +0 -0
  102. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  103. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  104. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_skill_cli.egg-info/requires.txt +0 -0
  105. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/boost_skill_cli.egg-info/top_level.txt +0 -0
  106. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/codecov.yml +0 -0
  107. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/.claude/settings.local.json +0 -0
  108. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/DEBUGGING.md +0 -0
  109. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/adapters.html +0 -0
  110. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/architecture/README.md +0 -0
  111. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/architecture/c4-components-core.md +0 -0
  112. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/architecture/c4-containers.md +0 -0
  113. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/architecture/c4-context.md +0 -0
  114. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/architecture/c4-dynamic-install.md +0 -0
  115. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/distill.gif +0 -0
  116. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/doctor.gif +0 -0
  117. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/explain.gif +0 -0
  118. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/hooks.gif +0 -0
  119. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/install.gif +0 -0
  120. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/pulse.gif +0 -0
  121. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/search.gif +0 -0
  122. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/gifs/tap.gif +0 -0
  123. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/distill.tape +0 -0
  124. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/doctor.tape +0 -0
  125. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/explain.tape +0 -0
  126. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/hooks.tape +0 -0
  127. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/install.tape +0 -0
  128. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/pulse.tape +0 -0
  129. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/search.tape +0 -0
  130. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel/tapes/tap.tape +0 -0
  131. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/carousel.html +0 -0
  132. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/commands.html +0 -0
  133. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/demo.gif +0 -0
  134. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/demo.tape +0 -0
  135. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/design-roadmap.html +0 -0
  136. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/eval.html +0 -0
  137. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/index.html +0 -0
  138. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/mcp-hub.html +0 -0
  139. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/rag-architecture.md +0 -0
  140. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D01.md +0 -0
  141. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D02.md +0 -0
  142. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D03.md +0 -0
  143. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D04.md +0 -0
  144. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D05.md +0 -0
  145. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D06.md +0 -0
  146. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D07.md +0 -0
  147. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D08.md +0 -0
  148. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D09.md +0 -0
  149. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D10.md +0 -0
  150. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D11.md +0 -0
  151. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D12.md +0 -0
  152. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D13.md +0 -0
  153. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D14.md +0 -0
  154. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D15.md +0 -0
  155. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D16.md +0 -0
  156. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D17.md +0 -0
  157. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D18.md +0 -0
  158. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D19.md +0 -0
  159. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D20.md +0 -0
  160. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D21.md +0 -0
  161. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D22.md +0 -0
  162. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D23.md +0 -0
  163. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D24.md +0 -0
  164. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D25.md +0 -0
  165. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/BOOST-D26.md +0 -0
  166. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  167. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  168. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  169. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  170. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  171. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  172. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  173. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  174. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  175. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  176. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  177. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  178. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  179. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  180. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  181. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  182. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  183. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  184. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  185. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  186. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  187. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/command-carousel-page.md +0 -0
  188. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  189. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  190. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  191. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  192. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  193. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  194. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  195. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  196. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  197. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  198. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  199. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  200. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  201. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  202. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  203. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  204. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  205. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  206. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  207. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  208. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  209. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  210. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  211. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  212. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  213. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  214. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  215. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  216. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/github-community-health-files.md +0 -0
  217. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  218. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  219. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  220. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  221. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  222. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  223. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  224. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  225. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  226. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  227. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  228. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  229. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  230. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  231. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  232. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  233. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  234. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  235. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  236. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  237. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  238. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  239. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  240. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  241. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  242. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  243. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  244. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  245. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  246. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  247. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  248. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  249. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  250. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  251. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  252. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  253. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  254. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  255. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  256. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  257. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  258. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  259. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  260. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  261. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  262. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  263. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  264. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  265. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  266. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  267. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  268. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  269. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  270. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  271. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  272. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  273. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  274. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  275. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  276. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  277. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  278. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  279. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  280. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  281. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  282. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  283. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  284. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  285. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  286. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  287. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  288. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  289. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  290. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  291. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  292. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  293. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  294. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  295. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  296. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  297. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  298. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  299. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  300. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  301. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  302. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  303. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  304. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  305. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  306. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  307. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  308. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  309. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  310. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  311. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  312. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  313. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  314. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  315. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  316. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  317. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  318. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  319. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  320. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  321. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  322. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  323. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  324. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  325. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  326. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  327. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  328. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  329. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  330. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  331. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  332. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  333. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  334. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  335. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  336. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  337. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  338. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  339. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  340. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  341. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  342. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  343. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/workspace-scope-install.md +0 -0
  344. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  345. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/eslint.config.mjs +0 -0
  346. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/README.md +0 -0
  347. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/__init__.py +0 -0
  348. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/baseline.json +0 -0
  349. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/faithfulness.py +0 -0
  350. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/golden_set.json +0 -0
  351. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/make_corpus.py +0 -0
  352. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/make_golden.py +0 -0
  353. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/metrics.py +0 -0
  354. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/evals/run_evals.py +0 -0
  355. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/examples/README.md +0 -0
  356. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/examples/adapt-demo.sh +0 -0
  357. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/examples/boost-run-prototype.sh +0 -0
  358. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/index.html +0 -0
  359. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/noxfile.py +0 -0
  360. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/pyproject.toml +0 -0
  361. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/coverage-tools.in +0 -0
  362. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/coverage-tools.txt +0 -0
  363. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/lint-tools.in +0 -0
  364. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/lint-tools.txt +0 -0
  365. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/mutation-tools.in +0 -0
  366. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/mutation-tools.txt +0 -0
  367. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/platform-pins.lock +0 -0
  368. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/release-tools.in +0 -0
  369. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/release-tools.txt +0 -0
  370. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/test-tools.in +0 -0
  371. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/requirements/test-tools.txt +0 -0
  372. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/a11y_check.py +0 -0
  373. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/bench_cli.sh +0 -0
  374. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/build_command_reference.py +0 -0
  375. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/build_registries.py +0 -0
  376. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/build_roadmap.py +0 -0
  377. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/check_anchors.py +0 -0
  378. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/check_licenses.py +0 -0
  379. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/check_required_checks.py +0 -0
  380. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/ensure_eval_corpus.sh +0 -0
  381. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/eval_explain.py +0 -0
  382. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/eval_gate.py +0 -0
  383. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/eval_recommend.py +0 -0
  384. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/eval_retrieval.py +0 -0
  385. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/eval_stats_summary.py +0 -0
  386. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/import_budget.py +0 -0
  387. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/lock_toolchain.py +0 -0
  388. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/mutation_gate.py +0 -0
  389. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/perf_gate.py +0 -0
  390. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/post_deploy_smoke.py +0 -0
  391. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/release_guard.py +0 -0
  392. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/scripts/release_preflight.py +0 -0
  393. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/setup.cfg +0 -0
  394. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/sonar-project.properties +0 -0
  395. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/style/README.md +0 -0
  396. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/style/boost.css +0 -0
  397. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/style/boost.js +0 -0
  398. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/style/demo.html +0 -0
  399. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/adapt.feature +0 -0
  400. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/browse.feature +0 -0
  401. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/count.feature +0 -0
  402. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/discover.feature +0 -0
  403. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/doctor.feature +0 -0
  404. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/environment.py +0 -0
  405. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/explain.feature +0 -0
  406. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/index.feature +0 -0
  407. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/install.feature +0 -0
  408. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/list.feature +0 -0
  409. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/mcp.feature +0 -0
  410. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/search.feature +0 -0
  411. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/steps/cli_steps.py +0 -0
  412. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/steps/discovery_steps.py +0 -0
  413. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/steps/mcp_steps.py +0 -0
  414. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/bdd/features/steps/quality_steps.py +0 -0
  415. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/conftest.py +0 -0
  416. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/eval/baseline.json +0 -0
  417. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/eval/explain.jsonl +0 -0
  418. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/eval/golden.jsonl +0 -0
  419. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/eval/recommend.jsonl +0 -0
  420. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/eval/taps.txt +0 -0
  421. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_capabilities_policy.py +0 -0
  422. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_adapt.py +0 -0
  423. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_bmad.py +0 -0
  424. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_configuration.py +0 -0
  425. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_discovery.py +0 -0
  426. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_hooks.py +0 -0
  427. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_info.py +0 -0
  428. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_intelligence.py +0 -0
  429. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_pkg.py +0 -0
  430. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_quality.py +0 -0
  431. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_taps.py +0 -0
  432. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_cli_team.py +0 -0
  433. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_everyday_loop.py +0 -0
  434. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_integrity_enforce.py +0 -0
  435. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_property_parsers.py +0 -0
  436. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_run.py +0 -0
  437. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_tap_signing.py +0 -0
  438. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/functional/test_workspace_scope.py +0 -0
  439. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/README.md +0 -0
  440. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  441. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  442. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  443. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  444. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  445. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  446. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  447. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  448. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  449. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  450. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  451. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  452. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  453. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  454. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  455. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  456. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  457. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  458. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  459. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  460. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/fuzz_frontmatter.py +0 -0
  461. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/fuzz/fuzz_registry.py +0 -0
  462. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/make_fixture.py +0 -0
  463. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/perf/test_benchmarks.py +0 -0
  464. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/smoke.sh +0 -0
  465. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_a11y_check.py +0 -0
  466. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_adapters.py +0 -0
  467. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_adapters_multi.py +0 -0
  468. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_adapters_runner.py +0 -0
  469. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_agents.py +0 -0
  470. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_ai.py +0 -0
  471. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_capabilities.py +0 -0
  472. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_catalog.py +0 -0
  473. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_check_anchors.py +0 -0
  474. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_check_licenses.py +0 -0
  475. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_claude_settings.py +0 -0
  476. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_cliparse.py +0 -0
  477. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_codeql_analysis_key.py +0 -0
  478. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_command_reference_fresh.py +0 -0
  479. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_community_health_files.py +0 -0
  480. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_config.py +0 -0
  481. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_dense.py +0 -0
  482. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_dense_fallback.py +0 -0
  483. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_dependabot_config.py +0 -0
  484. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_docs_pages_linked.py +0 -0
  485. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_docsite_chrome.py +0 -0
  486. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_ed25519.py +0 -0
  487. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_embed.py +0 -0
  488. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_errors_and_cli_table.py +0 -0
  489. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_eval_faithfulness.py +0 -0
  490. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_eval_gate.py +0 -0
  491. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_eval_metrics.py +0 -0
  492. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_eval_stats_summary.py +0 -0
  493. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_faithfulness.py +0 -0
  494. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_frontmatter.py +0 -0
  495. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_fuzz_targets.py +0 -0
  496. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_gitleaks_config.py +0 -0
  497. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_gitutil.py +0 -0
  498. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_imperative.py +0 -0
  499. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_import_budget.py +0 -0
  500. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_injectscan.py +0 -0
  501. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_installscan.py +0 -0
  502. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_integrity.py +0 -0
  503. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_journal.py +0 -0
  504. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_lockfile.py +0 -0
  505. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_logs.py +0 -0
  506. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_marketing_counts.py +0 -0
  507. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mcp.py +0 -0
  508. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mcp_install_scan.py +0 -0
  509. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mcpdecl.py +0 -0
  510. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mcphost.py +0 -0
  511. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_minisign.py +0 -0
  512. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mutation_hardening.py +0 -0
  513. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mutation_shards.py +0 -0
  514. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_mutmut_source_paths.py +0 -0
  515. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_nethttp.py +0 -0
  516. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_output.py +0 -0
  517. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_paths.py +0 -0
  518. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_perf_gate.py +0 -0
  519. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_pkg_confusions.py +0 -0
  520. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_pkg_injection.py +0 -0
  521. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_pkg_secrets.py +0 -0
  522. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_platform_pins.py +0 -0
  523. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_policy.py +0 -0
  524. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_post_deploy_smoke.py +0 -0
  525. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_projectlock.py +0 -0
  526. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_provenance.py +0 -0
  527. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_rag.py +0 -0
  528. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_registries_fresh.py +0 -0
  529. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_registry.py +0 -0
  530. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_registry_categories.py +0 -0
  531. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_release_guard.py +0 -0
  532. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_release_preflight.py +0 -0
  533. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_required_checks.py +0 -0
  534. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_resolve.py +0 -0
  535. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_roadmap_fresh.py +0 -0
  536. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_rules.py +0 -0
  537. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_scopes.py +0 -0
  538. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_secretscan.py +0 -0
  539. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_selfupdate.py +0 -0
  540. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_serve.py +0 -0
  541. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_spin.py +0 -0
  542. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_stackprobe.py +0 -0
  543. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_staleness.py +0 -0
  544. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_store.py +0 -0
  545. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_token_parity.py +0 -0
  546. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_toolchain_lock.py +0 -0
  547. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_trustaudit.py +0 -0
  548. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_typosquat.py +0 -0
  549. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_updatediff.py +0 -0
  550. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_util.py +0 -0
  551. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_version.py +0 -0
  552. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_workflow_timeouts.py +0 -0
  553. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/unit/test_workflows.py +0 -0
  554. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/visual/a11y_check.mjs +0 -0
  555. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/visual/console_check.mjs +0 -0
  556. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/visual/package-lock.json +0 -0
  557. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/tests/visual/package.json +0 -0
  558. {boost_skill_cli-1.0.298 → boost_skill_cli-1.0.299}/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.298
3
+ Version: 1.0.299
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.298'
22
- __version_tuple__ = version_tuple = (1, 0, 298)
21
+ __version__ = version = '1.0.299'
22
+ __version_tuple__ = version_tuple = (1, 0, 299)
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.298
3
+ Version: 1.0.299
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -506,6 +506,7 @@ tests/unit/test_mcphost.py
506
506
  tests/unit/test_minisign.py
507
507
  tests/unit/test_mutation_hardening.py
508
508
  tests/unit/test_mutation_shards.py
509
+ tests/unit/test_mutation_subfile_shards.py
509
510
  tests/unit/test_mutmut_source_paths.py
510
511
  tests/unit/test_nethttp.py
511
512
  tests/unit/test_output.py
@@ -0,0 +1,101 @@
1
+ ---
2
+ id: mutation-shard-floor-is-one-file
3
+ board: code
4
+ section: pipeline
5
+ status: shipped
6
+ category: CI speed
7
+ complexity: M
8
+ impact: Med
9
+ wow: 3
10
+ note: shard 0 is store.py alone — 9.3-11.7 min against a 6.1 even split
11
+ order: 61
12
+ owner: loop/mutation-subfile-shards
13
+ pr: 346
14
+ title: The mutation gate's floor is a single file &mdash; shard 0 <em>is</em> <code>store.py</code>
15
+ ---
16
+ Sharding took the mutation gate from ~28 minutes to ~12 (see
17
+ <code>mutation-gate-was-the-whole-critical-path</code>), but it cannot go lower without
18
+ splitting one file. Measured across four consecutive six-shard runs:
19
+
20
+ <code>638bffeb</code> ran 1.9, 3.9, 5.7, 6.7, 7.2, <b>11.7</b>&nbsp;minutes;
21
+ <code>02c18bd6</code> ran 2.7, 5.0, 5.2, 5.5, 5.9, <b>11.7</b>; <code>fc427839</code> ran 3.1,
22
+ 4.8, 5.3, 6.4, 7.3, <b>9.7</b>; and <code>f42e617b</code> ran 2.9, 4.9, 5.5, 6.6, 7.3,
23
+ <b>9.3</b>.
24
+ <b><code>mutation-shard (0)</code> was the slowest leg in all four.</b> Total work is
25
+ 36&ndash;37 job-minutes, so a perfectly even split would be <b>6.1</b>; the actual critical
26
+ path is 9.3&ndash;11.7, or <b>1.5&ndash;1.9&times;</b> that. The gap is not bad packing &mdash;
27
+ the planner balances mutant <em>count</em> to within 1.10&times; of ideal. It is that count is
28
+ a poor proxy for time: measured throughput spans <b>3.39 to 14.19 mutants/second</b>, because a
29
+ <code>store.py</code> mutant re-runs a far larger covering test set than an
30
+ <code>ed25519.py</code> one, and survivors run their tests to completion where kills exit early.
31
+
32
+ Re-weighting the planner by seconds would even out the <em>billed</em> minutes but not the wall
33
+ clock, because <code>store.py</code> is <b>1931 mutants (18.4% of the repo)</b> in one file and
34
+ longest-processing-time packing cannot place a single file across two bins. The floor is that
35
+ file.
36
+
37
+ The way under it: mutant names are addressable per function, so
38
+ <code>boost_cli.core.store.install_*</code> can be its own shard. That would bring the critical
39
+ path toward the 6.1-minute even split. Two things must survive the change &mdash;
40
+ <code>pattern_for()</code> still has to emit patterns that match nothing else, and
41
+ <code>cmd_merge</code>'s completeness assertion has to keep failing closed, since mutmut counts
42
+ an unrun mutant inside <code>total</code> and a partial merge would silently depress the score
43
+ rather than error.
44
+
45
+ <b>Shipped.</b> A file heavier than an even share is now split into one unit per top-level
46
+ function, and those units pack independently. <code>store.py</code>'s 31 functions come out as a
47
+ <b>complete partition</b> &mdash; each assigned exactly once, each matched by exactly one pattern
48
+ &mdash; and spread across all six shards, so no shard is more than <b>27%</b> store.py where one
49
+ was previously <b>100%</b>. By mutant count the critical path drops from <b>1931 to 1786</b>, i.e.
50
+ from 1.08&times; of ideal to <b>1.00&times;</b>, and the packing lands within 0.4% of a perfect
51
+ split (1777&ndash;1786 against an ideal 1779).
52
+
53
+ Both invariants are asserted rather than argued. Patterns anchor on the
54
+ <code>__mutmut_</code> suffix, which is what stops <code>install</code> swallowing
55
+ <code>install_from_path</code> &mdash; a real pair in this file. And the merge now <b>unions</b>
56
+ each shard's results: every shard writes a <code>.meta</code> listing every key in the file with
57
+ <code>None</code> against what it did not run, so a mutant is only "unrun" when it is
58
+ <code>None</code> everywhere. A function no shard was assigned therefore reddens the gate. That
59
+ was verified adversarially &mdash; a synthetic mutant name outside the enumerated partition matches
60
+ no shard's pattern, stays <code>None</code>, and is reported. Any file whose partition cannot be
61
+ enumerated exactly (a class with methods, a duplicate name, a syntax error) is left whole rather
62
+ than guessed at.
63
+
64
+ <b>Splitting alone was not enough, and the first green run proved it.</b> With
65
+ <code>store.py</code> divided, <code>mutation-shard (0)</code> fell from 9.3&ndash;11.7 minutes to
66
+ <b>4.7</b> &mdash; it is no longer the slowest leg, which is exactly what the card predicted. But
67
+ shard 3 became the new bottleneck at <b>10.3</b> minutes, leaving the run at 1.6&times; ideal. The
68
+ diagnosis above was right and incomplete: counts were balanced to 0.4%, and the <em>time</em>
69
+ spread across shards was still 2.6&times;.
70
+
71
+ So the second half is weighting by measured time, which a divisible file finally makes possible.
72
+ <code>weights</code> now records mutmut's per-mutant durations and the planner prefers them. The
73
+ count-based split, balanced to <b>1.08&times;</b> of ideal <i>by count</i>, was <b>2.24&times;</b> of
74
+ ideal <i>by time</i> &mdash; one shard carrying 39.3 minutes of summed test time against a
75
+ 17.5-minute even share.
76
+
77
+ <b>Measured, that bought less than the arithmetic suggested.</b> Time-weighting moved the critical
78
+ path from 10.3 to <b>9.3</b> minutes (shards 5.2, 5.8, 6.3, 6.8, 6.2, 9.3), 1.41&times; ideal rather
79
+ than the 1.04&times; the summed-time model predicted. Summed test time is not shard wall clock:
80
+ mutmut runs mutants across parallel workers, so a shard's elapsed time is its summed time divided by
81
+ an effective worker count, and the model ignored that. Per-shard fixed overhead was ruled out by
82
+ measurement rather than assumed &mdash; checkout, venv and install together are <b>0.4 minutes</b>,
83
+ against 4.8&ndash;8.9 minutes inside <code>mutmut run</code> itself.
84
+
85
+ The residual had a specific cause, and it is the same proxy error one level down: a split file's
86
+ time was apportioned across its functions by <em>mutant count</em>. Across
87
+ <code>store.py</code>'s functions the per-mutant cost spans <b>0.273 s to 3.900 s</b> &mdash;
88
+ <b>14.3&times;</b> &mdash; and <code>install</code> alone is <b>36%</b> of the file's time from
89
+ <b>12%</b> of its mutants, so the shard that drew it ran 8.9 minutes against a 4.8-minute sibling.
90
+ <code>weights</code> now records per-<em>function</em> durations too and apportions on those, which
91
+ balances the plan to <b>0.06%</b>. Whether that closes the wall-clock gap is a claim the next run
92
+ gets to settle, not this card.
93
+
94
+ Two bugs found by running it rather than reasoning about it. mutmut records durations in
95
+ <b>seconds</b>, so summing them into a field named <code>millis</code> understated
96
+ <code>store.py</code>'s 2360 seconds of test time as 2.4 &mdash; a 1000&times; mislabel. And
97
+ requiring a duration for <i>every</i> file before trusting the tier was too brittle to fire: one
98
+ file of 46 (<code>util.py</code>) came back short on the first run, which would have silently
99
+ dropped the planner back to counting mutants and looked like the feature simply not working. A
100
+ missing file is now imputed at the measured mean rate, which keeps every weight in one unit
101
+ &mdash; the property that actually matters.
@@ -2495,7 +2495,7 @@ toward the 5.1-minute even split of the 30.8 minutes of total work.</p>
2495
2495
  </article>
2496
2496
 
2497
2497
  <article class="cap rcard" id="mutation-shard-floor-is-one-file">
2498
- <div class="head"><span class="pill planned">Planned</span><span class="cat">CI speed</span></div>
2498
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">CI speed</span></div>
2499
2499
  <h3>The mutation gate's floor is a single file &mdash; shard 0 <em>is</em> <code>store.py</code></h3>
2500
2500
  <p>Sharding took the mutation gate from ~28 minutes to ~12 (see
2501
2501
  <code>mutation-gate-was-the-whole-critical-path</code>), but it cannot go lower without
@@ -2524,7 +2524,65 @@ path toward the 6.1-minute even split. Two things must survive the change &mdash
2524
2524
  <code>pattern_for()</code> still has to emit patterns that match nothing else, and
2525
2525
  <code>cmd_merge</code>'s completeness assertion has to keep failing closed, since mutmut counts
2526
2526
  an unrun mutant inside <code>total</code> and a partial merge would silently depress the score
2527
- rather than error.</p>
2527
+ rather than error.
2528
+
2529
+ <b>Shipped.</b> A file heavier than an even share is now split into one unit per top-level
2530
+ function, and those units pack independently. <code>store.py</code>'s 31 functions come out as a
2531
+ <b>complete partition</b> &mdash; each assigned exactly once, each matched by exactly one pattern
2532
+ &mdash; and spread across all six shards, so no shard is more than <b>27%</b> store.py where one
2533
+ was previously <b>100%</b>. By mutant count the critical path drops from <b>1931 to 1786</b>, i.e.
2534
+ from 1.08&times; of ideal to <b>1.00&times;</b>, and the packing lands within 0.4% of a perfect
2535
+ split (1777&ndash;1786 against an ideal 1779).
2536
+
2537
+ Both invariants are asserted rather than argued. Patterns anchor on the
2538
+ <code>__mutmut_</code> suffix, which is what stops <code>install</code> swallowing
2539
+ <code>install_from_path</code> &mdash; a real pair in this file. And the merge now <b>unions</b>
2540
+ each shard's results: every shard writes a <code>.meta</code> listing every key in the file with
2541
+ <code>None</code> against what it did not run, so a mutant is only "unrun" when it is
2542
+ <code>None</code> everywhere. A function no shard was assigned therefore reddens the gate. That
2543
+ was verified adversarially &mdash; a synthetic mutant name outside the enumerated partition matches
2544
+ no shard's pattern, stays <code>None</code>, and is reported. Any file whose partition cannot be
2545
+ enumerated exactly (a class with methods, a duplicate name, a syntax error) is left whole rather
2546
+ than guessed at.
2547
+
2548
+ <b>Splitting alone was not enough, and the first green run proved it.</b> With
2549
+ <code>store.py</code> divided, <code>mutation-shard (0)</code> fell from 9.3&ndash;11.7 minutes to
2550
+ <b>4.7</b> &mdash; it is no longer the slowest leg, which is exactly what the card predicted. But
2551
+ shard 3 became the new bottleneck at <b>10.3</b> minutes, leaving the run at 1.6&times; ideal. The
2552
+ diagnosis above was right and incomplete: counts were balanced to 0.4%, and the <em>time</em>
2553
+ spread across shards was still 2.6&times;.
2554
+
2555
+ So the second half is weighting by measured time, which a divisible file finally makes possible.
2556
+ <code>weights</code> now records mutmut's per-mutant durations and the planner prefers them. The
2557
+ count-based split, balanced to <b>1.08&times;</b> of ideal <i>by count</i>, was <b>2.24&times;</b> of
2558
+ ideal <i>by time</i> &mdash; one shard carrying 39.3 minutes of summed test time against a
2559
+ 17.5-minute even share.
2560
+
2561
+ <b>Measured, that bought less than the arithmetic suggested.</b> Time-weighting moved the critical
2562
+ path from 10.3 to <b>9.3</b> minutes (shards 5.2, 5.8, 6.3, 6.8, 6.2, 9.3), 1.41&times; ideal rather
2563
+ than the 1.04&times; the summed-time model predicted. Summed test time is not shard wall clock:
2564
+ mutmut runs mutants across parallel workers, so a shard's elapsed time is its summed time divided by
2565
+ an effective worker count, and the model ignored that. Per-shard fixed overhead was ruled out by
2566
+ measurement rather than assumed &mdash; checkout, venv and install together are <b>0.4 minutes</b>,
2567
+ against 4.8&ndash;8.9 minutes inside <code>mutmut run</code> itself.
2568
+
2569
+ The residual had a specific cause, and it is the same proxy error one level down: a split file's
2570
+ time was apportioned across its functions by <em>mutant count</em>. Across
2571
+ <code>store.py</code>'s functions the per-mutant cost spans <b>0.273 s to 3.900 s</b> &mdash;
2572
+ <b>14.3&times;</b> &mdash; and <code>install</code> alone is <b>36%</b> of the file's time from
2573
+ <b>12%</b> of its mutants, so the shard that drew it ran 8.9 minutes against a 4.8-minute sibling.
2574
+ <code>weights</code> now records per-<em>function</em> durations too and apportions on those, which
2575
+ balances the plan to <b>0.06%</b>. Whether that closes the wall-clock gap is a claim the next run
2576
+ gets to settle, not this card.
2577
+
2578
+ Two bugs found by running it rather than reasoning about it. mutmut records durations in
2579
+ <b>seconds</b>, so summing them into a field named <code>millis</code> understated
2580
+ <code>store.py</code>'s 2360 seconds of test time as 2.4 &mdash; a 1000&times; mislabel. And
2581
+ requiring a duration for <i>every</i> file before trusting the tier was too brittle to fire: one
2582
+ file of 46 (<code>util.py</code>) came back short on the first run, which would have silently
2583
+ dropped the planner back to counting mutants and looked like the feature simply not working. A
2584
+ missing file is now imputed at the measured mean rate, which keeps every weight in one unit
2585
+ &mdash; the property that actually matters.</p>
2528
2586
  <div class="meta">
2529
2587
  <span class="m">Complexity <b>M</b></span>
2530
2588
  <span class="m">Impact <b>Med</b></span>