boost-skill-cli 1.2.111__tar.gz → 1.2.113__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 (1046) hide show
  1. {boost_skill_cli-1.2.111/boost_skill_cli.egg-info → boost_skill_cli-1.2.113}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/bmad.py +22 -4
  4. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/configuration.py +14 -4
  5. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/discovery.py +7 -0
  6. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/taps.py +4 -2
  7. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/catalog.py +53 -5
  8. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/gitutil.py +12 -1
  9. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/registry.py +14 -7
  10. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/store.py +10 -2
  11. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/util.py +25 -0
  12. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  13. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_skill_cli.egg-info/SOURCES.txt +19 -0
  14. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/commands.html +1 -1
  15. boost_skill_cli-1.2.113/docs/roadmap/items/because-that-was-not-the-reason.md +54 -0
  16. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +75 -0
  17. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +70 -0
  18. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +81 -0
  19. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +72 -0
  20. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +76 -0
  21. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +74 -0
  22. boost_skill_cli-1.2.113/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +77 -0
  23. boost_skill_cli-1.2.113/docs/roadmap/items/count-flags-that-silently-invert.md +45 -0
  24. boost_skill_cli-1.2.113/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +31 -0
  25. boost_skill_cli-1.2.113/docs/roadmap/items/typos-reported-as-boost-bugs.md +35 -0
  26. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap.html +546 -1
  27. boost_skill_cli-1.2.113/tests/functional/test_bad_input_is_not_a_crash.py +107 -0
  28. boost_skill_cli-1.2.113/tests/functional/test_bmad_personas_scope.py +82 -0
  29. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_bmad.py +8 -3
  30. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_taps.py +2 -2
  31. boost_skill_cli-1.2.113/tests/functional/test_context_sees_an_unborn_branch.py +64 -0
  32. boost_skill_cli-1.2.113/tests/functional/test_count_flags_reject_nonpositive.py +80 -0
  33. boost_skill_cli-1.2.113/tests/functional/test_recommend_because_is_true.py +95 -0
  34. boost_skill_cli-1.2.113/tests/functional/test_reports_match_reality.py +169 -0
  35. boost_skill_cli-1.2.113/tests/unit/test_catalog_keyword_words.py +99 -0
  36. boost_skill_cli-1.2.113/tests/unit/test_count_flags_use_positive_int.py +79 -0
  37. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.gitattributes +0 -0
  38. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.gitignore +0 -0
  39. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.gitleaks.toml +0 -0
  40. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.htmlvalidate.json +0 -0
  41. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.lighthouserc.json +0 -0
  42. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.lycheeignore +0 -0
  43. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.markdownlint-cli2.jsonc +0 -0
  44. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.pre-commit-config.yaml +0 -0
  45. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.stylelintrc.json +0 -0
  46. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.vale/styles/boost/AIWriting.yml +0 -0
  47. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.vale/styles/boost/Terminology.yml +0 -0
  48. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  49. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/.vale.ini +0 -0
  50. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/CLAUDE.md +0 -0
  51. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/CODE_OF_CONDUCT.md +0 -0
  52. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/CONTRIBUTING.md +0 -0
  53. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/DCO +0 -0
  54. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/GOVERNANCE.md +0 -0
  55. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/LICENSE +0 -0
  56. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/MAINTAINERS.md +0 -0
  57. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/MANIFEST.in +0 -0
  58. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/Makefile +0 -0
  59. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/README.md +0 -0
  60. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/SECURITY.md +0 -0
  61. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/SUPPORT.md +0 -0
  62. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost +0 -0
  63. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/__init__.py +0 -0
  64. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/__main__.py +0 -0
  65. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/cli.py +0 -0
  66. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/cliparse.py +0 -0
  67. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/__init__.py +0 -0
  68. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/_common.py +0 -0
  69. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/hooks.py +0 -0
  70. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/info.py +0 -0
  71. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/intelligence.py +0 -0
  72. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/pkg.py +0 -0
  73. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/quality.py +0 -0
  74. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/quickstart.py +0 -0
  75. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/run.py +0 -0
  76. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/safety.py +0 -0
  77. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/commands/team.py +0 -0
  78. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/__init__.py +0 -0
  79. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/adapters.py +0 -0
  80. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/agents.py +0 -0
  81. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/ai.py +0 -0
  82. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/aihost.py +0 -0
  83. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/archive.py +0 -0
  84. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/bmad.py +0 -0
  85. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/bootstrap.py +0 -0
  86. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/browse.py +0 -0
  87. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/builtin.py +0 -0
  88. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/capabilities.py +0 -0
  89. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/catalogbundle.py +0 -0
  90. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/chat.py +0 -0
  91. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/claude_settings.py +0 -0
  92. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/cohort.py +0 -0
  93. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/complete.py +0 -0
  94. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/config.py +0 -0
  95. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/dense.py +0 -0
  96. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/deps.py +0 -0
  97. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/discovery.py +0 -0
  98. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/ed25519.py +0 -0
  99. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/embed.py +0 -0
  100. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/faithfulness.py +0 -0
  101. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/frontmatter.py +0 -0
  102. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/hookhost.py +0 -0
  103. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/imperative.py +0 -0
  104. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/injectscan.py +0 -0
  105. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/installscan.py +0 -0
  106. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/integrity.py +0 -0
  107. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/journal.py +0 -0
  108. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/jsonstate.py +0 -0
  109. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/localembed.py +0 -0
  110. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/lockfile.py +0 -0
  111. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/logs.py +0 -0
  112. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/mcp.py +0 -0
  113. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/mcpdecl.py +0 -0
  114. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/mcphost.py +0 -0
  115. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/minisign.py +0 -0
  116. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/nethttp.py +0 -0
  117. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/output.py +0 -0
  118. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/paths.py +0 -0
  119. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/policy.py +0 -0
  120. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/projectlock.py +0 -0
  121. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/provenance.py +0 -0
  122. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/rag.py +0 -0
  123. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/report.py +0 -0
  124. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/resolve.py +0 -0
  125. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/rules.py +0 -0
  126. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/scopes.py +0 -0
  127. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/secretscan.py +0 -0
  128. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/selfupdate.py +0 -0
  129. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/serve.py +0 -0
  130. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/shards.py +0 -0
  131. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/stackprobe.py +0 -0
  132. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/staleness.py +0 -0
  133. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/trustaudit.py +0 -0
  134. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/typedvalue.py +0 -0
  135. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/typosquat.py +0 -0
  136. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/updatediff.py +0 -0
  137. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/core/workflows.py +0 -0
  138. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/data/registries.json +0 -0
  139. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/data/rules/boost-first.mdc +0 -0
  140. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/errors.py +0 -0
  141. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_cli/spin.py +0 -0
  142. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_langchain/__init__.py +0 -0
  143. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_langchain/_compat.py +0 -0
  144. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_langchain/graph.py +0 -0
  145. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_langchain/loader.py +0 -0
  146. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_langchain/py.typed +0 -0
  147. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_langchain/retriever.py +0 -0
  148. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  149. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  150. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_skill_cli.egg-info/requires.txt +0 -0
  151. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/boost_skill_cli.egg-info/top_level.txt +0 -0
  152. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/codecov.yml +0 -0
  153. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/.claude/settings.local.json +0 -0
  154. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/DEBUGGING.md +0 -0
  155. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/adapters.html +0 -0
  156. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/architecture/README.md +0 -0
  157. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/architecture/c4-components-core.md +0 -0
  158. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/architecture/c4-containers.md +0 -0
  159. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/architecture/c4-context.md +0 -0
  160. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/architecture/c4-dynamic-install.md +0 -0
  161. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/bmad.md +0 -0
  162. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/distill.gif +0 -0
  163. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/doctor.gif +0 -0
  164. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/explain.gif +0 -0
  165. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/hooks.gif +0 -0
  166. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/install.gif +0 -0
  167. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/pulse.gif +0 -0
  168. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/search.gif +0 -0
  169. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/gifs/tap.gif +0 -0
  170. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/distill.tape +0 -0
  171. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/doctor.tape +0 -0
  172. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/explain.tape +0 -0
  173. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/hooks.tape +0 -0
  174. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/install.tape +0 -0
  175. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/pulse.tape +0 -0
  176. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/search.tape +0 -0
  177. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel/tapes/tap.tape +0 -0
  178. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/carousel.html +0 -0
  179. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/chat.html +0 -0
  180. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/code-review.md +0 -0
  181. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/commit-audit.md +0 -0
  182. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/demo-index.json +0 -0
  183. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/demo.gif +0 -0
  184. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/demo.html +0 -0
  185. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/demo.tape +0 -0
  186. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/dependencies.md +0 -0
  187. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/design-roadmap.html +0 -0
  188. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/eval-latest.json +0 -0
  189. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/eval.html +0 -0
  190. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/index.html +0 -0
  191. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/langchain.html +0 -0
  192. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/mcp-hub.html +0 -0
  193. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/openssf-badge.md +0 -0
  194. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/openssf-playbook.md +0 -0
  195. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/rag-architecture.md +0 -0
  196. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D01.md +0 -0
  197. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D02.md +0 -0
  198. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D03.md +0 -0
  199. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D04.md +0 -0
  200. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D05.md +0 -0
  201. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D06.md +0 -0
  202. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D07.md +0 -0
  203. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D08.md +0 -0
  204. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D09.md +0 -0
  205. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D10.md +0 -0
  206. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D11.md +0 -0
  207. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D12.md +0 -0
  208. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D13.md +0 -0
  209. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D14.md +0 -0
  210. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D15.md +0 -0
  211. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D16.md +0 -0
  212. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D17.md +0 -0
  213. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D18.md +0 -0
  214. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D19.md +0 -0
  215. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D20.md +0 -0
  216. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D21.md +0 -0
  217. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D22.md +0 -0
  218. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D23.md +0 -0
  219. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D24.md +0 -0
  220. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D25.md +0 -0
  221. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D26.md +0 -0
  222. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/BOOST-D27.md +0 -0
  223. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
  224. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  225. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  226. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  227. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  228. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  229. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ai-backend-fanout.md +0 -0
  230. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  231. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  232. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  233. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  234. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-absorb-findings.md +0 -0
  235. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-adapt-findings.md +0 -0
  236. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
  237. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
  238. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
  239. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-attest-findings.md +0 -0
  240. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-audit-findings.md +0 -0
  241. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-bmad-findings.md +0 -0
  242. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-browse-findings.md +0 -0
  243. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-bundle-findings.md +0 -0
  244. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-catalog-findings.md +0 -0
  245. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
  246. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-changelog-findings.md +0 -0
  247. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-chat-findings.md +0 -0
  248. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
  249. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
  250. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-cohort-findings.md +0 -0
  251. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-completions-findings.md +0 -0
  252. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-config-findings.md +0 -0
  253. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
  254. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-context-findings.md +0 -0
  255. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
  256. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
  257. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-create-findings.md +0 -0
  258. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
  259. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-deps-findings.md +0 -0
  260. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-discover-findings.md +0 -0
  261. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
  262. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-doctor-findings.md +0 -0
  263. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-drift-findings.md +0 -0
  264. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
  265. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-edit-findings.md +0 -0
  266. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-evolve-findings.md +0 -0
  267. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-explain-findings.md +0 -0
  268. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-export-findings.md +0 -0
  269. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
  270. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
  271. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
  272. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
  273. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
  274. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-health-findings.md +0 -0
  275. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
  276. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
  277. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-import-findings.md +0 -0
  278. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-index-findings.md +0 -0
  279. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
  280. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
  281. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-install-findings.md +0 -0
  282. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
  283. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
  284. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-lint-findings.md +0 -0
  285. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-log-findings.md +0 -0
  286. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
  287. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-mcp-findings.md +0 -0
  288. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
  289. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
  290. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
  291. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-onboard-findings.md +0 -0
  292. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
  293. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
  294. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-outdated-findings.md +0 -0
  295. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
  296. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
  297. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-policy-findings.md +0 -0
  298. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-preview-findings.md +0 -0
  299. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-profile-findings.md +0 -0
  300. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
  301. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-protocol-findings.md +0 -0
  302. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-pulse-findings.md +0 -0
  303. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
  304. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
  305. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
  306. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-recommend-findings.md +0 -0
  307. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-reindex-findings.md +0 -0
  308. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
  309. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-replay-findings.md +0 -0
  310. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-root-findings.md +0 -0
  311. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
  312. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-run-findings.md +0 -0
  313. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-schedule-findings.md +0 -0
  314. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-search-findings.md +0 -0
  315. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-simulate-findings.md +0 -0
  316. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
  317. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
  318. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
  319. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
  320. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
  321. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
  322. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
  323. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-sync-findings.md +0 -0
  324. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-tag-findings.md +0 -0
  325. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
  326. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-tap-findings.md +0 -0
  327. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-taps-findings.md +0 -0
  328. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
  329. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-test-findings.md +0 -0
  330. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-trust-findings.md +0 -0
  331. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
  332. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-unpin-findings.md +0 -0
  333. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-untap-findings.md +0 -0
  334. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-update-findings.md +0 -0
  335. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
  336. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-verify-findings.md +0 -0
  337. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/audit-who-findings.md +0 -0
  338. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  339. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
  340. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
  341. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
  342. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  343. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  344. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
  345. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  346. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/boost-first-rule.md +0 -0
  347. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  348. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  349. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/branch-current-gate.md +0 -0
  350. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  351. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  352. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
  353. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  354. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  355. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  356. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  357. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
  358. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
  359. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
  360. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  361. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  362. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  363. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  364. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  365. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  366. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
  367. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/cli-command-audit.md +0 -0
  368. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
  369. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  370. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  371. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
  372. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/command-carousel-page.md +0 -0
  373. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  374. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
  375. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  376. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
  377. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  378. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
  379. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  380. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
  381. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
  382. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  383. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  384. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  385. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  386. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  387. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
  388. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  389. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  390. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  391. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
  392. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
  393. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
  394. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
  395. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
  396. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  397. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
  398. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
  399. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  400. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  401. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  402. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  403. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  404. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  405. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  406. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  407. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  408. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
  409. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  410. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  411. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  412. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
  413. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  414. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  415. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
  416. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
  417. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  418. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  419. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  420. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  421. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  422. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
  423. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
  424. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  425. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
  426. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  427. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
  428. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  429. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  430. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  431. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  432. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  433. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  434. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  435. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  436. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  437. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
  438. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
  439. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  440. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  441. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
  442. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
  443. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
  444. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/github-community-health-files.md +0 -0
  445. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  446. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  447. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  448. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
  449. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  450. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  451. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  452. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
  453. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  454. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  455. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  456. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  457. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  458. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  459. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  460. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  461. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  462. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  463. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  464. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  465. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  466. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  467. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  468. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  469. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  470. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  471. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  472. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  473. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
  474. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  475. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  476. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  477. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  478. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  479. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  480. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  481. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
  482. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  483. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  484. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  485. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  486. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  487. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  488. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  489. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
  490. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  491. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  492. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
  493. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  494. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  495. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
  496. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  497. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  498. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  499. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  500. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  501. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
  502. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  503. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  504. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  505. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
  506. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  507. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  508. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  509. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  510. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  511. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  512. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  513. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  514. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  515. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  516. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  517. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
  518. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  519. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  520. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
  521. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  522. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  523. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  524. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  525. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  526. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  527. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
  528. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
  529. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/openssf-playbook.md +0 -0
  530. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/openssf-silver.md +0 -0
  531. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/osps-baseline-levels.md +0 -0
  532. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  533. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
  534. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  535. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  536. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
  537. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  538. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  539. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  540. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  541. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  542. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  543. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  544. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  545. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  546. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  547. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  548. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  549. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  550. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  551. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  552. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
  553. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  554. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
  555. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  556. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  557. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  558. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
  559. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
  560. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
  561. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
  562. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  563. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  564. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
  565. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
  566. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
  567. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
  568. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
  569. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  570. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
  571. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  572. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
  573. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  574. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  575. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/relicence-apache-2.md +0 -0
  576. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
  577. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  578. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  579. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
  580. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  581. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  582. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  583. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
  584. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  585. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  586. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  587. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  588. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  589. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  590. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  591. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  592. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  593. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  594. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  595. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  596. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  597. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  598. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  599. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  600. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  601. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
  602. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
  603. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
  604. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
  605. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
  606. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  607. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
  608. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
  609. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  610. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  611. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  612. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  613. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  614. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  615. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  616. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  617. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  618. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
  619. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
  620. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  621. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  622. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  623. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/shrink-the-published-index.md +0 -0
  624. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  625. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  626. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
  627. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  628. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
  629. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
  630. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  631. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  632. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  633. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  634. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
  635. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  636. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
  637. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
  638. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  639. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  640. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  641. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  642. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
  643. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  644. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  645. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
  646. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
  647. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
  648. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
  649. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  650. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
  651. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  652. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
  653. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  654. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  655. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  656. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  657. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  658. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
  659. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  660. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  661. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
  662. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  663. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  664. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  665. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  666. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  667. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/vex-openvex-feed.md +0 -0
  668. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  669. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
  670. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  671. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  672. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  673. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  674. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  675. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  676. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/workspace-scope-install.md +0 -0
  677. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/zip-strict-audit.md +0 -0
  678. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  679. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  680. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/security-design.md +0 -0
  681. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/semantic-search.md +0 -0
  682. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
  683. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/verifying-releases.md +0 -0
  684. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/vex/meta.md +0 -0
  685. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/vex/openvex.json +0 -0
  686. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
  687. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
  688. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
  689. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
  690. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/eslint.config.mjs +0 -0
  691. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/README.md +0 -0
  692. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/__init__.py +0 -0
  693. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/baseline.json +0 -0
  694. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/faithfulness.py +0 -0
  695. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/golden_set.json +0 -0
  696. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/make_corpus.py +0 -0
  697. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/make_golden.py +0 -0
  698. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/metrics.py +0 -0
  699. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/publish_golden_dataset.py +0 -0
  700. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/evals/run_evals.py +0 -0
  701. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/examples/README.md +0 -0
  702. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/examples/adapt-demo.sh +0 -0
  703. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/examples/boost-run-prototype.sh +0 -0
  704. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/index.html +0 -0
  705. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/noxfile.py +0 -0
  706. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/pyproject.toml +0 -0
  707. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/coverage-tools.in +0 -0
  708. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/coverage-tools.txt +0 -0
  709. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/lint-tools.in +0 -0
  710. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/lint-tools.txt +0 -0
  711. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/mutation-tools.in +0 -0
  712. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/mutation-tools.txt +0 -0
  713. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/platform-pins.lock +0 -0
  714. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/release-tools.in +0 -0
  715. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/release-tools.txt +0 -0
  716. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/test-tools.in +0 -0
  717. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/requirements/test-tools.txt +0 -0
  718. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/a11y_check.py +0 -0
  719. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/add_spdx_headers.py +0 -0
  720. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/bench_cli.sh +0 -0
  721. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/build_command_reference.py +0 -0
  722. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/build_demo_index.py +0 -0
  723. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/build_registries.py +0 -0
  724. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/build_roadmap.py +0 -0
  725. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/build_scale_corpus.py +0 -0
  726. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/build_vex.py +0 -0
  727. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/check_anchors.py +0 -0
  728. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/check_branch_current.py +0 -0
  729. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/check_dco.py +0 -0
  730. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/check_licenses.py +0 -0
  731. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/check_reproducible.py +0 -0
  732. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/check_required_checks.py +0 -0
  733. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/ensure_eval_corpus.sh +0 -0
  734. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_corpus.py +0 -0
  735. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_explain.py +0 -0
  736. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_gate.py +0 -0
  737. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_recommend.py +0 -0
  738. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_retrieval.py +0 -0
  739. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_stats_summary.py +0 -0
  740. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/eval_tools.py +0 -0
  741. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/import_budget.py +0 -0
  742. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/lock_toolchain.py +0 -0
  743. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/measure_near_duplicate_bound.py +0 -0
  744. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/measure_registry.py +0 -0
  745. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/mutation_gate.py +0 -0
  746. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/mutation_shards.py +0 -0
  747. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/mutation_weights.json +0 -0
  748. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/normalize_sdist.py +0 -0
  749. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/page_budget.py +0 -0
  750. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/perf_gate.py +0 -0
  751. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/post_deploy_smoke.py +0 -0
  752. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/publish_eval_json.py +0 -0
  753. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/publish_shards.py +0 -0
  754. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/release_guard.py +0 -0
  755. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/release_preflight.py +0 -0
  756. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/serve_docs.py +0 -0
  757. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/scripts/shard_plan.py +0 -0
  758. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/setup.cfg +0 -0
  759. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/sonar-project.properties +0 -0
  760. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/style/README.md +0 -0
  761. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/style/boost.css +0 -0
  762. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/style/boost.js +0 -0
  763. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/style/demo.html +0 -0
  764. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/adapt.feature +0 -0
  765. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/browse.feature +0 -0
  766. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/count.feature +0 -0
  767. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/discover.feature +0 -0
  768. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/doctor.feature +0 -0
  769. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/environment.py +0 -0
  770. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/explain.feature +0 -0
  771. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/index.feature +0 -0
  772. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/install.feature +0 -0
  773. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/list.feature +0 -0
  774. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/mcp.feature +0 -0
  775. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/search.feature +0 -0
  776. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/steps/cli_steps.py +0 -0
  777. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/steps/discovery_steps.py +0 -0
  778. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/steps/mcp_steps.py +0 -0
  779. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/bdd/features/steps/quality_steps.py +0 -0
  780. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/conftest.py +0 -0
  781. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/baseline.json +0 -0
  782. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/explain.jsonl +0 -0
  783. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
  784. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/golden-natural.jsonl +0 -0
  785. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/golden.jsonl +0 -0
  786. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/recommend.jsonl +0 -0
  787. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/taps-scale.txt +0 -0
  788. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/taps.txt +0 -0
  789. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/eval/tool_calls.jsonl +0 -0
  790. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_bmad_all_hosts.py +0 -0
  791. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_capabilities_policy.py +0 -0
  792. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_adapt.py +0 -0
  793. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_catalog.py +0 -0
  794. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_chat.py +0 -0
  795. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_configuration.py +0 -0
  796. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_discovery.py +0 -0
  797. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_hooks.py +0 -0
  798. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_hooks_gemini.py +0 -0
  799. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_info.py +0 -0
  800. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_intelligence.py +0 -0
  801. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_json_reports.py +0 -0
  802. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_pane_width.py +0 -0
  803. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_pkg.py +0 -0
  804. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_quality.py +0 -0
  805. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_quickstart.py +0 -0
  806. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_tap_pins.py +0 -0
  807. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_cli_team.py +0 -0
  808. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_everyday_loop.py +0 -0
  809. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_integrity_enforce.py +0 -0
  810. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_kind_conformance.py +0 -0
  811. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_property_parsers.py +0 -0
  812. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_run.py +0 -0
  813. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_tap_signing.py +0 -0
  814. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/functional/test_workspace_scope.py +0 -0
  815. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/README.md +0 -0
  816. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  817. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  818. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  819. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  820. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  821. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  822. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  823. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  824. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  825. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  826. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  827. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  828. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  829. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  830. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  831. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  832. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  833. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  834. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  835. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  836. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
  837. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
  838. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
  839. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/fuzz_frontmatter.py +0 -0
  840. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/fuzz/fuzz_registry.py +0 -0
  841. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/langchain/conftest.py +0 -0
  842. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/langchain/test_graph.py +0 -0
  843. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/langchain/test_loader.py +0 -0
  844. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/langchain/test_retriever.py +0 -0
  845. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/make_fixture.py +0 -0
  846. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/perf/test_benchmarks.py +0 -0
  847. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/smoke.sh +0 -0
  848. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_a11y_check.py +0 -0
  849. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_action_pin_lockstep.py +0 -0
  850. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_adapters.py +0 -0
  851. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_adapters_multi.py +0 -0
  852. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_adapters_runner.py +0 -0
  853. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_agents.py +0 -0
  854. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_ai.py +0 -0
  855. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_aihost.py +0 -0
  856. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_archive.py +0 -0
  857. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_bmad_core.py +0 -0
  858. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_boost_first_offer.py +0 -0
  859. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_bootstrap.py +0 -0
  860. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_bot_pr_dco.py +0 -0
  861. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_branch_current.py +0 -0
  862. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_browse.py +0 -0
  863. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_builtin.py +0 -0
  864. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_capabilities.py +0 -0
  865. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_catalog.py +0 -0
  866. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_catalogbundle.py +0 -0
  867. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_chat.py +0 -0
  868. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_check_anchors.py +0 -0
  869. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_check_dco.py +0 -0
  870. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_check_licenses.py +0 -0
  871. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_check_reproducible.py +0 -0
  872. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_claude_settings.py +0 -0
  873. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_clean_internal_cache.py +0 -0
  874. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_cli_update_shards.py +0 -0
  875. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_cliparse.py +0 -0
  876. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_codeql_analysis_key.py +0 -0
  877. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_cohort.py +0 -0
  878. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_command_reference_fresh.py +0 -0
  879. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_community_health_files.py +0 -0
  880. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_compact.py +0 -0
  881. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_complete.py +0 -0
  882. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_complete_rc_block.py +0 -0
  883. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_config.py +0 -0
  884. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_content_dedupe.py +0 -0
  885. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_content_identity.py +0 -0
  886. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_crash_redaction.py +0 -0
  887. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dedup_trust.py +0 -0
  888. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_demo_index.py +0 -0
  889. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense.py +0 -0
  890. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
  891. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_embed_dedupe.py +0 -0
  892. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_entry_reuse.py +0 -0
  893. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_entry_vectors.py +0 -0
  894. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_fallback.py +0 -0
  895. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_fix_hint.py +0 -0
  896. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_progress.py +0 -0
  897. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_quantized.py +0 -0
  898. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_ready_order.py +0 -0
  899. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_shard_real_schema.py +0 -0
  900. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  901. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_shards.py +0 -0
  902. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_status.py +0 -0
  903. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_status_cheap.py +0 -0
  904. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dense_vector_dedupe.py +0 -0
  905. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_dependabot_config.py +0 -0
  906. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_deps.py +0 -0
  907. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_discovery.py +0 -0
  908. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_distill_merge.py +0 -0
  909. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_docs_pages_linked.py +0 -0
  910. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_docsite_chrome.py +0 -0
  911. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_doctor_output_polish.py +0 -0
  912. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_drift_hint.py +0 -0
  913. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_ed25519.py +0 -0
  914. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_embed.py +0 -0
  915. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_embed_local.py +0 -0
  916. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_embed_truncated_response.py +0 -0
  917. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_entry_key.py +0 -0
  918. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_errors_and_cli_table.py +0 -0
  919. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_baseline.py +0 -0
  920. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_corpus.py +0 -0
  921. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_faithfulness.py +0 -0
  922. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_gate.py +0 -0
  923. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_grading.py +0 -0
  924. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_metrics.py +0 -0
  925. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_stats_summary.py +0 -0
  926. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_tools.py +0 -0
  927. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_eval_tools_probe.py +0 -0
  928. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  929. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_faithfulness.py +0 -0
  930. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_frontmatter.py +0 -0
  931. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_fuzz_targets.py +0 -0
  932. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  933. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_gitleaks_config.py +0 -0
  934. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_gitutil.py +0 -0
  935. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_gitutil_lfs.py +0 -0
  936. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_gitutil_sparse.py +0 -0
  937. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_gstack_coexistence.py +0 -0
  938. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_hook_settings_hosts.py +0 -0
  939. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_hookhost.py +0 -0
  940. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_imperative.py +0 -0
  941. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_import_budget.py +0 -0
  942. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_injectscan.py +0 -0
  943. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_install_permission_error.py +0 -0
  944. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_installscan.py +0 -0
  945. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_integrity.py +0 -0
  946. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_journal.py +0 -0
  947. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_jsonstate.py +0 -0
  948. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_langchain_packaging.py +0 -0
  949. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_launcher_python_floor.py +0 -0
  950. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_link_ownership.py +0 -0
  951. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_localembed.py +0 -0
  952. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_localembed_e2e.py +0 -0
  953. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_lockfile.py +0 -0
  954. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_logs.py +0 -0
  955. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_marketing_counts.py +0 -0
  956. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mcp.py +0 -0
  957. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mcp_install_scan.py +0 -0
  958. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mcp_read.py +0 -0
  959. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mcpdecl.py +0 -0
  960. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mcphost.py +0 -0
  961. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_measure_registry.py +0 -0
  962. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_minisign.py +0 -0
  963. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mutation_hardening.py +0 -0
  964. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mutation_shards.py +0 -0
  965. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mutation_subfile_shards.py +0 -0
  966. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_mutmut_source_paths.py +0 -0
  967. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_near_duplicate_collapse.py +0 -0
  968. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_nethttp.py +0 -0
  969. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_normalize_sdist.py +0 -0
  970. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_output.py +0 -0
  971. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_page_budget.py +0 -0
  972. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_paths.py +0 -0
  973. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_perf_gate.py +0 -0
  974. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_pkg_confusions.py +0 -0
  975. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_pkg_injection.py +0 -0
  976. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_pkg_secrets.py +0 -0
  977. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_platform_pins.py +0 -0
  978. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_policy.py +0 -0
  979. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_post_deploy_smoke.py +0 -0
  980. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_project_mcp_sidecar.py +0 -0
  981. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_projectlock.py +0 -0
  982. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_provenance.py +0 -0
  983. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_publish_golden_dataset.py +0 -0
  984. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_rag.py +0 -0
  985. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_rag_completeness.py +0 -0
  986. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_rag_fastpath.py +0 -0
  987. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_rag_fusion.py +0 -0
  988. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_registries_fresh.py +0 -0
  989. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_registry.py +0 -0
  990. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_registry_categories.py +0 -0
  991. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_registry_control_chars.py +0 -0
  992. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_registry_parallel.py +0 -0
  993. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_release_guard.py +0 -0
  994. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_release_preflight.py +0 -0
  995. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_report.py +0 -0
  996. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_required_checks.py +0 -0
  997. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_rerank_cache.py +0 -0
  998. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_resolve.py +0 -0
  999. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
  1000. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_roadmap_fresh.py +0 -0
  1001. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_rules.py +0 -0
  1002. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_scale_corpus.py +0 -0
  1003. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_schedule_plist.py +0 -0
  1004. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_scopes.py +0 -0
  1005. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_secretscan.py +0 -0
  1006. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_selfupdate.py +0 -0
  1007. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_serve.py +0 -0
  1008. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_serve_docs.py +0 -0
  1009. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_shard_plan.py +0 -0
  1010. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_shards.py +0 -0
  1011. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_shards_incremental.py +0 -0
  1012. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_shards_ingest.py +0 -0
  1013. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_shards_matrix.py +0 -0
  1014. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_smoke_covers_every_command.py +0 -0
  1015. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_spdx_headers.py +0 -0
  1016. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_spin.py +0 -0
  1017. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_stackprobe.py +0 -0
  1018. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_staleness.py +0 -0
  1019. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_store.py +0 -0
  1020. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_store_materialize.py +0 -0
  1021. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_sync_blocked_links.py +0 -0
  1022. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  1023. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_tap_pins.py +0 -0
  1024. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_token_parity.py +0 -0
  1025. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_toolchain_lock.py +0 -0
  1026. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_trustaudit.py +0 -0
  1027. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_typedvalue.py +0 -0
  1028. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_typosquat.py +0 -0
  1029. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_updatediff.py +0 -0
  1030. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_util.py +0 -0
  1031. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_version.py +0 -0
  1032. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_version_tags.py +0 -0
  1033. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_vex.py +0 -0
  1034. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_visual_harness_capture.py +0 -0
  1035. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_visual_harness_flags.py +0 -0
  1036. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_workflow_concurrency.py +0 -0
  1037. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  1038. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  1039. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_workflow_timeouts.py +0 -0
  1040. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_workflows.py +0 -0
  1041. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  1042. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/visual/a11y_check.mjs +0 -0
  1043. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/visual/console_check.mjs +0 -0
  1044. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/visual/package-lock.json +0 -0
  1045. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/tests/visual/package.json +0 -0
  1046. {boost_skill_cli-1.2.111 → boost_skill_cli-1.2.113}/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.111
3
+ Version: 1.2.113
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -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.111'
22
- __version_tuple__ = version_tuple = (1, 2, 111)
21
+ __version__ = version = '1.2.113'
22
+ __version_tuple__ = version_tuple = (1, 2, 113)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -16,7 +16,7 @@ of the thinking lives in :mod:`boost_cli.core.bmad`; this module is glue.
16
16
 
17
17
  boost bmad on # <- the one command. global.
18
18
  boost bmad off # remove hooks + boost-written personas
19
- boost bmad personas # the roster, and whether it is installed
19
+ boost bmad personas # the roster + whether installed, both scopes
20
20
  boost bmad route [PROMPT] [--plain] # hook target; pipeable for debugging
21
21
 
22
22
  **The full method** is `boost bmad install`, unchanged: it delegates to the
@@ -100,7 +100,8 @@ def cmd_bmad(argv) -> int:
100
100
  p.add_argument("value", nargs="?",
101
101
  help="startup: on | off | status · route: the prompt to classify")
102
102
  p.add_argument("-s", "--scope", choices=("project", "global"), default=None,
103
- help="target scope (on/off default: global; others: project)")
103
+ help="target scope (on/off default: global; personas and "
104
+ "status: both; others: project)")
104
105
  p.add_argument("--modules", default=DEFAULT_MODULES,
105
106
  help="BMAD modules to install (default: %s)" % DEFAULT_MODULES)
106
107
  p.add_argument("-y", "--yes", action="store_true",
@@ -363,7 +364,25 @@ _PERSONA_STATE_LABEL = {
363
364
 
364
365
 
365
366
  def _personas(scope) -> int:
366
- scope = scope or "global"
367
+ """List personas: one scope if asked, otherwise both.
368
+
369
+ This is a query, so with no ``--scope`` it reports BOTH — exactly what
370
+ ``bmad status`` already does, and for the same reason. Picking one scope by
371
+ default made the answer wrong whenever the personas lived in the other: it
372
+ defaulted to global, so after `boost bmad on --scope project` it read
373
+ ``~/.claude/agents``, found nothing, and reported seven personas sitting on
374
+ disk as "not installed" — contradicting `boost bmad status` run a moment
375
+ later in the same directory. Flipping the default to project would only
376
+ move the false statement to the global install, which is the more common
377
+ one; a query that inspects both places cannot be wrong about either.
378
+ """
379
+ for sc in (scope,) if scope else ("global", "project"):
380
+ _personas_scope(sc)
381
+ return 0
382
+
383
+
384
+ def _personas_scope(scope) -> None:
385
+ """Report the persona roster for exactly one scope."""
367
386
  agents = _agents_dir(scope)
368
387
  states = core.persona_states(agents)
369
388
  out.heading("BMAD personas — %s" % scope)
@@ -376,7 +395,6 @@ def _personas(scope) -> int:
376
395
  out.dim(" → %s" % paths.tilde(agents))
377
396
  if all(state == "absent" for state in states.values()):
378
397
  out.dim(" install them with `boost bmad on`")
379
- return 0
380
398
 
381
399
 
382
400
  # ------------------------------------------------------------------- provisioning
@@ -496,9 +496,19 @@ def cmd_create(argv) -> int:
496
496
  "version": "0.1.0",
497
497
  }
498
498
  title = name.replace("-", " ").title()
499
- target.mkdir(parents=True, exist_ok=True)
500
- skill_md.write_text(frontmatter.dump(meta) + "\n\n"
501
- + _CREATE_BODY % {"title": title}, encoding="utf-8")
499
+ # `--dir` is user input, so an OSError here is a mistyped path — a file
500
+ # standing where the parent should be, or a directory boost cannot write —
501
+ # not a defect in boost. Unframed it exited 70 and wrote a crash report
502
+ # inviting the reader to file a GitHub issue. `boost import` already
503
+ # answers the same mistake with "no such directory: X"; match it.
504
+ try:
505
+ target.mkdir(parents=True, exist_ok=True)
506
+ skill_md.write_text(frontmatter.dump(meta) + "\n\n"
507
+ + _CREATE_BODY % {"title": title}, encoding="utf-8")
508
+ except OSError as exc:
509
+ raise BoostError("cannot create %s: %s" % (_tilde(skill_md),
510
+ exc.strerror or exc),
511
+ hint="--dir takes a writable directory") from exc
502
512
  journal.log("create", name, path=str(target))
503
513
  out.ok("created %s" % _tilde(skill_md))
504
514
  if args.install:
@@ -1270,7 +1280,7 @@ def cmd_serve(argv) -> int:
1270
1280
  p = cliparse.parser(
1271
1281
  prog="boost serve",
1272
1282
  description="Browse the catalogue in a browser: search, facets and a tap graph")
1273
- p.add_argument("--port", type=int, default=default_port,
1283
+ p.add_argument("--port", type=util.port_number, default=default_port,
1274
1284
  help="port to listen on (default: config serve.port)")
1275
1285
  p.add_argument("--host", default="127.0.0.1",
1276
1286
  help="address to bind (default: 127.0.0.1)")
@@ -1101,6 +1101,13 @@ def cmd_recommend(argv):
1101
1101
  agg: dict[str, dict[str, Any]] = {}
1102
1102
  for kw in stack["keywords"]:
1103
1103
  for e, s in catalog.search(kw, entries):
1104
+ # `search` ranks substrings, which is right for a search box and
1105
+ # wrong for the `because:` column below — that column is a causal
1106
+ # claim, and `ci` matching re*ci*pes made it a false one. Filtering
1107
+ # here rather than inside `search` leaves the shared (and
1108
+ # eval-gated) ranker exactly as it is; see catalog.mentions_keyword.
1109
+ if not catalog.mentions_keyword(catalog.entry_text(e), kw):
1110
+ continue
1104
1111
  rec = agg.setdefault(e["name"], {"entry": e, "score": 0,
1105
1112
  "because": set()})
1106
1113
  rec["score"] += s
@@ -26,6 +26,7 @@ from ..core import (
26
26
  )
27
27
  from ..core import output as out
28
28
  from ..errors import BoostError
29
+ from ._common import _s
29
30
 
30
31
  _tilde = paths.tilde
31
32
 
@@ -161,7 +162,7 @@ def cmd_tap(argv) -> int:
161
162
  p.add_argument("--at", metavar="SHA",
162
163
  help="pin the clone to one 40-character commit, as a "
163
164
  "published vector shard requires")
164
- p.add_argument("--jobs", type=int, metavar="N",
165
+ p.add_argument("--jobs", type=util.positive_int, metavar="N",
165
166
  help="clone this many registries at once (default %d, max "
166
167
  "%d)" % (registry.DEFAULT_TAP_JOBS,
167
168
  registry.MAX_TAP_JOBS))
@@ -351,7 +352,8 @@ def cmd_taps(argv) -> int:
351
352
  out.table(rows, headers=("NAME", "ITEMS", "UPDATED", "", "URL"),
352
353
  keep=("NAME",))
353
354
  print()
354
- out.dim("%d taps · %d items" % (len(taps), total))
355
+ out.dim("%d tap%s · %d item%s"
356
+ % (len(taps), _s(len(taps)), total, _s(total)))
355
357
  if any(t["pin"] for t in taps):
356
358
  out.dim("@sha = pinned; `boost update` skips it")
357
359
  return 0
@@ -808,6 +808,57 @@ def _search_blob(name: str, description: str, meta) -> str:
808
808
  return " ".join([name.lower(), (description or "").lower(), _meta_text(meta)]) # noqa: FURB143
809
809
 
810
810
 
811
+ def entry_text(entry: dict) -> str:
812
+ """The searchable text of one entry — the cached blob, or rebuilt.
813
+
814
+ One definition of "everything we know about this entry as text", so a
815
+ caller asking a question *about* an entry reads the same string
816
+ :func:`search` ranks on.
817
+ """
818
+ blob = entry.get("search_blob")
819
+ if blob is None:
820
+ blob = _search_blob(entry["name"], entry.get("description", ""),
821
+ entry.get("meta", {}))
822
+ return blob
823
+
824
+
825
+ #: Suffixes a language/framework keyword may grow when it appears in prose:
826
+ #: `next` should reach `nextjs`, `go` should reach `golang`. Deliberately
827
+ #: one-way and additive — a keyword may match a LONGER token, never a shorter
828
+ #: one, which is why `java` still cannot reach `javascript` (that would need
829
+ #: `java` + `script`, and `script` is not on this list).
830
+ _KEYWORD_SUFFIXES = ("js", "lang")
831
+
832
+ _WORDS = re.compile(r"[a-z0-9]+")
833
+
834
+
835
+ def mentions_keyword(text: str, keyword: str) -> bool:
836
+ """True when ``text`` mentions ``keyword`` as a WORD, not as a substring.
837
+
838
+ :func:`search` scores substrings, which is right for a free-text search box
839
+ — someone typing `docker` wants `dockerfile` back. It is wrong for
840
+ ``boost recommend``, which prints ``because: <keyword>`` and thereby makes
841
+ a causal claim about why a skill suits a project.
842
+
843
+ The stack vocabulary is short words that live inside longer unrelated ones,
844
+ so the false claims were the common case rather than the edge: ``ci`` was
845
+ found inside "recipes", "delicious", "facilitation" and "discipline";
846
+ ``rust`` inside "trust", of which boost ships a whole command; ``java``
847
+ inside "javascript", so a JavaScript project was recommended Java skills;
848
+ and ``go`` inside "algorithms", "django" and "goals".
849
+ """
850
+ want = _WORDS.findall(keyword.strip().lower())
851
+ if not want:
852
+ return False
853
+ have = set(_WORDS.findall(text.lower()))
854
+ # A multi-word keyword needs all of its words. None of the built-in stack
855
+ # keywords carry a space, but callers pass user-shaped strings.
856
+ if len(want) > 1:
857
+ return all(w in have for w in want)
858
+ w = want[0]
859
+ return w in have or any(w + suf in have for suf in _KEYWORD_SUFFIXES)
860
+
861
+
811
862
  def curated_entries(entries: list[dict]) -> list[dict]:
812
863
  """Curated entries, deduped by name (first occurrence wins).
813
864
 
@@ -848,12 +899,9 @@ def search(query: str, entries: list[dict] | None = None):
848
899
  for e in entries:
849
900
  name = e["name"].lower()
850
901
  desc = (e["description"] or "").lower()
851
- # Precomputed at index time; fall back for older caches / entries
902
+ # Precomputed at index time; falls back for older caches / entries
852
903
  # constructed without a blob (e.g. tests passing raw dicts).
853
- blob = e.get("search_blob")
854
- if blob is None:
855
- blob = _search_blob(e["name"], e.get("description", ""),
856
- e.get("meta", {}))
904
+ blob = entry_text(e)
857
905
  score = 0
858
906
  if q == name:
859
907
  score += 100
@@ -41,7 +41,18 @@ def branch_state(cwd: Path | None = None) -> BranchState:
41
41
  if wt.returncode != 0 or wt.stdout.strip() != "true":
42
42
  return BranchState(has_git=True, in_repo=False, branch=None)
43
43
  proc = run(["-C", str(cwd), "rev-parse", "--abbrev-ref", "HEAD"], check=False)
44
- branch = proc.stdout.strip() if proc.returncode == 0 else None
44
+ if proc.returncode == 0:
45
+ return BranchState(has_git=True, in_repo=True,
46
+ branch=proc.stdout.strip() or None)
47
+ # rev-parse resolves HEAD to a COMMIT, so it also fails on an unborn HEAD —
48
+ # a repo between `git init` and its first commit. Readers here take a
49
+ # `None` branch inside a repo for "not a repo at all": `boost context
50
+ # status` printed "(not in a git repository)" while standing in one, and
51
+ # `boost context apply` declined to do anything there. `symbolic-ref` reads
52
+ # the ref HEAD points at without requiring it to exist yet, so the branch
53
+ # is named from the first `git init` onward.
54
+ sym = run(["-C", str(cwd), "symbolic-ref", "--short", "HEAD"], check=False)
55
+ branch = sym.stdout.strip() or None if sym.returncode == 0 else None
45
56
  return BranchState(has_git=True, in_repo=True, branch=branch)
46
57
 
47
58
 
@@ -106,13 +106,20 @@ def parse_spec(spec: str):
106
106
  hint="`git init` it, or `boost import %s` to copy it in "
107
107
  "without a tap" % spec)
108
108
  return _checked(p.resolve().name, str(p.resolve()), spec)
109
- # A spec shaped like a path (starts with ./, ../ or ~, or is absolute —
110
- # `p.is_absolute()` rather than a literal "/" prefix so a Windows
111
- # `C:\...` spec is caught too, not just a POSIX `/...` one) that is not an
112
- # actual directory must not fall through to the owner/repo branch below —
113
- # that branch prepends "https://github.com/" to *anything* containing a
114
- # "/", so a typo'd local path was silently cloned as a bogus GitHub URL.
115
- if spec.startswith(("./", "../", "~")) or p.is_absolute():
109
+ # A spec shaped like a path (starts with ./, ../, ~, or a root separator,
110
+ # or is absolute) that is not an actual directory must not fall through to
111
+ # the owner/repo branch below — that branch prepends
112
+ # "https://github.com/" to *anything* containing a "/", so a typo'd local
113
+ # path was silently cloned as a bogus GitHub URL.
114
+ #
115
+ # `p.is_absolute()` catches a Windows `C:\...` spec, but it is NOT a
116
+ # superset of the literal "/" prefix it replaced: on Windows a leading
117
+ # slash is rooted-but-relative (it has no drive), so
118
+ # `PureWindowsPath("/no/such/dir").is_absolute()` is False and
119
+ # `boost tap /no/such/dir` was still cloning
120
+ # `https://github.com//no/such/dir`. Both tests are needed, and this is
121
+ # what the Windows CI leg caught that three POSIX legs could not.
122
+ if spec.startswith(("./", "../", "~", "/", "\\")) or p.is_absolute():
116
123
  raise BoostError("no such directory: %s" % p,
117
124
  hint="boost tap needs an existing local git repository")
118
125
  if spec.startswith(("http://", "https://", "git@", "ssh://")):
@@ -324,6 +324,12 @@ def sideline(name: str, by: str) -> list[str]:
324
324
  entry = lockfile.get_skill(name)
325
325
  if entry is not None:
326
326
  entry["sidelined_by"] = by
327
+ # `agents` is defined as the links measured from disk, and the links
328
+ # have just been removed — so leaving the old list had `boost list`
329
+ # keep advertising the skill to agents that could no longer see it.
330
+ # `quarantine` clears it for the same reason; :func:`unsideline`
331
+ # recomputes it, exactly as `quarantine --release` does.
332
+ entry["agents"] = []
327
333
  lockfile.set_skill(name, entry)
328
334
  return removed
329
335
 
@@ -339,8 +345,10 @@ def unsideline(name: str) -> InstallResult:
339
345
  """
340
346
  res = link_agents(name)
341
347
  entry = lockfile.get_skill(name)
342
- if entry is not None and entry.get("sidelined_by"):
343
- del entry["sidelined_by"]
348
+ if entry is not None:
349
+ # Record the links this just made, since sideline() emptied the list.
350
+ entry["agents"] = res.linked
351
+ entry.pop("sidelined_by", None)
344
352
  lockfile.set_skill(name, entry)
345
353
  return res
346
354
 
@@ -170,6 +170,31 @@ def positive_int(s: str) -> int:
170
170
  return v
171
171
 
172
172
 
173
+ def port_number(s: str) -> int:
174
+ """argparse ``type=`` for a TCP port (``serve --port``): an int in 0-65535.
175
+
176
+ The ceiling is the point: an out-of-range number travelled all the way to
177
+ ``socket.bind``, which raises ``OverflowError`` — not an ``OSError`` boost
178
+ frames — so a typo exited 70 and wrote a crash report inviting the reader
179
+ to file a GitHub issue.
180
+
181
+ **Zero is valid and deliberately allowed**, which is why this is not
182
+ :func:`positive_int` with a maximum bolted on. ``bind(("127.0.0.1", 0))``
183
+ is the standard "give me any free port", and boost's own functional tests
184
+ start the server that way; rejecting it would turn a working idiom into a
185
+ parse error to make the bound look tidier.
186
+ """
187
+ import argparse
188
+
189
+ try:
190
+ v = int(s)
191
+ except (TypeError, ValueError):
192
+ raise argparse.ArgumentTypeError("invalid int value: %r" % s) from None
193
+ if not 0 <= v <= 65535:
194
+ raise argparse.ArgumentTypeError("must be 0-65535")
195
+ return v
196
+
197
+
173
198
  def score_int(s: str) -> int:
174
199
  """argparse ``type=`` for ``lint --min``: an int in [0, 100].
175
200
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.2.111
3
+ Version: 1.2.113
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License-Expression: Apache-2.0
@@ -324,11 +324,19 @@ docs/roadmap/items/audit-verify-findings.md
324
324
  docs/roadmap/items/audit-who-findings.md
325
325
  docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md
326
326
  docs/roadmap/items/bare-boost-never-names-an-entry-point.md
327
+ docs/roadmap/items/because-that-was-not-the-reason.md
327
328
  docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md
328
329
  docs/roadmap/items/bm25-has-no-stemming.md
329
330
  docs/roadmap/items/bm25-index-is-one-json-blob.md
330
331
  docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md
332
+ docs/roadmap/items/bmad-done-contract-ignores-the-track.md
333
+ docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md
331
334
  docs/roadmap/items/bmad-hooks-all-hosts.md
335
+ docs/roadmap/items/bmad-personas-delegate-outside-the-router.md
336
+ docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md
337
+ docs/roadmap/items/bmad-route-ignores-autopilot-state.md
338
+ docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md
339
+ docs/roadmap/items/bmad-router-reads-each-prompt-alone.md
332
340
  docs/roadmap/items/boost-first-carried-the-losing-trigger.md
333
341
  docs/roadmap/items/boost-first-rule.md
334
342
  docs/roadmap/items/boost-langchain-publishing.md
@@ -366,6 +374,7 @@ docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md
366
374
  docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md
367
375
  docs/roadmap/items/corpus-refresh-updates-data-not-prose.md
368
376
  docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md
377
+ docs/roadmap/items/count-flags-that-silently-invert.md
369
378
  docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md
370
379
  docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md
371
380
  docs/roadmap/items/crash-listing-branch-untested.md
@@ -463,6 +472,7 @@ docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md
463
472
  docs/roadmap/items/list-rules-and-workflows.md
464
473
  docs/roadmap/items/localize-the-stored-bm25-snippet.md
465
474
  docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md
475
+ docs/roadmap/items/lock-kept-links-it-had-just-removed.md
466
476
  docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md
467
477
  docs/roadmap/items/log-timestamps-mislabeled-utc.md
468
478
  docs/roadmap/items/long-hints-overflow-narrow-panes.md
@@ -639,6 +649,7 @@ docs/roadmap/items/tool-call-eval-tier.md
639
649
  docs/roadmap/items/two-ci-controls-that-could-not-act.md
640
650
  docs/roadmap/items/two-crashes-that-should-have-been-messages.md
641
651
  docs/roadmap/items/typo-detection-codespell.md
652
+ docs/roadmap/items/typos-reported-as-boost-bugs.md
642
653
  docs/roadmap/items/typosquat-and-name-confusion-detection.md
643
654
  docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md
644
655
  docs/roadmap/items/uninstall-has-no-confirmation-prompt.md
@@ -767,7 +778,9 @@ tests/eval/taps-scale.txt
767
778
  tests/eval/taps.txt
768
779
  tests/eval/tool_calls.jsonl
769
780
  tests/eval/fixtures/claude_init_event.jsonl
781
+ tests/functional/test_bad_input_is_not_a_crash.py
770
782
  tests/functional/test_bmad_all_hosts.py
783
+ tests/functional/test_bmad_personas_scope.py
771
784
  tests/functional/test_capabilities_policy.py
772
785
  tests/functional/test_cli_adapt.py
773
786
  tests/functional/test_cli_bmad.py
@@ -787,10 +800,14 @@ tests/functional/test_cli_quickstart.py
787
800
  tests/functional/test_cli_tap_pins.py
788
801
  tests/functional/test_cli_taps.py
789
802
  tests/functional/test_cli_team.py
803
+ tests/functional/test_context_sees_an_unborn_branch.py
804
+ tests/functional/test_count_flags_reject_nonpositive.py
790
805
  tests/functional/test_everyday_loop.py
791
806
  tests/functional/test_integrity_enforce.py
792
807
  tests/functional/test_kind_conformance.py
793
808
  tests/functional/test_property_parsers.py
809
+ tests/functional/test_recommend_because_is_true.py
810
+ tests/functional/test_reports_match_reality.py
794
811
  tests/functional/test_run.py
795
812
  tests/functional/test_tap_signing.py
796
813
  tests/functional/test_workspace_scope.py
@@ -843,6 +860,7 @@ tests/unit/test_browse.py
843
860
  tests/unit/test_builtin.py
844
861
  tests/unit/test_capabilities.py
845
862
  tests/unit/test_catalog.py
863
+ tests/unit/test_catalog_keyword_words.py
846
864
  tests/unit/test_catalogbundle.py
847
865
  tests/unit/test_chat.py
848
866
  tests/unit/test_check_anchors.py
@@ -863,6 +881,7 @@ tests/unit/test_complete_rc_block.py
863
881
  tests/unit/test_config.py
864
882
  tests/unit/test_content_dedupe.py
865
883
  tests/unit/test_content_identity.py
884
+ tests/unit/test_count_flags_use_positive_int.py
866
885
  tests/unit/test_crash_redaction.py
867
886
  tests/unit/test_dedup_trust.py
868
887
  tests/unit/test_demo_index.py
@@ -1200,7 +1200,7 @@
1200
1200
  </div>
1201
1201
  <div class="args-h">Options</div>
1202
1202
  <div class="args">
1203
- <div class="arg"><code>-s, --scope {project,global}</code><span>target scope (on/off default: global; others: project)</span></div>
1203
+ <div class="arg"><code>-s, --scope {project,global}</code><span>target scope (on/off default: global; personas and status: both; others: project)</span></div>
1204
1204
  <div class="arg"><code>--modules MODULES</code><span>BMAD modules to install (default: bmm)</span></div>
1205
1205
  <div class="arg"><code>-y, --yes</code><span>skip confirmation prompts</span></div>
1206
1206
  <div class="arg"><code>--startup</code><span>enable the startup toggle right after install</span></div>
@@ -0,0 +1,54 @@
1
+ ---
2
+ id: because-that-was-not-the-reason
3
+ board: code
4
+ section: health
5
+ status: shipped
6
+ category: Bug
7
+ complexity: M
8
+ impact: Med
9
+ wow: 5
10
+ note: A `.github/workflows/` directory made `boost recommend` suggest a pasta-recipe skill "because: ci"
11
+ order: 316
12
+ owner: fix/land-claims-fixes
13
+ pr:
14
+ title: Three commands that denied what was on the disk in front of them
15
+ ---
16
+ Each of these is boost contradicting something the user can see, and each was confirmed by an
17
+ independent verifier that tried to refute it first.
18
+
19
+ <b><code>boost recommend</code> printed a reason that was not one.</b> Every row carries a
20
+ <code>because: &lt;keyword&gt;</code> column — a causal claim about why this skill suits this
21
+ project. It was scored on substrings, and the stack vocabulary is short words that live inside
22
+ longer unrelated ones, so a project whose only signal was a <code>.github/workflows/</code>
23
+ directory was told to install a pasta-recipe skill <i>because: ci</i> — matching the letters
24
+ inside "recipes". The reported case was the mildest one. <code>rust</code> matched "trust", of
25
+ which boost ships an entire command; <code>java</code> matched "javascript", so a JavaScript
26
+ project was recommended Java skills; <code>go</code> matched "algorithms", "django" and "goals".
27
+ False attribution was the common case, not the edge.
28
+
29
+ The fix stays out of <code>catalog.search</code>, which is deliberately substring-based (a user
30
+ typing <i>docker</i> wants <i>dockerfile</i> back) and is a scored engine in the eval baseline.
31
+ Word matching is applied where the causal claim is actually made. A one-way suffix alias keeps
32
+ <code>next</code> reaching <code>nextjs</code> and <code>go</code> reaching <code>golang</code>,
33
+ while giving <code>java</code> no route back to <code>javascript</code>.
34
+
35
+ <b><code>boost bmad personas</code> called seven installed personas "not installed".</b> It
36
+ defaulted to the global scope, so after a project install it read the wrong directory and
37
+ denied files that were sitting on disk — contradicting <code>boost bmad status</code> run a
38
+ moment later in the same directory. Its own <code>--help</code> says the default should be
39
+ project. Flipping it would only have moved the false statement to the global install, which is
40
+ the more common one, so the command now reports <b>both</b> scopes when none is named — exactly
41
+ what <code>bmad status</code> has always done, and a shape that cannot be wrong about either.
42
+
43
+ <b><code>boost context</code> denied it was in a git repository while standing in one.</b>
44
+ <code>git rev-parse</code> resolves HEAD to a <i>commit</i>, so it fails on a repo between
45
+ <code>git init</code> and its first commit with the same exit code it gives outside a repo. The
46
+ two states were indistinguishable, so <code>context status</code> reported "(not in a git
47
+ repository)" and <code>context apply</code> declined to act — in a directory the user had just
48
+ initialised. <code>git symbolic-ref</code> reads the ref HEAD points at without requiring it to
49
+ exist yet, and still fails outside a repo, so the genuinely-not-a-repo answer is unchanged.
50
+
51
+ Two further candidates in the same batch were <b>refuted</b> and left alone:
52
+ <code>boost home</code>'s slot-level URL and <code>tap --dry-run</code>'s scope are both
53
+ imprecise rather than false, and neither <code>--help</code> nor the command table promises what
54
+ the finder assumed.
@@ -0,0 +1,75 @@
1
+ ---
2
+ id: bmad-done-contract-ignores-the-track
3
+ board: code
4
+ section: dx
5
+ status: next
6
+ category: "Agents · BMAD"
7
+ complexity: M
8
+ impact: High
9
+ wow: 2
10
+ note: a review or research ask is told to add tests and finish a change
11
+ order: 321
12
+ owner:
13
+ pr:
14
+ title: "<code>boost bmad</code> gives every track the build contract, so a review is told to finish a change"
15
+ ---
16
+ <code>route_lines</code> (<code>core/bmad.py:523</code>) takes the first four banner lines from the track
17
+ and the last two ignore it: <code>done_checklist(signals)</code> (<code>:483</code>) has no
18
+ track parameter, and the autonomy sentence (<code>:551</code>) is a literal. One prompt per track against
19
+ one fixture repo gave <b>one distinct pair of closing lines across all 9 tracks</b>:<br>
20
+ <code>Done means: tests: add or update coverage under `tests/`, and run them · docs: update `README.md` / `docs/` wherever the change shows · gate: `make check` green, with real output · `CLAUDE.md` is binding</code><br>
21
+ <code>Work autonomously through to a finished, verified change; stop to ask only when a choice would change what gets delivered.</code>
22
+
23
+ <b>Repro</b> (throwaway repo with <code>tests/</code>, <code>docs/</code>, <code>README.md</code>,
24
+ <code>CLAUDE.md</code>, and a <code>Makefile</code> with <code>check:</code>).
25
+ <code>boost bmad route "review the changes on this branch and tell me what could break" --plain</code>
26
+ names Murat (<code>bmad-tea</code>) as lead with <code>bmad-code-review</code>, then defines done as new
27
+ coverage, updated docs and a finished, verified change. <code>"compare the two caching options and recommend one"</code>,
28
+ <code>"write the PRD for the policy engine"</code> and <code>"prioritize the backlog for next sprint"</code>
29
+ get the same two lines. In an empty repo the comparison is told <code>tests: cover the change … docs: write down what changed</code>, but nothing changed.
30
+ The shared lines are 48% of the fixture's review banner (326 of 673 chars) and 41% in the empty repo.
31
+
32
+ <b>Against real prompts the clause seldom fits.</b> Replaying the origin/main classifier over one
33
+ profile's history (417 ordinary prompts over 6 active days, roughly half from tooling repos): 147 (35%)
34
+ would get a banner, or 109 if pasted text is not in the hook's <code>prompt</code> field (not yet
35
+ checked). A <em>single judge</em> (an agent) labelled 41 routed banners, sampled by track: <code>Done means</code>
36
+ fit <b>5 of 41</b> (11 counting partial fits).
37
+
38
+ <b>The same contract appears in three places, and one was a deliberate choice.</b> The autopilot item
39
+ made tests and docs unconditional (&ldquo;no doc change needed&rdquo; is a conclusion to reach), and
40
+ <code>tests/unit/test_bmad_core.py:331</code> enforces that. It is right for a change and wrong for an
41
+ answer. Every persona file repeats the contract (<code>_persona_text</code>,
42
+ <code>core/bmad.py:663&ndash;667</code>: &ldquo;tests updated and actually run, documentation left true …&rdquo;),
43
+ so the <code>bmad-analyst</code> a discovery banner hands off to brings it back. The SessionStart
44
+ briefing says to follow the banner (<code>:576</code>) and ends on a tests-docs-item house rule
45
+ (<code>:586</code>).
46
+
47
+ <b>The autonomy line competes with approval gates users add on purpose</b>, such as the
48
+ <code>HARD-GATE</code> in superpowers' <code>brainstorming</code> skill (no implementation until the user
49
+ approves) or a team rule requiring confirmation before a change that affects production. The banner is
50
+ <code>UserPromptSubmit</code> <code>additionalContext</code> (<code>commands/bmad.py:354</code>), added
51
+ again on every routed prompt. <b>Untested:</b> which instruction a model follows when they
52
+ conflict. Softening the line to defer to the repo guide would not cover this: the <code>is binding</code>
53
+ clause only appears when a guide file exists (<code>core/bmad.py:514&ndash;516</code>), and a plugin skill is not a guide file.
54
+
55
+ <b>Fix: store the kind of done on <code>Track</code></b> (<code>core/bmad.py:75</code>) and pass it to
56
+ <code>done_checklist(signals, done)</code>. <i>change</i> (build, quality, docs, ux): today's clauses,
57
+ unchanged. <i>findings</i> (review, discovery): &ldquo;findings with evidence, no edits unless
58
+ asked&rdquo;. The &ldquo;unless asked&rdquo; matters because the tie-break sends <code>"fix the lint
59
+ errors in the scanner"</code> to review and <code>"investigate why the export crashes and fix it"</code>
60
+ to discovery. <i>artifact</i> (product, planning, architecture): &ldquo;a written artifact, no
61
+ code&rdquo;, keeping the roadmap and guide clauses. Drop the autonomy line from
62
+ findings and artifact tracks. On change tracks, replace it with wording that does not depend on a
63
+ guide file: finish and verify, and still honour any approval step that the guide or a loaded skill
64
+ requires. <code>_persona_text</code> should state the contract for each kind, since
65
+ <code>bmad-tea</code> leads both quality and review. The house rule should name all three kinds.
66
+
67
+ <b>Tests go in <code>tests/unit/test_bmad_core.py</code>.</b> Assert every <code>TRACKS</code> entry
68
+ declares a kind, and that no findings or artifact banner has a <code>tests:</code> clause.
69
+ Add verbatim review and discovery banners next to <code>test_the_whole_banner_is_exactly_this</code>
70
+ (<code>:396</code>), whose build pin keeps its <code>Done means</code> line and takes the new closing line.
71
+ Limit <code>:331</code> to change tracks. <code>:376</code> pins <code>autonom</code> on one build banner:
72
+ move it to the new wording and assert the line is absent from findings and artifact banners.
73
+ <code>:688</code> only checks that each persona file mentions tests and docs, so pin the per-kind persona
74
+ contract directly. Out of scope: router accuracy (same single judge: track or lead clearly wrong on
75
+ 21 of 41) is a separate defect.