boost-skill-cli 1.0.345__tar.gz → 1.0.347__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 (594) hide show
  1. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
  5. boost_skill_cli-1.0.347/docs/demo.gif +0 -0
  6. boost_skill_cli-1.0.347/docs/roadmap/items/completions-complete-only-command-names.md +64 -0
  7. boost_skill_cli-1.0.347/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +105 -0
  8. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap.html +511 -193
  9. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/build_roadmap.py +32 -1
  10. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_roadmap_fresh.py +56 -0
  11. boost_skill_cli-1.0.345/docs/demo.gif +0 -0
  12. boost_skill_cli-1.0.345/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -49
  13. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.gitattributes +0 -0
  14. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.gitignore +0 -0
  15. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.gitleaks.toml +0 -0
  16. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.htmlvalidate.json +0 -0
  17. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.lighthouserc.json +0 -0
  18. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.lycheeignore +0 -0
  19. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.markdownlint-cli2.jsonc +0 -0
  20. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.pre-commit-config.yaml +0 -0
  21. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.stylelintrc.json +0 -0
  22. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.vale/styles/boost/Terminology.yml +0 -0
  23. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  24. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/.vale.ini +0 -0
  25. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/CLAUDE.md +0 -0
  26. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/CODE_OF_CONDUCT.md +0 -0
  27. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/CONTRIBUTING.md +0 -0
  28. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/LICENSE +0 -0
  29. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/MANIFEST.in +0 -0
  30. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/Makefile +0 -0
  31. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/README.md +0 -0
  32. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/SECURITY.md +0 -0
  33. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost +0 -0
  34. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/__init__.py +0 -0
  35. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/__main__.py +0 -0
  36. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/cli.py +0 -0
  37. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/cliparse.py +0 -0
  38. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/__init__.py +0 -0
  39. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/_common.py +0 -0
  40. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/bmad.py +0 -0
  41. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/configuration.py +0 -0
  42. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/discovery.py +0 -0
  43. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/hooks.py +0 -0
  44. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/info.py +0 -0
  45. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/intelligence.py +0 -0
  46. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/pkg.py +0 -0
  47. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/quality.py +0 -0
  48. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/run.py +0 -0
  49. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/safety.py +0 -0
  50. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/taps.py +0 -0
  51. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/commands/team.py +0 -0
  52. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/__init__.py +0 -0
  53. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/adapters.py +0 -0
  54. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/agents.py +0 -0
  55. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/ai.py +0 -0
  56. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/capabilities.py +0 -0
  57. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/catalog.py +0 -0
  58. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/chat.py +0 -0
  59. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/claude_settings.py +0 -0
  60. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/config.py +0 -0
  61. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/dense.py +0 -0
  62. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/ed25519.py +0 -0
  63. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/embed.py +0 -0
  64. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/faithfulness.py +0 -0
  65. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/frontmatter.py +0 -0
  66. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/gitutil.py +0 -0
  67. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/imperative.py +0 -0
  68. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/injectscan.py +0 -0
  69. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/installscan.py +0 -0
  70. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/integrity.py +0 -0
  71. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/journal.py +0 -0
  72. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/localembed.py +0 -0
  73. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/lockfile.py +0 -0
  74. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/logs.py +0 -0
  75. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/mcp.py +0 -0
  76. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/mcpdecl.py +0 -0
  77. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/mcphost.py +0 -0
  78. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/minisign.py +0 -0
  79. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/nethttp.py +0 -0
  80. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/output.py +0 -0
  81. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/paths.py +0 -0
  82. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/policy.py +0 -0
  83. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/projectlock.py +0 -0
  84. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/provenance.py +0 -0
  85. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/rag.py +0 -0
  86. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/registry.py +0 -0
  87. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/resolve.py +0 -0
  88. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/rules.py +0 -0
  89. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/scopes.py +0 -0
  90. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/secretscan.py +0 -0
  91. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/selfupdate.py +0 -0
  92. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/serve.py +0 -0
  93. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/stackprobe.py +0 -0
  94. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/staleness.py +0 -0
  95. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/store.py +0 -0
  96. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/trustaudit.py +0 -0
  97. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/typosquat.py +0 -0
  98. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/updatediff.py +0 -0
  99. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/util.py +0 -0
  100. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/core/workflows.py +0 -0
  101. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/data/registries.json +0 -0
  102. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/errors.py +0 -0
  103. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_cli/spin.py +0 -0
  104. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  105. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  106. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_skill_cli.egg-info/requires.txt +0 -0
  107. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/boost_skill_cli.egg-info/top_level.txt +0 -0
  108. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/codecov.yml +0 -0
  109. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/.claude/settings.local.json +0 -0
  110. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/DEBUGGING.md +0 -0
  111. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/adapters.html +0 -0
  112. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/architecture/README.md +0 -0
  113. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/architecture/c4-components-core.md +0 -0
  114. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/architecture/c4-containers.md +0 -0
  115. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/architecture/c4-context.md +0 -0
  116. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/architecture/c4-dynamic-install.md +0 -0
  117. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/distill.gif +0 -0
  118. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/doctor.gif +0 -0
  119. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/explain.gif +0 -0
  120. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/hooks.gif +0 -0
  121. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/install.gif +0 -0
  122. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/pulse.gif +0 -0
  123. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/search.gif +0 -0
  124. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/gifs/tap.gif +0 -0
  125. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/distill.tape +0 -0
  126. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/doctor.tape +0 -0
  127. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/explain.tape +0 -0
  128. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/hooks.tape +0 -0
  129. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/install.tape +0 -0
  130. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/pulse.tape +0 -0
  131. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/search.tape +0 -0
  132. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel/tapes/tap.tape +0 -0
  133. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/carousel.html +0 -0
  134. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/chat.html +0 -0
  135. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/commands.html +0 -0
  136. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/demo-index.json +0 -0
  137. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/demo.html +0 -0
  138. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/demo.tape +0 -0
  139. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/design-roadmap.html +0 -0
  140. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/eval.html +0 -0
  141. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/index.html +0 -0
  142. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/mcp-hub.html +0 -0
  143. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/rag-architecture.md +0 -0
  144. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D01.md +0 -0
  145. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D02.md +0 -0
  146. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D03.md +0 -0
  147. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D04.md +0 -0
  148. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D05.md +0 -0
  149. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D06.md +0 -0
  150. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D07.md +0 -0
  151. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D08.md +0 -0
  152. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D09.md +0 -0
  153. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D10.md +0 -0
  154. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D11.md +0 -0
  155. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D12.md +0 -0
  156. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D13.md +0 -0
  157. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D14.md +0 -0
  158. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D15.md +0 -0
  159. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D16.md +0 -0
  160. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D17.md +0 -0
  161. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D18.md +0 -0
  162. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D19.md +0 -0
  163. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D20.md +0 -0
  164. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D21.md +0 -0
  165. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D22.md +0 -0
  166. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D23.md +0 -0
  167. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D24.md +0 -0
  168. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D25.md +0 -0
  169. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/BOOST-D26.md +0 -0
  170. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  171. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  172. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  173. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  174. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  175. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  176. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  177. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  178. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  179. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  180. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  181. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  182. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  183. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  184. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  185. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  186. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  187. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  188. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  189. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  190. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  191. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  192. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  193. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  194. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/command-carousel-page.md +0 -0
  195. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  196. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  197. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  198. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  199. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  200. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  201. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  202. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  203. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  204. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  205. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  206. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  207. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  208. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  209. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  210. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  211. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  212. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  213. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  214. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  215. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  216. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  217. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  218. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  219. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  220. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  221. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  222. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  223. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  224. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/github-community-health-files.md +0 -0
  225. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  226. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  227. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  228. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  229. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  230. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  231. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  232. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  233. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  234. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  235. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  236. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  237. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  238. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  239. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  240. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  241. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  242. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  243. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  244. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  245. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  246. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  247. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  248. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  249. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  250. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  251. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  252. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  253. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  254. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  255. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  256. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  257. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  258. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  259. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  260. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  261. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  262. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  263. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  264. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  265. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  266. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  267. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  268. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  269. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  270. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  271. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  272. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  273. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  274. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  275. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  276. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  277. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  278. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  279. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  280. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  281. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  282. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  283. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  284. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  285. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  286. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  287. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  288. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  289. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  290. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  291. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  292. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  293. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  294. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  295. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  296. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  297. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  298. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  299. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  300. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  301. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  302. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  303. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  304. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  305. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  306. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  307. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  308. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  309. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  310. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  311. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  312. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  313. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  314. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  315. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  316. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  317. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  318. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  319. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  320. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  321. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  322. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  323. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  324. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  325. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  326. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  327. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  328. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  329. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  330. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  331. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  332. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  333. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  334. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  335. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  336. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  337. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  338. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  339. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  340. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  341. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  342. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  343. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  344. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  345. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  346. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  347. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  348. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  349. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  350. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  351. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  352. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  353. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  354. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  355. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  356. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  357. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  358. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  359. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  360. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/workspace-scope-install.md +0 -0
  361. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  362. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/eslint.config.mjs +0 -0
  363. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/README.md +0 -0
  364. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/__init__.py +0 -0
  365. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/baseline.json +0 -0
  366. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/faithfulness.py +0 -0
  367. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/golden_set.json +0 -0
  368. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/make_corpus.py +0 -0
  369. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/make_golden.py +0 -0
  370. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/metrics.py +0 -0
  371. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/evals/run_evals.py +0 -0
  372. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/examples/README.md +0 -0
  373. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/examples/adapt-demo.sh +0 -0
  374. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/examples/boost-run-prototype.sh +0 -0
  375. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/index.html +0 -0
  376. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/noxfile.py +0 -0
  377. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/pyproject.toml +0 -0
  378. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/coverage-tools.in +0 -0
  379. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/coverage-tools.txt +0 -0
  380. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/lint-tools.in +0 -0
  381. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/lint-tools.txt +0 -0
  382. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/mutation-tools.in +0 -0
  383. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/mutation-tools.txt +0 -0
  384. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/platform-pins.lock +0 -0
  385. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/release-tools.in +0 -0
  386. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/release-tools.txt +0 -0
  387. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/test-tools.in +0 -0
  388. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/requirements/test-tools.txt +0 -0
  389. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/a11y_check.py +0 -0
  390. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/bench_cli.sh +0 -0
  391. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/build_command_reference.py +0 -0
  392. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/build_demo_index.py +0 -0
  393. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/build_registries.py +0 -0
  394. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/check_anchors.py +0 -0
  395. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/check_licenses.py +0 -0
  396. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/check_required_checks.py +0 -0
  397. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/ensure_eval_corpus.sh +0 -0
  398. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/eval_explain.py +0 -0
  399. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/eval_gate.py +0 -0
  400. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/eval_recommend.py +0 -0
  401. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/eval_retrieval.py +0 -0
  402. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/eval_stats_summary.py +0 -0
  403. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/import_budget.py +0 -0
  404. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/lock_toolchain.py +0 -0
  405. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/mutation_gate.py +0 -0
  406. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/mutation_shards.py +0 -0
  407. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/mutation_weights.json +0 -0
  408. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/perf_gate.py +0 -0
  409. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/post_deploy_smoke.py +0 -0
  410. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/release_guard.py +0 -0
  411. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/scripts/release_preflight.py +0 -0
  412. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/setup.cfg +0 -0
  413. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/sonar-project.properties +0 -0
  414. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/style/README.md +0 -0
  415. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/style/boost.css +0 -0
  416. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/style/boost.js +0 -0
  417. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/style/demo.html +0 -0
  418. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/adapt.feature +0 -0
  419. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/browse.feature +0 -0
  420. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/count.feature +0 -0
  421. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/discover.feature +0 -0
  422. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/doctor.feature +0 -0
  423. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/environment.py +0 -0
  424. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/explain.feature +0 -0
  425. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/index.feature +0 -0
  426. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/install.feature +0 -0
  427. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/list.feature +0 -0
  428. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/mcp.feature +0 -0
  429. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/search.feature +0 -0
  430. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/steps/cli_steps.py +0 -0
  431. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/steps/discovery_steps.py +0 -0
  432. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/steps/mcp_steps.py +0 -0
  433. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/bdd/features/steps/quality_steps.py +0 -0
  434. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/conftest.py +0 -0
  435. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/eval/baseline.json +0 -0
  436. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/eval/explain.jsonl +0 -0
  437. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/eval/golden-natural.jsonl +0 -0
  438. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/eval/golden.jsonl +0 -0
  439. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/eval/recommend.jsonl +0 -0
  440. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/eval/taps.txt +0 -0
  441. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_capabilities_policy.py +0 -0
  442. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_adapt.py +0 -0
  443. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_bmad.py +0 -0
  444. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_chat.py +0 -0
  445. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_configuration.py +0 -0
  446. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_discovery.py +0 -0
  447. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_hooks.py +0 -0
  448. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_info.py +0 -0
  449. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_intelligence.py +0 -0
  450. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_pkg.py +0 -0
  451. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_quality.py +0 -0
  452. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_taps.py +0 -0
  453. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_cli_team.py +0 -0
  454. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_everyday_loop.py +0 -0
  455. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_integrity_enforce.py +0 -0
  456. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_property_parsers.py +0 -0
  457. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_run.py +0 -0
  458. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_tap_signing.py +0 -0
  459. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/functional/test_workspace_scope.py +0 -0
  460. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/README.md +0 -0
  461. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  462. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  463. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  464. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  465. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  466. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  467. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  468. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  469. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  470. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  471. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  472. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  473. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  474. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  475. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  476. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  477. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  478. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  479. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  480. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  481. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/fuzz_frontmatter.py +0 -0
  482. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/fuzz/fuzz_registry.py +0 -0
  483. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/make_fixture.py +0 -0
  484. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/perf/test_benchmarks.py +0 -0
  485. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/smoke.sh +0 -0
  486. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_a11y_check.py +0 -0
  487. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_adapters.py +0 -0
  488. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_adapters_multi.py +0 -0
  489. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_adapters_runner.py +0 -0
  490. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_agents.py +0 -0
  491. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_ai.py +0 -0
  492. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_capabilities.py +0 -0
  493. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_catalog.py +0 -0
  494. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_chat.py +0 -0
  495. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_check_anchors.py +0 -0
  496. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_check_licenses.py +0 -0
  497. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_claude_settings.py +0 -0
  498. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_cliparse.py +0 -0
  499. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_codeql_analysis_key.py +0 -0
  500. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_command_reference_fresh.py +0 -0
  501. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_community_health_files.py +0 -0
  502. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_config.py +0 -0
  503. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_content_dedupe.py +0 -0
  504. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dedup_trust.py +0 -0
  505. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_demo_index.py +0 -0
  506. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dense.py +0 -0
  507. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dense_fallback.py +0 -0
  508. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dense_fix_hint.py +0 -0
  509. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dense_shards.py +0 -0
  510. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dense_status.py +0 -0
  511. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_dependabot_config.py +0 -0
  512. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_docs_pages_linked.py +0 -0
  513. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_docsite_chrome.py +0 -0
  514. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_ed25519.py +0 -0
  515. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_embed.py +0 -0
  516. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_embed_local.py +0 -0
  517. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_entry_key.py +0 -0
  518. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_errors_and_cli_table.py +0 -0
  519. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_eval_baseline.py +0 -0
  520. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_eval_faithfulness.py +0 -0
  521. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_eval_gate.py +0 -0
  522. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_eval_metrics.py +0 -0
  523. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_eval_stats_summary.py +0 -0
  524. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_faithfulness.py +0 -0
  525. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_frontmatter.py +0 -0
  526. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_fuzz_targets.py +0 -0
  527. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_gitleaks_config.py +0 -0
  528. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_gitutil.py +0 -0
  529. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_imperative.py +0 -0
  530. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_import_budget.py +0 -0
  531. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_injectscan.py +0 -0
  532. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_installscan.py +0 -0
  533. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_integrity.py +0 -0
  534. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_journal.py +0 -0
  535. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_localembed.py +0 -0
  536. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_localembed_e2e.py +0 -0
  537. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_lockfile.py +0 -0
  538. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_logs.py +0 -0
  539. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_marketing_counts.py +0 -0
  540. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mcp.py +0 -0
  541. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mcp_install_scan.py +0 -0
  542. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mcpdecl.py +0 -0
  543. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mcphost.py +0 -0
  544. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_minisign.py +0 -0
  545. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mutation_hardening.py +0 -0
  546. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mutation_shards.py +0 -0
  547. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mutation_subfile_shards.py +0 -0
  548. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_mutmut_source_paths.py +0 -0
  549. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_nethttp.py +0 -0
  550. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_output.py +0 -0
  551. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_paths.py +0 -0
  552. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_perf_gate.py +0 -0
  553. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_pkg_confusions.py +0 -0
  554. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_pkg_injection.py +0 -0
  555. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_pkg_secrets.py +0 -0
  556. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_platform_pins.py +0 -0
  557. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_policy.py +0 -0
  558. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_post_deploy_smoke.py +0 -0
  559. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_project_mcp_sidecar.py +0 -0
  560. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_projectlock.py +0 -0
  561. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_provenance.py +0 -0
  562. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_rag.py +0 -0
  563. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_rag_fusion.py +0 -0
  564. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_registries_fresh.py +0 -0
  565. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_registry.py +0 -0
  566. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_registry_categories.py +0 -0
  567. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_release_guard.py +0 -0
  568. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_release_preflight.py +0 -0
  569. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_required_checks.py +0 -0
  570. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_resolve.py +0 -0
  571. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_rules.py +0 -0
  572. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_scopes.py +0 -0
  573. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_secretscan.py +0 -0
  574. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_selfupdate.py +0 -0
  575. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_serve.py +0 -0
  576. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_spin.py +0 -0
  577. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_stackprobe.py +0 -0
  578. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_staleness.py +0 -0
  579. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_store.py +0 -0
  580. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_token_parity.py +0 -0
  581. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_toolchain_lock.py +0 -0
  582. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_trustaudit.py +0 -0
  583. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_typosquat.py +0 -0
  584. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_updatediff.py +0 -0
  585. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_util.py +0 -0
  586. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_version.py +0 -0
  587. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_workflow_concurrency.py +0 -0
  588. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_workflow_timeouts.py +0 -0
  589. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/unit/test_workflows.py +0 -0
  590. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/visual/a11y_check.mjs +0 -0
  591. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/visual/console_check.mjs +0 -0
  592. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/visual/package-lock.json +0 -0
  593. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/tests/visual/package.json +0 -0
  594. {boost_skill_cli-1.0.345 → boost_skill_cli-1.0.347}/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.345
3
+ Version: 1.0.347
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.345'
22
- __version_tuple__ = version_tuple = (1, 0, 345)
21
+ __version__ = version = '1.0.347'
22
+ __version_tuple__ = version_tuple = (1, 0, 347)
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.345
3
+ Version: 1.0.347
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -192,6 +192,7 @@ docs/roadmap/items/code-scanning-rule-can-be-restored.md
192
192
  docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md
193
193
  docs/roadmap/items/command-carousel-page.md
194
194
  docs/roadmap/items/command-reference-docs-site.md
195
+ docs/roadmap/items/completions-complete-only-command-names.md
195
196
  docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md
196
197
  docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md
197
198
  docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md
Binary file
@@ -0,0 +1,64 @@
1
+ ---
2
+ id: completions-complete-only-command-names
3
+ board: code
4
+ section: dx
5
+ status: planned
6
+ category: CLI · DX
7
+ complexity: M
8
+ impact: High
9
+ wow: 4
10
+ note: 79 command names complete; 82 flags and every argument do not
11
+ order: 79
12
+ owner:
13
+ pr:
14
+ title: <code>boost completions</code> completes command names and nothing else
15
+ ---
16
+ <b><code>boost install &lt;TAB&gt;</code> should offer skill names. It does not, and what it offers
17
+ instead is different in each shell.</b> boost is a package manager, so completing an installable
18
+ name is the single highest-value completion it could ship &mdash; and it is the one that is wrong in
19
+ the most confusing way.
20
+
21
+ <b>Measured against the generated scripts</b> (79 commands, <code>docs/commands.html</code> as the
22
+ flag inventory):
23
+
24
+ all three shells complete <b>79 of 79</b> command names and <b>0</b> flags, and for
25
+ <code>boost install &lt;TAB&gt;</code> <code>bash</code> re-offers the 79 command names,
26
+ <code>zsh</code> offers <b>local filenames</b>, and <code>fish</code> offers nothing.
27
+
28
+ <b>The command-name half genuinely works</b> &mdash; all three emit exactly the 79 names in
29
+ <code>cli.COMMANDS</code>, verified equal as a set, and zsh and fish carry the one-line summaries.
30
+ Nothing below is a regression; it is scope that was never built.
31
+
32
+ <b>Each shell fails structurally, not by accident.</b> bash emits
33
+ <code>complete -W "&lt;79 names&gt;" boost</code> with no <code>-F</code> function, and a
34
+ <code>-W</code> wordlist is position-independent by definition &mdash; bash offers the same list at
35
+ argument 1 and argument 5, so after <code>boost install</code> it re-offers command names. zsh
36
+ guards on <code>(( CURRENT == 2 ))</code> and falls through to <code>_files</code>, which is why it
37
+ proposes the contents of your working directory where a skill name belongs &mdash; the most
38
+ misleading of the three, because it looks like a real answer. fish registers every completion under
39
+ <code>__fish_use_subcommand</code>, so it has nothing to say past the first word.
40
+
41
+ <b>The flag surface is entirely absent.</b> <code>docs/commands.html</code> documents <b>82 distinct
42
+ long flags</b>; the completion scripts contain zero. <code>boost search --&lt;TAB&gt;</code>
43
+ completes nothing in all three shells.
44
+
45
+ <b>The tests pass and prove the wrong thing, which is why this survived.</b> Four tests in
46
+ <code>TestCompletions</code> assert the emitted text &mdash; that the wordlist equals
47
+ <code>COMMANDS</code>, that there are 79 zsh entries, that fish emits 79 lines. Every one is about
48
+ what the generator <em>prints</em>; none is about what a shell would <em>propose</em>. A test suite
49
+ can be green and thorough about the wrong layer.
50
+
51
+ <b>Suggested shape: one completer in Python, three thin shims.</b> Add a hidden
52
+ <code>boost __complete &lt;words&gt;</code> that takes the current argv and returns candidates, and
53
+ reduce each shell script to a delegation (<code>-F</code> for bash, <code>_boost</code> calling it
54
+ for zsh, a function for fish). That puts the logic in <code>core/</code> where the mutation gate
55
+ reaches it and where it can be unit-tested in Python, instead of triplicating context rules across
56
+ three shell dialects that cannot share a test. It also lets candidates be <em>dynamic</em>:
57
+ installed skills for <code>uninstall</code>, catalog names for <code>install</code> and
58
+ <code>info</code>, tap names for <code>untap</code>, profiles for <code>profile</code>.
59
+
60
+ <b>Two constraints worth stating before anyone starts.</b> Completion runs on every keystroke-ish
61
+ TAB, so the candidate path must not pay catalog-scan cost &mdash; it needs the cached catalog, and a
62
+ budget (target &lt;100&nbsp;ms) measured rather than assumed. And <code>__complete</code> must never
63
+ fail loudly: a completer that prints a traceback into the user's prompt is worse than one that
64
+ returns nothing, so it should exit 0 with empty output on any error.
@@ -0,0 +1,105 @@
1
+ ---
2
+ id: roadmap-page-weight-grows-without-bound
3
+ board: code
4
+ section: docsite
5
+ status: shipped
6
+ category: Docs · Performance
7
+ complexity: M
8
+ impact: High
9
+ wow: 2
10
+ note: it was never the bytes — 705 ms of styleLayout was, and 55.5% of elements now skip it
11
+ order: 76
12
+ owner:
13
+ pr:
14
+ title: <code>roadmap.html</code> grew 36% in one session and nothing bounds it
15
+ ---
16
+ The generated board is <b>407.6&nbsp;KB, of which 404.7&nbsp;KB is markup</b> — 189
17
+ <code>&lt;article&gt;</code> cards rendered eagerly into one DOM. Measured across this session's
18
+ merges it went <b>301.6&nbsp;KB &rarr; 409.9&nbsp;KB, a 36% rise</b>, monotonically increasing with
19
+ every card documented.
20
+
21
+ <b>The mechanism is that shipped work never stops costing.</b> Sizing the sections: <code>shipped</code>
22
+ 17.6&nbsp;KB / 16 cards, <code>next</code> 1.1&nbsp;KB / 1, <code>planned</code>
23
+ <b>383.0&nbsp;KB / 172</b> — but 164 of those 172 carry a <code>shipped</code> pill. They are finished
24
+ items grouped under their original section, each still rendering its full body, and those bodies grow
25
+ because closing an item well means recording what was measured and what turned out to be wrong. The
26
+ board is now mostly an archive that every visitor downloads in full.
27
+
28
+ <b>This is NOT what failed <code>lighthouse</code> on <code>#386</code>, and that is worth stating
29
+ because the correlation is seductive.</b> <code>#388</code> passed the same gate at
30
+ <b>409.9&nbsp;KB</b> — very slightly <em>larger</em> than <code>#386</code>'s 409.8&nbsp;KB, which
31
+ failed. A bigger page scoring better rules out page weight as that failure's cause; it was runner
32
+ variance, exactly as <code>lighthouse.yml</code>'s own comment predicts ("a single sample dips into
33
+ the 80s under runner load, which the median absorbs"). The performance floor is
34
+ <code>minScore 0.85</code> against a normal score of ~99–100, so there is real headroom today.
35
+
36
+ <b>The case for doing it anyway is the trend, not the current number.</b> At roughly +6&nbsp;KB per
37
+ merged card the page crosses 500&nbsp;KB within a few working sessions, and DOM size is precisely
38
+ what Lighthouse's performance category penalises — so this becomes the cause eventually even though
39
+ it is not the cause now.
40
+
41
+ <b>Likely levers, cheapest first.</b> Collapse shipped card bodies behind
42
+ <code>&lt;details&gt;</code> so the text ships but does not render — that alone addresses the
43
+ 383&nbsp;KB block and keeps every word searchable in the source. Failing that, render shipped items
44
+ as one-line entries linking to their item file, or paginate by section. All three live in
45
+ <code>scripts/build_roadmap.py</code>; none require touching an item file, which matters because the
46
+ item files are the merge-conflict-free part of this design.
47
+
48
+ <b>Do not raise the Lighthouse floor to fix this.</b> The floor is calibrated and honest; a page that
49
+ outgrows it should be made smaller, not re-graded.
50
+
51
+ <b>Update &mdash; the prediction above came true, and the card's own headline claim is now false.</b>
52
+ This card argued page weight &ldquo;is <em>not</em> the cause now&rdquo; of any
53
+ <code>lighthouse</code> failure, and that it would become the cause eventually. Eventually arrived on
54
+ <code>#395</code>: <code>docs/roadmap.html</code> scored <b>0.74, 0.77, 0.81</b> against the
55
+ <code>minScore 0.85</code> floor &mdash; <b>all three runs below the floor</b>, not a single sample
56
+ dipping under load. The board was <b>433.7&nbsp;KB / 192 cards</b> at that point, against the
57
+ 407.6&nbsp;KB / 189 recorded when this card was filed.
58
+
59
+ <b>The distinction that matters for whoever picks this up:</b> the earlier <code>#386</code> failure
60
+ really was runner variance &mdash; <code>#388</code> passed at a very slightly <em>larger</em> size,
61
+ which is what ruled weight out then. This one is not the same shape. <code>main</code> passed at
62
+ <b>430.0&nbsp;KB</b> one minute earlier on the same runner class, and <code>#395</code>'s
63
+ <em>best</em> of three runs was below <code>main</code>'s worst. So the honest reading is not
64
+ &ldquo;+3.7&nbsp;KB broke it&rdquo; &mdash; a 0.9% size change cannot move a score that far. It is
65
+ that the page now sits <b>on the cliff</b>, with roughly 0.07 of run-to-run spread straddling the
66
+ floor, so it fails intermittently and will fail more often as cards accrue. Headroom, not the mean,
67
+ is what was spent.
68
+
69
+ <b>This also raises the cost of documenting work well</b>, which is the uncomfortable part: closing a
70
+ card properly means recording what was measured and what turned out wrong, and every such paragraph
71
+ now pushes a shared gate closer to red. That is an argument for the <code>&lt;details&gt;</code>
72
+ lever rather than for writing less.
73
+
74
+ <b>Shipped &mdash; and the measurement corrected the card's own framing.</b> This item is titled for
75
+ page <em>weight</em>, and every earlier paragraph reasons about kilobytes. Reading the Lighthouse
76
+ artefact from the failing run shows bytes were never the mechanism. Of 1.6&nbsp;s of main-thread
77
+ work: <code>styleLayout</code> <b>705&nbsp;ms</b>, <code>paintCompositeRender</code>
78
+ <b>393&nbsp;ms</b>, <code>parseHTML</code> 83&nbsp;ms, <code>scriptEvaluation</code>
79
+ <b>20&nbsp;ms</b>. The page was slow because the browser <em>lays out and paints</em> 6,316 elements,
80
+ not because it downloads 440&nbsp;KB and not because of JavaScript.
81
+
82
+ <b>The weighted losses name the same thing.</b> Reconstructing the 0.74: TBT 0.58 &times; 30%, LCP
83
+ 0.69 &times; 25%, FCP 0.47 &times; 10%, SI 0.93 &times; 10%, CLS 1.00 &times; 25% &rarr; 0.7365.
84
+ Worth noting <code>dom-size</code> scored <b>0</b> at 6,316 elements but is <em>unweighted</em> in
85
+ the performance category &mdash; so the obvious-looking number was not the one costing the score,
86
+ which is exactly the trap of optimising against a diagnostic instead of the metric.
87
+
88
+ <b>The fix is the cheapest lever this card already proposed, for a better reason than it gave.</b>
89
+ <code>build_roadmap.py</code> now wraps a <code>shipped</code> card's body in a closed
90
+ <code>&lt;details&gt;</code> &mdash; <b>188 of 192 cards</b>. A closed <code>&lt;details&gt;</code>
91
+ subtree still parses and still ships, so every word stays greppable and findable by the browser's own
92
+ find-in-page, but it is never laid out or painted: <b>3,764 of 6,781 elements (55.5%)</b> now skip
93
+ both. Anything a reader might act on &mdash; <code>planned</code>, <code>next</code>,
94
+ <code>inflight</code> &mdash; stays expanded.
95
+
96
+ <b>The page got bigger, and that is the point.</b> 440.3&nbsp;KB &rarr; <b>453.5&nbsp;KB</b>, because
97
+ 188 <code>&lt;summary&gt;</code> elements cost ~13&nbsp;KB. Under the original framing that reads as
98
+ a regression; under the measurement it is irrelevant, because transfer was never what breached the
99
+ floor. Had this been fixed by chasing kilobytes, the work would have been aimed at the one number
100
+ the score does not weigh.
101
+
102
+ <b>Not claimed:</b> a resulting Lighthouse score. It could not be reproduced locally (no Chrome in
103
+ this sandbox), so the element count is the measured claim and CI's own <code>lighthouse</code> job is
104
+ the verdict.
105
+