boost-skill-cli 1.2.132__tar.gz → 1.2.134__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 (1070) hide show
  1. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/CLAUDE.md +30 -14
  2. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/Makefile +15 -9
  3. {boost_skill_cli-1.2.132/boost_skill_cli.egg-info → boost_skill_cli-1.2.134}/PKG-INFO +11 -4
  4. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/README.md +10 -3
  5. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/_version.py +2 -2
  6. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/cli.py +2 -2
  7. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/configuration.py +153 -82
  8. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/discovery.py +31 -5
  9. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/hooks.py +7 -2
  10. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/info.py +28 -20
  11. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/pkg.py +184 -77
  12. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/quality.py +36 -19
  13. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/quickstart.py +66 -13
  14. boost_skill_cli-1.2.134/boost_cli/core/bootstrap.py +343 -0
  15. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/catalog.py +35 -7
  16. boost_skill_cli-1.2.134/boost_cli/core/compact.py +186 -0
  17. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/complete.py +47 -10
  18. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/config.py +34 -13
  19. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/dense.py +35 -0
  20. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/embed.py +42 -0
  21. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/gitutil.py +13 -0
  22. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/jsonstate.py +12 -3
  23. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/localembed.py +153 -7
  24. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/lockfile.py +25 -29
  25. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/mcp.py +94 -17
  26. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/output.py +79 -25
  27. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/paths.py +11 -4
  28. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/policy.py +3 -11
  29. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/projectlock.py +3 -7
  30. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/rag.py +44 -17
  31. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/registry.py +13 -2
  32. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/shards.py +76 -3
  33. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/store.py +378 -78
  34. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/util.py +56 -2
  35. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/data/rules/boost-first.mdc +11 -8
  36. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134/boost_skill_cli.egg-info}/PKG-INFO +11 -4
  37. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_skill_cli.egg-info/SOURCES.txt +11 -0
  38. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/commands.html +6 -6
  39. boost_skill_cli-1.2.134/docs/demo.gif +0 -0
  40. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/eval.html +5 -5
  41. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/index.html +2 -2
  42. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/mcp-hub.html +7 -5
  43. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/rag-architecture.md +5 -4
  44. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-bundle-findings.md +37 -3
  45. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-changelog-findings.md +29 -3
  46. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +4 -4
  47. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-import-findings.md +3 -3
  48. boost_skill_cli-1.2.134/docs/roadmap/items/cache-writers-that-still-crash-on-a-read-only-cache.md +26 -0
  49. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/config-json-edge-shapes-crash-or-disagree.md +3 -3
  50. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +3 -3
  51. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +5 -3
  52. boost_skill_cli-1.2.134/docs/roadmap/items/err-colour-judged-by-stdout.md +39 -0
  53. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +12 -4
  54. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/hooks-list-drops-the-name-before-the-host.md +6 -4
  55. boost_skill_cli-1.2.134/docs/roadmap/items/identifier-columns-shrink-to-a-name-no-command-accepts.md +20 -0
  56. boost_skill_cli-1.2.134/docs/roadmap/items/keyed-no-store-hint-disagrees-with-shard-remedy.md +28 -0
  57. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +3 -3
  58. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +3 -3
  59. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +3 -3
  60. boost_skill_cli-1.2.134/docs/roadmap/items/read-only-boost-home-with-no-cache-dir.md +20 -0
  61. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +3 -3
  62. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +3 -1
  63. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap.html +134 -417
  64. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/build_scale_corpus.py +16 -7
  65. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_corpus.py +73 -18
  66. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_retrieval.py +14 -3
  67. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/conftest.py +110 -0
  68. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/taps-scale.txt +1 -1
  69. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/taps.txt +38 -23
  70. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_configuration.py +43 -6
  71. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_discovery.py +80 -0
  72. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_hooks.py +84 -0
  73. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_info.py +61 -0
  74. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_pkg.py +667 -0
  75. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_quality.py +227 -2
  76. boost_skill_cli-1.2.134/tests/functional/test_cli_quickstart.py +889 -0
  77. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_tap_pins.py +50 -0
  78. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_taps.py +26 -0
  79. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_builtin.py +36 -3
  80. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_catalog.py +52 -1
  81. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_cli_update_shards.py +39 -0
  82. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_complete.py +128 -1
  83. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_config.py +74 -0
  84. boost_skill_cli-1.2.134/tests/unit/test_corpus_prose.py +242 -0
  85. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_fix_hint.py +1 -0
  86. boost_skill_cli-1.2.134/tests/unit/test_dense_model_unavailable.py +613 -0
  87. boost_skill_cli-1.2.134/tests/unit/test_dry_run_parity.py +865 -0
  88. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_corpus.py +286 -26
  89. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_first_run_pointer.py +21 -1
  90. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_jsonstate.py +16 -0
  91. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_lockfile.py +44 -0
  92. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mcp.py +163 -35
  93. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mcp_read.py +13 -3
  94. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_output.py +250 -5
  95. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_output_table_drop.py +6 -4
  96. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_policy.py +8 -0
  97. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_projectlock.py +8 -0
  98. boost_skill_cli-1.2.134/tests/unit/test_quickstart_readiness.py +305 -0
  99. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_rag.py +108 -1
  100. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_registry.py +23 -0
  101. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_scale_corpus.py +21 -7
  102. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_shards.py +168 -0
  103. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_store.py +289 -0
  104. boost_skill_cli-1.2.134/tests/unit/test_upstream_path.py +169 -0
  105. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_util.py +66 -0
  106. boost_skill_cli-1.2.132/boost_cli/core/bootstrap.py +0 -137
  107. boost_skill_cli-1.2.132/docs/demo.gif +0 -0
  108. boost_skill_cli-1.2.132/tests/functional/test_cli_quickstart.py +0 -428
  109. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.gitattributes +0 -0
  110. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.gitignore +0 -0
  111. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.gitleaks.toml +0 -0
  112. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.htmlvalidate.json +0 -0
  113. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.lighthouserc.json +0 -0
  114. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.lycheeignore +0 -0
  115. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.markdownlint-cli2.jsonc +0 -0
  116. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.pre-commit-config.yaml +0 -0
  117. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.stylelintrc.json +0 -0
  118. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.vale/styles/boost/AIWriting.yml +0 -0
  119. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.vale/styles/boost/Terminology.yml +0 -0
  120. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  121. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/.vale.ini +0 -0
  122. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/CODE_OF_CONDUCT.md +0 -0
  123. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/CONTRIBUTING.md +0 -0
  124. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/DCO +0 -0
  125. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/GOVERNANCE.md +0 -0
  126. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/LICENSE +0 -0
  127. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/MAINTAINERS.md +0 -0
  128. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/MANIFEST.in +0 -0
  129. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/SECURITY.md +0 -0
  130. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/SUPPORT.md +0 -0
  131. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost +0 -0
  132. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/__init__.py +0 -0
  133. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/__main__.py +0 -0
  134. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/cliparse.py +0 -0
  135. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/__init__.py +0 -0
  136. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/_common.py +0 -0
  137. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/bmad.py +0 -0
  138. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/intelligence.py +0 -0
  139. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/run.py +0 -0
  140. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/safety.py +0 -0
  141. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/taps.py +0 -0
  142. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/commands/team.py +0 -0
  143. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/__init__.py +0 -0
  144. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/adapters.py +0 -0
  145. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/agents.py +0 -0
  146. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/ai.py +0 -0
  147. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/aihost.py +0 -0
  148. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/archive.py +0 -0
  149. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/bmad.py +0 -0
  150. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/browse.py +0 -0
  151. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/builtin.py +0 -0
  152. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/capabilities.py +0 -0
  153. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/catalogbundle.py +0 -0
  154. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/chat.py +0 -0
  155. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/claude_settings.py +0 -0
  156. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/cohort.py +0 -0
  157. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/deps.py +0 -0
  158. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/discovery.py +0 -0
  159. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/ed25519.py +0 -0
  160. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/faithfulness.py +0 -0
  161. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/frontmatter.py +0 -0
  162. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/hookhost.py +0 -0
  163. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/imperative.py +0 -0
  164. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/injectscan.py +0 -0
  165. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/installscan.py +0 -0
  166. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/integrity.py +0 -0
  167. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/journal.py +0 -0
  168. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/logs.py +0 -0
  169. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/mcpdecl.py +0 -0
  170. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/mcphost.py +0 -0
  171. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/minisign.py +0 -0
  172. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/nethttp.py +0 -0
  173. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/provenance.py +0 -0
  174. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/report.py +0 -0
  175. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/resolve.py +0 -0
  176. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/rules.py +0 -0
  177. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/scopes.py +0 -0
  178. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/secretscan.py +0 -0
  179. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/selfupdate.py +0 -0
  180. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/serve.py +0 -0
  181. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/stackprobe.py +0 -0
  182. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/staleness.py +0 -0
  183. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/trustaudit.py +0 -0
  184. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/typedvalue.py +0 -0
  185. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/typosquat.py +0 -0
  186. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/updatediff.py +0 -0
  187. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/core/workflows.py +0 -0
  188. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/data/registries.json +0 -0
  189. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/errors.py +0 -0
  190. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_cli/spin.py +0 -0
  191. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_langchain/__init__.py +0 -0
  192. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_langchain/_compat.py +0 -0
  193. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_langchain/graph.py +0 -0
  194. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_langchain/loader.py +0 -0
  195. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_langchain/py.typed +0 -0
  196. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_langchain/retriever.py +0 -0
  197. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  198. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  199. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_skill_cli.egg-info/requires.txt +0 -0
  200. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/boost_skill_cli.egg-info/top_level.txt +0 -0
  201. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/codecov.yml +0 -0
  202. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/.claude/settings.local.json +0 -0
  203. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/DEBUGGING.md +0 -0
  204. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/adapters.html +0 -0
  205. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/architecture/README.md +0 -0
  206. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/architecture/c4-components-core.md +0 -0
  207. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/architecture/c4-containers.md +0 -0
  208. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/architecture/c4-context.md +0 -0
  209. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/architecture/c4-dynamic-install.md +0 -0
  210. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/bmad.md +0 -0
  211. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/distill.gif +0 -0
  212. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/doctor.gif +0 -0
  213. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/explain.gif +0 -0
  214. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/hooks.gif +0 -0
  215. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/install.gif +0 -0
  216. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/pulse.gif +0 -0
  217. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/search.gif +0 -0
  218. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/gifs/tap.gif +0 -0
  219. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/distill.tape +0 -0
  220. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/doctor.tape +0 -0
  221. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/explain.tape +0 -0
  222. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/hooks.tape +0 -0
  223. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/install.tape +0 -0
  224. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/pulse.tape +0 -0
  225. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/search.tape +0 -0
  226. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel/tapes/tap.tape +0 -0
  227. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/carousel.html +0 -0
  228. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/chat.html +0 -0
  229. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/code-review.md +0 -0
  230. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/commit-audit.md +0 -0
  231. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/demo-index.json +0 -0
  232. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/demo.html +0 -0
  233. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/demo.tape +0 -0
  234. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/dependencies.md +0 -0
  235. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/design-roadmap.html +0 -0
  236. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/eval-latest.json +0 -0
  237. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/langchain.html +0 -0
  238. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/openssf-badge.md +0 -0
  239. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/openssf-playbook.md +0 -0
  240. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D01.md +0 -0
  241. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D02.md +0 -0
  242. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D03.md +0 -0
  243. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D04.md +0 -0
  244. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D05.md +0 -0
  245. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D06.md +0 -0
  246. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D07.md +0 -0
  247. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D08.md +0 -0
  248. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D09.md +0 -0
  249. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D10.md +0 -0
  250. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D11.md +0 -0
  251. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D12.md +0 -0
  252. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D13.md +0 -0
  253. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D14.md +0 -0
  254. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D15.md +0 -0
  255. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D16.md +0 -0
  256. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D17.md +0 -0
  257. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D18.md +0 -0
  258. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D19.md +0 -0
  259. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D20.md +0 -0
  260. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D21.md +0 -0
  261. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D22.md +0 -0
  262. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D23.md +0 -0
  263. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D24.md +0 -0
  264. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D25.md +0 -0
  265. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D26.md +0 -0
  266. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/BOOST-D27.md +0 -0
  267. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
  268. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  269. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  270. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  271. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  272. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  273. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  274. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  275. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  276. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  277. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  278. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-absorb-findings.md +0 -0
  279. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-adapt-findings.md +0 -0
  280. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
  281. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
  282. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
  283. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-attest-findings.md +0 -0
  284. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-audit-findings.md +0 -0
  285. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-bmad-findings.md +0 -0
  286. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-browse-findings.md +0 -0
  287. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-catalog-findings.md +0 -0
  288. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
  289. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-chat-findings.md +0 -0
  290. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
  291. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
  292. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-cohort-findings.md +0 -0
  293. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-completions-findings.md +0 -0
  294. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-config-findings.md +0 -0
  295. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
  296. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-context-findings.md +0 -0
  297. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
  298. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
  299. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-create-findings.md +0 -0
  300. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
  301. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-deps-findings.md +0 -0
  302. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-discover-findings.md +0 -0
  303. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
  304. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-doctor-findings.md +0 -0
  305. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-drift-findings.md +0 -0
  306. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-edit-findings.md +0 -0
  307. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-evolve-findings.md +0 -0
  308. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-explain-findings.md +0 -0
  309. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-export-findings.md +0 -0
  310. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
  311. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
  312. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
  313. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
  314. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
  315. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-health-findings.md +0 -0
  316. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
  317. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
  318. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-index-findings.md +0 -0
  319. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
  320. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
  321. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-install-findings.md +0 -0
  322. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
  323. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
  324. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-lint-findings.md +0 -0
  325. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-log-findings.md +0 -0
  326. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
  327. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-mcp-findings.md +0 -0
  328. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
  329. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
  330. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
  331. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-onboard-findings.md +0 -0
  332. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
  333. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
  334. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-outdated-findings.md +0 -0
  335. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
  336. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
  337. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-policy-findings.md +0 -0
  338. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-preview-findings.md +0 -0
  339. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-profile-findings.md +0 -0
  340. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
  341. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-protocol-findings.md +0 -0
  342. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-pulse-findings.md +0 -0
  343. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
  344. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
  345. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
  346. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-recommend-findings.md +0 -0
  347. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-reindex-findings.md +0 -0
  348. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
  349. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-replay-findings.md +0 -0
  350. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-root-findings.md +0 -0
  351. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
  352. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-run-findings.md +0 -0
  353. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-schedule-findings.md +0 -0
  354. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-search-findings.md +0 -0
  355. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-simulate-findings.md +0 -0
  356. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
  357. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
  358. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
  359. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
  360. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
  361. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
  362. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
  363. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-sync-findings.md +0 -0
  364. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-tag-findings.md +0 -0
  365. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
  366. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-tap-findings.md +0 -0
  367. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-taps-findings.md +0 -0
  368. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
  369. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-test-findings.md +0 -0
  370. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-trust-findings.md +0 -0
  371. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
  372. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-unpin-findings.md +0 -0
  373. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-untap-findings.md +0 -0
  374. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-update-findings.md +0 -0
  375. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
  376. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-verify-findings.md +0 -0
  377. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/audit-who-findings.md +0 -0
  378. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  379. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
  380. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/because-that-was-not-the-reason.md +0 -0
  381. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
  382. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  383. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  384. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  385. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +0 -0
  386. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +0 -0
  387. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  388. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +0 -0
  389. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +0 -0
  390. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +0 -0
  391. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +0 -0
  392. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +0 -0
  393. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  394. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/boost-first-rule.md +0 -0
  395. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  396. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  397. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/branch-current-gate.md +0 -0
  398. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  399. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  400. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  401. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  402. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  403. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  404. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  405. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
  406. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
  407. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  408. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  409. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  410. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  411. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  412. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  413. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/claude-md-instructs-the-wrong-licence-header.md +0 -0
  414. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  415. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
  416. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/cli-command-audit.md +0 -0
  417. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  418. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  419. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  420. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  421. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/command-carousel-page.md +0 -0
  422. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  423. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
  424. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  425. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  426. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  427. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
  428. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  429. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
  430. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/count-flags-that-silently-invert.md +0 -0
  431. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  432. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  433. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  434. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  435. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  436. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
  437. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  438. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  439. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  440. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
  441. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
  442. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
  443. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
  444. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  445. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  446. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
  447. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  448. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  449. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  450. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  451. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  452. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  453. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  454. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  455. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  456. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
  457. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  458. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  459. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  460. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
  461. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  462. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  463. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
  464. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
  465. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  466. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  467. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  468. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  469. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  470. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
  471. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
  472. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  473. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
  474. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  475. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
  476. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  477. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  478. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  479. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  480. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  481. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  482. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  483. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  484. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  485. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
  486. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  487. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  488. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  489. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  490. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  491. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/github-community-health-files.md +0 -0
  492. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  493. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  494. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  495. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  496. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  497. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  498. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  499. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
  500. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  501. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  502. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  503. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  504. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  505. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  506. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  507. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  508. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  509. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  510. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  511. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  512. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  513. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  514. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  515. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  516. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  517. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  518. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  519. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  520. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
  521. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  522. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  523. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  524. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  525. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  526. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +0 -0
  527. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  528. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  529. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  530. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  531. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  532. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  533. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  534. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  535. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  536. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  537. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  538. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  539. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  540. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
  541. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  542. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  543. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
  544. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  545. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  546. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  547. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  548. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  549. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  550. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  551. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  552. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
  553. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  554. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  555. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  556. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  557. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  558. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  559. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  560. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  561. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  562. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  563. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  564. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
  565. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  566. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  567. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
  568. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  569. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  570. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  571. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  572. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  573. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  574. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  575. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  576. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/openssf-playbook.md +0 -0
  577. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/openssf-silver.md +0 -0
  578. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  579. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  580. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
  581. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  582. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  583. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  584. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  585. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  586. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  587. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  588. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  589. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  590. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  591. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  592. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  593. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  594. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  595. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  596. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  597. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  598. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  599. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
  600. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  601. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  602. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  603. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  604. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  605. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
  606. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
  607. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  608. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  609. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
  610. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
  611. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  612. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
  613. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
  614. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  615. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
  616. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  617. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
  618. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  619. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  620. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/relicence-apache-2.md +0 -0
  621. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  622. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  623. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  624. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
  625. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  626. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  627. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  628. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
  629. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  630. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  631. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  632. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  633. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  634. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  635. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  636. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  637. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  638. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  639. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  640. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  641. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  642. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  643. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  644. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  645. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  646. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  647. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
  648. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
  649. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
  650. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  651. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
  652. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
  653. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  654. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  655. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  656. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  657. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  658. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  659. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  660. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  661. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  662. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
  663. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
  664. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  665. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  666. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  667. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/shrink-the-published-index.md +0 -0
  668. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  669. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  670. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  671. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  672. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
  673. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
  674. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  675. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  676. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  677. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  678. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
  679. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  680. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
  681. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  682. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  683. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  684. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  685. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  686. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
  687. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  688. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  689. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
  690. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  691. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  692. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  693. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  694. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
  695. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  696. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  697. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  698. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  699. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/typos-reported-as-boost-bugs.md +0 -0
  700. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  701. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  702. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  703. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  704. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  705. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
  706. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/unwritable-rule-or-workflow-dir-crashes-install.md +0 -0
  707. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  708. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  709. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  710. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  711. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  712. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  713. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  714. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
  715. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  716. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  717. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  718. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  719. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  720. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  721. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/workspace-scope-install.md +0 -0
  722. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/zip-strict-audit.md +0 -0
  723. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  724. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  725. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/security-design.md +0 -0
  726. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/semantic-search.md +0 -0
  727. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  728. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/verifying-releases.md +0 -0
  729. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/vex/meta.md +0 -0
  730. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/vex/openvex.json +0 -0
  731. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  732. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  733. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  734. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  735. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/eslint.config.mjs +0 -0
  736. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/README.md +0 -0
  737. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/__init__.py +0 -0
  738. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/baseline.json +0 -0
  739. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/faithfulness.py +0 -0
  740. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/golden_set.json +0 -0
  741. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/make_corpus.py +0 -0
  742. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/make_golden.py +0 -0
  743. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/metrics.py +0 -0
  744. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/publish_golden_dataset.py +0 -0
  745. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/evals/run_evals.py +0 -0
  746. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/examples/README.md +0 -0
  747. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/examples/adapt-demo.sh +0 -0
  748. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/examples/boost-run-prototype.sh +0 -0
  749. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/index.html +0 -0
  750. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/noxfile.py +0 -0
  751. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/pyproject.toml +0 -0
  752. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/coverage-tools.in +0 -0
  753. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/coverage-tools.txt +0 -0
  754. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/lint-tools.in +0 -0
  755. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/lint-tools.txt +0 -0
  756. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/mutation-tools.in +0 -0
  757. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/mutation-tools.txt +0 -0
  758. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/platform-pins.lock +0 -0
  759. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/release-tools.in +0 -0
  760. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/release-tools.txt +0 -0
  761. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/test-tools.in +0 -0
  762. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/requirements/test-tools.txt +0 -0
  763. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/a11y_check.py +0 -0
  764. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/add_spdx_headers.py +0 -0
  765. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/bench_cli.sh +0 -0
  766. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/build_command_reference.py +0 -0
  767. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/build_demo_index.py +0 -0
  768. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/build_registries.py +0 -0
  769. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/build_roadmap.py +0 -0
  770. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/build_vex.py +0 -0
  771. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/check_anchors.py +0 -0
  772. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/check_branch_current.py +0 -0
  773. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/check_dco.py +0 -0
  774. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/check_licenses.py +0 -0
  775. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/check_reproducible.py +0 -0
  776. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/check_required_checks.py +0 -0
  777. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/ensure_eval_corpus.sh +0 -0
  778. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_explain.py +0 -0
  779. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_gate.py +0 -0
  780. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_recommend.py +0 -0
  781. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_stats_summary.py +0 -0
  782. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/eval_tools.py +0 -0
  783. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/import_budget.py +0 -0
  784. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/lock_toolchain.py +0 -0
  785. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/measure_near_duplicate_bound.py +0 -0
  786. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/measure_registry.py +0 -0
  787. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/mutation_gate.py +0 -0
  788. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/mutation_shards.py +0 -0
  789. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/mutation_weights.json +0 -0
  790. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/normalize_sdist.py +0 -0
  791. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/page_budget.py +0 -0
  792. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/perf_gate.py +0 -0
  793. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/post_deploy_smoke.py +0 -0
  794. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/publish_eval_json.py +0 -0
  795. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/publish_shards.py +0 -0
  796. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/release_guard.py +0 -0
  797. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/release_preflight.py +0 -0
  798. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/serve_docs.py +0 -0
  799. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/scripts/shard_plan.py +0 -0
  800. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/setup.cfg +0 -0
  801. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/sonar-project.properties +0 -0
  802. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/style/README.md +0 -0
  803. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/style/boost.css +0 -0
  804. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/style/boost.js +0 -0
  805. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/style/demo.html +0 -0
  806. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/adapt.feature +0 -0
  807. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/browse.feature +0 -0
  808. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/count.feature +0 -0
  809. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/discover.feature +0 -0
  810. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/doctor.feature +0 -0
  811. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/environment.py +0 -0
  812. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/explain.feature +0 -0
  813. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/index.feature +0 -0
  814. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/install.feature +0 -0
  815. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/list.feature +0 -0
  816. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/mcp.feature +0 -0
  817. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/search.feature +0 -0
  818. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/steps/cli_steps.py +0 -0
  819. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/steps/discovery_steps.py +0 -0
  820. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/steps/mcp_steps.py +0 -0
  821. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/bdd/features/steps/quality_steps.py +0 -0
  822. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/baseline.json +0 -0
  823. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/explain.jsonl +0 -0
  824. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
  825. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/golden-natural.jsonl +0 -0
  826. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/golden.jsonl +0 -0
  827. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/recommend.jsonl +0 -0
  828. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/eval/tool_calls.jsonl +0 -0
  829. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_bad_input_is_not_a_crash.py +0 -0
  830. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_bmad_all_hosts.py +0 -0
  831. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_bmad_personas_scope.py +0 -0
  832. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_capabilities_policy.py +0 -0
  833. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_adapt.py +0 -0
  834. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_bmad.py +0 -0
  835. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_catalog.py +0 -0
  836. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_chat.py +0 -0
  837. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_hooks_gemini.py +0 -0
  838. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_intelligence.py +0 -0
  839. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_json_reports.py +0 -0
  840. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_pane_width.py +0 -0
  841. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_cli_team.py +0 -0
  842. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_context_sees_an_unborn_branch.py +0 -0
  843. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_count_flags_reject_nonpositive.py +0 -0
  844. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_everyday_loop.py +0 -0
  845. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_integrity_enforce.py +0 -0
  846. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_kind_conformance.py +0 -0
  847. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_property_parsers.py +0 -0
  848. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_recommend_because_is_true.py +0 -0
  849. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_reports_match_reality.py +0 -0
  850. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_run.py +0 -0
  851. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_tap_signing.py +0 -0
  852. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/functional/test_workspace_scope.py +0 -0
  853. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/README.md +0 -0
  854. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  855. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  856. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  857. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  858. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  859. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  860. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  861. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  862. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  863. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  864. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  865. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  866. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  867. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  868. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  869. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  870. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  871. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  872. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  873. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  874. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  875. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  876. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  877. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/fuzz_frontmatter.py +0 -0
  878. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/fuzz/fuzz_registry.py +0 -0
  879. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/langchain/conftest.py +0 -0
  880. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/langchain/test_graph.py +0 -0
  881. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/langchain/test_loader.py +0 -0
  882. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/langchain/test_retriever.py +0 -0
  883. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/make_fixture.py +0 -0
  884. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/perf/test_benchmarks.py +0 -0
  885. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/smoke.sh +0 -0
  886. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/data/bmad-skills-6.12.0.json +0 -0
  887. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_a11y_check.py +0 -0
  888. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_action_pin_lockstep.py +0 -0
  889. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_adapters.py +0 -0
  890. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_adapters_multi.py +0 -0
  891. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_adapters_runner.py +0 -0
  892. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_agents.py +0 -0
  893. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_ai.py +0 -0
  894. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_aihost.py +0 -0
  895. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_archive.py +0 -0
  896. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_bmad_core.py +0 -0
  897. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_boost_first_offer.py +0 -0
  898. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_bootstrap.py +0 -0
  899. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_bot_pr_dco.py +0 -0
  900. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_branch_current.py +0 -0
  901. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_browse.py +0 -0
  902. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_capabilities.py +0 -0
  903. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_catalog_keyword_words.py +0 -0
  904. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_catalogbundle.py +0 -0
  905. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_chat.py +0 -0
  906. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_check_anchors.py +0 -0
  907. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_check_dco.py +0 -0
  908. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_check_licenses.py +0 -0
  909. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_check_reproducible.py +0 -0
  910. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_claude_settings.py +0 -0
  911. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_clean_internal_cache.py +0 -0
  912. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_cliparse.py +0 -0
  913. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_codeql_analysis_key.py +0 -0
  914. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_cohort.py +0 -0
  915. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_command_reference_fresh.py +0 -0
  916. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_community_health_files.py +0 -0
  917. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_compact.py +0 -0
  918. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_complete_rc_block.py +0 -0
  919. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_content_dedupe.py +0 -0
  920. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_content_identity.py +0 -0
  921. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_count_flags_use_positive_int.py +0 -0
  922. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_crash_redaction.py +0 -0
  923. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dedup_trust.py +0 -0
  924. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_demo_index.py +0 -0
  925. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense.py +0 -0
  926. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
  927. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_embed_dedupe.py +0 -0
  928. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_entry_reuse.py +0 -0
  929. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_entry_vectors.py +0 -0
  930. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_fallback.py +0 -0
  931. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_progress.py +0 -0
  932. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_quantized.py +0 -0
  933. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_ready_order.py +0 -0
  934. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_shard_real_schema.py +0 -0
  935. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  936. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_shards.py +0 -0
  937. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_status.py +0 -0
  938. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_status_cheap.py +0 -0
  939. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dense_vector_dedupe.py +0 -0
  940. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_dependabot_config.py +0 -0
  941. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_deps.py +0 -0
  942. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_discovery.py +0 -0
  943. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_distill_merge.py +0 -0
  944. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_docs_pages_linked.py +0 -0
  945. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_docsite_chrome.py +0 -0
  946. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_doctor_output_polish.py +0 -0
  947. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_drift_hint.py +0 -0
  948. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_ed25519.py +0 -0
  949. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_embed.py +0 -0
  950. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_embed_local.py +0 -0
  951. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_embed_truncated_response.py +0 -0
  952. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_entry_key.py +0 -0
  953. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_errors_and_cli_table.py +0 -0
  954. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_baseline.py +0 -0
  955. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_corpus_bodies.py +0 -0
  956. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_faithfulness.py +0 -0
  957. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_gate.py +0 -0
  958. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_grading.py +0 -0
  959. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_metrics.py +0 -0
  960. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_stats_summary.py +0 -0
  961. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_tools.py +0 -0
  962. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_eval_tools_probe.py +0 -0
  963. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  964. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_faithfulness.py +0 -0
  965. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_frontmatter.py +0 -0
  966. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_fuzz_targets.py +0 -0
  967. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  968. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_gitleaks_config.py +0 -0
  969. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_gitutil.py +0 -0
  970. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_gitutil_lfs.py +0 -0
  971. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_gitutil_sparse.py +0 -0
  972. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_gstack_coexistence.py +0 -0
  973. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_hook_settings_hosts.py +0 -0
  974. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_hookhost.py +0 -0
  975. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_imperative.py +0 -0
  976. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_import_budget.py +0 -0
  977. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_injectscan.py +0 -0
  978. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_install_permission_error.py +0 -0
  979. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_installscan.py +0 -0
  980. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_integrity.py +0 -0
  981. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_journal.py +0 -0
  982. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_langchain_packaging.py +0 -0
  983. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_launcher_python_floor.py +0 -0
  984. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_lighthouse_budgets.py +0 -0
  985. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_link_ownership.py +0 -0
  986. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_localembed.py +0 -0
  987. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_localembed_e2e.py +0 -0
  988. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_logs.py +0 -0
  989. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_marketing_counts.py +0 -0
  990. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mcp_install_scan.py +0 -0
  991. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mcpdecl.py +0 -0
  992. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mcphost.py +0 -0
  993. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_measure_registry.py +0 -0
  994. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_minisign.py +0 -0
  995. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mutation_hardening.py +0 -0
  996. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mutation_shards.py +0 -0
  997. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mutation_subfile_shards.py +0 -0
  998. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_mutmut_source_paths.py +0 -0
  999. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_near_duplicate_collapse.py +0 -0
  1000. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_nethttp.py +0 -0
  1001. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_normalize_sdist.py +0 -0
  1002. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_page_budget.py +0 -0
  1003. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_paths.py +0 -0
  1004. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_perf_gate.py +0 -0
  1005. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_pkg_confusions.py +0 -0
  1006. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_pkg_injection.py +0 -0
  1007. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_pkg_secrets.py +0 -0
  1008. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_platform_pins.py +0 -0
  1009. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_post_deploy_smoke.py +0 -0
  1010. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_project_mcp_sidecar.py +0 -0
  1011. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_provenance.py +0 -0
  1012. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_publish_golden_dataset.py +0 -0
  1013. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_rag_completeness.py +0 -0
  1014. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_rag_fastpath.py +0 -0
  1015. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_rag_fusion.py +0 -0
  1016. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_registries_fresh.py +0 -0
  1017. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_registry_categories.py +0 -0
  1018. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_registry_control_chars.py +0 -0
  1019. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_registry_parallel.py +0 -0
  1020. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_release_guard.py +0 -0
  1021. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_release_preflight.py +0 -0
  1022. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_report.py +0 -0
  1023. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_required_checks.py +0 -0
  1024. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_rerank_cache.py +0 -0
  1025. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_resolve.py +0 -0
  1026. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
  1027. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_roadmap_fresh.py +0 -0
  1028. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_rules.py +0 -0
  1029. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_schedule_plist.py +0 -0
  1030. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_scopes.py +0 -0
  1031. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_secretscan.py +0 -0
  1032. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_selfupdate.py +0 -0
  1033. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_serve.py +0 -0
  1034. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_serve_docs.py +0 -0
  1035. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_shard_plan.py +0 -0
  1036. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_shards_incremental.py +0 -0
  1037. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_shards_ingest.py +0 -0
  1038. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_shards_matrix.py +0 -0
  1039. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_smoke_covers_every_command.py +0 -0
  1040. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_spdx_headers.py +0 -0
  1041. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_spin.py +0 -0
  1042. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_stackprobe.py +0 -0
  1043. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_staleness.py +0 -0
  1044. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_store_materialize.py +0 -0
  1045. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_sync_blocked_links.py +0 -0
  1046. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_sync_lost_lock.py +0 -0
  1047. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  1048. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_tap_pins.py +0 -0
  1049. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_token_parity.py +0 -0
  1050. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_toolchain_lock.py +0 -0
  1051. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_trustaudit.py +0 -0
  1052. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_typedvalue.py +0 -0
  1053. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_typosquat.py +0 -0
  1054. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_updatediff.py +0 -0
  1055. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_version.py +0 -0
  1056. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_version_tags.py +0 -0
  1057. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_vex.py +0 -0
  1058. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_visual_harness_capture.py +0 -0
  1059. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_visual_harness_flags.py +0 -0
  1060. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_workflow_concurrency.py +0 -0
  1061. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  1062. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  1063. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_workflow_timeouts.py +0 -0
  1064. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_workflows.py +0 -0
  1065. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  1066. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/visual/a11y_check.mjs +0 -0
  1067. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/visual/console_check.mjs +0 -0
  1068. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/visual/package-lock.json +0 -0
  1069. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/visual/package.json +0 -0
  1070. {boost_skill_cli-1.2.132 → boost_skill_cli-1.2.134}/tests/visual/visual_check.mjs +0 -0
@@ -63,31 +63,39 @@ corpus: `scripts/ensure_eval_corpus.sh` first taps the pinned repo list in
63
63
  --defaults` is NOT enough, it omits every rule/workflow repo). The list is
64
64
  **twenty** repos: the first six cover every golden target, the rest exist so the
65
65
  corpus is a realistic size. That matters more than it sounds — over the six
66
- alone (743 entries) BM25 scores 0.978 / 0.791 / 0.854 / 0.882, and over the
67
- twenty (10,152) it scores **0.852 / 0.473 / 0.605 / 0.657** on the same golden
68
- set, so three of the four old floors fail once the corpus stops being tiny.
66
+ alone (921 entries at the current pins) BM25 scores 0.989 / 0.769 / 0.848 /
67
+ 0.880, and over the twenty (10,731) it scores **0.841 / 0.484 / 0.607 / 0.655**
68
+ on the same golden set (what `tests/eval/baseline.json` records), so three of
69
+ the four old floors fail once the corpus stops being tiny.
69
70
 
70
71
  **The ranked list de-duplicates on the content hash, not the name.** A grade key
71
72
  decides both relevance and identity, and keying identity on the name collapsed
72
73
  13 different skills called `code-reviewer` into one rank slot — crediting the
73
74
  ranker with a compression that existed only in the scoring code, and worth about
74
75
  one query of recall@10. That is where the old "recall is 1.000" folklore came
75
- from; the six-repo corpus measures 0.978 once mirrors collapse and homonyms do
76
- not. Relevance is still decided by name (or by content class when a golden row
77
- pins an `exemplar`), so the sets can migrate a row at a time.
76
+ from; the six-repo corpus measured 0.978 at the pins of the time once mirrors
77
+ collapse and homonyms do not. Relevance is still decided by name (or by content
78
+ class when a golden row pins an `exemplar`), so the sets can migrate a row at a
79
+ time.
78
80
 
79
81
  Each floor sits ~10% under its measured value — loose enough that upstream drift
80
82
  can't flake the build, tight enough to catch a collapse. Regression-vs-baseline
81
83
  stays relaxed (`--regression-eps 1`), so the absolute floors are the real gate.
82
84
 
83
85
  **Every row of `taps.txt` pins a commit SHA**, and `scripts/eval_corpus.py`
84
- checks each clone out at it — the corpus is 10,152 entries, of which one
85
- third-party repo is 6,309 (62%), so an unpinned list left a required check
86
- hostage to someone else's push. CI and `make eval` must invoke the gate with
87
- identical floors; `tests/unit/test_eval_corpus.py` fails the build if they
88
- diverge, which they had (CI floored recall alone at 0.85 against a measured
89
- 0.863 — a buffer of 1.15 queries out of 91 — and applied none of the other
90
- three). Moving a pin means regenerating the baseline; the file says how.
86
+ checks each clone out at it — most of the corpus is one third-party repo, so an
87
+ unpinned list left a required check hostage to someone else's push. The size
88
+ and that share are stated once, in a block at the top of `taps.txt` that
89
+ `--relock` and `--refresh` write from the rows; the sizes and the twenty-repo
90
+ scores quoted above (and in the `Makefile` and `docs/eval.html`) are checked
91
+ against the rows and `baseline.json` by `tests/unit/test_corpus_prose.py`,
92
+ because the monthly refresh moves both and nothing else would notice. CI and
93
+ `make eval` must invoke the gate with identical arguments, not just identical
94
+ floors — `-k` decides what two of them measure; `tests/unit/test_eval_corpus.py`
95
+ parses both calls and fails the build if they diverge, which they had (CI
96
+ floored recall alone at 0.85 against a measured 0.863 — a buffer of 1.15
97
+ queries out of 91 — and applied none of the other three). Moving a pin means
98
+ regenerating the baseline; the file says how.
91
99
 
92
100
  **Baselines are keyed by query set** (`name@content-digest`), so one file holds
93
101
  both `golden.jsonl` and `golden-natural.jsonl` without either overwriting the
@@ -628,7 +636,15 @@ backend, built store) is missing — or `disabled`, a fourth state that is no
628
636
  missing link at all but the `BOOST_NO_EMBED` kill switch, which sits **first**
629
637
  in the ladder (`embed.provider()` reads it before any key, so every other
630
638
  remedy is a measured no-op under it) and is excluded from `degraded`, so a
631
- deliberate opt-out never moves doctor's exit code. `dense.fix_hint()` maps
639
+ deliberate opt-out never moves doctor's exit code. `model-unavailable` is the
640
+ **last** rung: the store matches, but the local model could not be fetched or
641
+ loaded. `status()` reads a record of that failure and never probes, because
642
+ the probe *is* the 133 MB fetch. `core/localembed.py` keeps the record in
643
+ memory and in `cache/models/<rev>/unavailable.json`, and holds back the next
644
+ attempt for an hour (`RETRY_AFTER`): measured on a 5-chunk store, each search
645
+ paid one failed fetch (~3.6 s against 0.1 s) while doctor said "active".
646
+ `boost reindex --dense` retries at once, because it is the remedy the hint
647
+ names. `dense.ready()` still answers for the store alone. `dense.fix_hint()` maps
632
648
  whichever state it is to the one next action — `boost doctor`, `boost search`,
633
649
  the MCP `SEARCH ENGINE` line and both shard surfaces (`reindex --fetch-shards`,
634
650
  `update --shards`) all read that same table, so they can't give contradictory
@@ -122,15 +122,21 @@ dist-check:
122
122
  # 0.000 passed.
123
123
  #
124
124
  # The floors are calibrated against a TWENTY-tap corpus, not the six it used to
125
- # be. Over six repos BM25 scored 1.000 / 0.791 / 0.854 / 0.882; over twenty it
126
- # scores 0.863 / 0.473 / 0.607 / 0.662 on the same golden set. The second set is
127
- # what a real user sees, so flooring against the first was measuring the corpus
128
- # rather than the retrieval — three of the four old floors fail outright once
129
- # the corpus is realistic. Each floor now sits ~10% below its measured value:
130
- # loose enough that upstream repo drift cannot flake the build, tight enough
131
- # that a collapse fails it. Regression-vs-baseline stays relaxed
132
- # (--regression-eps 1) because the corpus tracks upstream HEAD rather than
133
- # pinned commits; the absolute floors are the real gate.
125
+ # be. Over the six (921 entries) BM25 scores 0.989 / 0.769 / 0.848 / 0.880;
126
+ # over twenty it scores 0.841 / 0.484 / 0.607 / 0.655 on the same golden set,
127
+ # which is what tests/eval/baseline.json records at the current pins. The
128
+ # second set is what a real user sees, so flooring against the first was
129
+ # measuring the corpus rather than the retrieval — three of the four old floors
130
+ # fail outright once the corpus is realistic. Each floor now sits ~10% below
131
+ # its measured value: loose enough that a query or two cannot flake the build,
132
+ # tight enough that a collapse fails it. Regression-vs-baseline stays relaxed
133
+ # (--regression-eps 1); the absolute floors are the real gate. (It was relaxed
134
+ # while the corpus tracked upstream HEAD. tests/eval/taps.txt pins a commit per
135
+ # row now, so that is no longer the reason.)
136
+ #
137
+ # ci.yml and eval-corpus-refresh.yml run this same eval_retrieval.py call.
138
+ # tests/unit/test_eval_corpus.py parses all three with the script's own parser
139
+ # and fails the build on any difference, -k and --golden included.
134
140
  eval:
135
141
  PYTHON=$(PY) BOOST_HOME=$(EVAL_HOME) bash scripts/ensure_eval_corpus.sh
136
142
  BOOST_HOME=$(EVAL_HOME) $(PY) scripts/eval_retrieval.py --build -k 10 \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.132
3
+ Version: 1.2.134
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -320,11 +320,18 @@ If you tapped heavily before this landed, `boost compact` narrows the clones you
320
320
  already have, offline and with no loss of search coverage:
321
321
 
322
322
  ```bash
323
- boost compact --dry-run # what it would reclaim
324
- boost compact # narrow every clone in place
325
- boost compact --reclone # also drop downloaded git objects (needs network)
323
+ boost compact --dry-run # what narrowing would reclaim
324
+ boost compact # narrow every clone in place
325
+ boost compact --reclone --dry-run # what a re-clone would remove first
326
+ boost compact --reclone # also drop downloaded git objects (needs network)
326
327
  ```
327
328
 
329
+ Narrowing removes only files git tracks. A file you dropped into a clone by
330
+ hand stays where it is, so `--dry-run` does not count it. `--reclone` deletes
331
+ the whole clone, so its preview does count those files, plus the `.git` it
332
+ drops. It gives no net figure, because the size of the fresh clone is up to
333
+ the remote.
334
+
328
335
  boost indexes three item kinds from the same registries, and they install to
329
336
  different places. A skill is copied into the canonical store and symlinked out.
330
337
  A rule is materialised into each agent's context file (`~/.claude/CLAUDE.md`,
@@ -278,11 +278,18 @@ If you tapped heavily before this landed, `boost compact` narrows the clones you
278
278
  already have, offline and with no loss of search coverage:
279
279
 
280
280
  ```bash
281
- boost compact --dry-run # what it would reclaim
282
- boost compact # narrow every clone in place
283
- boost compact --reclone # also drop downloaded git objects (needs network)
281
+ boost compact --dry-run # what narrowing would reclaim
282
+ boost compact # narrow every clone in place
283
+ boost compact --reclone --dry-run # what a re-clone would remove first
284
+ boost compact --reclone # also drop downloaded git objects (needs network)
284
285
  ```
285
286
 
287
+ Narrowing removes only files git tracks. A file you dropped into a clone by
288
+ hand stays where it is, so `--dry-run` does not count it. `--reclone` deletes
289
+ the whole clone, so its preview does count those files, plus the `.git` it
290
+ drops. It gives no net figure, because the size of the fresh clone is up to
291
+ the remote.
292
+
286
293
  boost indexes three item kinds from the same registries, and they install to
287
294
  different places. A skill is copied into the canonical store and symlinked out.
288
295
  A rule is materialised into each agent's context file (`~/.claude/CLAUDE.md`,
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.2.132'
22
- __version_tuple__ = version_tuple = (1, 2, 132)
21
+ __version__ = version = '1.2.134'
22
+ __version_tuple__ = version_tuple = (1, 2, 134)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -82,7 +82,7 @@ COMMANDS = [
82
82
  ("preview", "info", "info", "Render a SKILL.md with rich formatting"),
83
83
  ("explain", "info", "info", "Explain what a skill does in plain English"),
84
84
  ("log", "info", "info", "Git log for a skill, or boost's activity log"),
85
- ("home", "info", "info", "Open a skill's GitHub page in the browser"),
85
+ ("home", "info", "info", "Open an item's GitHub page in the browser"),
86
86
  ("deps", "info", "info", "Show dependency & conflict relationships"),
87
87
  ("tag", "info", "info", "Custom labels for organizing skills"),
88
88
  # Registry (Taps) (5)
@@ -113,7 +113,7 @@ COMMANDS = [
113
113
  ("decay", "chk", "quality", "Flag skills irrelevant to your current stack"),
114
114
  ("heal", "chk", "quality", "Self-diagnose & repair the boost environment"),
115
115
  ("conflict", "chk", "quality", "Detect contradictory rules between skills"),
116
- ("changelog", "chk", "quality", "Show a skill's upstream change history"),
116
+ ("changelog", "chk", "quality", "Show an item's upstream change history"),
117
117
  ("attest", "chk", "safety", "Display/verify the install record for skills"),
118
118
  ("health", "chk", "quality", "Dashboard of skill-environment health"),
119
119
  ("trust", "chk", "quality", "Manage signing keys & verify tap provenance"),
@@ -20,6 +20,7 @@ from pathlib import Path
20
20
  from .. import __version__, cliparse
21
21
  from ..core import (
22
22
  agents,
23
+ ai,
23
24
  bootstrap,
24
25
  builtin,
25
26
  catalog,
@@ -44,6 +45,9 @@ from ..core import (
44
45
  typedvalue,
45
46
  util,
46
47
  )
48
+ from ..core import (
49
+ compact as compactplan,
50
+ )
47
51
  from ..core import output as out
48
52
  from ..errors import BoostError
49
53
  from ._common import _s
@@ -284,34 +288,6 @@ def cmd_clean(argv) -> int:
284
288
  return 0
285
289
 
286
290
 
287
- def _freight_bytes(tap_path: Path, keep_dirs: list[str]) -> int:
288
- """Bytes that would leave `tap_path`'s working tree when the cone applies.
289
-
290
- Mirrors what `gitutil.SPARSE_PATTERNS` keeps rather than approximating it,
291
- so the dry run does not promise back the provenance files or the assets of
292
- an already-installed skill — both of which survive and neither of which is
293
- freed.
294
- """
295
- kept = tuple("%s/" % d.strip("/") for d in keep_dirs)
296
- total = 0
297
- for f in tap_path.rglob("*"):
298
- if not f.is_file():
299
- continue
300
- # Relative to the tap, never absolute: every clone lives *under*
301
- # ~/.boost, so testing the absolute parts for ".boost" excluded every
302
- # file in every tap and reported that nothing could be freed.
303
- rel = f.relative_to(tap_path)
304
- if ".git" in rel.parts or ".boost" in rel.parts:
305
- continue
306
- if (f.suffix.lower() in (".md", ".mdc")
307
- or f.name in catalog.RULE_FILENAMES):
308
- continue
309
- if kept and rel.as_posix().startswith(kept):
310
- continue
311
- total += f.stat().st_size
312
- return total
313
-
314
-
315
291
  # `boost doctor`'s wording for the same condition (quality.py), so the two
316
292
  # commands describe one missing clone in one sentence.
317
293
  _NOT_CLONED = "not cloned — run `boost update`"
@@ -365,20 +341,49 @@ def cmd_compact(argv) -> int:
365
341
  keep.setdefault(entry.get("tap", ""), []).append(entry["source_dir"])
366
342
 
367
343
  freed = 0
344
+ removed = 0 # bytes deleted before any re-download (reclone)
368
345
  changed = 0
369
346
  broken = 0 # cloned taps this run failed on
370
347
  for tap in taps:
371
348
  before = util.dir_size(tap.path)
372
349
  if args.dry_run:
373
- loose = _freight_bytes(tap.path, keep.get(tap.name, []))
374
- if loose:
350
+ try:
351
+ plan = compactplan.plan(tap.path, keep.get(tap.name, []),
352
+ reclone=args.reclone)
353
+ except BoostError as e:
354
+ # A clone git cannot read fails the real run at `narrow` one
355
+ # step later, so the preview reports it the same way rather
356
+ # than answering "nothing to free" for a tap it never read.
357
+ broken += 1
358
+ rows.append({"tap": tap.name, "error": str(e)})
359
+ out.warn("could not predict %s: %s" % (tap.name, e),
360
+ stream=sys.stderr if args.json else None)
361
+ continue
362
+ # `--reclone` does real work on every tap — it refreshes the clone
363
+ # and can move it back onto its pin — and the live run counts each
364
+ # one as changed for exactly that reason. A preview that went
365
+ # silent for a tap with no freight would under-report the run it
366
+ # is previewing.
367
+ if plan.removes or args.reclone:
375
368
  changed += 1
376
- freed += loose
377
- rows.append({"tap": tap.name, "bytes": loose,
378
- "before": before, "after": before - loose})
379
- if not args.json:
369
+ freed += plan.net or 0
370
+ removed += plan.removes
371
+ rows.append({"tap": tap.name, "bytes": plan.freight,
372
+ "git_bytes": plan.git_bytes,
373
+ "reclone": plan.reclone, "before": before,
374
+ # None, not a number: see compactplan.Plan.net —
375
+ # the re-download's size is the remote's answer.
376
+ "after": None if plan.reclone
377
+ else before - plan.freight})
378
+ if not args.json and plan.reclone:
379
+ out.info("would re-clone %s — removes %s of freight and "
380
+ "%s of git objects, then re-downloads a blobless "
381
+ "clone (final size set by the remote)"
382
+ % (tap.name, util.human_size(plan.freight),
383
+ util.human_size(plan.git_bytes)), wrap=True)
384
+ elif not args.json:
380
385
  out.info("would free %s from %s"
381
- % (util.human_size(loose), tap.name))
386
+ % (util.human_size(plan.freight), tap.name))
382
387
  continue
383
388
  try:
384
389
  if args.reclone:
@@ -444,10 +449,17 @@ def cmd_compact(argv) -> int:
444
449
  if args.dry_run:
445
450
  if args.json:
446
451
  print(json.dumps({"taps": rows, "count": changed, "bytes": freed,
452
+ "removes": removed, "reclone": args.reclone,
447
453
  "dry_run": True, "ok": not failed}, indent=2))
448
454
  return rc
449
- out.dim(" %d tap(s) · %s would be freed"
450
- % (changed, util.human_size(freed)))
455
+ if args.reclone:
456
+ # Deliberately not "would be freed": under `--reclone` that number
457
+ # is `removed` minus a re-download boost has not made yet.
458
+ out.dim(" %d tap(s) would be re-cloned · %s removed first"
459
+ % (changed, util.human_size(removed)))
460
+ else:
461
+ out.dim(" %d tap(s) · %s would be freed"
462
+ % (changed, util.human_size(freed)))
451
463
  return rc
452
464
  journal.log("compact", "%d taps" % changed, freed=util.human_size(freed))
453
465
  if args.json:
@@ -769,6 +781,11 @@ def cmd_policy(argv) -> int:
769
781
 
770
782
  _WORKFLOW_REL = ".github/workflows/boost-skill-inventory.yml"
771
783
  _TELEMETRY_REL = ".boost/telemetry.json"
784
+ # Named once: `--dry-run --pr` rehearses the branch the real run creates,
785
+ # and a preview naming a different branch is the defect it exists to fix.
786
+ _PR_BRANCH = "boost/onboard-skill-tracker"
787
+ # Lines of each file the preview shows before saying how many it hid.
788
+ _PREVIEW_LINES = 24
772
789
 
773
790
  _WORKFLOW_YML = """\
774
791
  # generated by `boost onboard` — publishes this repo's AI-skill inventory
@@ -797,6 +814,19 @@ jobs:
797
814
  """
798
815
 
799
816
 
817
+ def _onboard_unchanged(dest: Path, content: str) -> bool:
818
+ """True when `dest` already holds exactly `content`; the run skips it.
819
+
820
+ Shared with the dry run so the preview and the write agree on which files
821
+ the run leaves alone. An unreadable file counts as different, and the
822
+ real run asks before it overwrites one.
823
+ """
824
+ try:
825
+ return dest.read_text(encoding="utf-8") == content
826
+ except (OSError, UnicodeDecodeError):
827
+ return False
828
+
829
+
800
830
  def _write_onboard_file(dest: Path, content: str, force: bool) -> bool:
801
831
  """Write one generated onboard file; confirm first if it already exists.
802
832
 
@@ -813,11 +843,7 @@ def _write_onboard_file(dest: Path, content: str, force: bool) -> bool:
813
843
  dest.write_text(content, encoding="utf-8")
814
844
  out.ok("created %s" % _tilde(dest))
815
845
  return True
816
- try:
817
- unchanged = dest.read_text(encoding="utf-8") == content
818
- except (OSError, UnicodeDecodeError):
819
- unchanged = False # unreadable: treat as different and ask
820
- if unchanged:
846
+ if _onboard_unchanged(dest, content):
821
847
  # Re-running onboard regenerates the workflow byte-for-byte. Prompting
822
848
  # to overwrite a file with its own contents is noise, not safety.
823
849
  out.info("unchanged %s" % _tilde(dest))
@@ -882,17 +908,12 @@ def cmd_onboard(argv) -> int:
882
908
  json.dumps(lockfile.portable(lockfile.read()),
883
909
  indent=2, sort_keys=True) + "\n"))
884
910
 
885
- if args.dry_run:
886
- for rel, content in files:
887
- dest = repo / rel
888
- out.heading("would %s %s"
889
- % ("overwrite" if dest.exists() else "write",
890
- _tilde(dest)))
891
- for line in content.splitlines()[:24]:
892
- out.dim(" " + line)
893
- return 0
894
-
895
- if args.pr: # check preconditions FIRST so we never leave the repo mid-state
911
+ # Preconditions FIRST so a real run never leaves the repo mid-state — and
912
+ # *before* the dry-run return, because all three are read-only and a
913
+ # preview that skips them is the one shape of dry run that is worse than
914
+ # none: `--dry-run --pr` outside a git repository exited 0 with no plan and
915
+ # no failure, so the flag the user was rehearsing was never rehearsed.
916
+ if args.pr:
896
917
  if not gitutil.is_repo(repo):
897
918
  raise BoostError("%s is not a git repository" % _tilde(repo),
898
919
  hint="--pr needs a git checkout with a GitHub remote")
@@ -903,6 +924,34 @@ def cmd_onboard(argv) -> int:
903
924
  raise BoostError("the `gh` CLI is required for --pr",
904
925
  hint="brew install gh, or rerun without --pr")
905
926
 
927
+ if args.dry_run:
928
+ changes = 0
929
+ for rel, content in files:
930
+ dest = repo / rel
931
+ if dest.exists() and _onboard_unchanged(dest, content):
932
+ out.info("unchanged %s" % _tilde(dest))
933
+ continue
934
+ changes += 1
935
+ out.heading("would %s %s"
936
+ % ("overwrite" if dest.exists() else "write",
937
+ _tilde(dest)))
938
+ shown, hidden = util.head_lines(content, _PREVIEW_LINES)
939
+ for line in shown:
940
+ out.dim(" " + line)
941
+ if hidden:
942
+ # Say the preview was cut, and by how much. Without this the
943
+ # lock preview stopped mid-object and read as a malformed file
944
+ # rather than a shortened view of a well-formed one.
945
+ out.dim(" … %d more line%s"
946
+ % (hidden, "" if hidden == 1 else "s"))
947
+ if not changes:
948
+ # The real run's answer on this state, and it opens no PR.
949
+ out.info("nothing to do — %s already onboarded" % _tilde(repo))
950
+ elif args.pr:
951
+ out.info("would commit them on %s and run `gh pr create --fill`"
952
+ % _PR_BRANCH)
953
+ return 0
954
+
906
955
  written = [rel for rel, content in files
907
956
  if _write_onboard_file(repo / rel, content,
908
957
  args.force or args.yes)]
@@ -915,7 +964,7 @@ def cmd_onboard(argv) -> int:
915
964
  journal.log("onboard", _tilde(repo), pr=args.pr or None)
916
965
 
917
966
  if args.pr:
918
- branch = "boost/onboard-skill-tracker"
967
+ branch = _PR_BRANCH
919
968
  gitutil.run(["-C", str(repo), "checkout", "-b", branch])
920
969
  gitutil.run(["-C", str(repo), "add", *written])
921
970
  gitutil.run(["-C", str(repo), "commit", "-m",
@@ -1331,12 +1380,18 @@ REGISTRY = mcp.Registry()
1331
1380
  def _ranking_note(ranker: str) -> str:
1332
1381
  """One line naming the ranking that actually produced this order.
1333
1382
 
1334
- `boost_search`'s own description promises an LLM rerank and quotes what it
1335
- buys — the right skill first 95% of the time against 79% without. When no
1336
- AI is configured that rerank degrades to the retrieval order, and the reply
1337
- was byte-for-byte the shape of a reranked one: same ten lines, same
1338
- confidence, 79%. An agent acts on the top result because the description
1339
- told it to.
1383
+ `boost_search`'s description once promised an LLM rerank on every machine
1384
+ and quoted what it buys — the right skill first 95% of the time against 79%
1385
+ without. When no AI is configured that rerank degrades to the retrieval
1386
+ order, and the reply was byte-for-byte the shape of a reranked one: same
1387
+ ten lines, same confidence, 79%. An agent acts on the top result because
1388
+ the description told it to.
1389
+
1390
+ The description is now priced per machine (`mcp.search_cost`), so on a
1391
+ keyless one it already says the rerank is off. This line still matters on
1392
+ both: it is the per-call truth, and it covers a rerank that was available
1393
+ at connect time and failed on this call. So it names what did not run
1394
+ without claiming the description promised it.
1340
1395
 
1341
1396
  `rag.rerank` already computes the only thing that distinguishes the two
1342
1397
  cases, and its own comment says so — "the label is the only signal about
@@ -1344,10 +1399,9 @@ def _ranking_note(ranker: str) -> str:
1344
1399
  """
1345
1400
  if ranker == rag.LLM_RANKER:
1346
1401
  return "\n(ranked by %s)" % ranker
1347
- return ("\n(ranked by %s — the LLM rerank named in this tool's description "
1348
- "did NOT run, so this is a shortlist to read rather than a verdict "
1349
- "to act on. Configure ANTHROPIC_API_KEY or the `claude` CLI to "
1350
- "enable it.)" % ranker)
1402
+ return ("\n(ranked by %s — the LLM rerank did NOT run, so this is a "
1403
+ "shortlist to read rather than a verdict to act on. Configure "
1404
+ "ANTHROPIC_API_KEY or the `claude` CLI to enable it.)" % ranker)
1351
1405
 
1352
1406
 
1353
1407
  # The label for the pre-RAG fallback below. `_ranking_note` needs a name for
@@ -1487,8 +1541,9 @@ def _tool_read(args: dict):
1487
1541
  is worth adopting had one sentence written by whoever published it, and its
1488
1542
  only route to the actual steps was to install into the user's real
1489
1543
  ``~/.agents/skills`` and read it off disk. That inverts the surface's own
1490
- pitch — ``boost_search`` spends 10-15 s of rerank so the top result is worth
1491
- acting on, and then nothing let the agent look at it.
1544
+ pitch — where AI is configured ``boost_search`` spends 10-15 s of rerank so
1545
+ the top result is worth acting on, and then nothing let the agent look at
1546
+ it.
1492
1547
 
1493
1548
  The body is also the only thing separating a written skill from a generated
1494
1549
  stub, and the catalogue holds both: two ranked hits share the description
@@ -1656,8 +1711,7 @@ def _tool_discover_github(args: dict):
1656
1711
  # declarations are the only boost text reliably in context at the moment an
1657
1712
  # agent chooses a tool, so each one repeats the trigger, the cost and the
1658
1713
  # miss protocol rather than deferring to the server instructions.
1659
- REGISTRY.register(
1660
- "boost_search",
1714
+ _SEARCH_PITCH = (
1661
1715
  "Someone has probably solved this already — one call tells you. Searches "
1662
1716
  "every skill, rule and workflow in every registry you have tapped and "
1663
1717
  "returns ranked matches, one per line: name, a [rule] or [workflow] kind "
@@ -1689,22 +1743,40 @@ REGISTRY.register(
1689
1743
  "apart. Read-only where it counts: it "
1690
1744
  "installs nothing and touches nothing you are working on, though the first "
1691
1745
  "search builds a local index under ~/.boost. A hit commits you to nothing "
1692
- "either: take what fits, discard the rest, the task stays yours. It costs "
1693
- "10-15 seconds — an LLM reranks every match, which is what makes the top "
1694
- "result worth acting on rather than skimming. Worth budgeting for, not a "
1695
- "surprise — and only a novel search pays it: repeating an identical "
1696
- "search skips the LLM and answers from a local cache. "
1746
+ "either: take what fits, discard the rest, the task stays yours. "
1747
+ )
1748
+ _SEARCH_MISS = (
1697
1749
  "Coming back empty is a real answer too, not a "
1698
1750
  "wasted turn: it means build it yourself, now knowing nothing already "
1699
1751
  "covers it — and on a machine with nothing tapped yet it says so and names "
1700
1752
  "the one command that fixes it, rather than reporting a miss. "
1701
- # The bound, verbatim from `mcp.INSTRUCTIONS`: six of its seven
1753
+ # The bound, verbatim from the server instructions: six of their seven
1702
1754
  # load-bearing elements were already duplicated into this description and
1703
1755
  # the seventh — the one that says when not to call — was in none of the
1704
1756
  # seven. On a Gemini-family host the description is the only boost text
1705
1757
  # reliably in context, so what shipped there was every persuasive element
1706
1758
  # and none of the restraint.
1707
- + mcp.SKIP_IT,
1759
+ + mcp.SKIP_IT
1760
+ )
1761
+
1762
+
1763
+ def _search_description(ai_available: bool) -> str:
1764
+ """boost_search's description, priced for the machine the host connected to.
1765
+
1766
+ The cost clause is ``mcp.search_cost``, the same one the server
1767
+ instructions carry, so the two surfaces cannot disagree about the price.
1768
+ Registered as a callable so ``tools/list`` renders it when a host connects
1769
+ (``mcp.Registry.specs``), not when this module is imported.
1770
+ """
1771
+ return "%s%s %s" % (_SEARCH_PITCH, mcp.search_cost(ai_available),
1772
+ _SEARCH_MISS)
1773
+
1774
+
1775
+ REGISTRY.register(
1776
+ "boost_search",
1777
+ # A lambda rather than the function itself so `ai.available` is looked up
1778
+ # on each call — the predicate `rag.rerank` branches on.
1779
+ lambda: _search_description(ai.available()),
1708
1780
  {"type": "object",
1709
1781
  "properties": {"query": {"type": "string",
1710
1782
  "description": "what you are trying to do, in "
@@ -1724,7 +1796,7 @@ REGISTRY.register(
1724
1796
  "kind nothing here could have loaded. boost_search is what reads the "
1725
1797
  "registries themselves. "
1726
1798
  # The cost clause names its own mechanism. Gemini CLI never delivers
1727
- # server `instructions` in interactive mode, so INSTRUCTIONS' "boost_list
1799
+ # server `instructions` in interactive mode, so their "boost_list
1728
1800
  # is free, call it whenever" is absent on that host and this declaration
1729
1801
  # is the only place left to say it. "Instant" alone is a claim about the
1730
1802
  # clock that an agent has to take on trust; "a local file read rather
@@ -1777,8 +1849,8 @@ REGISTRY.register(
1777
1849
  "holds unfilled templates and stubs that echo their own name back, and "
1778
1850
  "those rank and render exactly like a procedure someone debugged. The body "
1779
1851
  "is the only thing that tells them apart. Read-only and offline — it "
1780
- "installs nothing, changes nothing, and unlike boost_search costs no "
1781
- "rerank, so it is fast. Long items are truncated at a stated character "
1852
+ "installs nothing, changes nothing, and never reranks, so it is fast. "
1853
+ "Long items are truncated at a stated character "
1782
1854
  "count and the reply says so and names the command that returns the rest; "
1783
1855
  "a body that arrives whole is whole.",
1784
1856
  {"type": "object",
@@ -1844,10 +1916,9 @@ REGISTRY.register(
1844
1916
  "description": "max repositories to return (default 20)"}}},
1845
1917
  _tool_discover_github)
1846
1918
 
1847
- # Back-compat shims: the JSON-RPC server and tests reference these names.
1848
- _MCP_TOOLS = REGISTRY.specs()
1849
-
1850
-
1919
+ # Back-compat shim: the functional tests reference this name. The `_MCP_TOOLS`
1920
+ # snapshot that sat beside it is gone — taken at import, it froze boost_search's
1921
+ # machine-dependent description under whatever state held then.
1851
1922
  def _mcp_tool(tool: str, args: dict):
1852
1923
  """Run one MCP tool -> (text, is_error). (None, _) for unknown tools.
1853
1924
 
@@ -473,7 +473,7 @@ def _fetch_shards(args) -> int:
473
473
  why = shards.incompatible(manifest)
474
474
  if why:
475
475
  raise BoostError("published shards cannot serve this machine — %s" % why,
476
- hint=dense.fix_hint(dense.status().get("reason", "")))
476
+ hint=shards.remedy(manifest))
477
477
  commits = rag._tap_commits()
478
478
  stored = dense.tap_commits()
479
479
  by_name = {t.name: commits.get(t.safe_name, "") for t in registry.list_taps()}
@@ -620,12 +620,28 @@ def cmd_reindex(argv):
620
620
  wrap=True)
621
621
  else:
622
622
  failed = dense_stats.get("failed") or []
623
+ model_error = dense_stats.get("model_error")
624
+ if model_error:
625
+ # Before the per-tap line, and instead of its guess at a
626
+ # cause: "rate limit, quota" describes an API provider, and
627
+ # sent a local-model user looking for an account they lack.
628
+ # A load failure is not a network problem, so it is not told
629
+ # to find a better network.
630
+ tail = ("" if model_error.get("stage") == "load" else
631
+ "; rerun `boost reindex --dense` on a network that "
632
+ "reaches huggingface.co")
633
+ out.warn("%s — searches use BM25 until it works%s"
634
+ % (embed.local_failure_text(model_error), tail),
635
+ wrap=True)
623
636
  if failed:
624
- out.warn("embedding failed for %d tap(s) — %d passages stored. "
637
+ cause = ("The local model could not be used"
638
+ if model_error else
625
639
  "The provider rejected those batches (rate limit, "
626
- "quota, or oversized input); their commits were not "
627
- "recorded, so a rerun retries them."
628
- % (len(failed), dense_stats["chunks"]))
640
+ "quota, or oversized input)")
641
+ out.warn("embedding failed for %d tap(s) — %d passages stored. "
642
+ "%s; their commits were not recorded, so a rerun "
643
+ "retries them." % (len(failed), dense_stats["chunks"],
644
+ cause))
629
645
  elif not dense_stats["chunks"]:
630
646
  # Reporting success with an empty store sent a real user chasing
631
647
  # the wrong cause: a stale run can mark every tap "built", so the
@@ -729,11 +745,21 @@ def _reindex_dense(force, spinner=None):
729
745
  # free — they re-encode and re-key what is already on disk — so a user gets
730
746
  # the disk back without having to know either word.
731
747
  collapsed = dense.deduplicate()
748
+ # This command is the remedy `dense.fix_hint` names for a local model that
749
+ # could not be fetched, so it must actually try: searches hold a retry
750
+ # back for an hour after a failure, and a build whose taps are all reused
751
+ # embeds nothing and would otherwise never touch the model at all.
752
+ embed.retry_local()
732
753
  stats = dense.build(force=force, on_progress=_embed_progress(spinner))
733
754
  if migrated and isinstance(stats, dict):
734
755
  stats = stats | {"quantized": migrated["chunks"]}
735
756
  if collapsed and isinstance(stats, dict) and collapsed["freed"]:
736
757
  stats = stats | {"deduplicated": collapsed["freed"]}
758
+ # Read after the build, not from the retry: a first build on a machine
759
+ # that cannot fetch the model has nothing to retry and fails inside it.
760
+ failure = embed.local_failure() if embed.provider() == "local" else None
761
+ if failure and isinstance(stats, dict):
762
+ stats = stats | {"model_error": failure}
737
763
  return stats
738
764
 
739
765