boost-skill-cli 1.0.330__tar.gz → 1.0.332__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 (577) hide show
  1. {boost_skill_cli-1.0.330/boost_skill_cli.egg-info → boost_skill_cli-1.0.332}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +17 -1
  5. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +12 -1
  6. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +15 -2
  7. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +10 -2
  8. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +24 -1
  9. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +16 -1
  10. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +16 -0
  11. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap.html +117 -13
  12. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.gitattributes +0 -0
  13. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.gitignore +0 -0
  14. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.gitleaks.toml +0 -0
  15. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.htmlvalidate.json +0 -0
  16. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.lighthouserc.json +0 -0
  17. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.lycheeignore +0 -0
  18. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.markdownlint-cli2.jsonc +0 -0
  19. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.pre-commit-config.yaml +0 -0
  20. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.stylelintrc.json +0 -0
  21. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.vale/styles/boost/Terminology.yml +0 -0
  22. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  23. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/.vale.ini +0 -0
  24. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/CLAUDE.md +0 -0
  25. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/CODE_OF_CONDUCT.md +0 -0
  26. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/CONTRIBUTING.md +0 -0
  27. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/LICENSE +0 -0
  28. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/MANIFEST.in +0 -0
  29. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/Makefile +0 -0
  30. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/README.md +0 -0
  31. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/SECURITY.md +0 -0
  32. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost +0 -0
  33. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/__init__.py +0 -0
  34. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/__main__.py +0 -0
  35. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/cli.py +0 -0
  36. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/cliparse.py +0 -0
  37. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/__init__.py +0 -0
  38. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/_common.py +0 -0
  39. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/bmad.py +0 -0
  40. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/configuration.py +0 -0
  41. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/discovery.py +0 -0
  42. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/hooks.py +0 -0
  43. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/info.py +0 -0
  44. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/intelligence.py +0 -0
  45. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/pkg.py +0 -0
  46. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/quality.py +0 -0
  47. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/run.py +0 -0
  48. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/safety.py +0 -0
  49. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/taps.py +0 -0
  50. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/commands/team.py +0 -0
  51. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/__init__.py +0 -0
  52. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/adapters.py +0 -0
  53. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/agents.py +0 -0
  54. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/ai.py +0 -0
  55. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/capabilities.py +0 -0
  56. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/catalog.py +0 -0
  57. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/claude_settings.py +0 -0
  58. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/config.py +0 -0
  59. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/dense.py +0 -0
  60. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/ed25519.py +0 -0
  61. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/embed.py +0 -0
  62. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/faithfulness.py +0 -0
  63. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/frontmatter.py +0 -0
  64. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/gitutil.py +0 -0
  65. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/imperative.py +0 -0
  66. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/injectscan.py +0 -0
  67. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/installscan.py +0 -0
  68. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/integrity.py +0 -0
  69. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/journal.py +0 -0
  70. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/localembed.py +0 -0
  71. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/lockfile.py +0 -0
  72. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/logs.py +0 -0
  73. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/mcp.py +0 -0
  74. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/mcpdecl.py +0 -0
  75. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/mcphost.py +0 -0
  76. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/minisign.py +0 -0
  77. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/nethttp.py +0 -0
  78. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/output.py +0 -0
  79. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/paths.py +0 -0
  80. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/policy.py +0 -0
  81. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/projectlock.py +0 -0
  82. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/provenance.py +0 -0
  83. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/rag.py +0 -0
  84. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/registry.py +0 -0
  85. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/resolve.py +0 -0
  86. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/rules.py +0 -0
  87. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/scopes.py +0 -0
  88. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/secretscan.py +0 -0
  89. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/selfupdate.py +0 -0
  90. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/serve.py +0 -0
  91. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/stackprobe.py +0 -0
  92. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/staleness.py +0 -0
  93. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/store.py +0 -0
  94. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/trustaudit.py +0 -0
  95. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/typosquat.py +0 -0
  96. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/updatediff.py +0 -0
  97. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/util.py +0 -0
  98. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/core/workflows.py +0 -0
  99. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/data/registries.json +0 -0
  100. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/errors.py +0 -0
  101. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_cli/spin.py +0 -0
  102. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  103. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  104. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  105. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_skill_cli.egg-info/requires.txt +0 -0
  106. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/boost_skill_cli.egg-info/top_level.txt +0 -0
  107. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/codecov.yml +0 -0
  108. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/.claude/settings.local.json +0 -0
  109. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/DEBUGGING.md +0 -0
  110. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/adapters.html +0 -0
  111. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/architecture/README.md +0 -0
  112. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/architecture/c4-components-core.md +0 -0
  113. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/architecture/c4-containers.md +0 -0
  114. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/architecture/c4-context.md +0 -0
  115. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/architecture/c4-dynamic-install.md +0 -0
  116. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/distill.gif +0 -0
  117. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/doctor.gif +0 -0
  118. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/explain.gif +0 -0
  119. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/hooks.gif +0 -0
  120. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/install.gif +0 -0
  121. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/pulse.gif +0 -0
  122. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/search.gif +0 -0
  123. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/gifs/tap.gif +0 -0
  124. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/distill.tape +0 -0
  125. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/doctor.tape +0 -0
  126. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/explain.tape +0 -0
  127. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/hooks.tape +0 -0
  128. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/install.tape +0 -0
  129. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/pulse.tape +0 -0
  130. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/search.tape +0 -0
  131. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel/tapes/tap.tape +0 -0
  132. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/carousel.html +0 -0
  133. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/commands.html +0 -0
  134. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/demo.gif +0 -0
  135. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/demo.tape +0 -0
  136. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/design-roadmap.html +0 -0
  137. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/eval.html +0 -0
  138. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/index.html +0 -0
  139. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/mcp-hub.html +0 -0
  140. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/rag-architecture.md +0 -0
  141. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D01.md +0 -0
  142. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D02.md +0 -0
  143. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D03.md +0 -0
  144. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D04.md +0 -0
  145. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D05.md +0 -0
  146. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D06.md +0 -0
  147. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D07.md +0 -0
  148. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D08.md +0 -0
  149. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D09.md +0 -0
  150. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D10.md +0 -0
  151. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D11.md +0 -0
  152. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D12.md +0 -0
  153. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D13.md +0 -0
  154. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D14.md +0 -0
  155. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D15.md +0 -0
  156. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D16.md +0 -0
  157. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D17.md +0 -0
  158. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D18.md +0 -0
  159. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D19.md +0 -0
  160. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D20.md +0 -0
  161. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D21.md +0 -0
  162. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D22.md +0 -0
  163. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D23.md +0 -0
  164. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D24.md +0 -0
  165. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D25.md +0 -0
  166. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/BOOST-D26.md +0 -0
  167. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  168. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  169. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  170. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  171. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  172. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  173. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  174. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  175. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  176. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  177. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  178. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  179. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  180. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  181. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  182. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  183. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  184. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  185. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  186. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  187. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  188. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  189. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/command-carousel-page.md +0 -0
  190. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  191. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  192. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  193. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  194. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  195. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  196. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  197. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  198. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  199. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  200. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  201. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  202. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  203. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  204. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  205. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  206. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  207. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  208. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  209. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  210. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  211. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  212. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  213. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  214. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  215. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  216. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  217. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  218. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/github-community-health-files.md +0 -0
  219. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  220. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  221. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  222. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  223. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  224. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  225. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  226. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  227. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  228. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  229. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  230. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  231. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  232. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  233. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  234. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  235. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  236. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  237. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  238. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  239. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  240. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  241. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  242. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  243. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  244. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  245. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  246. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  247. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  248. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  249. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  250. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  251. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  252. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  253. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  254. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  255. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  256. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  257. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  258. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  259. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  260. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  261. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  262. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  263. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  264. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  265. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  266. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  267. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  268. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  269. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  270. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  271. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  272. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  273. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  274. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  275. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  276. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  277. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  278. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  279. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  280. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  281. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  282. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  283. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  284. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  285. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  286. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  287. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  288. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  289. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  290. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  291. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  292. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  293. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  294. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  295. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  296. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  297. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  298. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  299. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  300. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  301. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  302. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  303. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  304. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  305. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  306. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  307. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  308. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  309. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  310. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  311. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  312. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  313. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  314. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  315. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  316. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  317. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  318. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  319. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  320. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  321. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  322. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  323. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  324. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  325. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  326. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  327. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  328. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  329. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  330. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  331. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  332. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  333. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  334. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  335. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  336. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  337. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  338. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  339. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  340. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  341. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  342. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  343. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  344. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  345. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  346. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  347. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/workspace-scope-install.md +0 -0
  348. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  349. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/eslint.config.mjs +0 -0
  350. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/README.md +0 -0
  351. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/__init__.py +0 -0
  352. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/baseline.json +0 -0
  353. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/faithfulness.py +0 -0
  354. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/golden_set.json +0 -0
  355. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/make_corpus.py +0 -0
  356. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/make_golden.py +0 -0
  357. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/metrics.py +0 -0
  358. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/evals/run_evals.py +0 -0
  359. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/examples/README.md +0 -0
  360. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/examples/adapt-demo.sh +0 -0
  361. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/examples/boost-run-prototype.sh +0 -0
  362. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/index.html +0 -0
  363. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/noxfile.py +0 -0
  364. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/pyproject.toml +0 -0
  365. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/coverage-tools.in +0 -0
  366. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/coverage-tools.txt +0 -0
  367. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/lint-tools.in +0 -0
  368. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/lint-tools.txt +0 -0
  369. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/mutation-tools.in +0 -0
  370. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/mutation-tools.txt +0 -0
  371. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/platform-pins.lock +0 -0
  372. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/release-tools.in +0 -0
  373. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/release-tools.txt +0 -0
  374. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/test-tools.in +0 -0
  375. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/requirements/test-tools.txt +0 -0
  376. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/a11y_check.py +0 -0
  377. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/bench_cli.sh +0 -0
  378. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/build_command_reference.py +0 -0
  379. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/build_registries.py +0 -0
  380. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/build_roadmap.py +0 -0
  381. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/check_anchors.py +0 -0
  382. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/check_licenses.py +0 -0
  383. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/check_required_checks.py +0 -0
  384. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/ensure_eval_corpus.sh +0 -0
  385. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/eval_explain.py +0 -0
  386. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/eval_gate.py +0 -0
  387. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/eval_recommend.py +0 -0
  388. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/eval_retrieval.py +0 -0
  389. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/eval_stats_summary.py +0 -0
  390. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/import_budget.py +0 -0
  391. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/lock_toolchain.py +0 -0
  392. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/mutation_gate.py +0 -0
  393. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/mutation_shards.py +0 -0
  394. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/mutation_weights.json +0 -0
  395. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/perf_gate.py +0 -0
  396. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/post_deploy_smoke.py +0 -0
  397. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/release_guard.py +0 -0
  398. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/scripts/release_preflight.py +0 -0
  399. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/setup.cfg +0 -0
  400. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/sonar-project.properties +0 -0
  401. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/style/README.md +0 -0
  402. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/style/boost.css +0 -0
  403. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/style/boost.js +0 -0
  404. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/style/demo.html +0 -0
  405. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/adapt.feature +0 -0
  406. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/browse.feature +0 -0
  407. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/count.feature +0 -0
  408. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/discover.feature +0 -0
  409. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/doctor.feature +0 -0
  410. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/environment.py +0 -0
  411. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/explain.feature +0 -0
  412. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/index.feature +0 -0
  413. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/install.feature +0 -0
  414. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/list.feature +0 -0
  415. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/mcp.feature +0 -0
  416. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/search.feature +0 -0
  417. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/steps/cli_steps.py +0 -0
  418. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/steps/discovery_steps.py +0 -0
  419. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/steps/mcp_steps.py +0 -0
  420. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/bdd/features/steps/quality_steps.py +0 -0
  421. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/conftest.py +0 -0
  422. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/eval/baseline.json +0 -0
  423. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/eval/explain.jsonl +0 -0
  424. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/eval/golden-natural.jsonl +0 -0
  425. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/eval/golden.jsonl +0 -0
  426. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/eval/recommend.jsonl +0 -0
  427. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/eval/taps.txt +0 -0
  428. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_capabilities_policy.py +0 -0
  429. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_adapt.py +0 -0
  430. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_bmad.py +0 -0
  431. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_configuration.py +0 -0
  432. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_discovery.py +0 -0
  433. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_hooks.py +0 -0
  434. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_info.py +0 -0
  435. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_intelligence.py +0 -0
  436. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_pkg.py +0 -0
  437. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_quality.py +0 -0
  438. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_taps.py +0 -0
  439. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_cli_team.py +0 -0
  440. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_everyday_loop.py +0 -0
  441. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_integrity_enforce.py +0 -0
  442. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_property_parsers.py +0 -0
  443. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_run.py +0 -0
  444. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_tap_signing.py +0 -0
  445. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/functional/test_workspace_scope.py +0 -0
  446. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/README.md +0 -0
  447. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  448. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  449. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  450. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  451. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  452. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  453. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  454. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  455. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  456. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  457. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  458. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  459. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  460. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  461. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  462. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  463. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  464. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  465. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  466. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  467. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/fuzz_frontmatter.py +0 -0
  468. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/fuzz/fuzz_registry.py +0 -0
  469. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/make_fixture.py +0 -0
  470. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/perf/test_benchmarks.py +0 -0
  471. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/smoke.sh +0 -0
  472. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_a11y_check.py +0 -0
  473. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_adapters.py +0 -0
  474. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_adapters_multi.py +0 -0
  475. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_adapters_runner.py +0 -0
  476. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_agents.py +0 -0
  477. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_ai.py +0 -0
  478. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_capabilities.py +0 -0
  479. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_catalog.py +0 -0
  480. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_check_anchors.py +0 -0
  481. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_check_licenses.py +0 -0
  482. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_claude_settings.py +0 -0
  483. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_cliparse.py +0 -0
  484. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_codeql_analysis_key.py +0 -0
  485. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_command_reference_fresh.py +0 -0
  486. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_community_health_files.py +0 -0
  487. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_config.py +0 -0
  488. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_content_dedupe.py +0 -0
  489. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_dedup_trust.py +0 -0
  490. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_dense.py +0 -0
  491. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_dense_fallback.py +0 -0
  492. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_dense_fix_hint.py +0 -0
  493. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_dense_status.py +0 -0
  494. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_dependabot_config.py +0 -0
  495. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_docs_pages_linked.py +0 -0
  496. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_docsite_chrome.py +0 -0
  497. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_ed25519.py +0 -0
  498. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_embed.py +0 -0
  499. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_embed_local.py +0 -0
  500. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_entry_key.py +0 -0
  501. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_errors_and_cli_table.py +0 -0
  502. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_eval_baseline.py +0 -0
  503. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_eval_faithfulness.py +0 -0
  504. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_eval_gate.py +0 -0
  505. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_eval_metrics.py +0 -0
  506. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_eval_stats_summary.py +0 -0
  507. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_faithfulness.py +0 -0
  508. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_frontmatter.py +0 -0
  509. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_fuzz_targets.py +0 -0
  510. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_gitleaks_config.py +0 -0
  511. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_gitutil.py +0 -0
  512. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_imperative.py +0 -0
  513. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_import_budget.py +0 -0
  514. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_injectscan.py +0 -0
  515. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_installscan.py +0 -0
  516. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_integrity.py +0 -0
  517. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_journal.py +0 -0
  518. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_localembed.py +0 -0
  519. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_lockfile.py +0 -0
  520. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_logs.py +0 -0
  521. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_marketing_counts.py +0 -0
  522. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mcp.py +0 -0
  523. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mcp_install_scan.py +0 -0
  524. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mcpdecl.py +0 -0
  525. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mcphost.py +0 -0
  526. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_minisign.py +0 -0
  527. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mutation_hardening.py +0 -0
  528. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mutation_shards.py +0 -0
  529. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mutation_subfile_shards.py +0 -0
  530. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_mutmut_source_paths.py +0 -0
  531. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_nethttp.py +0 -0
  532. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_output.py +0 -0
  533. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_paths.py +0 -0
  534. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_perf_gate.py +0 -0
  535. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_pkg_confusions.py +0 -0
  536. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_pkg_injection.py +0 -0
  537. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_pkg_secrets.py +0 -0
  538. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_platform_pins.py +0 -0
  539. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_policy.py +0 -0
  540. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_post_deploy_smoke.py +0 -0
  541. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_project_mcp_sidecar.py +0 -0
  542. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_projectlock.py +0 -0
  543. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_provenance.py +0 -0
  544. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_rag.py +0 -0
  545. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_rag_fusion.py +0 -0
  546. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_registries_fresh.py +0 -0
  547. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_registry.py +0 -0
  548. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_registry_categories.py +0 -0
  549. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_release_guard.py +0 -0
  550. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_release_preflight.py +0 -0
  551. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_required_checks.py +0 -0
  552. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_resolve.py +0 -0
  553. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_roadmap_fresh.py +0 -0
  554. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_rules.py +0 -0
  555. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_scopes.py +0 -0
  556. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_secretscan.py +0 -0
  557. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_selfupdate.py +0 -0
  558. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_serve.py +0 -0
  559. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_spin.py +0 -0
  560. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_stackprobe.py +0 -0
  561. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_staleness.py +0 -0
  562. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_store.py +0 -0
  563. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_token_parity.py +0 -0
  564. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_toolchain_lock.py +0 -0
  565. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_trustaudit.py +0 -0
  566. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_typosquat.py +0 -0
  567. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_updatediff.py +0 -0
  568. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_util.py +0 -0
  569. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_version.py +0 -0
  570. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_workflow_concurrency.py +0 -0
  571. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_workflow_timeouts.py +0 -0
  572. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/unit/test_workflows.py +0 -0
  573. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/visual/a11y_check.mjs +0 -0
  574. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/visual/console_check.mjs +0 -0
  575. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/visual/package-lock.json +0 -0
  576. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/visual/package.json +0 -0
  577. {boost_skill_cli-1.0.330 → boost_skill_cli-1.0.332}/tests/visual/visual_check.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.330
3
+ Version: 1.0.332
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.0.330'
22
- __version_tuple__ = version_tuple = (1, 0, 330)
21
+ __version__ = version = '1.0.332'
22
+ __version_tuple__ = version_tuple = (1, 0, 332)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.0.330
3
+ Version: 1.0.332
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -2,7 +2,7 @@
2
2
  id: code-scanning-rule-can-be-restored
3
3
  board: code
4
4
  section: trust
5
- status: planned
5
+ status: shipped
6
6
  category: Release safety
7
7
  complexity: S
8
8
  impact: Med
@@ -45,3 +45,19 @@ path filters and runs on <code>push</code>, <code>pull_request</code> and
45
45
  repo has hit twice. And it catches something the status check does not &mdash;
46
46
  <code>codeql-analyze</code> passes when the <em>job</em> succeeds, including when it succeeds
47
47
  having found error-severity alerts.
48
+
49
+ <b>Done &mdash; the rule is back, and scoped exactly as this card prescribed.</b> Read from the live
50
+ <code>main</code> ruleset (id <code>19130332</code>): it carries a <code>code_scanning</code> rule
51
+ whose <code>code_scanning_tools</code> list is <b><code>CodeQL</code> alone</b>, at
52
+ <code>security_alerts_threshold: high_or_higher</code> and <code>alerts_threshold: errors</code>.
53
+ Scorecard is not in the list, which is the single decision this card exists to get right.
54
+
55
+ The safety precondition still holds and was re-checked rather than assumed: <b>CodeQL has 0 open
56
+ alerts</b>, while Scorecard has <b>4 open</b> (down from the 7 recorded above), every one still a
57
+ posture metric that must not be dismissed. Had Scorecard been added to that tool list, those four
58
+ would block every merge in the repository immediately &mdash; the failure mode this card correctly
59
+ identifies as the reason the work looked blocked.
60
+
61
+ No change was needed. Recording it as shipped so the board stops advertising work that is already
62
+ in place, and so the tool-list constraint stays written down: anyone re-editing this rule through the
63
+ GitHub UI will be offered Scorecard right next to CodeQL in the picker.
@@ -2,7 +2,7 @@
2
2
  id: demo-cannot-open-its-own-pr
3
3
  board: code
4
4
  section: pipeline
5
- status: planned
5
+ status: shipped
6
6
  category: CI reporting
7
7
  complexity: S
8
8
  impact: Med
@@ -61,3 +61,14 @@ that job cannot open a pull request either. So this toggle now gates two items r
61
61
  the second is a supply-chain freshness gap rather than a docs asset. That does not make the
62
62
  decision automatic, but it does change what is on each side of it.
63
63
 
64
+
65
+ <b>Unblocked, and already working &mdash; the setting was flipped.</b> This card's blocker is
66
+ <code>can_approve_pull_request_reviews: false</code>. The API now reports it as <b><code>true</code></b>,
67
+ and the effect is visible rather than theoretical: <code>demo.yml</code>'s recent runs are green, and
68
+ <b>PR <code>#353</code> was opened by <code>github-actions[bot]</code></b> &mdash; the exact action
69
+ this card says is impossible.
70
+
71
+ Nothing in the tree needed changing. Recording it as shipped rather than deleting it, because the
72
+ card's analysis was right about <em>where</em> the blocker was: the earlier investigation had chased
73
+ <code>demo.yml</code>'s own <code>permissions:</code> block, and the note that no edit to the workflow
74
+ could fix a repository-level setting is what stopped that from being a long false lead.
@@ -2,14 +2,14 @@
2
2
  id: mcp-check-skills-before-starting-a-task
3
3
  board: code
4
4
  section: dx
5
- status: inflight
5
+ status: shipped
6
6
  category: Interop · Adoption
7
7
  complexity: S
8
8
  impact: High
9
9
  wow: 3
10
10
  note: agent reflex
11
11
  order: 64
12
- owner: mcp-task-entrance
12
+ owner:
13
13
  pr: 318
14
14
  title: MCP — check for a skill when a task starts, not only when authoring one
15
15
  ---
@@ -28,3 +28,16 @@ check. A closing proportion note bounds it, because an unbounded <em>always chec
28
28
  turns every trivial turn into a tool call and an agent that learns to ignore the guidance
29
29
  ignores all of it. Both triggers and the bound are pinned by tests, so dropping either
30
30
  regresses.
31
+
32
+ <b>Shipped &mdash; the claim was stale, not the work.</b> PR <code>#318</code> merged and its branch
33
+ is gone, but this item sat at <code>inflight</code> under that branch name, so the board advertised
34
+ live work as taken. Verified against the code rather than the PR state alone:
35
+ <code>mcp.INSTRUCTIONS</code> leads with using an installed skill, names <code>boost_list</code> for
36
+ what is usable right now, and carries the proportion bound this card asks for &mdash; &ldquo;Skip it
37
+ for a question, a one-line edit, or a command you were just handed.&rdquo; The trigger is pinned by
38
+ <code>test_instructions_lead_with_using_a_skill_not_authoring_one</code>.
39
+
40
+ One note for anyone reading both cards: <code>mcp-one-benefit-nameable-task</code> (<code>#355</code>,
41
+ later) <em>superseded</em> this card's &ldquo;two declared triggers&rdquo; framing by demoting
42
+ authoring to a clause on <code>boost_search</code>, on the grounds that it was the rarer moment
43
+ crowding out the common one. The task-start trigger this card argued for is what survived.
@@ -2,14 +2,14 @@
2
2
  id: mcp-one-benefit-nameable-task
3
3
  board: code
4
4
  section: dx
5
- status: inflight
5
+ status: shipped
6
6
  category: Interop · Adoption
7
7
  complexity: S
8
8
  impact: High
9
9
  wow: 3
10
10
  note: agent reflex
11
11
  order: 74
12
- owner: loop/mcp-nameable-task
12
+ owner:
13
13
  pr: 355
14
14
  title: MCP — one benefit, one observable trigger (and stop routing through boost_info)
15
15
  ---
@@ -42,3 +42,11 @@ so the hop bought a round-trip and a decision point and nothing else. It stays r
42
42
  for looking up a name from elsewhere, and its description now says so. All of it is
43
43
  pinned by tests, including negative assertions so authoring and the info hop cannot
44
44
  creep back.
45
+
46
+ <b>Shipped &mdash; the claim was stale, not the work.</b> PR <code>#355</code> merged and its branch
47
+ is gone, yet this item still read as owned. Every element is verifiable in
48
+ <code>mcp.INSTRUCTIONS</code> today: the stated cost (&ldquo;read-only, take about a second, and
49
+ install nothing&rdquo;), the miss protocol (&ldquo;Finding nothing is a good outcome, not a wasted
50
+ call&rdquo;), &ldquo;The task stays yours&rdquo;, and <code>boost_info</code> absent from the
51
+ advertised flow &mdash; which <code>test_instructions_route_search_straight_to_install</code> pins
52
+ with a negative assertion so the hop cannot creep back.
@@ -2,7 +2,7 @@
2
2
  id: merged-loop-branches-are-never-pruned
3
3
  board: code
4
4
  section: pipeline
5
- status: planned
5
+ status: shipped
6
6
  category: Hygiene · DX
7
7
  complexity: S
8
8
  impact: Low
@@ -45,3 +45,26 @@ Low impact and near-zero risk to fix &mdash; flip <code>delete_branch_on_merge</
45
45
  the backlog can be pruned by listing merged PR head refs. The reason it is worth doing at all is
46
46
  that CLAUDE.md tells every agent to run <code>git worktree list</code> and inspect branch state
47
47
  before touching a tree, and 68 stale entries make that check noisier for every concurrent loop.
48
+
49
+ <b>Shipped &mdash; and the premise had gone stale, which is why it was worth re-checking rather than
50
+ assuming.</b> This card's core claim is that <code>delete_branch_on_merge</code> is <code>false</code>.
51
+ It is now <b><code>true</code></b>, and the backlog it describes is gone: against the card's
52
+ <b>77 branches, 70 of them <code>loop/*</code></b>, the repository today carries <b>5 branches, 2
53
+ <code>loop/*</code></b>.
54
+
55
+ Two stragglers predating the setting change were still present and are now deleted:
56
+ <code>evals-harness</code> (PR <code>#317</code>, merged) and <code>mcp-task-entrance</code>
57
+ (PR <code>#318</code>, merged). Both were classified the way this card insists on &mdash; by
58
+ <b>pull-request state</b>, not commit reachability &mdash; because the squash-merge point above is
59
+ real: <code>compare(main...branch).ahead_by</code> reports every merged branch as permanently ahead,
60
+ so reachability would have reported 0 of them deletable.
61
+
62
+ Three branches remain and are deliberately <em>not</em> deleted: <code>bot/demo-gif</code> has an
63
+ open PR (<code>#353</code>), and <code>badges</code>, <code>loop/keyless-card-dedupe</code> and
64
+ <code>loop/sbom-in-release-job</code> have <b>no PR on record</b>. A branch with no PR cannot be shown
65
+ to be merged, and deleting it could destroy unmerged work &mdash; so the safe rule is to leave it for
66
+ a human, which is also why no automated pruner is proposed here.
67
+
68
+ <b>No automation was added.</b> The repository setting does the job going forward; a workflow that
69
+ deleted branches on a schedule would add a way to lose work in exchange for tidying a list that is
70
+ now five entries long.
@@ -2,7 +2,7 @@
2
2
  id: pytest-tmpdir-cve-blocked-by-py39-floor
3
3
  board: code
4
4
  section: pipeline
5
- status: planned
5
+ status: declined
6
6
  category: Supply chain
7
7
  complexity: M
8
8
  impact: Low
@@ -34,3 +34,18 @@ Revisit when either the 3.9 floor is dropped or a patched 8.x lands. If the floo
34
34
  and the alert must clear, the real mitigation is pointing pytest at a private base
35
35
  temp dir (<code>--basetemp</code> / <code>PYTEST_DEBUG_TEMPROOT</code>) so the predictable
36
36
  path is never used — that fixes the behaviour without satisfying Dependabot's version check.
37
+
38
+ <b>Declined &mdash; recorded as a decision rather than left to look like pending work.</b> The
39
+ alert is already dismissed upstream as <code>tolerable_risk</code>; leaving the card
40
+ <code>planned</code> made the board advertise work that nobody intends to do and that no code change
41
+ could complete.
42
+
43
+ The revisit condition was re-checked rather than assumed: this card says revisit &ldquo;when either
44
+ the 3.9 floor is dropped or a patched 8.x lands&rdquo;. PyPI's latest 8.x is still
45
+ <b><code>8.4.2</code></b> &mdash; no <code>8.4.3</code>, no <code>8.5</code> &mdash; and the advisory
46
+ marks every 8.x vulnerable, so there is nothing to move to. The 3.9 floor is a deliberate
47
+ compatibility promise in <code>pyproject.toml</code>, not an oversight.
48
+
49
+ Reopen this if either condition changes. The residual exposure is unchanged and remains
50
+ contributor-facing only: <code>[project].dependencies</code> is empty, so nobody installing
51
+ <code>boost-skill-cli</code> ever receives pytest.
@@ -71,3 +71,19 @@ normal PR gate once a human opens it.
71
71
  Either way the freshness gap this item exists to close narrows from "nobody is watching" to "a
72
72
  human clicks a button", which is the honest available improvement while the setting stands.
73
73
 
74
+
75
+ <b>The blocker is gone.</b> This card is gated on the same repository setting as
76
+ <code>demo-cannot-open-its-own-pr</code>, and the API now reports
77
+ <code>can_approve_pull_request_reviews: <b>true</b></code>. Confirmed working rather than merely
78
+ configured: <code>#353</code> was opened by <code>github-actions[bot]</code>.
79
+
80
+ So the &ldquo;honest available improvement while the setting stands&rdquo; compromise described above
81
+ &mdash; a workflow that only reports drift and waits for a human to click a button &mdash; is no
82
+ longer the ceiling. A scheduled job can now regenerate the lock and open its own PR, which is what
83
+ this card originally asked for.
84
+
85
+ Deliberately left unimplemented here. It needs a real decision about cadence and about what happens
86
+ when the regenerated lock fails <code>lock_toolchain.py --check</code> on a runner, and shipping an
87
+ untested scheduled workflow that opens PRs against <code>main</code> is worse than shipping nothing.
88
+ The value of this note is that the next person picking it up starts from &ldquo;build it&rdquo;
89
+ rather than from &ldquo;it cannot be built&rdquo;.
@@ -1681,7 +1681,24 @@ than a description of them, and <code>lock_toolchain.py --audit</code> then runs
1681
1681
  normal PR gate once a human opens it.
1682
1682
 
1683
1683
  Either way the freshness gap this item exists to close narrows from "nobody is watching" to "a
1684
- human clicks a button", which is the honest available improvement while the setting stands.</p>
1684
+ human clicks a button", which is the honest available improvement while the setting stands.
1685
+
1686
+
1687
+ <b>The blocker is gone.</b> This card is gated on the same repository setting as
1688
+ <code>demo-cannot-open-its-own-pr</code>, and the API now reports
1689
+ <code>can_approve_pull_request_reviews: <b>true</b></code>. Confirmed working rather than merely
1690
+ configured: <code>#353</code> was opened by <code>github-actions[bot]</code>.
1691
+
1692
+ So the &ldquo;honest available improvement while the setting stands&rdquo; compromise described above
1693
+ &mdash; a workflow that only reports drift and waits for a human to click a button &mdash; is no
1694
+ longer the ceiling. A scheduled job can now regenerate the lock and open its own PR, which is what
1695
+ this card originally asked for.
1696
+
1697
+ Deliberately left unimplemented here. It needs a real decision about cadence and about what happens
1698
+ when the regenerated lock fails <code>lock_toolchain.py --check</code> on a runner, and shipping an
1699
+ untested scheduled workflow that opens PRs against <code>main</code> is worse than shipping nothing.
1700
+ The value of this note is that the next person picking it up starts from &ldquo;build it&rdquo;
1701
+ rather than from &ldquo;it cannot be built&rdquo;.</p>
1685
1702
  <div class="meta">
1686
1703
  <span class="m">Complexity <b>M</b></span>
1687
1704
  <span class="m">Impact <b>Med</b></span>
@@ -2591,7 +2608,7 @@ extra ships it.</p>
2591
2608
  </article>
2592
2609
 
2593
2610
  <article class="cap rcard" id="pytest-tmpdir-cve-blocked-by-py39-floor">
2594
- <div class="head"><span class="pill planned">Planned</span><span class="cat">Supply chain</span></div>
2611
+ <div class="head"><span class="pill declined">Declined</span><span class="cat">Supply chain</span></div>
2595
2612
  <h3>The <code>pytest</code> tmpdir CVE has no fix at our Python floor</h3>
2596
2613
  <p>CVE-2025-71176 — pytest through 9.0.2 relies on the predictable
2597
2614
  <code>/tmp/pytest-of-{user}</code> path, letting a <b>local</b> user cause a denial of
@@ -2613,7 +2630,22 @@ ephemeral VMs where the local-attacker precondition does not hold. <b>Dismissed
2613
2630
  Revisit when either the 3.9 floor is dropped or a patched 8.x lands. If the floor must stay
2614
2631
  and the alert must clear, the real mitigation is pointing pytest at a private base
2615
2632
  temp dir (<code>--basetemp</code> / <code>PYTEST_DEBUG_TEMPROOT</code>) so the predictable
2616
- path is never used — that fixes the behaviour without satisfying Dependabot's version check.</p>
2633
+ path is never used — that fixes the behaviour without satisfying Dependabot's version check.
2634
+
2635
+ <b>Declined &mdash; recorded as a decision rather than left to look like pending work.</b> The
2636
+ alert is already dismissed upstream as <code>tolerable_risk</code>; leaving the card
2637
+ <code>planned</code> made the board advertise work that nobody intends to do and that no code change
2638
+ could complete.
2639
+
2640
+ The revisit condition was re-checked rather than assumed: this card says revisit &ldquo;when either
2641
+ the 3.9 floor is dropped or a patched 8.x lands&rdquo;. PyPI's latest 8.x is still
2642
+ <b><code>8.4.2</code></b> &mdash; no <code>8.4.3</code>, no <code>8.5</code> &mdash; and the advisory
2643
+ marks every 8.x vulnerable, so there is nothing to move to. The 3.9 floor is a deliberate
2644
+ compatibility promise in <code>pyproject.toml</code>, not an oversight.
2645
+
2646
+ Reopen this if either condition changes. The residual exposure is unchanged and remains
2647
+ contributor-facing only: <code>[project].dependencies</code> is empty, so nobody installing
2648
+ <code>boost-skill-cli</code> ever receives pytest.</p>
2617
2649
  <div class="meta">
2618
2650
  <span class="m">Complexity <b>M</b></span>
2619
2651
  <span class="m">Impact <b>Low</b></span>
@@ -3318,7 +3350,7 @@ concrete proof that the original recommendation would have blocked every release
3318
3350
  </article>
3319
3351
 
3320
3352
  <article class="cap rcard" id="demo-cannot-open-its-own-pr">
3321
- <div class="head"><span class="pill planned">Planned</span><span class="cat">CI reporting</span></div>
3353
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">CI reporting</span></div>
3322
3354
  <h3><code>demo.yml</code> still fails on every push &mdash; and the fix is not in the workflow</h3>
3323
3355
  <p><code>demo-gif-workflow-has-never-succeeded</code> (shipped, PR&nbsp;294) fixed the recorder:
3324
3356
  <code>charmbracelet/vhs-action</code>'s broken ffmpeg installer was replaced with apt plus
@@ -3366,7 +3398,19 @@ permission: since <code>#349</code> switched off Dependabot's version updates fo
3366
3398
  toolchain, the replacement is a scheduled job that regenerates the lock and proposes it &mdash; and
3367
3399
  that job cannot open a pull request either. So this toggle now gates two items rather than one, and
3368
3400
  the second is a supply-chain freshness gap rather than a docs asset. That does not make the
3369
- decision automatic, but it does change what is on each side of it.</p>
3401
+ decision automatic, but it does change what is on each side of it.
3402
+
3403
+
3404
+ <b>Unblocked, and already working &mdash; the setting was flipped.</b> This card's blocker is
3405
+ <code>can_approve_pull_request_reviews: false</code>. The API now reports it as <b><code>true</code></b>,
3406
+ and the effect is visible rather than theoretical: <code>demo.yml</code>'s recent runs are green, and
3407
+ <b>PR <code>#353</code> was opened by <code>github-actions[bot]</code></b> &mdash; the exact action
3408
+ this card says is impossible.
3409
+
3410
+ Nothing in the tree needed changing. Recording it as shipped rather than deleting it, because the
3411
+ card's analysis was right about <em>where</em> the blocker was: the earlier investigation had chased
3412
+ <code>demo.yml</code>'s own <code>permissions:</code> block, and the note that no edit to the workflow
3413
+ could fix a repository-level setting is what stopped that from being a long false lead.</p>
3370
3414
  <div class="meta">
3371
3415
  <span class="m">Complexity <b>S</b></span>
3372
3416
  <span class="m">Impact <b>Med</b></span>
@@ -3376,7 +3420,7 @@ decision automatic, but it does change what is on each side of it.</p>
3376
3420
  </article>
3377
3421
 
3378
3422
  <article class="cap rcard" id="merged-loop-branches-are-never-pruned">
3379
- <div class="head"><span class="pill planned">Planned</span><span class="cat">Hygiene · DX</span></div>
3423
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Hygiene · DX</span></div>
3380
3424
  <h3>68 of the repo's 77 branches are merged <code>loop/*</code> branches nobody deletes</h3>
3381
3425
  <p>The repository carries <b>77 branches, 70 of them <code>loop/*</code></b>. Classifying each by the
3382
3426
  state of its pull request: <b>68 have a merged PR</b> and are safe to delete, <b>1</b> has an open
@@ -3409,7 +3453,30 @@ manually.
3409
3453
  Low impact and near-zero risk to fix &mdash; flip <code>delete_branch_on_merge</code> to true and
3410
3454
  the backlog can be pruned by listing merged PR head refs. The reason it is worth doing at all is
3411
3455
  that CLAUDE.md tells every agent to run <code>git worktree list</code> and inspect branch state
3412
- before touching a tree, and 68 stale entries make that check noisier for every concurrent loop.</p>
3456
+ before touching a tree, and 68 stale entries make that check noisier for every concurrent loop.
3457
+
3458
+ <b>Shipped &mdash; and the premise had gone stale, which is why it was worth re-checking rather than
3459
+ assuming.</b> This card's core claim is that <code>delete_branch_on_merge</code> is <code>false</code>.
3460
+ It is now <b><code>true</code></b>, and the backlog it describes is gone: against the card's
3461
+ <b>77 branches, 70 of them <code>loop/*</code></b>, the repository today carries <b>5 branches, 2
3462
+ <code>loop/*</code></b>.
3463
+
3464
+ Two stragglers predating the setting change were still present and are now deleted:
3465
+ <code>evals-harness</code> (PR <code>#317</code>, merged) and <code>mcp-task-entrance</code>
3466
+ (PR <code>#318</code>, merged). Both were classified the way this card insists on &mdash; by
3467
+ <b>pull-request state</b>, not commit reachability &mdash; because the squash-merge point above is
3468
+ real: <code>compare(main...branch).ahead_by</code> reports every merged branch as permanently ahead,
3469
+ so reachability would have reported 0 of them deletable.
3470
+
3471
+ Three branches remain and are deliberately <em>not</em> deleted: <code>bot/demo-gif</code> has an
3472
+ open PR (<code>#353</code>), and <code>badges</code>, <code>loop/keyless-card-dedupe</code> and
3473
+ <code>loop/sbom-in-release-job</code> have <b>no PR on record</b>. A branch with no PR cannot be shown
3474
+ to be merged, and deleting it could destroy unmerged work &mdash; so the safe rule is to leave it for
3475
+ a human, which is also why no automated pruner is proposed here.
3476
+
3477
+ <b>No automation was added.</b> The repository setting does the job going forward; a workflow that
3478
+ deleted branches on a schedule would add a way to lose work in exchange for tidying a list that is
3479
+ now five entries long.</p>
3413
3480
  <div class="meta">
3414
3481
  <span class="m">Complexity <b>S</b></span>
3415
3482
  <span class="m">Impact <b>Low</b></span>
@@ -4454,7 +4521,7 @@ three states: a <b>failing</b> actionlint now fails <code>make</code> (exit 2) i
4454
4521
  </article>
4455
4522
 
4456
4523
  <article class="cap rcard" id="mcp-check-skills-before-starting-a-task">
4457
- <div class="head"><span class="pill inflight">In flight</span><span class="cat">Interop · Adoption</span></div>
4524
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Interop · Adoption</span></div>
4458
4525
  <h3>MCP — check for a skill when a task starts, not only when authoring one</h3>
4459
4526
  <p><a href="#mcp-search-before-reinventing">The previous pass</a> gave the MCP server
4460
4527
  <code>initialize</code> <code>instructions</code> and intent-framed tool descriptions, but
@@ -4470,7 +4537,20 @@ duplicate install" to "leverage a capability you already have" — it is the fre
4470
4537
  check. A closing proportion note bounds it, because an unbounded <em>always check first</em>
4471
4538
  turns every trivial turn into a tool call and an agent that learns to ignore the guidance
4472
4539
  ignores all of it. Both triggers and the bound are pinned by tests, so dropping either
4473
- regresses.</p>
4540
+ regresses.
4541
+
4542
+ <b>Shipped &mdash; the claim was stale, not the work.</b> PR <code>#318</code> merged and its branch
4543
+ is gone, but this item sat at <code>inflight</code> under that branch name, so the board advertised
4544
+ live work as taken. Verified against the code rather than the PR state alone:
4545
+ <code>mcp.INSTRUCTIONS</code> leads with using an installed skill, names <code>boost_list</code> for
4546
+ what is usable right now, and carries the proportion bound this card asks for &mdash; &ldquo;Skip it
4547
+ for a question, a one-line edit, or a command you were just handed.&rdquo; The trigger is pinned by
4548
+ <code>test_instructions_lead_with_using_a_skill_not_authoring_one</code>.
4549
+
4550
+ One note for anyone reading both cards: <code>mcp-one-benefit-nameable-task</code> (<code>#355</code>,
4551
+ later) <em>superseded</em> this card's &ldquo;two declared triggers&rdquo; framing by demoting
4552
+ authoring to a clause on <code>boost_search</code>, on the grounds that it was the rarer moment
4553
+ crowding out the common one. The task-start trigger this card argued for is what survived.</p>
4474
4554
  <div class="meta">
4475
4555
  <span class="m">Complexity <b>S</b></span>
4476
4556
  <span class="m hi">Impact <b>High</b></span>
@@ -4534,7 +4614,7 @@ open: <code>zizmor</code> and <code>gitleaks</code> run only in CI and have no M
4534
4614
  </article>
4535
4615
 
4536
4616
  <article class="cap rcard" id="mcp-one-benefit-nameable-task">
4537
- <div class="head"><span class="pill inflight">In flight</span><span class="cat">Interop · Adoption</span></div>
4617
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Interop · Adoption</span></div>
4538
4618
  <h3>MCP — one benefit, one observable trigger (and stop routing through boost_info)</h3>
4539
4619
  <p>Gemini CLI used the boost MCP server only when asked by hand, never on its own.
4540
4620
  Two causes, and neither was fixed by writing more instructions.
@@ -4564,7 +4644,15 @@ already returns each hit's description, the only field that changes an install d
4564
4644
  so the hop bought a round-trip and a decision point and nothing else. It stays registered
4565
4645
  for looking up a name from elsewhere, and its description now says so. All of it is
4566
4646
  pinned by tests, including negative assertions so authoring and the info hop cannot
4567
- creep back.</p>
4647
+ creep back.
4648
+
4649
+ <b>Shipped &mdash; the claim was stale, not the work.</b> PR <code>#355</code> merged and its branch
4650
+ is gone, yet this item still read as owned. Every element is verifiable in
4651
+ <code>mcp.INSTRUCTIONS</code> today: the stated cost (&ldquo;read-only, take about a second, and
4652
+ install nothing&rdquo;), the miss protocol (&ldquo;Finding nothing is a good outcome, not a wasted
4653
+ call&rdquo;), &ldquo;The task stays yours&rdquo;, and <code>boost_info</code> absent from the
4654
+ advertised flow &mdash; which <code>test_instructions_route_search_straight_to_install</code> pins
4655
+ with a negative assertion so the hop cannot creep back.</p>
4568
4656
  <div class="meta">
4569
4657
  <span class="m">Complexity <b>S</b></span>
4570
4658
  <span class="m hi">Impact <b>High</b></span>
@@ -5769,7 +5857,7 @@ same-repo PRs and red CI.</p>
5769
5857
  </article>
5770
5858
 
5771
5859
  <article class="cap rcard" id="code-scanning-rule-can-be-restored">
5772
- <div class="head"><span class="pill planned">Planned</span><span class="cat">Release safety</span></div>
5860
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Release safety</span></div>
5773
5861
  <h3>The <code>code_scanning</code> ruleset rule can go back on &mdash; but only scoped to CodeQL</h3>
5774
5862
  <p>Repairing the <code>main</code> ruleset dropped its <code>code_scanning</code> rule in favour of
5775
5863
  <code>codeql-analyze</code> as a required status check (see
@@ -5802,7 +5890,23 @@ path filters and runs on <code>push</code>, <code>pull_request</code> and
5802
5890
  <code>merge_group</code>, so it always reports and cannot produce the never-reports deadlock this
5803
5891
  repo has hit twice. And it catches something the status check does not &mdash;
5804
5892
  <code>codeql-analyze</code> passes when the <em>job</em> succeeds, including when it succeeds
5805
- having found error-severity alerts.</p>
5893
+ having found error-severity alerts.
5894
+
5895
+ <b>Done &mdash; the rule is back, and scoped exactly as this card prescribed.</b> Read from the live
5896
+ <code>main</code> ruleset (id <code>19130332</code>): it carries a <code>code_scanning</code> rule
5897
+ whose <code>code_scanning_tools</code> list is <b><code>CodeQL</code> alone</b>, at
5898
+ <code>security_alerts_threshold: high_or_higher</code> and <code>alerts_threshold: errors</code>.
5899
+ Scorecard is not in the list, which is the single decision this card exists to get right.
5900
+
5901
+ The safety precondition still holds and was re-checked rather than assumed: <b>CodeQL has 0 open
5902
+ alerts</b>, while Scorecard has <b>4 open</b> (down from the 7 recorded above), every one still a
5903
+ posture metric that must not be dismissed. Had Scorecard been added to that tool list, those four
5904
+ would block every merge in the repository immediately &mdash; the failure mode this card correctly
5905
+ identifies as the reason the work looked blocked.
5906
+
5907
+ No change was needed. Recording it as shipped so the board stops advertising work that is already
5908
+ in place, and so the tool-list constraint stays written down: anyone re-editing this rule through the
5909
+ GitHub UI will be offered Scorecard right next to CodeQL in the picker.</p>
5806
5910
  <div class="meta">
5807
5911
  <span class="m">Complexity <b>S</b></span>
5808
5912
  <span class="m">Impact <b>Med</b></span>