boost-skill-cli 1.0.311__tar.gz → 1.0.313__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 (569) hide show
  1. {boost_skill_cli-1.0.311/boost_skill_cli.egg-info → boost_skill_cli-1.0.313}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +7 -0
  5. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +39 -0
  6. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +28 -0
  7. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap.html +75 -3
  8. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.gitattributes +0 -0
  9. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.gitignore +0 -0
  10. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.gitleaks.toml +0 -0
  11. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.htmlvalidate.json +0 -0
  12. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.lighthouserc.json +0 -0
  13. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.lycheeignore +0 -0
  14. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.markdownlint-cli2.jsonc +0 -0
  15. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.pre-commit-config.yaml +0 -0
  16. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.stylelintrc.json +0 -0
  17. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.vale/styles/boost/Terminology.yml +0 -0
  18. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  19. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/.vale.ini +0 -0
  20. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/CLAUDE.md +0 -0
  21. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/CODE_OF_CONDUCT.md +0 -0
  22. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/CONTRIBUTING.md +0 -0
  23. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/LICENSE +0 -0
  24. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/MANIFEST.in +0 -0
  25. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/Makefile +0 -0
  26. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/README.md +0 -0
  27. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/SECURITY.md +0 -0
  28. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost +0 -0
  29. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/__init__.py +0 -0
  30. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/__main__.py +0 -0
  31. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/cli.py +0 -0
  32. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/cliparse.py +0 -0
  33. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/__init__.py +0 -0
  34. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/_common.py +0 -0
  35. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/bmad.py +0 -0
  36. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/configuration.py +0 -0
  37. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/discovery.py +0 -0
  38. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/hooks.py +0 -0
  39. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/info.py +0 -0
  40. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/intelligence.py +0 -0
  41. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/pkg.py +0 -0
  42. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/quality.py +0 -0
  43. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/run.py +0 -0
  44. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/safety.py +0 -0
  45. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/taps.py +0 -0
  46. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/commands/team.py +0 -0
  47. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/__init__.py +0 -0
  48. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/adapters.py +0 -0
  49. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/agents.py +0 -0
  50. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/ai.py +0 -0
  51. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/capabilities.py +0 -0
  52. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/catalog.py +0 -0
  53. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/claude_settings.py +0 -0
  54. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/config.py +0 -0
  55. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/dense.py +0 -0
  56. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/ed25519.py +0 -0
  57. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/embed.py +0 -0
  58. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/faithfulness.py +0 -0
  59. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/frontmatter.py +0 -0
  60. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/gitutil.py +0 -0
  61. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/imperative.py +0 -0
  62. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/injectscan.py +0 -0
  63. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/installscan.py +0 -0
  64. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/integrity.py +0 -0
  65. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/journal.py +0 -0
  66. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/localembed.py +0 -0
  67. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/lockfile.py +0 -0
  68. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/logs.py +0 -0
  69. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/mcp.py +0 -0
  70. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/mcpdecl.py +0 -0
  71. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/mcphost.py +0 -0
  72. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/minisign.py +0 -0
  73. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/nethttp.py +0 -0
  74. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/output.py +0 -0
  75. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/paths.py +0 -0
  76. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/policy.py +0 -0
  77. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/projectlock.py +0 -0
  78. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/provenance.py +0 -0
  79. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/rag.py +0 -0
  80. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/registry.py +0 -0
  81. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/resolve.py +0 -0
  82. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/rules.py +0 -0
  83. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/scopes.py +0 -0
  84. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/secretscan.py +0 -0
  85. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/selfupdate.py +0 -0
  86. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/serve.py +0 -0
  87. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/stackprobe.py +0 -0
  88. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/staleness.py +0 -0
  89. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/store.py +0 -0
  90. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/trustaudit.py +0 -0
  91. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/typosquat.py +0 -0
  92. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/updatediff.py +0 -0
  93. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/util.py +0 -0
  94. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/core/workflows.py +0 -0
  95. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/data/registries.json +0 -0
  96. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/errors.py +0 -0
  97. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_cli/spin.py +0 -0
  98. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  99. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  100. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  101. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_skill_cli.egg-info/requires.txt +0 -0
  102. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/boost_skill_cli.egg-info/top_level.txt +0 -0
  103. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/codecov.yml +0 -0
  104. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/.claude/settings.local.json +0 -0
  105. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/DEBUGGING.md +0 -0
  106. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/adapters.html +0 -0
  107. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/architecture/README.md +0 -0
  108. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/architecture/c4-components-core.md +0 -0
  109. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/architecture/c4-containers.md +0 -0
  110. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/architecture/c4-context.md +0 -0
  111. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/architecture/c4-dynamic-install.md +0 -0
  112. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/distill.gif +0 -0
  113. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/doctor.gif +0 -0
  114. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/explain.gif +0 -0
  115. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/hooks.gif +0 -0
  116. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/install.gif +0 -0
  117. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/pulse.gif +0 -0
  118. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/search.gif +0 -0
  119. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/gifs/tap.gif +0 -0
  120. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/distill.tape +0 -0
  121. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/doctor.tape +0 -0
  122. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/explain.tape +0 -0
  123. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/hooks.tape +0 -0
  124. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/install.tape +0 -0
  125. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/pulse.tape +0 -0
  126. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/search.tape +0 -0
  127. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel/tapes/tap.tape +0 -0
  128. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/carousel.html +0 -0
  129. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/commands.html +0 -0
  130. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/demo.gif +0 -0
  131. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/demo.tape +0 -0
  132. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/design-roadmap.html +0 -0
  133. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/eval.html +0 -0
  134. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/index.html +0 -0
  135. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/mcp-hub.html +0 -0
  136. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/rag-architecture.md +0 -0
  137. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D01.md +0 -0
  138. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D02.md +0 -0
  139. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D03.md +0 -0
  140. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D04.md +0 -0
  141. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D05.md +0 -0
  142. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D06.md +0 -0
  143. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D07.md +0 -0
  144. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D08.md +0 -0
  145. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D09.md +0 -0
  146. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D10.md +0 -0
  147. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D11.md +0 -0
  148. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D12.md +0 -0
  149. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D13.md +0 -0
  150. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D14.md +0 -0
  151. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D15.md +0 -0
  152. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D16.md +0 -0
  153. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D17.md +0 -0
  154. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D18.md +0 -0
  155. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D19.md +0 -0
  156. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D20.md +0 -0
  157. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D21.md +0 -0
  158. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D22.md +0 -0
  159. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D23.md +0 -0
  160. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D24.md +0 -0
  161. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D25.md +0 -0
  162. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/BOOST-D26.md +0 -0
  163. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  164. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  165. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  166. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  167. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  168. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  169. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  170. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  171. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  172. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  173. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  174. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  175. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  176. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  177. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  178. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  179. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  180. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  181. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  182. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  183. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  184. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  185. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/command-carousel-page.md +0 -0
  186. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  187. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  188. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  189. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  190. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  191. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  192. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  193. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  194. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  195. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  196. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  197. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  198. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  199. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  200. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  201. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  202. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  203. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  204. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  205. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  206. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  207. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  208. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  209. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  210. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  211. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  212. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  213. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  214. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/github-community-health-files.md +0 -0
  215. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  216. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  217. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  218. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  219. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  220. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  221. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  222. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  223. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  224. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  225. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  226. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  227. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  228. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  229. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  230. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  231. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  232. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  233. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  234. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  235. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  236. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  237. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  238. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  239. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  240. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  241. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  242. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  243. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  244. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  245. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  246. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  247. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  248. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  249. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  250. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  251. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  252. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  253. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  254. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  255. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  256. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  257. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  258. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  259. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  260. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  261. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  262. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  263. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  264. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  265. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  266. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  267. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  268. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  269. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  270. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  271. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  272. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  273. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  274. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  275. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  276. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  277. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  278. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  279. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  280. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  281. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  282. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  283. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  284. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  285. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  286. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  287. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  288. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  289. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  290. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  291. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  292. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  293. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  294. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  295. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  296. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  297. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  298. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  299. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  300. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  301. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  302. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  303. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  304. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  305. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  306. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  307. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  308. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  309. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  310. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  311. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  312. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  313. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  314. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  315. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  316. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  317. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  318. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  319. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  320. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  321. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  322. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  323. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  324. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  325. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  326. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  327. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  328. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  329. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  330. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  331. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  332. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  333. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  334. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  335. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  336. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  337. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  338. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  339. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  340. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  341. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  342. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  343. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  344. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  345. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  346. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/workspace-scope-install.md +0 -0
  347. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  348. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/eslint.config.mjs +0 -0
  349. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/README.md +0 -0
  350. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/__init__.py +0 -0
  351. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/baseline.json +0 -0
  352. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/faithfulness.py +0 -0
  353. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/golden_set.json +0 -0
  354. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/make_corpus.py +0 -0
  355. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/make_golden.py +0 -0
  356. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/metrics.py +0 -0
  357. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/evals/run_evals.py +0 -0
  358. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/examples/README.md +0 -0
  359. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/examples/adapt-demo.sh +0 -0
  360. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/examples/boost-run-prototype.sh +0 -0
  361. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/index.html +0 -0
  362. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/noxfile.py +0 -0
  363. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/pyproject.toml +0 -0
  364. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/coverage-tools.in +0 -0
  365. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/coverage-tools.txt +0 -0
  366. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/lint-tools.in +0 -0
  367. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/lint-tools.txt +0 -0
  368. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/mutation-tools.in +0 -0
  369. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/mutation-tools.txt +0 -0
  370. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/platform-pins.lock +0 -0
  371. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/release-tools.in +0 -0
  372. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/release-tools.txt +0 -0
  373. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/test-tools.in +0 -0
  374. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/requirements/test-tools.txt +0 -0
  375. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/a11y_check.py +0 -0
  376. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/bench_cli.sh +0 -0
  377. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/build_command_reference.py +0 -0
  378. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/build_registries.py +0 -0
  379. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/build_roadmap.py +0 -0
  380. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/check_anchors.py +0 -0
  381. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/check_licenses.py +0 -0
  382. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/check_required_checks.py +0 -0
  383. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/ensure_eval_corpus.sh +0 -0
  384. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/eval_explain.py +0 -0
  385. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/eval_gate.py +0 -0
  386. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/eval_recommend.py +0 -0
  387. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/eval_retrieval.py +0 -0
  388. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/eval_stats_summary.py +0 -0
  389. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/import_budget.py +0 -0
  390. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/lock_toolchain.py +0 -0
  391. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/mutation_gate.py +0 -0
  392. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/mutation_shards.py +0 -0
  393. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/mutation_weights.json +0 -0
  394. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/perf_gate.py +0 -0
  395. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/post_deploy_smoke.py +0 -0
  396. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/release_guard.py +0 -0
  397. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/scripts/release_preflight.py +0 -0
  398. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/setup.cfg +0 -0
  399. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/sonar-project.properties +0 -0
  400. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/style/README.md +0 -0
  401. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/style/boost.css +0 -0
  402. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/style/boost.js +0 -0
  403. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/style/demo.html +0 -0
  404. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/adapt.feature +0 -0
  405. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/browse.feature +0 -0
  406. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/count.feature +0 -0
  407. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/discover.feature +0 -0
  408. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/doctor.feature +0 -0
  409. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/environment.py +0 -0
  410. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/explain.feature +0 -0
  411. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/index.feature +0 -0
  412. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/install.feature +0 -0
  413. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/list.feature +0 -0
  414. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/mcp.feature +0 -0
  415. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/search.feature +0 -0
  416. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/steps/cli_steps.py +0 -0
  417. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/steps/discovery_steps.py +0 -0
  418. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/steps/mcp_steps.py +0 -0
  419. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/bdd/features/steps/quality_steps.py +0 -0
  420. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/conftest.py +0 -0
  421. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/eval/baseline.json +0 -0
  422. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/eval/explain.jsonl +0 -0
  423. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/eval/golden.jsonl +0 -0
  424. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/eval/recommend.jsonl +0 -0
  425. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/eval/taps.txt +0 -0
  426. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_capabilities_policy.py +0 -0
  427. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_adapt.py +0 -0
  428. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_bmad.py +0 -0
  429. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_configuration.py +0 -0
  430. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_discovery.py +0 -0
  431. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_hooks.py +0 -0
  432. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_info.py +0 -0
  433. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_intelligence.py +0 -0
  434. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_pkg.py +0 -0
  435. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_quality.py +0 -0
  436. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_taps.py +0 -0
  437. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_cli_team.py +0 -0
  438. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_everyday_loop.py +0 -0
  439. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_integrity_enforce.py +0 -0
  440. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_property_parsers.py +0 -0
  441. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_run.py +0 -0
  442. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_tap_signing.py +0 -0
  443. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/functional/test_workspace_scope.py +0 -0
  444. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/README.md +0 -0
  445. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  446. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  447. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  448. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  449. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  450. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  451. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  452. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  453. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  454. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  455. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  456. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  457. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  458. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  459. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  460. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  461. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  462. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  463. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  464. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  465. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/fuzz_frontmatter.py +0 -0
  466. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/fuzz/fuzz_registry.py +0 -0
  467. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/make_fixture.py +0 -0
  468. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/perf/test_benchmarks.py +0 -0
  469. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/smoke.sh +0 -0
  470. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_a11y_check.py +0 -0
  471. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_adapters.py +0 -0
  472. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_adapters_multi.py +0 -0
  473. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_adapters_runner.py +0 -0
  474. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_agents.py +0 -0
  475. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_ai.py +0 -0
  476. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_capabilities.py +0 -0
  477. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_catalog.py +0 -0
  478. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_check_anchors.py +0 -0
  479. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_check_licenses.py +0 -0
  480. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_claude_settings.py +0 -0
  481. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_cliparse.py +0 -0
  482. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_codeql_analysis_key.py +0 -0
  483. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_command_reference_fresh.py +0 -0
  484. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_community_health_files.py +0 -0
  485. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_config.py +0 -0
  486. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_dense.py +0 -0
  487. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_dense_fallback.py +0 -0
  488. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_dense_status.py +0 -0
  489. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_dependabot_config.py +0 -0
  490. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_docs_pages_linked.py +0 -0
  491. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_docsite_chrome.py +0 -0
  492. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_ed25519.py +0 -0
  493. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_embed.py +0 -0
  494. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_embed_local.py +0 -0
  495. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_errors_and_cli_table.py +0 -0
  496. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_eval_faithfulness.py +0 -0
  497. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_eval_gate.py +0 -0
  498. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_eval_metrics.py +0 -0
  499. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_eval_stats_summary.py +0 -0
  500. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_faithfulness.py +0 -0
  501. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_frontmatter.py +0 -0
  502. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_fuzz_targets.py +0 -0
  503. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_gitleaks_config.py +0 -0
  504. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_gitutil.py +0 -0
  505. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_imperative.py +0 -0
  506. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_import_budget.py +0 -0
  507. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_injectscan.py +0 -0
  508. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_installscan.py +0 -0
  509. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_integrity.py +0 -0
  510. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_journal.py +0 -0
  511. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_localembed.py +0 -0
  512. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_lockfile.py +0 -0
  513. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_logs.py +0 -0
  514. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_marketing_counts.py +0 -0
  515. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mcp.py +0 -0
  516. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mcp_install_scan.py +0 -0
  517. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mcpdecl.py +0 -0
  518. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mcphost.py +0 -0
  519. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_minisign.py +0 -0
  520. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mutation_hardening.py +0 -0
  521. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mutation_shards.py +0 -0
  522. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mutation_subfile_shards.py +0 -0
  523. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_mutmut_source_paths.py +0 -0
  524. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_nethttp.py +0 -0
  525. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_output.py +0 -0
  526. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_paths.py +0 -0
  527. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_perf_gate.py +0 -0
  528. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_pkg_confusions.py +0 -0
  529. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_pkg_injection.py +0 -0
  530. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_pkg_secrets.py +0 -0
  531. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_platform_pins.py +0 -0
  532. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_policy.py +0 -0
  533. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_post_deploy_smoke.py +0 -0
  534. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_project_mcp_sidecar.py +0 -0
  535. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_projectlock.py +0 -0
  536. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_provenance.py +0 -0
  537. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_rag.py +0 -0
  538. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_registries_fresh.py +0 -0
  539. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_registry.py +0 -0
  540. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_registry_categories.py +0 -0
  541. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_release_guard.py +0 -0
  542. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_release_preflight.py +0 -0
  543. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_required_checks.py +0 -0
  544. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_resolve.py +0 -0
  545. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_roadmap_fresh.py +0 -0
  546. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_rules.py +0 -0
  547. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_scopes.py +0 -0
  548. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_secretscan.py +0 -0
  549. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_selfupdate.py +0 -0
  550. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_serve.py +0 -0
  551. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_spin.py +0 -0
  552. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_stackprobe.py +0 -0
  553. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_staleness.py +0 -0
  554. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_store.py +0 -0
  555. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_token_parity.py +0 -0
  556. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_toolchain_lock.py +0 -0
  557. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_trustaudit.py +0 -0
  558. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_typosquat.py +0 -0
  559. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_updatediff.py +0 -0
  560. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_util.py +0 -0
  561. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_version.py +0 -0
  562. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_workflow_concurrency.py +0 -0
  563. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_workflow_timeouts.py +0 -0
  564. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/unit/test_workflows.py +0 -0
  565. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/visual/a11y_check.mjs +0 -0
  566. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/visual/console_check.mjs +0 -0
  567. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/visual/package-lock.json +0 -0
  568. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/tests/visual/package.json +0 -0
  569. {boost_skill_cli-1.0.311 → boost_skill_cli-1.0.313}/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.311
3
+ Version: 1.0.313
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.311'
22
- __version_tuple__ = version_tuple = (1, 0, 311)
21
+ __version__ = version = '1.0.313'
22
+ __version_tuple__ = version_tuple = (1, 0, 313)
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.311
3
+ Version: 1.0.313
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -54,3 +54,10 @@ cancel each other, which is where demo's <code>cancelled</code> runs come from.
54
54
  Worth reconciling while here: the tree disagrees with itself on the history.
55
55
  <code>demo-gif-workflow-has-never-succeeded</code> says "3 runs, 3 failures", while
56
56
  <code>demo.yml</code> and <code>ci-failure-issue.yml</code> both say six of six.
57
+ <b>It is not only the demo any more.</b> [[scheduled-toolchain-lock-regeneration]] needs the same
58
+ permission: since <code>#349</code> switched off Dependabot's version updates for the pinned
59
+ toolchain, the replacement is a scheduled job that regenerates the lock and proposes it &mdash; and
60
+ that job cannot open a pull request either. So this toggle now gates two items rather than one, and
61
+ the second is a supply-chain freshness gap rather than a docs asset. That does not make the
62
+ decision automatic, but it does change what is on each side of it.
63
+
@@ -155,3 +155,42 @@ The static approach still wins on cost and would win outright if the quality gap
155
155
  which is exactly what the eval should decide. Its own card is right that neither should ship a
156
156
  retrieval <i>claim</i> before that eval exists.
157
157
 
158
+ <b>Step 6, run against those four constraints &mdash; and it does not say what this card assumed.</b>
159
+ Corpus rebuilt from <code>tests/eval/taps.txt</code> (6 taps, 743 entries, 3740 passages embedded
160
+ locally), k=10, 91 golden queries. Each engine measured <em>alone</em>, no fusion:
161
+ <code>catalog.search</code> hit@1 0.714, recall 0.918, MRR 0.783; <b>BM25 full-content hit@1
162
+ 0.780</b>, recall 1.000, MRR 0.860; <b>dense (local bge-small) hit@1 0.780</b>, recall 0.956, MRR
163
+ 0.853.
164
+
165
+ Leading with <code>hit@1</code> as instructed: <b>71 queries each &mdash; an exact tie.</b> Recall
166
+ differs by 4 queries (91 against 87) and MRR by 0.6, both under the ~6-query floor this card sets
167
+ for <em>p</em>&lt;0.05 at this <em>n</em>. So the honest reading is <b>no significant difference
168
+ between BM25 and local dense on the golden set</b> &mdash; not a win for either. An earlier draft of
169
+ this note claimed BM25 won; that was the recall number leading, which is exactly the error the four
170
+ constraints above were written to prevent.
171
+
172
+ <b>The more useful result is that the golden set cannot grade this feature at all.</b> It scores
173
+ real catalog items <em>by name</em>, which is BM25's strength by construction &mdash;
174
+ <code>CLAUDE.md</code> already records that BM25 recall over this corpus is 1.000. It contains none
175
+ of the human-phrased queries the keyless work exists for, and on those the two engines separate
176
+ sharply: <code>"my app is slow"</code> returns <code>phoenix-docker-setup</code>,
177
+ <code>guidelines</code>, <code>solidjs---error-boundaries</code> from BM25 against
178
+ <code>analyse-problem</code>, <b><code>performance-optimization</code></b>,
179
+ <code>fastapi-best-practices</code> from dense; <code>"I need to make my website accessible"</code>
180
+ returns <code>do-and-judge</code>, <code>write-concisely</code>, <code>do-in-steps</code> against
181
+ <b><code>accessibility-guidelines</code></b> first. That is a demonstration, not a measurement
182
+ &mdash; there is no scored query set of that shape yet, which is the point.
183
+
184
+ Three consequences. <b>Step 6's first deliverable is a query set, not a number</b>: golden queries
185
+ in the human-phrased style, or the eval keeps answering a question nobody asked. <b>Step 4 (RRF)
186
+ gains support</b> &mdash; a tie on keyword queries plus a qualitative dense win on human ones is the
187
+ "two engines fail in opposite directions" case, and fusing is the response to it. And <b>the current
188
+ preference order deserves a look</b>: <code>rag.retrieve_any</code> takes dense whenever it is ready
189
+ and non-empty, so shipping step 1 without step 4 silently moved keyword queries onto the engine that
190
+ is, at best, tied for them.
191
+
192
+ <b>Method note.</b> The first indexing pass reported 3 taps failed to embed (2716 of 3740 passages).
193
+ A rerun stored all 3740, and two 30-batch replays never reproduced a failure, so it was transient
194
+ resource pressure rather than a defect &mdash; the retry path (no commit recorded for a failed tap)
195
+ did its job. The figures above come from a complete index.
196
+
@@ -43,3 +43,31 @@ exists at all is that a bare <code>--upgrade</code> buries one package in unrela
43
43
  <code>lock_toolchain.py --audit</code> and <code>requirements/platform-pins.lock</code> already fail
44
44
  closed on a lost marker-gated pin, so a regeneration job that got it wrong would be caught the same
45
45
  way a Dependabot PR now is.
46
+
47
+ <b>Blocked on a repository setting, and it is the same one that blocks
48
+ [[demo-cannot-open-its-own-pr]].</b> The obvious shape for this &mdash; a scheduled job that runs
49
+ <code>lock_toolchain.py --upgrade</code> and opens a pull request &mdash; cannot work here.
50
+ Actions&nbsp;&rarr;&nbsp;General&nbsp;&rarr;&nbsp;Workflow permissions&nbsp;&rarr;&nbsp;"Allow
51
+ GitHub Actions to create and approve pull requests" is off; the API reports
52
+ <code>can_approve_pull_request_reviews: false</code>, and <code>demo.yml</code> already fails on
53
+ every push to <code>main</code> with <code>GitHub Actions is not permitted to create or approve
54
+ pull requests</code>. Declaring <code>pull-requests: write</code> does not help, as that card
55
+ established at length. Building this the obvious way would produce a second workflow that is
56
+ correct in the file and inert in reality.
57
+
58
+ So the two items are coupled: flipping that one toggle unblocks both, which is worth knowing when
59
+ weighing it &mdash; the decision is no longer about a demo GIF alone. That card is right that it is
60
+ a real decision, since the toggle grants <em>every</em> workflow the ability to open pull requests.
61
+
62
+ <b>Two designs that respect the constraint</b>, if the toggle stays off. Actions can still
63
+ <em>push a branch</em>, so the job can regenerate the lock, commit to
64
+ <code>chore/toolchain-lock-YYYY-MM-DD</code> and stop &mdash; leaving a one-click "Compare &amp;
65
+ pull request", with the expensive part (resolving five groups universally with <code>uv</code>)
66
+ already done. Or it can open an <em>issue</em> containing the diff, which
67
+ <code>issues: write</code> does permit. The branch is better: it carries the actual bytes rather
68
+ than a description of them, and <code>lock_toolchain.py --audit</code> then runs against it as a
69
+ normal PR gate once a human opens it.
70
+
71
+ Either way the freshness gap this item exists to close narrows from "nobody is watching" to "a
72
+ human clicks a button", which is the honest available improvement while the setting stands.
73
+
@@ -741,7 +741,46 @@ toward 50k items &mdash; an argument for re-measuring at scale before believing
741
741
 
742
742
  The static approach still wins on cost and would win outright if the quality gap is small &mdash;
743
743
  which is exactly what the eval should decide. Its own card is right that neither should ship a
744
- retrieval <i>claim</i> before that eval exists.</p>
744
+ retrieval <i>claim</i> before that eval exists.
745
+
746
+ <b>Step 6, run against those four constraints &mdash; and it does not say what this card assumed.</b>
747
+ Corpus rebuilt from <code>tests/eval/taps.txt</code> (6 taps, 743 entries, 3740 passages embedded
748
+ locally), k=10, 91 golden queries. Each engine measured <em>alone</em>, no fusion:
749
+ <code>catalog.search</code> hit@1 0.714, recall 0.918, MRR 0.783; <b>BM25 full-content hit@1
750
+ 0.780</b>, recall 1.000, MRR 0.860; <b>dense (local bge-small) hit@1 0.780</b>, recall 0.956, MRR
751
+ 0.853.
752
+
753
+ Leading with <code>hit@1</code> as instructed: <b>71 queries each &mdash; an exact tie.</b> Recall
754
+ differs by 4 queries (91 against 87) and MRR by 0.6, both under the ~6-query floor this card sets
755
+ for <em>p</em>&lt;0.05 at this <em>n</em>. So the honest reading is <b>no significant difference
756
+ between BM25 and local dense on the golden set</b> &mdash; not a win for either. An earlier draft of
757
+ this note claimed BM25 won; that was the recall number leading, which is exactly the error the four
758
+ constraints above were written to prevent.
759
+
760
+ <b>The more useful result is that the golden set cannot grade this feature at all.</b> It scores
761
+ real catalog items <em>by name</em>, which is BM25's strength by construction &mdash;
762
+ <code>CLAUDE.md</code> already records that BM25 recall over this corpus is 1.000. It contains none
763
+ of the human-phrased queries the keyless work exists for, and on those the two engines separate
764
+ sharply: <code>"my app is slow"</code> returns <code>phoenix-docker-setup</code>,
765
+ <code>guidelines</code>, <code>solidjs---error-boundaries</code> from BM25 against
766
+ <code>analyse-problem</code>, <b><code>performance-optimization</code></b>,
767
+ <code>fastapi-best-practices</code> from dense; <code>"I need to make my website accessible"</code>
768
+ returns <code>do-and-judge</code>, <code>write-concisely</code>, <code>do-in-steps</code> against
769
+ <b><code>accessibility-guidelines</code></b> first. That is a demonstration, not a measurement
770
+ &mdash; there is no scored query set of that shape yet, which is the point.
771
+
772
+ Three consequences. <b>Step 6's first deliverable is a query set, not a number</b>: golden queries
773
+ in the human-phrased style, or the eval keeps answering a question nobody asked. <b>Step 4 (RRF)
774
+ gains support</b> &mdash; a tie on keyword queries plus a qualitative dense win on human ones is the
775
+ "two engines fail in opposite directions" case, and fusing is the response to it. And <b>the current
776
+ preference order deserves a look</b>: <code>rag.retrieve_any</code> takes dense whenever it is ready
777
+ and non-empty, so shipping step 1 without step 4 silently moved keyword queries onto the engine that
778
+ is, at best, tied for them.
779
+
780
+ <b>Method note.</b> The first indexing pass reported 3 taps failed to embed (2716 of 3740 passages).
781
+ A rerun stored all 3740, and two 30-batch replays never reproduced a failure, so it was transient
782
+ resource pressure rather than a defect &mdash; the retry path (no commit recorded for a failed tap)
783
+ did its job. The figures above come from a complete index.</p>
745
784
  <div class="meta">
746
785
  <span class="m">Complexity <b>L</b></span>
747
786
  <span class="m hi">Impact <b>High</b></span>
@@ -1502,7 +1541,34 @@ exists at all is that a bare <code>--upgrade</code> buries one package in unrela
1502
1541
  <code>check_required_checks.py</code> enforces. <b>Fourth</b>, nothing needs to guard the output:
1503
1542
  <code>lock_toolchain.py --audit</code> and <code>requirements/platform-pins.lock</code> already fail
1504
1543
  closed on a lost marker-gated pin, so a regeneration job that got it wrong would be caught the same
1505
- way a Dependabot PR now is.</p>
1544
+ way a Dependabot PR now is.
1545
+
1546
+ <b>Blocked on a repository setting, and it is the same one that blocks
1547
+ [[demo-cannot-open-its-own-pr]].</b> The obvious shape for this &mdash; a scheduled job that runs
1548
+ <code>lock_toolchain.py --upgrade</code> and opens a pull request &mdash; cannot work here.
1549
+ Actions&nbsp;&rarr;&nbsp;General&nbsp;&rarr;&nbsp;Workflow permissions&nbsp;&rarr;&nbsp;"Allow
1550
+ GitHub Actions to create and approve pull requests" is off; the API reports
1551
+ <code>can_approve_pull_request_reviews: false</code>, and <code>demo.yml</code> already fails on
1552
+ every push to <code>main</code> with <code>GitHub Actions is not permitted to create or approve
1553
+ pull requests</code>. Declaring <code>pull-requests: write</code> does not help, as that card
1554
+ established at length. Building this the obvious way would produce a second workflow that is
1555
+ correct in the file and inert in reality.
1556
+
1557
+ So the two items are coupled: flipping that one toggle unblocks both, which is worth knowing when
1558
+ weighing it &mdash; the decision is no longer about a demo GIF alone. That card is right that it is
1559
+ a real decision, since the toggle grants <em>every</em> workflow the ability to open pull requests.
1560
+
1561
+ <b>Two designs that respect the constraint</b>, if the toggle stays off. Actions can still
1562
+ <em>push a branch</em>, so the job can regenerate the lock, commit to
1563
+ <code>chore/toolchain-lock-YYYY-MM-DD</code> and stop &mdash; leaving a one-click "Compare &amp;
1564
+ pull request", with the expensive part (resolving five groups universally with <code>uv</code>)
1565
+ already done. Or it can open an <em>issue</em> containing the diff, which
1566
+ <code>issues: write</code> does permit. The branch is better: it carries the actual bytes rather
1567
+ than a description of them, and <code>lock_toolchain.py --audit</code> then runs against it as a
1568
+ normal PR gate once a human opens it.
1569
+
1570
+ Either way the freshness gap this item exists to close narrows from "nobody is watching" to "a
1571
+ human clicks a button", which is the honest available improvement while the setting stands.</p>
1506
1572
  <div class="meta">
1507
1573
  <span class="m">Complexity <b>M</b></span>
1508
1574
  <span class="m">Impact <b>Med</b></span>
@@ -3044,7 +3110,13 @@ cancel each other, which is where demo's <code>cancelled</code> runs come from.
3044
3110
 
3045
3111
  Worth reconciling while here: the tree disagrees with itself on the history.
3046
3112
  <code>demo-gif-workflow-has-never-succeeded</code> says "3 runs, 3 failures", while
3047
- <code>demo.yml</code> and <code>ci-failure-issue.yml</code> both say six of six.</p>
3113
+ <code>demo.yml</code> and <code>ci-failure-issue.yml</code> both say six of six.
3114
+ <b>It is not only the demo any more.</b> [[scheduled-toolchain-lock-regeneration]] needs the same
3115
+ permission: since <code>#349</code> switched off Dependabot's version updates for the pinned
3116
+ toolchain, the replacement is a scheduled job that regenerates the lock and proposes it &mdash; and
3117
+ that job cannot open a pull request either. So this toggle now gates two items rather than one, and
3118
+ the second is a supply-chain freshness gap rather than a docs asset. That does not make the
3119
+ decision automatic, but it does change what is on each side of it.</p>
3048
3120
  <div class="meta">
3049
3121
  <span class="m">Complexity <b>S</b></span>
3050
3122
  <span class="m">Impact <b>Med</b></span>