boost-skill-cli 1.2.108__tar.gz → 1.2.109__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 (1027) hide show
  1. {boost_skill_cli-1.2.108/boost_skill_cli.egg-info → boost_skill_cli-1.2.109}/PKG-INFO +6 -3
  2. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/README.md +5 -2
  3. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/_version.py +2 -2
  4. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/configuration.py +20 -3
  5. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/discovery.py +22 -7
  6. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/rag.py +15 -4
  7. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109/boost_skill_cli.egg-info}/PKG-INFO +6 -3
  8. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_skill_cli.egg-info/SOURCES.txt +6 -0
  9. boost_skill_cli-1.2.109/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +42 -0
  10. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +13 -2
  11. boost_skill_cli-1.2.109/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +36 -0
  12. boost_skill_cli-1.2.109/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +44 -0
  13. boost_skill_cli-1.2.109/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +41 -0
  14. boost_skill_cli-1.2.109/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +55 -0
  15. boost_skill_cli-1.2.109/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +42 -0
  16. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap.html +176 -33
  17. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_discovery.py +15 -3
  18. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_compact.py +45 -0
  19. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_rag_completeness.py +38 -6
  20. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.gitattributes +0 -0
  21. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.gitignore +0 -0
  22. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.gitleaks.toml +0 -0
  23. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.htmlvalidate.json +0 -0
  24. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.lighthouserc.json +0 -0
  25. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.lycheeignore +0 -0
  26. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.markdownlint-cli2.jsonc +0 -0
  27. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.pre-commit-config.yaml +0 -0
  28. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.stylelintrc.json +0 -0
  29. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.vale/styles/boost/AIWriting.yml +0 -0
  30. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.vale/styles/boost/Terminology.yml +0 -0
  31. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  32. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/.vale.ini +0 -0
  33. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/CLAUDE.md +0 -0
  34. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/CODE_OF_CONDUCT.md +0 -0
  35. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/CONTRIBUTING.md +0 -0
  36. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/DCO +0 -0
  37. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/GOVERNANCE.md +0 -0
  38. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/LICENSE +0 -0
  39. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/MAINTAINERS.md +0 -0
  40. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/MANIFEST.in +0 -0
  41. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/Makefile +0 -0
  42. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/SECURITY.md +0 -0
  43. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/SUPPORT.md +0 -0
  44. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost +0 -0
  45. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/__init__.py +0 -0
  46. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/__main__.py +0 -0
  47. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/cli.py +0 -0
  48. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/cliparse.py +0 -0
  49. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/__init__.py +0 -0
  50. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/_common.py +0 -0
  51. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/bmad.py +0 -0
  52. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/hooks.py +0 -0
  53. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/info.py +0 -0
  54. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/intelligence.py +0 -0
  55. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/pkg.py +0 -0
  56. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/quality.py +0 -0
  57. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/quickstart.py +0 -0
  58. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/run.py +0 -0
  59. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/safety.py +0 -0
  60. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/taps.py +0 -0
  61. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/commands/team.py +0 -0
  62. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/__init__.py +0 -0
  63. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/adapters.py +0 -0
  64. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/agents.py +0 -0
  65. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/ai.py +0 -0
  66. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/aihost.py +0 -0
  67. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/archive.py +0 -0
  68. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/bmad.py +0 -0
  69. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/bootstrap.py +0 -0
  70. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/browse.py +0 -0
  71. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/builtin.py +0 -0
  72. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/capabilities.py +0 -0
  73. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/catalog.py +0 -0
  74. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/catalogbundle.py +0 -0
  75. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/chat.py +0 -0
  76. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/claude_settings.py +0 -0
  77. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/cohort.py +0 -0
  78. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/complete.py +0 -0
  79. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/config.py +0 -0
  80. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/dense.py +0 -0
  81. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/deps.py +0 -0
  82. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/discovery.py +0 -0
  83. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/ed25519.py +0 -0
  84. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/embed.py +0 -0
  85. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/faithfulness.py +0 -0
  86. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/frontmatter.py +0 -0
  87. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/gitutil.py +0 -0
  88. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/hookhost.py +0 -0
  89. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/imperative.py +0 -0
  90. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/injectscan.py +0 -0
  91. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/installscan.py +0 -0
  92. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/integrity.py +0 -0
  93. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/journal.py +0 -0
  94. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/jsonstate.py +0 -0
  95. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/localembed.py +0 -0
  96. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/lockfile.py +0 -0
  97. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/logs.py +0 -0
  98. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/mcp.py +0 -0
  99. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/mcpdecl.py +0 -0
  100. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/mcphost.py +0 -0
  101. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/minisign.py +0 -0
  102. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/nethttp.py +0 -0
  103. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/output.py +0 -0
  104. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/paths.py +0 -0
  105. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/policy.py +0 -0
  106. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/projectlock.py +0 -0
  107. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/provenance.py +0 -0
  108. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/registry.py +0 -0
  109. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/report.py +0 -0
  110. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/resolve.py +0 -0
  111. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/rules.py +0 -0
  112. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/scopes.py +0 -0
  113. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/secretscan.py +0 -0
  114. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/selfupdate.py +0 -0
  115. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/serve.py +0 -0
  116. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/shards.py +0 -0
  117. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/stackprobe.py +0 -0
  118. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/staleness.py +0 -0
  119. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/store.py +0 -0
  120. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/trustaudit.py +0 -0
  121. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/typedvalue.py +0 -0
  122. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/typosquat.py +0 -0
  123. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/updatediff.py +0 -0
  124. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/util.py +0 -0
  125. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/core/workflows.py +0 -0
  126. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/data/registries.json +0 -0
  127. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/data/rules/boost-first.mdc +0 -0
  128. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/errors.py +0 -0
  129. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_cli/spin.py +0 -0
  130. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_langchain/__init__.py +0 -0
  131. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_langchain/_compat.py +0 -0
  132. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_langchain/graph.py +0 -0
  133. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_langchain/loader.py +0 -0
  134. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_langchain/py.typed +0 -0
  135. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_langchain/retriever.py +0 -0
  136. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  137. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  138. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_skill_cli.egg-info/requires.txt +0 -0
  139. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/boost_skill_cli.egg-info/top_level.txt +0 -0
  140. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/codecov.yml +0 -0
  141. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/.claude/settings.local.json +0 -0
  142. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/DEBUGGING.md +0 -0
  143. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/adapters.html +0 -0
  144. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/architecture/README.md +0 -0
  145. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/architecture/c4-components-core.md +0 -0
  146. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/architecture/c4-containers.md +0 -0
  147. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/architecture/c4-context.md +0 -0
  148. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/architecture/c4-dynamic-install.md +0 -0
  149. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/bmad.md +0 -0
  150. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/distill.gif +0 -0
  151. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/doctor.gif +0 -0
  152. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/explain.gif +0 -0
  153. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/hooks.gif +0 -0
  154. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/install.gif +0 -0
  155. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/pulse.gif +0 -0
  156. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/search.gif +0 -0
  157. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/gifs/tap.gif +0 -0
  158. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/distill.tape +0 -0
  159. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/doctor.tape +0 -0
  160. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/explain.tape +0 -0
  161. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/hooks.tape +0 -0
  162. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/install.tape +0 -0
  163. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/pulse.tape +0 -0
  164. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/search.tape +0 -0
  165. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel/tapes/tap.tape +0 -0
  166. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/carousel.html +0 -0
  167. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/chat.html +0 -0
  168. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/code-review.md +0 -0
  169. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/commands.html +0 -0
  170. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/commit-audit.md +0 -0
  171. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/demo-index.json +0 -0
  172. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/demo.gif +0 -0
  173. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/demo.html +0 -0
  174. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/demo.tape +0 -0
  175. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/dependencies.md +0 -0
  176. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/design-roadmap.html +0 -0
  177. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/eval-latest.json +0 -0
  178. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/eval.html +0 -0
  179. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/index.html +0 -0
  180. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/langchain.html +0 -0
  181. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/mcp-hub.html +0 -0
  182. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/openssf-badge.md +0 -0
  183. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/openssf-playbook.md +0 -0
  184. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/rag-architecture.md +0 -0
  185. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D01.md +0 -0
  186. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D02.md +0 -0
  187. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D03.md +0 -0
  188. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D04.md +0 -0
  189. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D05.md +0 -0
  190. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D06.md +0 -0
  191. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D07.md +0 -0
  192. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D08.md +0 -0
  193. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D09.md +0 -0
  194. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D10.md +0 -0
  195. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D11.md +0 -0
  196. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D12.md +0 -0
  197. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D13.md +0 -0
  198. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D14.md +0 -0
  199. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D15.md +0 -0
  200. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D16.md +0 -0
  201. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D17.md +0 -0
  202. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D18.md +0 -0
  203. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D19.md +0 -0
  204. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D20.md +0 -0
  205. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D21.md +0 -0
  206. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D22.md +0 -0
  207. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D23.md +0 -0
  208. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D24.md +0 -0
  209. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D25.md +0 -0
  210. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D26.md +0 -0
  211. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/BOOST-D27.md +0 -0
  212. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  213. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  214. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  215. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  216. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  217. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  218. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  219. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  220. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  221. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  222. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-absorb-findings.md +0 -0
  223. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-adapt-findings.md +0 -0
  224. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
  225. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
  226. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
  227. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-attest-findings.md +0 -0
  228. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-audit-findings.md +0 -0
  229. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-bmad-findings.md +0 -0
  230. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-browse-findings.md +0 -0
  231. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-bundle-findings.md +0 -0
  232. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-catalog-findings.md +0 -0
  233. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
  234. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-changelog-findings.md +0 -0
  235. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-chat-findings.md +0 -0
  236. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
  237. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
  238. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-cohort-findings.md +0 -0
  239. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-completions-findings.md +0 -0
  240. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-config-findings.md +0 -0
  241. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
  242. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-context-findings.md +0 -0
  243. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
  244. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
  245. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-create-findings.md +0 -0
  246. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
  247. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-deps-findings.md +0 -0
  248. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-discover-findings.md +0 -0
  249. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
  250. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-doctor-findings.md +0 -0
  251. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-drift-findings.md +0 -0
  252. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
  253. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-edit-findings.md +0 -0
  254. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-evolve-findings.md +0 -0
  255. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-explain-findings.md +0 -0
  256. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-export-findings.md +0 -0
  257. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
  258. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
  259. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
  260. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
  261. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
  262. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-health-findings.md +0 -0
  263. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
  264. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
  265. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-import-findings.md +0 -0
  266. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-index-findings.md +0 -0
  267. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
  268. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
  269. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-install-findings.md +0 -0
  270. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
  271. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
  272. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-lint-findings.md +0 -0
  273. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-log-findings.md +0 -0
  274. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
  275. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-mcp-findings.md +0 -0
  276. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
  277. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
  278. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
  279. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-onboard-findings.md +0 -0
  280. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
  281. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
  282. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-outdated-findings.md +0 -0
  283. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
  284. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-policy-findings.md +0 -0
  285. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-preview-findings.md +0 -0
  286. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-profile-findings.md +0 -0
  287. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
  288. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-protocol-findings.md +0 -0
  289. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-pulse-findings.md +0 -0
  290. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
  291. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
  292. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
  293. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-recommend-findings.md +0 -0
  294. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-reindex-findings.md +0 -0
  295. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
  296. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-replay-findings.md +0 -0
  297. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-root-findings.md +0 -0
  298. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
  299. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-run-findings.md +0 -0
  300. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-schedule-findings.md +0 -0
  301. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-search-findings.md +0 -0
  302. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-simulate-findings.md +0 -0
  303. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
  304. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
  305. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
  306. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
  307. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
  308. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
  309. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
  310. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-sync-findings.md +0 -0
  311. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-tag-findings.md +0 -0
  312. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
  313. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-tap-findings.md +0 -0
  314. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-taps-findings.md +0 -0
  315. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
  316. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-test-findings.md +0 -0
  317. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-trust-findings.md +0 -0
  318. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
  319. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-unpin-findings.md +0 -0
  320. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-untap-findings.md +0 -0
  321. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-update-findings.md +0 -0
  322. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
  323. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-verify-findings.md +0 -0
  324. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/audit-who-findings.md +0 -0
  325. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  326. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
  327. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
  328. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  329. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  330. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  331. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  332. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  333. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/boost-first-rule.md +0 -0
  334. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  335. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  336. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/branch-current-gate.md +0 -0
  337. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  338. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  339. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  340. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  341. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  342. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  343. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  344. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
  345. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
  346. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  347. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  348. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  349. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  350. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  351. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  352. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  353. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
  354. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/cli-command-audit.md +0 -0
  355. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  356. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  357. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  358. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  359. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/command-carousel-page.md +0 -0
  360. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  361. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  362. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  363. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  364. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
  365. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  366. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
  367. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
  368. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  369. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  370. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  371. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  372. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  373. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
  374. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  375. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  376. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  377. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
  378. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
  379. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
  380. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
  381. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
  382. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  383. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  384. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
  385. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  386. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  387. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  388. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  389. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  390. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  391. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  392. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  393. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  394. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
  395. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  396. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  397. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  398. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
  399. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  400. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  401. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
  402. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
  403. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  404. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  405. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  406. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  407. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  408. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
  409. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
  410. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  411. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
  412. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  413. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
  414. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  415. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  416. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  417. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  418. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  419. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  420. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  421. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  422. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  423. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
  424. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
  425. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  426. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  427. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  428. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  429. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  430. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/github-community-health-files.md +0 -0
  431. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  432. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  433. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  434. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  435. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  436. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  437. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  438. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
  439. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  440. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  441. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  442. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  443. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  444. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  445. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  446. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  447. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  448. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  449. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  450. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  451. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  452. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  453. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  454. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  455. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  456. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  457. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  458. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  459. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  460. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  461. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  462. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  463. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  464. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  465. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  466. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  467. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  468. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  469. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  470. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  471. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  472. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  473. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  474. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  475. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  476. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  477. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
  478. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  479. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  480. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
  481. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  482. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  483. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  484. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  485. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  486. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
  487. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  488. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  489. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  490. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
  491. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  492. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  493. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  494. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  495. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  496. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  497. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  498. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  499. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  500. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  501. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  502. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
  503. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  504. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  505. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
  506. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  507. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  508. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  509. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  510. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  511. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  512. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  513. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  514. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/openssf-playbook.md +0 -0
  515. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/openssf-silver.md +0 -0
  516. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  517. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  518. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
  519. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  520. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  521. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  522. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  523. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  524. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  525. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  526. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  527. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  528. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  529. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  530. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  531. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  532. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  533. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  534. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  535. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  536. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  537. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
  538. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  539. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  540. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  541. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  542. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  543. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
  544. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
  545. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
  546. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
  547. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  548. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  549. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
  550. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
  551. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  552. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
  553. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  554. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
  555. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  556. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  557. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  558. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/relicence-apache-2.md +0 -0
  559. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  560. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  561. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  562. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
  563. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  564. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  565. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  566. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
  567. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  568. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  569. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  570. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  571. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  572. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  573. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  574. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  575. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  576. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  577. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  578. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  579. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  580. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  581. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  582. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  583. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  584. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  585. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
  586. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
  587. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
  588. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
  589. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  590. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
  591. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
  592. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  593. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  594. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  595. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  596. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  597. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  598. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  599. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  600. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  601. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
  602. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
  603. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  604. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  605. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  606. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/shrink-the-published-index.md +0 -0
  607. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  608. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  609. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  610. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  611. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
  612. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
  613. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  614. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  615. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  616. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  617. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
  618. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  619. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
  620. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  621. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  622. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  623. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  624. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  625. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
  626. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  627. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  628. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  629. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  630. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  631. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  632. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
  633. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  634. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  635. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  636. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  637. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  638. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  639. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  640. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
  641. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  642. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  643. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
  644. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  645. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  646. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  647. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  648. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  649. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  650. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  651. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
  652. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  653. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  654. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  655. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  656. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  657. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  658. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/workspace-scope-install.md +0 -0
  659. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/zip-strict-audit.md +0 -0
  660. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  661. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  662. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/security-design.md +0 -0
  663. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/semantic-search.md +0 -0
  664. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  665. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/verifying-releases.md +0 -0
  666. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/vex/meta.md +0 -0
  667. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/vex/openvex.json +0 -0
  668. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  669. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  670. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  671. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  672. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/eslint.config.mjs +0 -0
  673. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/README.md +0 -0
  674. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/__init__.py +0 -0
  675. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/baseline.json +0 -0
  676. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/faithfulness.py +0 -0
  677. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/golden_set.json +0 -0
  678. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/make_corpus.py +0 -0
  679. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/make_golden.py +0 -0
  680. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/metrics.py +0 -0
  681. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/publish_golden_dataset.py +0 -0
  682. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/evals/run_evals.py +0 -0
  683. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/examples/README.md +0 -0
  684. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/examples/adapt-demo.sh +0 -0
  685. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/examples/boost-run-prototype.sh +0 -0
  686. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/index.html +0 -0
  687. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/noxfile.py +0 -0
  688. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/pyproject.toml +0 -0
  689. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/coverage-tools.in +0 -0
  690. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/coverage-tools.txt +0 -0
  691. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/lint-tools.in +0 -0
  692. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/lint-tools.txt +0 -0
  693. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/mutation-tools.in +0 -0
  694. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/mutation-tools.txt +0 -0
  695. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/platform-pins.lock +0 -0
  696. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/release-tools.in +0 -0
  697. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/release-tools.txt +0 -0
  698. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/test-tools.in +0 -0
  699. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/requirements/test-tools.txt +0 -0
  700. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/a11y_check.py +0 -0
  701. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/add_spdx_headers.py +0 -0
  702. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/bench_cli.sh +0 -0
  703. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/build_command_reference.py +0 -0
  704. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/build_demo_index.py +0 -0
  705. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/build_registries.py +0 -0
  706. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/build_roadmap.py +0 -0
  707. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/build_scale_corpus.py +0 -0
  708. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/build_vex.py +0 -0
  709. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/check_anchors.py +0 -0
  710. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/check_branch_current.py +0 -0
  711. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/check_dco.py +0 -0
  712. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/check_licenses.py +0 -0
  713. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/check_reproducible.py +0 -0
  714. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/check_required_checks.py +0 -0
  715. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/ensure_eval_corpus.sh +0 -0
  716. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_corpus.py +0 -0
  717. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_explain.py +0 -0
  718. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_gate.py +0 -0
  719. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_recommend.py +0 -0
  720. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_retrieval.py +0 -0
  721. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_stats_summary.py +0 -0
  722. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/eval_tools.py +0 -0
  723. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/import_budget.py +0 -0
  724. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/lock_toolchain.py +0 -0
  725. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/measure_near_duplicate_bound.py +0 -0
  726. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/measure_registry.py +0 -0
  727. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/mutation_gate.py +0 -0
  728. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/mutation_shards.py +0 -0
  729. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/mutation_weights.json +0 -0
  730. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/normalize_sdist.py +0 -0
  731. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/page_budget.py +0 -0
  732. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/perf_gate.py +0 -0
  733. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/post_deploy_smoke.py +0 -0
  734. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/publish_eval_json.py +0 -0
  735. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/publish_shards.py +0 -0
  736. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/release_guard.py +0 -0
  737. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/release_preflight.py +0 -0
  738. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/serve_docs.py +0 -0
  739. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/scripts/shard_plan.py +0 -0
  740. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/setup.cfg +0 -0
  741. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/sonar-project.properties +0 -0
  742. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/style/README.md +0 -0
  743. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/style/boost.css +0 -0
  744. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/style/boost.js +0 -0
  745. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/style/demo.html +0 -0
  746. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/adapt.feature +0 -0
  747. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/browse.feature +0 -0
  748. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/count.feature +0 -0
  749. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/discover.feature +0 -0
  750. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/doctor.feature +0 -0
  751. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/environment.py +0 -0
  752. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/explain.feature +0 -0
  753. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/index.feature +0 -0
  754. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/install.feature +0 -0
  755. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/list.feature +0 -0
  756. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/mcp.feature +0 -0
  757. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/search.feature +0 -0
  758. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/steps/cli_steps.py +0 -0
  759. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/steps/discovery_steps.py +0 -0
  760. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/steps/mcp_steps.py +0 -0
  761. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/bdd/features/steps/quality_steps.py +0 -0
  762. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/conftest.py +0 -0
  763. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/baseline.json +0 -0
  764. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/explain.jsonl +0 -0
  765. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
  766. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/golden-natural.jsonl +0 -0
  767. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/golden.jsonl +0 -0
  768. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/recommend.jsonl +0 -0
  769. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/taps-scale.txt +0 -0
  770. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/taps.txt +0 -0
  771. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/eval/tool_calls.jsonl +0 -0
  772. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_bmad_all_hosts.py +0 -0
  773. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_capabilities_policy.py +0 -0
  774. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_adapt.py +0 -0
  775. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_bmad.py +0 -0
  776. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_catalog.py +0 -0
  777. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_chat.py +0 -0
  778. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_configuration.py +0 -0
  779. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_hooks.py +0 -0
  780. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_hooks_gemini.py +0 -0
  781. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_info.py +0 -0
  782. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_intelligence.py +0 -0
  783. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_json_reports.py +0 -0
  784. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_pane_width.py +0 -0
  785. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_pkg.py +0 -0
  786. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_quality.py +0 -0
  787. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_quickstart.py +0 -0
  788. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_tap_pins.py +0 -0
  789. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_taps.py +0 -0
  790. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_cli_team.py +0 -0
  791. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_everyday_loop.py +0 -0
  792. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_integrity_enforce.py +0 -0
  793. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_kind_conformance.py +0 -0
  794. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_property_parsers.py +0 -0
  795. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_run.py +0 -0
  796. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_tap_signing.py +0 -0
  797. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/functional/test_workspace_scope.py +0 -0
  798. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/README.md +0 -0
  799. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  800. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  801. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  802. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  803. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  804. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  805. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  806. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  807. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  808. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  809. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  810. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  811. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  812. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  813. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  814. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  815. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  816. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  817. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  818. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  819. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  820. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  821. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  822. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/fuzz_frontmatter.py +0 -0
  823. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/fuzz/fuzz_registry.py +0 -0
  824. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/langchain/conftest.py +0 -0
  825. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/langchain/test_graph.py +0 -0
  826. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/langchain/test_loader.py +0 -0
  827. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/langchain/test_retriever.py +0 -0
  828. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/make_fixture.py +0 -0
  829. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/perf/test_benchmarks.py +0 -0
  830. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/smoke.sh +0 -0
  831. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_a11y_check.py +0 -0
  832. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_action_pin_lockstep.py +0 -0
  833. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_adapters.py +0 -0
  834. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_adapters_multi.py +0 -0
  835. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_adapters_runner.py +0 -0
  836. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_agents.py +0 -0
  837. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_ai.py +0 -0
  838. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_aihost.py +0 -0
  839. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_archive.py +0 -0
  840. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_bmad_core.py +0 -0
  841. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_boost_first_offer.py +0 -0
  842. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_bootstrap.py +0 -0
  843. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_bot_pr_dco.py +0 -0
  844. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_branch_current.py +0 -0
  845. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_browse.py +0 -0
  846. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_builtin.py +0 -0
  847. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_capabilities.py +0 -0
  848. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_catalog.py +0 -0
  849. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_catalogbundle.py +0 -0
  850. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_chat.py +0 -0
  851. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_check_anchors.py +0 -0
  852. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_check_dco.py +0 -0
  853. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_check_licenses.py +0 -0
  854. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_check_reproducible.py +0 -0
  855. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_claude_settings.py +0 -0
  856. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_clean_internal_cache.py +0 -0
  857. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_cli_update_shards.py +0 -0
  858. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_cliparse.py +0 -0
  859. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_codeql_analysis_key.py +0 -0
  860. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_cohort.py +0 -0
  861. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_command_reference_fresh.py +0 -0
  862. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_community_health_files.py +0 -0
  863. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_complete.py +0 -0
  864. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_complete_rc_block.py +0 -0
  865. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_config.py +0 -0
  866. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_content_dedupe.py +0 -0
  867. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_content_identity.py +0 -0
  868. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_crash_redaction.py +0 -0
  869. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dedup_trust.py +0 -0
  870. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_demo_index.py +0 -0
  871. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense.py +0 -0
  872. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
  873. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_embed_dedupe.py +0 -0
  874. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_entry_reuse.py +0 -0
  875. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_entry_vectors.py +0 -0
  876. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_fallback.py +0 -0
  877. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_fix_hint.py +0 -0
  878. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_progress.py +0 -0
  879. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_quantized.py +0 -0
  880. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_ready_order.py +0 -0
  881. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_shard_real_schema.py +0 -0
  882. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  883. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_shards.py +0 -0
  884. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_status.py +0 -0
  885. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_status_cheap.py +0 -0
  886. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dense_vector_dedupe.py +0 -0
  887. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_dependabot_config.py +0 -0
  888. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_deps.py +0 -0
  889. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_discovery.py +0 -0
  890. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_distill_merge.py +0 -0
  891. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_docs_pages_linked.py +0 -0
  892. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_docsite_chrome.py +0 -0
  893. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_doctor_output_polish.py +0 -0
  894. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_drift_hint.py +0 -0
  895. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_ed25519.py +0 -0
  896. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_embed.py +0 -0
  897. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_embed_local.py +0 -0
  898. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_embed_truncated_response.py +0 -0
  899. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_entry_key.py +0 -0
  900. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_errors_and_cli_table.py +0 -0
  901. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_baseline.py +0 -0
  902. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_corpus.py +0 -0
  903. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_faithfulness.py +0 -0
  904. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_gate.py +0 -0
  905. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_grading.py +0 -0
  906. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_metrics.py +0 -0
  907. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_stats_summary.py +0 -0
  908. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_tools.py +0 -0
  909. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_eval_tools_probe.py +0 -0
  910. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  911. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_faithfulness.py +0 -0
  912. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_frontmatter.py +0 -0
  913. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_fuzz_targets.py +0 -0
  914. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  915. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_gitleaks_config.py +0 -0
  916. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_gitutil.py +0 -0
  917. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_gitutil_lfs.py +0 -0
  918. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_gitutil_sparse.py +0 -0
  919. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_gstack_coexistence.py +0 -0
  920. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_hook_settings_hosts.py +0 -0
  921. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_hookhost.py +0 -0
  922. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_imperative.py +0 -0
  923. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_import_budget.py +0 -0
  924. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_injectscan.py +0 -0
  925. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_install_permission_error.py +0 -0
  926. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_installscan.py +0 -0
  927. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_integrity.py +0 -0
  928. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_journal.py +0 -0
  929. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_jsonstate.py +0 -0
  930. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_langchain_packaging.py +0 -0
  931. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_launcher_python_floor.py +0 -0
  932. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_link_ownership.py +0 -0
  933. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_localembed.py +0 -0
  934. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_localembed_e2e.py +0 -0
  935. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_lockfile.py +0 -0
  936. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_logs.py +0 -0
  937. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_marketing_counts.py +0 -0
  938. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mcp.py +0 -0
  939. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mcp_install_scan.py +0 -0
  940. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mcp_read.py +0 -0
  941. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mcpdecl.py +0 -0
  942. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mcphost.py +0 -0
  943. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_measure_registry.py +0 -0
  944. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_minisign.py +0 -0
  945. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mutation_hardening.py +0 -0
  946. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mutation_shards.py +0 -0
  947. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mutation_subfile_shards.py +0 -0
  948. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_mutmut_source_paths.py +0 -0
  949. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_near_duplicate_collapse.py +0 -0
  950. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_nethttp.py +0 -0
  951. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_normalize_sdist.py +0 -0
  952. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_output.py +0 -0
  953. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_page_budget.py +0 -0
  954. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_paths.py +0 -0
  955. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_perf_gate.py +0 -0
  956. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_pkg_confusions.py +0 -0
  957. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_pkg_injection.py +0 -0
  958. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_pkg_secrets.py +0 -0
  959. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_platform_pins.py +0 -0
  960. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_policy.py +0 -0
  961. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_post_deploy_smoke.py +0 -0
  962. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_project_mcp_sidecar.py +0 -0
  963. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_projectlock.py +0 -0
  964. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_provenance.py +0 -0
  965. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_publish_golden_dataset.py +0 -0
  966. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_rag.py +0 -0
  967. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_rag_fastpath.py +0 -0
  968. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_rag_fusion.py +0 -0
  969. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_registries_fresh.py +0 -0
  970. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_registry.py +0 -0
  971. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_registry_categories.py +0 -0
  972. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_registry_control_chars.py +0 -0
  973. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_registry_parallel.py +0 -0
  974. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_release_guard.py +0 -0
  975. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_release_preflight.py +0 -0
  976. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_report.py +0 -0
  977. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_required_checks.py +0 -0
  978. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_rerank_cache.py +0 -0
  979. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_resolve.py +0 -0
  980. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
  981. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_roadmap_fresh.py +0 -0
  982. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_rules.py +0 -0
  983. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_scale_corpus.py +0 -0
  984. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_schedule_plist.py +0 -0
  985. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_scopes.py +0 -0
  986. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_secretscan.py +0 -0
  987. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_selfupdate.py +0 -0
  988. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_serve.py +0 -0
  989. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_serve_docs.py +0 -0
  990. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_shard_plan.py +0 -0
  991. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_shards.py +0 -0
  992. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_shards_incremental.py +0 -0
  993. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_shards_ingest.py +0 -0
  994. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_shards_matrix.py +0 -0
  995. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_smoke_covers_every_command.py +0 -0
  996. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_spdx_headers.py +0 -0
  997. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_spin.py +0 -0
  998. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_stackprobe.py +0 -0
  999. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_staleness.py +0 -0
  1000. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_store.py +0 -0
  1001. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_store_materialize.py +0 -0
  1002. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_sync_blocked_links.py +0 -0
  1003. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  1004. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_tap_pins.py +0 -0
  1005. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_token_parity.py +0 -0
  1006. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_toolchain_lock.py +0 -0
  1007. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_trustaudit.py +0 -0
  1008. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_typedvalue.py +0 -0
  1009. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_typosquat.py +0 -0
  1010. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_updatediff.py +0 -0
  1011. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_util.py +0 -0
  1012. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_version.py +0 -0
  1013. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_version_tags.py +0 -0
  1014. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_vex.py +0 -0
  1015. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_visual_harness_capture.py +0 -0
  1016. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_visual_harness_flags.py +0 -0
  1017. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_workflow_concurrency.py +0 -0
  1018. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  1019. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  1020. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_workflow_timeouts.py +0 -0
  1021. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_workflows.py +0 -0
  1022. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  1023. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/visual/a11y_check.mjs +0 -0
  1024. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/visual/console_check.mjs +0 -0
  1025. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/visual/package-lock.json +0 -0
  1026. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/visual/package.json +0 -0
  1027. {boost_skill_cli-1.2.108 → boost_skill_cli-1.2.109}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.108
3
+ Version: 1.2.109
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -217,8 +217,11 @@ refused rather than silently picking one.
217
217
 
218
218
  Because vectors are keyed to a registry's commit, `quickstart` **pins** each tap
219
219
  it fetches vectors for, and `boost update` skips a pinned tap rather than moving
220
- it out from under them (`--force` moves it anyway and drops the pin). When a tap
221
- does move, boost checks whether a newer shard exists for the new commit and
220
+ it out from under them (`--force` moves it anyway and drops the pin). A pinned
221
+ tap with *no* clone is not skipped — there is nothing to hold still, so it is
222
+ cloned and checked out at its pin; if that pin cannot be reached the clone is
223
+ removed rather than left on HEAD with a pin that no longer describes it, and
224
+ `compact --reclone` follows the same rule. When a tap does move, boost checks whether a newer shard exists for the new commit and
222
225
  imports it; if none does, it says so instead of leaving stale vectors looking
223
226
  fresh. `boost search` never refreshes taps behind your back, and never checks
224
227
  the manifest either — acting on that answer means moving taps and downloading
@@ -175,8 +175,11 @@ refused rather than silently picking one.
175
175
 
176
176
  Because vectors are keyed to a registry's commit, `quickstart` **pins** each tap
177
177
  it fetches vectors for, and `boost update` skips a pinned tap rather than moving
178
- it out from under them (`--force` moves it anyway and drops the pin). When a tap
179
- does move, boost checks whether a newer shard exists for the new commit and
178
+ it out from under them (`--force` moves it anyway and drops the pin). A pinned
179
+ tap with *no* clone is not skipped — there is nothing to hold still, so it is
180
+ cloned and checked out at its pin; if that pin cannot be reached the clone is
181
+ removed rather than left on HEAD with a pin that no longer describes it, and
182
+ `compact --reclone` follows the same rule. When a tap does move, boost checks whether a newer shard exists for the new commit and
180
183
  imports it; if none does, it says so instead of leaving stale vectors looking
181
184
  fresh. `boost search` never refreshes taps behind your back, and never checks
182
185
  the manifest either — acting on that answer means moving taps and downloading
@@ -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.108'
22
- __version_tuple__ = version_tuple = (1, 2, 108)
21
+ __version__ = version = '1.2.109'
22
+ __version_tuple__ = version_tuple = (1, 2, 109)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -370,9 +370,26 @@ def cmd_compact(argv) -> int:
370
370
  # other — nothing about `--reclone` consults the pin — so
371
371
  # without this the clone silently lands on HEAD while
372
372
  # config.json, the catalog cache and `boost taps` keep
373
- # naming the old commit. checkout_commit's own BoostError
374
- # (unresolvable pin) surfaces through the except below.
375
- gitutil.checkout_commit(tap.path, tap.pin)
373
+ # naming the old commit.
374
+ try:
375
+ gitutil.checkout_commit(tap.path, tap.pin)
376
+ except BoostError:
377
+ # `--reclone` removed the clone before making this
378
+ # one, so the pinned tree is already gone and there is
379
+ # nothing to fall back to. Letting the `except` below
380
+ # warn and carry on would leave a clone sitting on
381
+ # HEAD with the old pin still recorded beside it, and
382
+ # the next `update` reads `is_cloned` true plus a pin
383
+ # and answers "pinned at <sha> (skipped)" — forever,
384
+ # for a tree that is not on that commit. Remove it
385
+ # instead: `doctor` names a tap with no clone (`! tap
386
+ # <x> not cloned`, exit 1) and `update` re-clones it
387
+ # back onto its pin, so the tap ends in a state
388
+ # something reports and something repairs.
389
+ # `registry.update` takes the same exit on the same
390
+ # failure; this is the path that gets there first.
391
+ util.rmtree(tap.path)
392
+ raise
376
393
  # The re-clone can change what's on disk even when the byte
377
394
  # count doesn't (a pinned tap's tree is identical, but the
378
395
  # cache's recorded commit and mtime are now stale either way).
@@ -578,15 +578,30 @@ def cmd_reindex(argv):
578
578
  # and the count above reads exactly as it does for a full corpus. Say what
579
579
  # the index actually holds, in the share of TEXT rather than of documents —
580
580
  # a document share reads 100% until it reads 0%.
581
+ #
582
+ # The share quoted is of the tokens THIS INDEX holds, and the sentence says
583
+ # so. It used to read "this index holds N% of the searchable text", which
584
+ # is a share of the corpus — a number nothing here can compute, because the
585
+ # bodies that were never read have no token count to compare against. Since
586
+ # a body runs about an order of magnitude longer than the metadata standing
587
+ # in for it, that reading overstated badly in exactly the partly-cloned case
588
+ # this warning exists for: a half-cloned index announced itself as 94%
589
+ # complete, and one unreadable file among a thousand rendered as "100.0% of
590
+ # the searchable text" inside a warning about missing text.
581
591
  if stats["metadata_only"]:
582
592
  share = rag.index_completeness() or {}
583
- out.warn("%d of %d items were indexed from catalog metadata alone — "
584
- "their registries are not cloned here, so this index holds "
585
- "%.1f%% of the searchable text. Tap them for real with "
586
- "`boost tap <owner/repo>` and re-run `boost reindex` to index "
587
- "their bodies."
588
- % (stats["metadata_only"], stats["docs"],
589
- 100.0 * share.get("body_share", 0.0)), wrap=True)
593
+ tokens = share.get("tokens") or 0
594
+ meta_tokens = share.get("metadata_only_tokens") or 0
595
+ # No tokens at all means nothing but metadata got as far as the index,
596
+ # so 100% is the honest reading rather than a division to protect.
597
+ meta_pct = (100.0 * meta_tokens / tokens) if tokens else 100.0
598
+ out.warn("%d of %d indexed items have no body text — their registries "
599
+ "are not cloned here, so only their catalog metadata was "
600
+ "indexed, and that metadata is %.1f%% of everything this "
601
+ "index holds. Clone them with `boost update`, then re-run "
602
+ "`boost reindex --force` to index their bodies."
603
+ % (stats["metadata_only"], stats["docs"], meta_pct),
604
+ wrap=True)
590
605
  if args.dense:
591
606
  if dense_stats is None:
592
607
  out.warn("dense index skipped — %s" % embed.fallback_note(),
@@ -789,10 +789,21 @@ def index_completeness() -> dict | None:
789
789
  ``body_share`` is a share of **tokens**, not of documents, and that is the
790
790
  whole point. An entry whose body is missing still produces a document, so a
791
791
  document share sits at 1.0 until the moment it drops to 0.0 and tells a
792
- partially-cloned machine nothing. The token share degrades smoothly and
793
- reproduces the measurement the roadmap card made by hand: 3,041,326 tokens
794
- against 182,507 over 3,015 entries indexed with and then without their
795
- clones, or 6.0% of the searchable text.
792
+ partially-cloned machine nothing.
793
+
794
+ It describes **this index**, not the corpus behind it: the fraction of the
795
+ tokens actually indexed that came from a document carrying a body. The
796
+ share of the *corpus's* text that made it in is a different number, and it
797
+ is not computable here — the bodies that were never read have no token
798
+ count to compare against, by construction. An earlier version of this
799
+ docstring claimed the value "reproduces the measurement the roadmap card
800
+ made by hand ... or 6.0% of the searchable text". It does not: for that
801
+ input every token indexed came from metadata, so it returns **0.0**. The
802
+ two move in opposite directions, and because a body runs about an order of
803
+ magnitude longer than the metadata standing in for it, presenting this as
804
+ corpus completeness overstates a half-cloned machine badly. Callers must
805
+ say which share they are quoting; :func:`cmd_reindex` quotes
806
+ ``metadata_only_tokens / tokens`` and names it.
796
807
 
797
808
  Reads the persisted totals rather than re-deriving them, so asking is a
798
809
  stat plus a cached parse — nothing walks the corpus.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.108
3
+ Version: 1.2.109
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -217,8 +217,11 @@ refused rather than silently picking one.
217
217
 
218
218
  Because vectors are keyed to a registry's commit, `quickstart` **pins** each tap
219
219
  it fetches vectors for, and `boost update` skips a pinned tap rather than moving
220
- it out from under them (`--force` moves it anyway and drops the pin). When a tap
221
- does move, boost checks whether a newer shard exists for the new commit and
220
+ it out from under them (`--force` moves it anyway and drops the pin). A pinned
221
+ tap with *no* clone is not skipped — there is nothing to hold still, so it is
222
+ cloned and checked out at its pin; if that pin cannot be reached the clone is
223
+ removed rather than left on HEAD with a pin that no longer describes it, and
224
+ `compact --reclone` follows the same rule. When a tap does move, boost checks whether a newer shard exists for the new commit and
222
225
  imports it; if none does, it says so instead of leaving stale vectors looking
223
226
  fresh. `boost search` never refreshes taps behind your back, and never checks
224
227
  the manifest either — acting on that answer means moving taps and downloading
@@ -207,6 +207,7 @@ docs/roadmap/items/BOOST-D24.md
207
207
  docs/roadmap/items/BOOST-D25.md
208
208
  docs/roadmap/items/BOOST-D26.md
209
209
  docs/roadmap/items/BOOST-D27.md
210
+ docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md
210
211
  docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md
211
212
  docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md
212
213
  docs/roadmap/items/actionlint-skips-shellcheck-silently.md
@@ -357,6 +358,7 @@ docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md
357
358
  docs/roadmap/items/cold-search-reads-the-whole-catalogue.md
358
359
  docs/roadmap/items/command-carousel-page.md
359
360
  docs/roadmap/items/command-reference-docs-site.md
361
+ docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md
360
362
  docs/roadmap/items/completions-complete-only-command-names.md
361
363
  docs/roadmap/items/completions-install-could-eat-your-rc-file.md
362
364
  docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md
@@ -455,6 +457,7 @@ docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md
455
457
  docs/roadmap/items/layering-guard-import-linter.md
456
458
  docs/roadmap/items/license-compliance-scanning.md
457
459
  docs/roadmap/items/lighthouse-ci-on-the-pages-site.md
460
+ docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md
458
461
  docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md
459
462
  docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md
460
463
  docs/roadmap/items/list-rules-and-workflows.md
@@ -548,10 +551,12 @@ docs/roadmap/items/ranx-significance-monitor.md
548
551
  docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md
549
552
  docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md
550
553
  docs/roadmap/items/readme-prune-and-search-guide.md
554
+ docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md
551
555
  docs/roadmap/items/recommend-recomputes-its-columns-per-row.md
552
556
  docs/roadmap/items/reconcile-the-theme-drift.md
553
557
  docs/roadmap/items/refresh-strands-the-natural-set-baseline.md
554
558
  docs/roadmap/items/refresh-the-marketing-surface.md
559
+ docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md
555
560
  docs/roadmap/items/rel-time-tests-race-the-wall-clock.md
556
561
  docs/roadmap/items/release-verifies-the-wrong-commit.md
557
562
  docs/roadmap/items/relicence-apache-2.md
@@ -624,6 +629,7 @@ docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md
624
629
  docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md
625
630
  docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md
626
631
  docs/roadmap/items/taps-check-out-freight-they-never-index.md
632
+ docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md
627
633
  docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md
628
634
  docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md
629
635
  docs/roadmap/items/the-shard-job-that-could-not-finish.md
@@ -0,0 +1,42 @@
1
+ ---
2
+ id: a-new-shipped-card-always-404s-its-own-write-up-link
3
+ board: code
4
+ section: pipeline
5
+ status: planned
6
+ category: CI · Bug
7
+ complexity: S
8
+ impact: Medium
9
+ wow: 3
10
+ note: the links check goes red on every correct PR that files a new card as shipped, and green again on merge
11
+ order: 313
12
+ owner:
13
+ pr:
14
+ title: "A new card filed as <code>shipped</code> always 404s its own write-up link"
15
+ ---
16
+ <code>build_roadmap.py</code> renders a settled card's body as a link to the item file on
17
+ <b><code>main</code></b> &mdash; <code>ITEMS_URL</code> (line 206) is
18
+ <code>https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items</code>, and
19
+ <code>_body_html</code> emits it for any status in <code>_SETTLED</code>. The
20
+ <code>links</code> job runs on <code>pull_request</code> over
21
+ <code>docs/*.html</code>. So a PR that files a <em>new</em> card at
22
+ <code>status: shipped</code> renders a link to a file that does not exist on
23
+ <code>main</code> yet, and lychee rejects it 404 &mdash; on a PR where nothing is wrong.
24
+ It goes green by itself the moment the PR merges.
25
+
26
+ Observed on PR <code>#845</code>, whose 22 required checks were all green:
27
+ <em>&ldquo;[404] &lt;&hellip;/blob/main/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md&gt; (at 4125:54) | Rejected status code: 404 Not Found&rdquo;</em>.
28
+ The mechanism is deterministic from the three sources above rather than inferred from that
29
+ one run: any new item file whose first committed status is settled hits it. Cards that were
30
+ already on <code>main</code> and merely change status do not, which is why this went
31
+ unnoticed &mdash; the usual shape is claim-then-ship across two PRs.
32
+
33
+ It matters because the remedy people reach for is the wrong one: either the card gets
34
+ filed at a status that misdescribes it to keep CI quiet, or a check that is right about
35
+ everything else gets learned as noise. <code>links</code> is advisory rather than
36
+ required, which caps the damage and is also what lets it rot unnoticed. Options, cheapest
37
+ first: resolve the link against the <em>head</em> ref in CI
38
+ (<code>GITHUB_HEAD_REF</code>) and <code>main</code> elsewhere; or let lychee treat a
39
+ <code>blob/main</code> URL whose path exists in the working tree as satisfied; or link the
40
+ raw file relatively and accept that GitHub Pages serves <code>.md</code> as a download
41
+ rather than rendered Markdown &mdash; which is the reason the absolute URL was chosen, so
42
+ that one is a trade, not a fix.
@@ -2,12 +2,12 @@
2
2
  id: audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co
3
3
  board: code
4
4
  section: internals
5
- status: inflight
5
+ status: shipped
6
6
  category: Safety · Bug
7
7
  complexity: M
8
8
  impact: High
9
9
  wow: 2
10
- note: compact --reclone moved a pin to HEAD and printed "every tap is already compact"
10
+ note: three broken paths, three PRs claiming it, and one residual that took a second item to finish
11
11
  order: 216
12
12
  owner: loop/tap-pin-integrity
13
13
  pr: 725
@@ -43,3 +43,14 @@ size-only report at <code>configuration.py:288-292</code> is what hid the move.
43
43
  pinned-tap paragraph (lines 176-178) and its <code>compact --reclone</code> line (274); regenerate
44
44
  <code>docs/commands.html</code> only if the <code>--force</code> help string changes. Found by the
45
45
  2026-08 CLI audit (cluster <code>pinned-tap-integrity</code>); repro in the audit log.
46
+
47
+
48
+ <b>Closed 2026-09-10.</b> <code>#725</code> landed the <code>registry.update</code> half
49
+ (both the <code>--force</code> unpin and the re-clone of a pinned tap whose clone had
50
+ vanished, with <code>tests/unit/test_tap_pins.py</code> covering each). The
51
+ <code>compact --reclone</code> half landed in two pieces: the pin checkout, the
52
+ <code>catalog.rebuild_tap</code> and the size-independent report came with
53
+ <code>#725</code>; the unresolvable-pin guard was left behind when three PRs claimed this
54
+ one item and only one could merge, and is its own card &mdash;
55
+ <code>reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin</code>. All three paths
56
+ named above are now closed, and README's pinned-tap paragraph says what the code does.
@@ -0,0 +1,36 @@
1
+ ---
2
+ id: compact-answers-a-named-tap-with-a-global-all-clear
3
+ board: code
4
+ section: internals
5
+ status: planned
6
+ category: CLI · Bug
7
+ complexity: S
8
+ impact: Medium
9
+ wow: 2
10
+ note: boost compact &lt;tap&gt; on an uncloned tap prints a green "no cloned taps to compact" and exits 0
11
+ order: 311
12
+ owner:
13
+ pr:
14
+ title: "<code>compact &lt;tap&gt;</code> answers a question about one tap with a global all-clear"
15
+ ---
16
+ <code>cmd_compact</code> resolves its named taps and then filters
17
+ (<code>taps = [t for t in taps if t.is_cloned]</code>). A tap that is configured but has
18
+ no clone falls out of that list silently, so the empty-list branch fires and prints
19
+ <em>&ldquo;&#10003; no cloned taps to compact&rdquo;</em> with exit 0 &mdash; a green,
20
+ plural, global-sounding all-clear in answer to a question about one specific tap, which
21
+ it never names.
22
+
23
+ Reproduced on a scratch <code>BOOST_HOME</code>: tap a repo, delete its clone directory,
24
+ then <code>boost compact &lt;that-tap&gt;</code> &rarr; <code>rc=0</code>,
25
+ <em>&ldquo;&#10003; no cloned taps to compact&rdquo;</em>. Meanwhile
26
+ <code>boost doctor</code> exits 1 on the same machine and says
27
+ <em>&ldquo;! tap &lt;x&gt; not cloned &mdash; run <code>boost update</code>&rdquo;</em>,
28
+ so the information exists and this command is the one that withholds it.
29
+
30
+ This contradicts the convention <code>registry.update</code> states in its own docstring:
31
+ <em>&ldquo;A named tap still raises. <code>boost update sometap</code> is a request about
32
+ that one tap, so its failure is the answer to the question asked.&rdquo;</em> The sweep
33
+ form is right to stay quiet; the named form is not. Fix: when <code>args.tap</code> named
34
+ taps and the filter dropped some, say which and why, and point at
35
+ <code>boost update</code> the way <code>doctor</code> does &mdash; and do not report
36
+ success for a tap nothing was done to.
@@ -0,0 +1,44 @@
1
+ ---
2
+ id: lighthouse-flips-on-byte-identical-input
3
+ board: code
4
+ section: docsite
5
+ status: planned
6
+ category: CI · Bug
7
+ complexity: M
8
+ impact: High
9
+ wow: 4
10
+ note: the same roadmap.html scored 0.78 and passed, then 0.78 and failed — the gate now decides on runner noise
11
+ order: 314
12
+ owner:
13
+ pr:
14
+ title: The performance gate flips on byte-identical input
15
+ ---
16
+ <code>lighthouse</code> asserts <code>categories.performance &ge; 0.80</code> on
17
+ <code>docs/roadmap.html</code>. That page now scores <b>0.76&ndash;0.78</b>, so the
18
+ assertion is decided by whichever way runner timing falls, not by the page. <b>Two commits
19
+ on one branch, whose <code>docs/roadmap.html</code> is byte-identical
20
+ (<code>sha256 42bdc4f7&hellip;</code>, 784,560&nbsp;bytes both), got opposite verdicts</b>
21
+ &mdash; <code>c75f4a9f</code> failed, <code>037a2468</code> passed, 60 seconds apart. The
22
+ same oscillation is visible on other branches in the run history:
23
+ <code>loop/missing-json</code> failed at <code>2a5231cb</code> and passed at
24
+ <code>1c949b7d</code>; <code>loop/audit-retrieval-search-onboarding</code> failed twice
25
+ then passed.
26
+
27
+ Three earlier cards closed real findings here &mdash;
28
+ <code>lighthouse-ci-on-the-pages-site</code> installed the budgets,
29
+ <code>lighthouse-scored-a-page-nobody-is-served</code> fixed a harness sending 3.27x the
30
+ bytes Pages sends, and <code>roadmap-page-weight-grows-without-bound</code> found it was
31
+ <em>never the bytes</em> but 705&nbsp;ms of <code>styleLayout</code>, and bought headroom
32
+ by letting 55.5% of elements skip it. That headroom has since been spent: the board was
33
+ 407.6&nbsp;KB when that card was written and is <b>787&nbsp;KB</b> now. So this is not a
34
+ re-file of any of them &mdash; it is what happens after their fix, and the symptom is
35
+ different in kind: a gate that cannot decide rather than a page that is slow.
36
+
37
+ Why it matters more than two hundredths of a score: a check that fails on input it just
38
+ passed is a check people learn to re-run rather than read, and the next real regression
39
+ arrives looking exactly like the last false one. <code>lighthouse</code> is advisory, not
40
+ required, which is what has let it drift this far unnoticed. Fix &mdash; decide which
41
+ guarantee is wanted, then make the gate express it: assert the median of the three runs
42
+ rather than the worst, or floor at a value the page actually clears and put a separate
43
+ bound on the growth that is eating the margin, so the number that moves is the one being
44
+ regressed. Lowering the floor alone just relocates the coin flip.
@@ -0,0 +1,41 @@
1
+ ---
2
+ id: reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin
3
+ board: code
4
+ section: internals
5
+ status: shipped
6
+ category: Safety · Bug
7
+ complexity: S
8
+ impact: High
9
+ wow: 3
10
+ note: the last unfixed path of the pin-integrity item, left behind when three PRs claimed it and one won
11
+ order: 310
12
+ owner: loop/reclone-pin-integrity
13
+ pr: 845
14
+ title: "<code>compact --reclone</code> left a clone on HEAD when it could not reach the pin"
15
+ ---
16
+ The residual of <code>audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co</code>,
17
+ and it survived for a reason worth recording: <b>three PRs claimed that item, all
18
+ 22/22 green, and none was a strict superset.</b> <code>#725</code> guarded the
19
+ unresolvable pin in <code>registry.update</code> and won on the older claim;
20
+ <code>#738</code> guarded it in <code>compact --reclone</code> and was closed. The
21
+ closing comment named the gap and asked for it back as its own item &mdash; this is
22
+ that item, and the fix is <code>#738</code>'s, applied to current <code>main</code>.
23
+
24
+ What was left: <code>--reclone</code> deletes the clone <em>before</em> it makes a new
25
+ one, so by the time <code>gitutil.checkout_commit</code> raises on a pin it cannot
26
+ resolve, the pinned tree is already gone. The <code>except BoostError</code> below
27
+ warned and carried on, leaving a clone sitting on HEAD with the old pin still recorded
28
+ beside it in <code>config.json</code>. The next <code>update</code> then reads
29
+ <code>is_cloned</code> true <em>plus</em> a pin and answers
30
+ <em>&ldquo;pinned at &lt;sha&gt; (skipped)&rdquo;</em> &mdash; permanently, for a tree
31
+ that is not on that commit. Prebuilt shard vectors are keyed to that pin, so the tap
32
+ carries stale vectors that are still present and raise no error: the failure that looks
33
+ like nothing at all.
34
+
35
+ The fix removes the half-made clone and re-raises, which is exactly what
36
+ <code>registry.update</code> already does on the same failure &mdash; this is simply the
37
+ path that gets there first. Not-cloned is a state <code>doctor</code> names
38
+ (<em>&ldquo;! tap &lt;x&gt; not cloned&rdquo;</em>, exit 1) and one <code>update</code>
39
+ repairs, landing the tap back on its pin. Cloned-but-lying is neither. The pin itself is
40
+ kept, because it is the target <code>update</code> needs; dropping it would be the
41
+ silent move by another route.
@@ -0,0 +1,55 @@
1
+ ---
2
+ id: reindex-reported-a-completeness-share-it-could-not-compute
3
+ board: code
4
+ section: internals
5
+ status: shipped
6
+ category: Correctness · Bug
7
+ complexity: S
8
+ impact: High
9
+ wow: 4
10
+ note: shipped in v1.2.108 and caught by an adversarial review of the merge that carried it
11
+ order: 315
12
+ owner: batch/train-23
13
+ pr: 847
14
+ title: "<code>reindex</code> reported a completeness share it could not compute"
15
+ ---
16
+ The completeness warning added alongside the keyword-index work said
17
+ <em>&ldquo;this index holds N% of the searchable text&rdquo;</em> &mdash; a share of the
18
+ <strong>corpus</strong>. The number behind it, <code>body_share</code>, is
19
+ <code>1 - metadata_only_tokens / tokens</code>: a share of the tokens
20
+ <strong>already in the index</strong> that came from a document carrying a body. Those
21
+ are different quantities, and they move in opposite directions.
22
+
23
+ The corpus share is not computable here, which is why this is not a sign error. The
24
+ bodies that were never read have no token count to compare against, by construction, so
25
+ no rearrangement of what <code>_save</code> records can recover it.
26
+
27
+ Because a body runs about an order of magnitude longer than the metadata standing in for
28
+ it, the printed figure overstated completeness in exactly the partly-cloned case the
29
+ warning exists for. Measured against the shipped code: a half-cloned index holding 53% of
30
+ its corpus announced <strong>94.3%</strong>; a single unreadable <code>SKILL.md</code>
31
+ among 1,001 documents rendered as <strong>100.0% of the searchable text</strong> inside a
32
+ warning whose first clause says text is missing; and the bundle-only shape the feature was
33
+ built for &mdash; the one the card measured at 6.0% &mdash; printed <strong>0.0%</strong>.
34
+
35
+ Two things kept it invisible. The docstring asserted the value
36
+ <em>&ldquo;reproduces the measurement the roadmap card made by hand &hellip; or 6.0% of
37
+ the searchable text&rdquo;</em>, which it never did. And the tests pinned the mismatch
38
+ rather than catching it: the functional test asserted the literal string
39
+ <code>0.0% of the searchable text</code>, while the unit test's only guard on a mixed
40
+ corpus was <code>0.0 &lt; body_share &lt; 1.0</code> &mdash; satisfied by every overstated
41
+ value &mdash; under a comment claiming the share would sit <em>&ldquo;well under
42
+ 0.5&rdquo;</em> when it is in fact above it.
43
+
44
+ The remedy the line printed was inert in both halves. <code>boost tap &lt;owner/repo&gt;</code>
45
+ raises <code>tap &lt;x&gt; is already configured</code> for a tap the bundle has already written
46
+ into <code>config.json</code>, which is precisely the <code>catalog --import</code> shape;
47
+ and a plain <code>boost reindex</code> reuses any tap whose commit has not moved &mdash;
48
+ <code>build</code>'s predicate never consults whether a clone is present &mdash; so the
49
+ flagged documents are carried forward verbatim and the bodies are never read. The line now
50
+ says <code>boost update</code>, then <code>boost reindex --force</code>.
51
+
52
+ The warning now quotes <code>metadata_only_tokens / tokens</code> and names it: how much of
53
+ what this index holds is catalog metadata. That reads 100% for the bundle-only shape, which
54
+ is the sentence the feature wanted all along, and it stays true in the two cases that
55
+ previously inverted.
@@ -0,0 +1,42 @@
1
+ ---
2
+ id: taps-vouches-for-a-clone-that-is-not-there
3
+ board: code
4
+ section: internals
5
+ status: planned
6
+ category: CLI · Bug
7
+ complexity: S
8
+ impact: Medium
9
+ wow: 3
10
+ note: boost taps prints item counts and an UPDATED date for a tap whose clone was deleted
11
+ order: 312
12
+ owner:
13
+ pr:
14
+ title: "<code>boost taps</code> vouches for a clone that is not there"
15
+ ---
16
+ <code>boost taps</code> reads the per-tap catalog cache, and
17
+ <code>catalog.load_tap</code> deliberately serves a stale cache when the clone is gone
18
+ (rescanning is only possible while the clone exists &mdash; making the missing clone an
19
+ error there would trade a missing field for a missing catalogue). The consequence
20
+ reaches the readout unlabelled: a tap whose clone has been deleted still prints its
21
+ <code>NAME</code>, an <code>ITEMS</code> count and an <code>UPDATED</code> date, and the
22
+ footer still counts it in <em>&ldquo;N taps &middot; N items&rdquo;</em>. Nothing on the
23
+ line says the clone is missing.
24
+
25
+ Measured on a scratch <code>BOOST_HOME</code>: after deleting the clone directory,
26
+ <code>boost taps</code> printed <code>probe-src &nbsp;1&nbsp; 2026-09-10</code> and
27
+ <em>&ldquo;1 taps &middot; 1 items&rdquo;</em> &mdash; while <code>boost doctor</code>
28
+ exited 1 with <em>&ldquo;! tap &lt;x&gt; not cloned&rdquo;</em>. Two readouts of the same
29
+ machine, one of which is wrong, and the wrong one is the command whose entire job is to
30
+ describe the taps.
31
+
32
+ It is the same shape as the pin bugs in
33
+ <code>audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co</code>: a
34
+ readout that keeps vouching for state the clone no longer has. The precedent is in
35
+ the tree: <code>boost list</code> carries a <code>FLAGS</code> column for exactly this
36
+ reason, and <code>info.py:239-241</code> states it &mdash; <em>&ldquo;so a quarantined or
37
+ pinned rule/workflow doesn't render byte-identical to a healthy one &hellip; a reader
38
+ needs to see that here, not just in --json&rdquo;</em>. Its values are
39
+ <code>pinned</code> and <code>quarantined</code>; a tap with no clone is the same class of
40
+ fact about a different table. Fix: <code>taps</code> already has
41
+ <code>tap.is_cloned</code> in hand, so mark the row and keep the footer counts honest,
42
+ rather than leaving <code>doctor</code> as the only command that knows.