boost-skill-cli 1.0.349__tar.gz → 1.0.350__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 (593) hide show
  1. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
  5. boost_skill_cli-1.0.350/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +47 -0
  6. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +46 -1
  7. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap.html +90 -3
  8. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.gitattributes +0 -0
  9. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.gitignore +0 -0
  10. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.gitleaks.toml +0 -0
  11. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.htmlvalidate.json +0 -0
  12. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.lighthouserc.json +0 -0
  13. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.lycheeignore +0 -0
  14. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.markdownlint-cli2.jsonc +0 -0
  15. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.pre-commit-config.yaml +0 -0
  16. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.stylelintrc.json +0 -0
  17. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.vale/styles/boost/Terminology.yml +0 -0
  18. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  19. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/.vale.ini +0 -0
  20. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/CLAUDE.md +0 -0
  21. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/CODE_OF_CONDUCT.md +0 -0
  22. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/CONTRIBUTING.md +0 -0
  23. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/LICENSE +0 -0
  24. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/MANIFEST.in +0 -0
  25. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/Makefile +0 -0
  26. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/README.md +0 -0
  27. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/SECURITY.md +0 -0
  28. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost +0 -0
  29. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/__init__.py +0 -0
  30. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/__main__.py +0 -0
  31. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/cli.py +0 -0
  32. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/cliparse.py +0 -0
  33. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/__init__.py +0 -0
  34. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/_common.py +0 -0
  35. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/bmad.py +0 -0
  36. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/configuration.py +0 -0
  37. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/discovery.py +0 -0
  38. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/hooks.py +0 -0
  39. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/info.py +0 -0
  40. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/intelligence.py +0 -0
  41. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/pkg.py +0 -0
  42. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/quality.py +0 -0
  43. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/run.py +0 -0
  44. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/safety.py +0 -0
  45. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/taps.py +0 -0
  46. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/commands/team.py +0 -0
  47. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/__init__.py +0 -0
  48. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/adapters.py +0 -0
  49. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/agents.py +0 -0
  50. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/ai.py +0 -0
  51. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/capabilities.py +0 -0
  52. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/catalog.py +0 -0
  53. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/chat.py +0 -0
  54. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/claude_settings.py +0 -0
  55. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/config.py +0 -0
  56. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/dense.py +0 -0
  57. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/ed25519.py +0 -0
  58. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/embed.py +0 -0
  59. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/faithfulness.py +0 -0
  60. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/frontmatter.py +0 -0
  61. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/gitutil.py +0 -0
  62. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/imperative.py +0 -0
  63. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/injectscan.py +0 -0
  64. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/installscan.py +0 -0
  65. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/integrity.py +0 -0
  66. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/journal.py +0 -0
  67. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/localembed.py +0 -0
  68. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/lockfile.py +0 -0
  69. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/logs.py +0 -0
  70. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/mcp.py +0 -0
  71. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/mcpdecl.py +0 -0
  72. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/mcphost.py +0 -0
  73. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/minisign.py +0 -0
  74. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/nethttp.py +0 -0
  75. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/output.py +0 -0
  76. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/paths.py +0 -0
  77. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/policy.py +0 -0
  78. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/projectlock.py +0 -0
  79. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/provenance.py +0 -0
  80. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/rag.py +0 -0
  81. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/registry.py +0 -0
  82. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/resolve.py +0 -0
  83. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/rules.py +0 -0
  84. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/scopes.py +0 -0
  85. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/secretscan.py +0 -0
  86. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/selfupdate.py +0 -0
  87. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/serve.py +0 -0
  88. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/stackprobe.py +0 -0
  89. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/staleness.py +0 -0
  90. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/store.py +0 -0
  91. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/trustaudit.py +0 -0
  92. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/typosquat.py +0 -0
  93. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/updatediff.py +0 -0
  94. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/util.py +0 -0
  95. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/core/workflows.py +0 -0
  96. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/data/registries.json +0 -0
  97. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/errors.py +0 -0
  98. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_cli/spin.py +0 -0
  99. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  100. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  101. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_skill_cli.egg-info/requires.txt +0 -0
  102. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/boost_skill_cli.egg-info/top_level.txt +0 -0
  103. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/codecov.yml +0 -0
  104. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/.claude/settings.local.json +0 -0
  105. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/DEBUGGING.md +0 -0
  106. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/adapters.html +0 -0
  107. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/architecture/README.md +0 -0
  108. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/architecture/c4-components-core.md +0 -0
  109. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/architecture/c4-containers.md +0 -0
  110. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/architecture/c4-context.md +0 -0
  111. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/architecture/c4-dynamic-install.md +0 -0
  112. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/distill.gif +0 -0
  113. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/doctor.gif +0 -0
  114. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/explain.gif +0 -0
  115. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/hooks.gif +0 -0
  116. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/install.gif +0 -0
  117. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/pulse.gif +0 -0
  118. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/search.gif +0 -0
  119. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/gifs/tap.gif +0 -0
  120. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/distill.tape +0 -0
  121. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/doctor.tape +0 -0
  122. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/explain.tape +0 -0
  123. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/hooks.tape +0 -0
  124. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/install.tape +0 -0
  125. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/pulse.tape +0 -0
  126. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/search.tape +0 -0
  127. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel/tapes/tap.tape +0 -0
  128. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/carousel.html +0 -0
  129. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/chat.html +0 -0
  130. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/commands.html +0 -0
  131. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/demo-index.json +0 -0
  132. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/demo.gif +0 -0
  133. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/demo.html +0 -0
  134. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/demo.tape +0 -0
  135. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/design-roadmap.html +0 -0
  136. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/eval.html +0 -0
  137. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/index.html +0 -0
  138. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/mcp-hub.html +0 -0
  139. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/rag-architecture.md +0 -0
  140. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D01.md +0 -0
  141. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D02.md +0 -0
  142. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D03.md +0 -0
  143. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D04.md +0 -0
  144. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D05.md +0 -0
  145. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D06.md +0 -0
  146. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D07.md +0 -0
  147. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D08.md +0 -0
  148. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D09.md +0 -0
  149. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D10.md +0 -0
  150. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D11.md +0 -0
  151. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D12.md +0 -0
  152. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D13.md +0 -0
  153. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D14.md +0 -0
  154. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D15.md +0 -0
  155. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D16.md +0 -0
  156. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D17.md +0 -0
  157. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D18.md +0 -0
  158. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D19.md +0 -0
  159. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D20.md +0 -0
  160. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D21.md +0 -0
  161. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D22.md +0 -0
  162. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D23.md +0 -0
  163. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D24.md +0 -0
  164. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D25.md +0 -0
  165. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/BOOST-D26.md +0 -0
  166. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  167. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  168. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  169. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  170. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  171. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  172. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  173. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  174. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  175. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  176. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  177. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  178. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  179. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  180. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  181. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  182. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  183. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  184. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  185. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  186. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  187. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  188. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  189. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  190. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/command-carousel-page.md +0 -0
  191. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  192. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  193. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  194. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  195. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  196. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  197. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  198. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  199. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  200. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  201. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  202. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  203. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  204. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  205. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  206. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  207. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  208. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  209. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  210. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  211. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  212. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  213. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  214. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  215. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  216. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  217. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  218. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  219. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  220. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  221. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/github-community-health-files.md +0 -0
  222. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  223. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  224. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  225. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  226. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  227. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  228. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  229. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  230. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  231. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  232. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  233. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  234. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  235. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  236. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  237. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  238. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  239. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  240. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  241. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  242. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  243. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  244. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  245. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  246. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  247. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  248. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  249. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  250. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  251. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  252. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  253. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  254. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  255. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  256. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  257. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  258. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  259. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  260. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  261. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  262. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  263. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  264. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  265. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  266. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  267. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  268. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  269. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  270. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  271. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  272. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  273. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  274. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  275. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  276. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  277. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  278. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  279. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  280. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  281. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  282. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  283. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  284. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  285. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  286. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  287. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  288. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  289. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  290. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  291. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  292. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  293. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  294. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  295. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  296. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  297. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  298. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  299. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  300. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  301. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  302. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  303. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  304. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  305. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  306. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  307. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  308. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  309. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  310. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  311. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  312. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  313. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  314. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  315. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  316. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  317. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  318. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  319. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  320. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  321. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  322. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  323. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  324. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  325. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  326. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  327. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  328. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  329. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  330. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  331. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  332. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  333. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  334. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  335. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  336. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  337. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  338. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  339. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  340. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  341. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  342. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  343. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  344. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  345. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  346. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  347. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  348. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  349. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  350. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  351. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  352. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  353. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  354. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  355. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  356. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  357. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/workspace-scope-install.md +0 -0
  358. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  359. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/eslint.config.mjs +0 -0
  360. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/README.md +0 -0
  361. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/__init__.py +0 -0
  362. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/baseline.json +0 -0
  363. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/faithfulness.py +0 -0
  364. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/golden_set.json +0 -0
  365. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/make_corpus.py +0 -0
  366. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/make_golden.py +0 -0
  367. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/metrics.py +0 -0
  368. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/evals/run_evals.py +0 -0
  369. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/examples/README.md +0 -0
  370. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/examples/adapt-demo.sh +0 -0
  371. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/examples/boost-run-prototype.sh +0 -0
  372. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/index.html +0 -0
  373. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/noxfile.py +0 -0
  374. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/pyproject.toml +0 -0
  375. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/coverage-tools.in +0 -0
  376. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/coverage-tools.txt +0 -0
  377. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/lint-tools.in +0 -0
  378. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/lint-tools.txt +0 -0
  379. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/mutation-tools.in +0 -0
  380. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/mutation-tools.txt +0 -0
  381. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/platform-pins.lock +0 -0
  382. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/release-tools.in +0 -0
  383. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/release-tools.txt +0 -0
  384. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/test-tools.in +0 -0
  385. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/requirements/test-tools.txt +0 -0
  386. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/a11y_check.py +0 -0
  387. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/bench_cli.sh +0 -0
  388. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/build_command_reference.py +0 -0
  389. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/build_demo_index.py +0 -0
  390. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/build_registries.py +0 -0
  391. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/build_roadmap.py +0 -0
  392. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/check_anchors.py +0 -0
  393. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/check_licenses.py +0 -0
  394. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/check_required_checks.py +0 -0
  395. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/ensure_eval_corpus.sh +0 -0
  396. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/eval_explain.py +0 -0
  397. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/eval_gate.py +0 -0
  398. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/eval_recommend.py +0 -0
  399. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/eval_retrieval.py +0 -0
  400. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/eval_stats_summary.py +0 -0
  401. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/import_budget.py +0 -0
  402. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/lock_toolchain.py +0 -0
  403. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/mutation_gate.py +0 -0
  404. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/mutation_shards.py +0 -0
  405. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/mutation_weights.json +0 -0
  406. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/perf_gate.py +0 -0
  407. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/post_deploy_smoke.py +0 -0
  408. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/release_guard.py +0 -0
  409. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/scripts/release_preflight.py +0 -0
  410. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/setup.cfg +0 -0
  411. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/sonar-project.properties +0 -0
  412. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/style/README.md +0 -0
  413. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/style/boost.css +0 -0
  414. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/style/boost.js +0 -0
  415. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/style/demo.html +0 -0
  416. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/adapt.feature +0 -0
  417. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/browse.feature +0 -0
  418. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/count.feature +0 -0
  419. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/discover.feature +0 -0
  420. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/doctor.feature +0 -0
  421. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/environment.py +0 -0
  422. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/explain.feature +0 -0
  423. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/index.feature +0 -0
  424. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/install.feature +0 -0
  425. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/list.feature +0 -0
  426. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/mcp.feature +0 -0
  427. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/search.feature +0 -0
  428. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/steps/cli_steps.py +0 -0
  429. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/steps/discovery_steps.py +0 -0
  430. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/steps/mcp_steps.py +0 -0
  431. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/bdd/features/steps/quality_steps.py +0 -0
  432. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/conftest.py +0 -0
  433. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/eval/baseline.json +0 -0
  434. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/eval/explain.jsonl +0 -0
  435. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/eval/golden-natural.jsonl +0 -0
  436. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/eval/golden.jsonl +0 -0
  437. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/eval/recommend.jsonl +0 -0
  438. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/eval/taps.txt +0 -0
  439. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_capabilities_policy.py +0 -0
  440. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_adapt.py +0 -0
  441. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_bmad.py +0 -0
  442. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_chat.py +0 -0
  443. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_configuration.py +0 -0
  444. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_discovery.py +0 -0
  445. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_hooks.py +0 -0
  446. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_info.py +0 -0
  447. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_intelligence.py +0 -0
  448. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_pkg.py +0 -0
  449. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_quality.py +0 -0
  450. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_taps.py +0 -0
  451. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_cli_team.py +0 -0
  452. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_everyday_loop.py +0 -0
  453. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_integrity_enforce.py +0 -0
  454. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_property_parsers.py +0 -0
  455. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_run.py +0 -0
  456. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_tap_signing.py +0 -0
  457. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/functional/test_workspace_scope.py +0 -0
  458. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/README.md +0 -0
  459. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  460. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  461. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  462. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  463. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  464. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  465. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  466. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  467. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  468. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  469. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  470. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  471. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  472. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  473. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  474. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  475. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  476. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  477. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  478. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  479. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/fuzz_frontmatter.py +0 -0
  480. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/fuzz/fuzz_registry.py +0 -0
  481. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/make_fixture.py +0 -0
  482. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/perf/test_benchmarks.py +0 -0
  483. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/smoke.sh +0 -0
  484. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_a11y_check.py +0 -0
  485. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_adapters.py +0 -0
  486. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_adapters_multi.py +0 -0
  487. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_adapters_runner.py +0 -0
  488. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_agents.py +0 -0
  489. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_ai.py +0 -0
  490. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_capabilities.py +0 -0
  491. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_catalog.py +0 -0
  492. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_chat.py +0 -0
  493. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_check_anchors.py +0 -0
  494. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_check_licenses.py +0 -0
  495. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_claude_settings.py +0 -0
  496. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_cliparse.py +0 -0
  497. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_codeql_analysis_key.py +0 -0
  498. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_command_reference_fresh.py +0 -0
  499. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_community_health_files.py +0 -0
  500. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_config.py +0 -0
  501. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_content_dedupe.py +0 -0
  502. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dedup_trust.py +0 -0
  503. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_demo_index.py +0 -0
  504. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dense.py +0 -0
  505. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dense_fallback.py +0 -0
  506. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dense_fix_hint.py +0 -0
  507. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dense_shards.py +0 -0
  508. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dense_status.py +0 -0
  509. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_dependabot_config.py +0 -0
  510. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_docs_pages_linked.py +0 -0
  511. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_docsite_chrome.py +0 -0
  512. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_ed25519.py +0 -0
  513. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_embed.py +0 -0
  514. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_embed_local.py +0 -0
  515. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_entry_key.py +0 -0
  516. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_errors_and_cli_table.py +0 -0
  517. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_eval_baseline.py +0 -0
  518. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_eval_faithfulness.py +0 -0
  519. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_eval_gate.py +0 -0
  520. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_eval_metrics.py +0 -0
  521. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_eval_stats_summary.py +0 -0
  522. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_faithfulness.py +0 -0
  523. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_frontmatter.py +0 -0
  524. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_fuzz_targets.py +0 -0
  525. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_gitleaks_config.py +0 -0
  526. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_gitutil.py +0 -0
  527. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_imperative.py +0 -0
  528. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_import_budget.py +0 -0
  529. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_injectscan.py +0 -0
  530. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_installscan.py +0 -0
  531. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_integrity.py +0 -0
  532. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_journal.py +0 -0
  533. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_localembed.py +0 -0
  534. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_localembed_e2e.py +0 -0
  535. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_lockfile.py +0 -0
  536. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_logs.py +0 -0
  537. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_marketing_counts.py +0 -0
  538. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mcp.py +0 -0
  539. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mcp_install_scan.py +0 -0
  540. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mcpdecl.py +0 -0
  541. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mcphost.py +0 -0
  542. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_minisign.py +0 -0
  543. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mutation_hardening.py +0 -0
  544. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mutation_shards.py +0 -0
  545. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mutation_subfile_shards.py +0 -0
  546. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_mutmut_source_paths.py +0 -0
  547. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_nethttp.py +0 -0
  548. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_output.py +0 -0
  549. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_paths.py +0 -0
  550. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_perf_gate.py +0 -0
  551. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_pkg_confusions.py +0 -0
  552. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_pkg_injection.py +0 -0
  553. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_pkg_secrets.py +0 -0
  554. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_platform_pins.py +0 -0
  555. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_policy.py +0 -0
  556. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_post_deploy_smoke.py +0 -0
  557. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_project_mcp_sidecar.py +0 -0
  558. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_projectlock.py +0 -0
  559. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_provenance.py +0 -0
  560. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_rag.py +0 -0
  561. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_rag_fusion.py +0 -0
  562. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_registries_fresh.py +0 -0
  563. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_registry.py +0 -0
  564. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_registry_categories.py +0 -0
  565. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_release_guard.py +0 -0
  566. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_release_preflight.py +0 -0
  567. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_required_checks.py +0 -0
  568. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_resolve.py +0 -0
  569. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_roadmap_fresh.py +0 -0
  570. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_rules.py +0 -0
  571. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_scopes.py +0 -0
  572. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_secretscan.py +0 -0
  573. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_selfupdate.py +0 -0
  574. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_serve.py +0 -0
  575. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_spin.py +0 -0
  576. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_stackprobe.py +0 -0
  577. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_staleness.py +0 -0
  578. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_store.py +0 -0
  579. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_token_parity.py +0 -0
  580. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_toolchain_lock.py +0 -0
  581. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_trustaudit.py +0 -0
  582. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_typosquat.py +0 -0
  583. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_updatediff.py +0 -0
  584. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_util.py +0 -0
  585. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_version.py +0 -0
  586. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_workflow_concurrency.py +0 -0
  587. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_workflow_timeouts.py +0 -0
  588. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/unit/test_workflows.py +0 -0
  589. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/visual/a11y_check.mjs +0 -0
  590. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/visual/console_check.mjs +0 -0
  591. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/visual/package-lock.json +0 -0
  592. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/tests/visual/package.json +0 -0
  593. {boost_skill_cli-1.0.349 → boost_skill_cli-1.0.350}/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.349
3
+ Version: 1.0.350
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.349'
22
- __version_tuple__ = version_tuple = (1, 0, 349)
21
+ __version__ = version = '1.0.350'
22
+ __version_tuple__ = version_tuple = (1, 0, 350)
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.349
3
+ Version: 1.0.350
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -211,6 +211,7 @@ docs/roadmap/items/docstring-coverage-interrogate.md
211
211
  docs/roadmap/items/doctor-checks-rules-and-workflows.md
212
212
  docs/roadmap/items/end-of-options-guard-on-git-commands.md
213
213
  docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md
214
+ docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md
214
215
  docs/roadmap/items/extension-free-tests-core-dense-py.md
215
216
  docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md
216
217
  docs/roadmap/items/finish-mutation-hardening-across-core.md
@@ -0,0 +1,47 @@
1
+ ---
2
+ id: eval-corpus-is-96x-smaller-than-a-real-install
3
+ board: code
4
+ section: internals
5
+ status: planned
6
+ category: Eval · Correctness
7
+ complexity: M
8
+ impact: High
9
+ wow: 4
10
+ note: BM25 hit@1 is 0.340 on the pinned corpus and 0.040 on a real one
11
+ order: 80
12
+ owner:
13
+ pr:
14
+ title: The eval corpus is 96× smaller than a real install, and the floors describe the small one
15
+ ---
16
+ <b>The required <code>eval</code> gate measures a catalogue almost nobody has.</b>
17
+ <code>tests/eval/taps.txt</code> pins 20 registries resolving to <b>743</b> entries. A real install
18
+ that has run <code>boost tap</code> a few times is far bigger &mdash; the machine this was measured
19
+ on carries <b>71,655</b> entries across 77 taps, <b>96&times;</b> larger.
20
+
21
+ <b>The gap changes the answer, not just the margin.</b> Over the same 50 natural-language golden
22
+ queries, BM25 scores <code>hit@1</code> <b>0.340</b> on the pinned corpus (published in
23
+ <code>#373</code>) and <b>0.040</b> on the 71,655-entry one. Both numbers are correct; they are
24
+ measurements of different things. The targets have not gone missing &mdash; all 50 are present, and
25
+ spot-checking puts them at rank <b>7</b>, <b>8</b>, <b>38</b> and <b>163</b> rather than rank 1.
26
+ What changed is the number of plausible distractors competing for the top slot.
27
+
28
+ <b>Why this matters more than a number moving.</b> The <code>eval</code> gate floors BM25 recall@k
29
+ at 0.85 and passes with wide margin, which reads as &ldquo;retrieval is healthy&rdquo;. It is
30
+ healthy <em>at 743 entries</em>. Every retrieval decision validated against that corpus &mdash;
31
+ blend weights, pool depths, whether a reranker earns its keep &mdash; is being validated at a scale
32
+ users leave behind after their third tap. The near-duplicate card predicted exactly this shape when
33
+ it warned the lift may <em>shrink</em> toward 50k rather than hold; this is that warning arriving
34
+ with a number attached.
35
+
36
+ <b>What is not being proposed.</b> Not lowering the floor, and not making the corpus enormous:
37
+ <code>ensure_eval_corpus.sh</code> already taps 20 repos over the network inside the
38
+ <code>lint</code> job, and a 77-tap corpus would make the required gate slow and flaky. The useful
39
+ shape is probably a <b>second, larger tier</b> &mdash; scheduled rather than required, floored on
40
+ its own baseline &mdash; so the small corpus keeps gating every PR cheaply while the large one
41
+ catches the scale effects the small one structurally cannot. Measuring <em>where</em> between 743
42
+ and 71,655 the metrics fall off would tell you how large that tier needs to be, and is a smaller
43
+ first step than building it.
44
+
45
+ <b>Provenance:</b> found while running the spike in
46
+ [[keyless-dense-tier-local-static-embeddings]], where the first sign was BM25 scoring 0.040 in a
47
+ harness that had to be checked for a bug before the number could be believed.
@@ -7,7 +7,7 @@ category: Search · Retrieval
7
7
  complexity: L
8
8
  impact: High
9
9
  wow: 5
10
- note: semantic search with no key, no billing, no deps
10
+ note: spike done: the perf claims were 6-22x conservative, but rerank added +0 at real scale
11
11
  order: 73
12
12
  owner:
13
13
  pr:
@@ -77,3 +77,48 @@ that holds it is a difference of more than an order of magnitude on the doc side
77
77
  the cost that makes prebuilt shards mandatory today. Worth measuring the model2vec path directly
78
78
  before committing &mdash; but the gap it claims to close is now a measured number rather than an
79
79
  estimate.
80
+
81
+ <b>Spike done &mdash; the prerequisites this card set have all shipped, so the measurement it asked
82
+ for was finally runnable.</b> It says &ldquo;do not ship before the eval and dedup items&rdquo;;
83
+ dedup landed in <code>#370</code>, the index format in <code>#367</code>/<code>#371</code>, the
84
+ published eval in <code>#373</code>. What follows is <code>potion-retrieval-32M</code> (MIT, 63,091
85
+ &times; 512 F32 lookup table &mdash; confirmed a single tensor, no transformer) driven by a
86
+ hand-written pure-stdlib loader: WordPiece &rarr; gather rows &rarr; mean-pool &rarr; L2, mmap'd,
87
+ no numpy.
88
+
89
+ <b>The two unverified performance claims were not just right, they were conservative.</b> Query
90
+ embedding measured <b>0.16&nbsp;ms</b> against the card's <code>~1&nbsp;ms</code>. Document
91
+ embedding measured <b>1.34&nbsp;ms</b> on a synthetic 105-token doc and <b>3.27&nbsp;ms</b> on 300
92
+ real catalogue entries (median 61 tokens), against the card's <code>~29&nbsp;ms</code>.
93
+
94
+ <b>That reverses one of this card's design arguments.</b> The doc-side cost was the reason prebuilt
95
+ artifacts looked mandatory: &ldquo;29&nbsp;ms/doc in pure Python is ~24&nbsp;min for 50k
96
+ single-core&rdquo;. At the measured 3.27&nbsp;ms it is <b>2.7&nbsp;min</b> &mdash; roughly the time
97
+ a first <code>boost tap --defaults</code> already takes. Local embedding is therefore viable on the
98
+ user's own machine, and shipped shards become a genuine optimisation rather than a requirement. (Not
99
+ to be confused with the ONNX <code>bge-small</code> path measured at ~1.2&nbsp;s/chunk in
100
+ <code>keyless-semantic-search-for-everyone</code>; that number stands, and the gap between them
101
+ <em>is</em> the case for the static model.)
102
+
103
+ <b>But reranking bought nothing at real scale, which is the result that matters.</b> Over the 50
104
+ natural-language golden queries against a real <b>71,655-entry</b> catalogue, reranking BM25's
105
+ top-200 by cosine scored <code>hit@1</code> <b>2/50</b> &mdash; identical to BM25's own
106
+ <b>2/50</b>, a net change of <b>+0 queries</b> where this card's own statistics note says 6 net
107
+ queries is the smallest win reaching p&lt;0.05. On two hand-checked pairs the ordering was right but
108
+ the margin was thin (related 0.154 vs unrelated 0.097).
109
+
110
+ <b>Stated limits, because this does not settle the question.</b> The document vector was built from
111
+ <code>name + description</code> truncated to 1,500 characters, not the full body the real dense path
112
+ indexes, so this measures a weaker representation than the one being proposed. No blend was tried
113
+ &mdash; pure rerank, no <code>w_dense</code> &mdash; and this card explicitly asks for a held-out
114
+ blend weight and McNemar. What it does establish is that the <em>cheap</em> version of the idea does
115
+ not pay for itself, so the remaining work is representation and blending, not inference speed.
116
+
117
+ <b>An unrelated finding fell out of it, and it is the more important one.</b> BM25 scored
118
+ <code>hit@1</code> <b>0.040</b> here against the <b>0.340</b> published in <code>#373</code>. Both
119
+ are correct: the published figure is measured over the pinned 6-tap eval corpus of <b>743</b>
120
+ entries, and this run used a real 77-tap install &mdash; <b>96&times; larger</b>. Golden targets are
121
+ all present and rank 7th, 8th, 38th, 163rd rather than 1st. The eval corpus is not a scale model of
122
+ a real install, and the gate's floors describe a catalogue two orders of magnitude smaller than the
123
+ one users have. Tracked separately in [[eval-corpus-is-96x-smaller-than-a-real-install]].
124
+
@@ -125,7 +125,7 @@
125
125
  <div class="stat"><b>16</b><span>Shipped</span></div>
126
126
  <div class="stat"><b>1</b><span>Next up</span></div>
127
127
  <div class="stat"><b>4</b><span>Planned</span></div>
128
- <div class="stat"><b>194</b><span>Loop finds</span></div>
128
+ <div class="stat"><b>195</b><span>Loop finds</span></div>
129
129
  <!-- /ROADMAP:stats -->
130
130
  </div>
131
131
  </section>
@@ -2242,6 +2242,49 @@ killed by measurement rather than argument, and the one that cracked it was noti
2242
2242
  <span class="m">reds an unrelated PR, passes on rerun, cause unproven</span>
2243
2243
  </div>
2244
2244
  </article>
2245
+
2246
+ <article class="cap rcard" id="eval-corpus-is-96x-smaller-than-a-real-install">
2247
+ <div class="head"><span class="pill planned">Planned</span><span class="cat">Eval · Correctness</span></div>
2248
+ <h3>The eval corpus is 96&times; smaller than a real install, and the floors describe the small one</h3>
2249
+ <p><b>The required <code>eval</code> gate measures a catalogue almost nobody has.</b>
2250
+ <code>tests/eval/taps.txt</code> pins 20 registries resolving to <b>743</b> entries. A real install
2251
+ that has run <code>boost tap</code> a few times is far bigger &mdash; the machine this was measured
2252
+ on carries <b>71,655</b> entries across 77 taps, <b>96&times;</b> larger.
2253
+
2254
+ <b>The gap changes the answer, not just the margin.</b> Over the same 50 natural-language golden
2255
+ queries, BM25 scores <code>hit@1</code> <b>0.340</b> on the pinned corpus (published in
2256
+ <code>#373</code>) and <b>0.040</b> on the 71,655-entry one. Both numbers are correct; they are
2257
+ measurements of different things. The targets have not gone missing &mdash; all 50 are present, and
2258
+ spot-checking puts them at rank <b>7</b>, <b>8</b>, <b>38</b> and <b>163</b> rather than rank 1.
2259
+ What changed is the number of plausible distractors competing for the top slot.
2260
+
2261
+ <b>Why this matters more than a number moving.</b> The <code>eval</code> gate floors BM25 recall@k
2262
+ at 0.85 and passes with wide margin, which reads as &ldquo;retrieval is healthy&rdquo;. It is
2263
+ healthy <em>at 743 entries</em>. Every retrieval decision validated against that corpus &mdash;
2264
+ blend weights, pool depths, whether a reranker earns its keep &mdash; is being validated at a scale
2265
+ users leave behind after their third tap. The near-duplicate card predicted exactly this shape when
2266
+ it warned the lift may <em>shrink</em> toward 50k rather than hold; this is that warning arriving
2267
+ with a number attached.
2268
+
2269
+ <b>What is not being proposed.</b> Not lowering the floor, and not making the corpus enormous:
2270
+ <code>ensure_eval_corpus.sh</code> already taps 20 repos over the network inside the
2271
+ <code>lint</code> job, and a 77-tap corpus would make the required gate slow and flaky. The useful
2272
+ shape is probably a <b>second, larger tier</b> &mdash; scheduled rather than required, floored on
2273
+ its own baseline &mdash; so the small corpus keeps gating every PR cheaply while the large one
2274
+ catches the scale effects the small one structurally cannot. Measuring <em>where</em> between 743
2275
+ and 71,655 the metrics fall off would tell you how large that tier needs to be, and is a smaller
2276
+ first step than building it.
2277
+
2278
+ <b>Provenance:</b> found while running the spike in
2279
+ [[keyless-dense-tier-local-static-embeddings]], where the first sign was BM25 scoring 0.040 in a
2280
+ harness that had to be checked for a bug before the number could be believed.</p>
2281
+ <div class="meta">
2282
+ <span class="m">Complexity <b>M</b></span>
2283
+ <span class="m hi">Impact <b>High</b></span>
2284
+ <span class="m">Wow <b class="wow">★★★★</b></span>
2285
+ <span class="m">BM25 hit@1 is 0.340 on the pinned corpus and 0.040 on a real one</span>
2286
+ </div>
2287
+ </article>
2245
2288
  <!-- /ROADMAP:cards -->
2246
2289
 
2247
2290
  </div>
@@ -4347,12 +4390,56 @@ about 1.2 s per chunk. This card's static-embedding proposal claims ~29 ms/doc i
4347
4390
  that holds it is a difference of more than an order of magnitude on the doc side, which is exactly
4348
4391
  the cost that makes prebuilt shards mandatory today. Worth measuring the model2vec path directly
4349
4392
  before committing &mdash; but the gap it claims to close is now a measured number rather than an
4350
- estimate.</p>
4393
+ estimate.
4394
+
4395
+ <b>Spike done &mdash; the prerequisites this card set have all shipped, so the measurement it asked
4396
+ for was finally runnable.</b> It says &ldquo;do not ship before the eval and dedup items&rdquo;;
4397
+ dedup landed in <code>#370</code>, the index format in <code>#367</code>/<code>#371</code>, the
4398
+ published eval in <code>#373</code>. What follows is <code>potion-retrieval-32M</code> (MIT, 63,091
4399
+ &times; 512 F32 lookup table &mdash; confirmed a single tensor, no transformer) driven by a
4400
+ hand-written pure-stdlib loader: WordPiece &rarr; gather rows &rarr; mean-pool &rarr; L2, mmap'd,
4401
+ no numpy.
4402
+
4403
+ <b>The two unverified performance claims were not just right, they were conservative.</b> Query
4404
+ embedding measured <b>0.16&nbsp;ms</b> against the card's <code>~1&nbsp;ms</code>. Document
4405
+ embedding measured <b>1.34&nbsp;ms</b> on a synthetic 105-token doc and <b>3.27&nbsp;ms</b> on 300
4406
+ real catalogue entries (median 61 tokens), against the card's <code>~29&nbsp;ms</code>.
4407
+
4408
+ <b>That reverses one of this card's design arguments.</b> The doc-side cost was the reason prebuilt
4409
+ artifacts looked mandatory: &ldquo;29&nbsp;ms/doc in pure Python is ~24&nbsp;min for 50k
4410
+ single-core&rdquo;. At the measured 3.27&nbsp;ms it is <b>2.7&nbsp;min</b> &mdash; roughly the time
4411
+ a first <code>boost tap --defaults</code> already takes. Local embedding is therefore viable on the
4412
+ user's own machine, and shipped shards become a genuine optimisation rather than a requirement. (Not
4413
+ to be confused with the ONNX <code>bge-small</code> path measured at ~1.2&nbsp;s/chunk in
4414
+ <code>keyless-semantic-search-for-everyone</code>; that number stands, and the gap between them
4415
+ <em>is</em> the case for the static model.)
4416
+
4417
+ <b>But reranking bought nothing at real scale, which is the result that matters.</b> Over the 50
4418
+ natural-language golden queries against a real <b>71,655-entry</b> catalogue, reranking BM25's
4419
+ top-200 by cosine scored <code>hit@1</code> <b>2/50</b> &mdash; identical to BM25's own
4420
+ <b>2/50</b>, a net change of <b>+0 queries</b> where this card's own statistics note says 6 net
4421
+ queries is the smallest win reaching p&lt;0.05. On two hand-checked pairs the ordering was right but
4422
+ the margin was thin (related 0.154 vs unrelated 0.097).
4423
+
4424
+ <b>Stated limits, because this does not settle the question.</b> The document vector was built from
4425
+ <code>name + description</code> truncated to 1,500 characters, not the full body the real dense path
4426
+ indexes, so this measures a weaker representation than the one being proposed. No blend was tried
4427
+ &mdash; pure rerank, no <code>w_dense</code> &mdash; and this card explicitly asks for a held-out
4428
+ blend weight and McNemar. What it does establish is that the <em>cheap</em> version of the idea does
4429
+ not pay for itself, so the remaining work is representation and blending, not inference speed.
4430
+
4431
+ <b>An unrelated finding fell out of it, and it is the more important one.</b> BM25 scored
4432
+ <code>hit@1</code> <b>0.040</b> here against the <b>0.340</b> published in <code>#373</code>. Both
4433
+ are correct: the published figure is measured over the pinned 6-tap eval corpus of <b>743</b>
4434
+ entries, and this run used a real 77-tap install &mdash; <b>96&times; larger</b>. Golden targets are
4435
+ all present and rank 7th, 8th, 38th, 163rd rather than 1st. The eval corpus is not a scale model of
4436
+ a real install, and the gate's floors describe a catalogue two orders of magnitude smaller than the
4437
+ one users have. Tracked separately in [[eval-corpus-is-96x-smaller-than-a-real-install]].</p>
4351
4438
  <div class="meta">
4352
4439
  <span class="m">Complexity <b>L</b></span>
4353
4440
  <span class="m hi">Impact <b>High</b></span>
4354
4441
  <span class="m">Wow <b class="wow">★★★★★</b></span>
4355
- <span class="m">semantic search with no key, no billing, no deps</span>
4442
+ <span class="m">spike done: the perf claims were 6-22x conservative, but rerank added +0 at real scale</span>
4356
4443
  </div>
4357
4444
  </article>
4358
4445