boost-skill-cli 1.0.320__tar.gz → 1.0.322__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 (574) hide show
  1. {boost_skill_cli-1.0.320/boost_skill_cli.egg-info → boost_skill_cli-1.0.322}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322/boost_skill_cli.egg-info}/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/bm25-index-is-one-json-blob.md +26 -0
  5. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +13 -0
  6. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +32 -0
  7. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap.html +75 -3
  8. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.gitattributes +0 -0
  9. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.gitignore +0 -0
  10. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.gitleaks.toml +0 -0
  11. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.htmlvalidate.json +0 -0
  12. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.lighthouserc.json +0 -0
  13. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.lycheeignore +0 -0
  14. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.markdownlint-cli2.jsonc +0 -0
  15. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.pre-commit-config.yaml +0 -0
  16. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.stylelintrc.json +0 -0
  17. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.vale/styles/boost/Terminology.yml +0 -0
  18. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  19. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/.vale.ini +0 -0
  20. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/CLAUDE.md +0 -0
  21. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/CODE_OF_CONDUCT.md +0 -0
  22. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/CONTRIBUTING.md +0 -0
  23. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/LICENSE +0 -0
  24. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/MANIFEST.in +0 -0
  25. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/Makefile +0 -0
  26. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/README.md +0 -0
  27. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/SECURITY.md +0 -0
  28. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost +0 -0
  29. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/__init__.py +0 -0
  30. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/__main__.py +0 -0
  31. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/cli.py +0 -0
  32. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/cliparse.py +0 -0
  33. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/__init__.py +0 -0
  34. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/_common.py +0 -0
  35. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/bmad.py +0 -0
  36. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/configuration.py +0 -0
  37. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/discovery.py +0 -0
  38. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/hooks.py +0 -0
  39. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/info.py +0 -0
  40. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/intelligence.py +0 -0
  41. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/pkg.py +0 -0
  42. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/quality.py +0 -0
  43. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/run.py +0 -0
  44. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/safety.py +0 -0
  45. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/taps.py +0 -0
  46. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/commands/team.py +0 -0
  47. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/__init__.py +0 -0
  48. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/adapters.py +0 -0
  49. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/agents.py +0 -0
  50. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/ai.py +0 -0
  51. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/capabilities.py +0 -0
  52. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/catalog.py +0 -0
  53. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/claude_settings.py +0 -0
  54. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/config.py +0 -0
  55. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/dense.py +0 -0
  56. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/ed25519.py +0 -0
  57. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/embed.py +0 -0
  58. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/faithfulness.py +0 -0
  59. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/frontmatter.py +0 -0
  60. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/gitutil.py +0 -0
  61. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/imperative.py +0 -0
  62. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/injectscan.py +0 -0
  63. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/installscan.py +0 -0
  64. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/integrity.py +0 -0
  65. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/journal.py +0 -0
  66. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/localembed.py +0 -0
  67. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/lockfile.py +0 -0
  68. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/logs.py +0 -0
  69. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/mcp.py +0 -0
  70. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/mcpdecl.py +0 -0
  71. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/mcphost.py +0 -0
  72. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/minisign.py +0 -0
  73. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/nethttp.py +0 -0
  74. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/output.py +0 -0
  75. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/paths.py +0 -0
  76. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/policy.py +0 -0
  77. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/projectlock.py +0 -0
  78. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/provenance.py +0 -0
  79. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/rag.py +0 -0
  80. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/registry.py +0 -0
  81. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/resolve.py +0 -0
  82. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/rules.py +0 -0
  83. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/scopes.py +0 -0
  84. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/secretscan.py +0 -0
  85. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/selfupdate.py +0 -0
  86. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/serve.py +0 -0
  87. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/stackprobe.py +0 -0
  88. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/staleness.py +0 -0
  89. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/store.py +0 -0
  90. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/trustaudit.py +0 -0
  91. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/typosquat.py +0 -0
  92. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/updatediff.py +0 -0
  93. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/util.py +0 -0
  94. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/core/workflows.py +0 -0
  95. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/data/registries.json +0 -0
  96. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/errors.py +0 -0
  97. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_cli/spin.py +0 -0
  98. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  99. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  100. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  101. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_skill_cli.egg-info/requires.txt +0 -0
  102. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/boost_skill_cli.egg-info/top_level.txt +0 -0
  103. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/codecov.yml +0 -0
  104. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/.claude/settings.local.json +0 -0
  105. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/DEBUGGING.md +0 -0
  106. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/adapters.html +0 -0
  107. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/architecture/README.md +0 -0
  108. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/architecture/c4-components-core.md +0 -0
  109. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/architecture/c4-containers.md +0 -0
  110. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/architecture/c4-context.md +0 -0
  111. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/architecture/c4-dynamic-install.md +0 -0
  112. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/distill.gif +0 -0
  113. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/doctor.gif +0 -0
  114. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/explain.gif +0 -0
  115. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/hooks.gif +0 -0
  116. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/install.gif +0 -0
  117. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/pulse.gif +0 -0
  118. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/search.gif +0 -0
  119. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/gifs/tap.gif +0 -0
  120. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/distill.tape +0 -0
  121. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/doctor.tape +0 -0
  122. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/explain.tape +0 -0
  123. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/hooks.tape +0 -0
  124. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/install.tape +0 -0
  125. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/pulse.tape +0 -0
  126. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/search.tape +0 -0
  127. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel/tapes/tap.tape +0 -0
  128. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/carousel.html +0 -0
  129. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/commands.html +0 -0
  130. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/demo.gif +0 -0
  131. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/demo.tape +0 -0
  132. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/design-roadmap.html +0 -0
  133. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/eval.html +0 -0
  134. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/index.html +0 -0
  135. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/mcp-hub.html +0 -0
  136. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/rag-architecture.md +0 -0
  137. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D01.md +0 -0
  138. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D02.md +0 -0
  139. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D03.md +0 -0
  140. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D04.md +0 -0
  141. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D05.md +0 -0
  142. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D06.md +0 -0
  143. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D07.md +0 -0
  144. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D08.md +0 -0
  145. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D09.md +0 -0
  146. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D10.md +0 -0
  147. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D11.md +0 -0
  148. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D12.md +0 -0
  149. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D13.md +0 -0
  150. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D14.md +0 -0
  151. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D15.md +0 -0
  152. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D16.md +0 -0
  153. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D17.md +0 -0
  154. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D18.md +0 -0
  155. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D19.md +0 -0
  156. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D20.md +0 -0
  157. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D21.md +0 -0
  158. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D22.md +0 -0
  159. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D23.md +0 -0
  160. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D24.md +0 -0
  161. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D25.md +0 -0
  162. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/BOOST-D26.md +0 -0
  163. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  164. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  165. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  166. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  167. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  168. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  169. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  170. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  171. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  172. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  173. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  174. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  175. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  176. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  177. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  178. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  179. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  180. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  181. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  182. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  183. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  184. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/command-carousel-page.md +0 -0
  185. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  186. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  187. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  188. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  189. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  190. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  191. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  192. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  193. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  194. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  195. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  196. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  197. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  198. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  199. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  200. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  201. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  202. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  203. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  204. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  205. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  206. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  207. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  208. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  209. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  210. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  211. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  212. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  213. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  214. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/github-community-health-files.md +0 -0
  215. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  216. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  217. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  218. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  219. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  220. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  221. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  222. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  223. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  224. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  225. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  226. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  227. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  228. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  229. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  230. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  231. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  232. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  233. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  234. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  235. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  236. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  237. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  238. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  239. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  240. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  241. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  242. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  243. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  244. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  245. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  246. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  247. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  248. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  249. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  250. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  251. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  252. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  253. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  254. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  255. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  256. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  257. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  258. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  259. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  260. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  261. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  262. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  263. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  264. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  265. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  266. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  267. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  268. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  269. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  270. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  271. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  272. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  273. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  274. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  275. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  276. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  277. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  278. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  279. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  280. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  281. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  282. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  283. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  284. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  285. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  286. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  287. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  288. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  289. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  290. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  291. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  292. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  293. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  294. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  295. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  296. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  297. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  298. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  299. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  300. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  301. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  302. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  303. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  304. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  305. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  306. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  307. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  308. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  309. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  310. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  311. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  312. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  313. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  314. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  315. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  316. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  317. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  318. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  319. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  320. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  321. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  322. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  323. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  324. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  325. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  326. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  327. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  328. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  329. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  330. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  331. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  332. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  333. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  334. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  335. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  336. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  337. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  338. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  339. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  340. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  341. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  342. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  343. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  344. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  345. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  346. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/workspace-scope-install.md +0 -0
  347. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  348. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/eslint.config.mjs +0 -0
  349. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/README.md +0 -0
  350. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/__init__.py +0 -0
  351. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/baseline.json +0 -0
  352. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/faithfulness.py +0 -0
  353. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/golden_set.json +0 -0
  354. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/make_corpus.py +0 -0
  355. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/make_golden.py +0 -0
  356. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/metrics.py +0 -0
  357. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/evals/run_evals.py +0 -0
  358. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/examples/README.md +0 -0
  359. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/examples/adapt-demo.sh +0 -0
  360. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/examples/boost-run-prototype.sh +0 -0
  361. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/index.html +0 -0
  362. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/noxfile.py +0 -0
  363. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/pyproject.toml +0 -0
  364. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/coverage-tools.in +0 -0
  365. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/coverage-tools.txt +0 -0
  366. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/lint-tools.in +0 -0
  367. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/lint-tools.txt +0 -0
  368. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/mutation-tools.in +0 -0
  369. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/mutation-tools.txt +0 -0
  370. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/platform-pins.lock +0 -0
  371. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/release-tools.in +0 -0
  372. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/release-tools.txt +0 -0
  373. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/test-tools.in +0 -0
  374. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/requirements/test-tools.txt +0 -0
  375. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/a11y_check.py +0 -0
  376. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/bench_cli.sh +0 -0
  377. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/build_command_reference.py +0 -0
  378. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/build_registries.py +0 -0
  379. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/build_roadmap.py +0 -0
  380. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/check_anchors.py +0 -0
  381. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/check_licenses.py +0 -0
  382. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/check_required_checks.py +0 -0
  383. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/ensure_eval_corpus.sh +0 -0
  384. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/eval_explain.py +0 -0
  385. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/eval_gate.py +0 -0
  386. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/eval_recommend.py +0 -0
  387. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/eval_retrieval.py +0 -0
  388. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/eval_stats_summary.py +0 -0
  389. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/import_budget.py +0 -0
  390. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/lock_toolchain.py +0 -0
  391. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/mutation_gate.py +0 -0
  392. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/mutation_shards.py +0 -0
  393. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/mutation_weights.json +0 -0
  394. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/perf_gate.py +0 -0
  395. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/post_deploy_smoke.py +0 -0
  396. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/release_guard.py +0 -0
  397. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/scripts/release_preflight.py +0 -0
  398. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/setup.cfg +0 -0
  399. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/sonar-project.properties +0 -0
  400. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/style/README.md +0 -0
  401. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/style/boost.css +0 -0
  402. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/style/boost.js +0 -0
  403. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/style/demo.html +0 -0
  404. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/adapt.feature +0 -0
  405. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/browse.feature +0 -0
  406. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/count.feature +0 -0
  407. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/discover.feature +0 -0
  408. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/doctor.feature +0 -0
  409. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/environment.py +0 -0
  410. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/explain.feature +0 -0
  411. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/index.feature +0 -0
  412. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/install.feature +0 -0
  413. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/list.feature +0 -0
  414. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/mcp.feature +0 -0
  415. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/search.feature +0 -0
  416. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/steps/cli_steps.py +0 -0
  417. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/steps/discovery_steps.py +0 -0
  418. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/steps/mcp_steps.py +0 -0
  419. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/bdd/features/steps/quality_steps.py +0 -0
  420. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/conftest.py +0 -0
  421. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/eval/baseline.json +0 -0
  422. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/eval/explain.jsonl +0 -0
  423. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/eval/golden-natural.jsonl +0 -0
  424. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/eval/golden.jsonl +0 -0
  425. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/eval/recommend.jsonl +0 -0
  426. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/eval/taps.txt +0 -0
  427. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_capabilities_policy.py +0 -0
  428. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_adapt.py +0 -0
  429. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_bmad.py +0 -0
  430. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_configuration.py +0 -0
  431. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_discovery.py +0 -0
  432. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_hooks.py +0 -0
  433. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_info.py +0 -0
  434. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_intelligence.py +0 -0
  435. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_pkg.py +0 -0
  436. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_quality.py +0 -0
  437. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_taps.py +0 -0
  438. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_cli_team.py +0 -0
  439. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_everyday_loop.py +0 -0
  440. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_integrity_enforce.py +0 -0
  441. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_property_parsers.py +0 -0
  442. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_run.py +0 -0
  443. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_tap_signing.py +0 -0
  444. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/functional/test_workspace_scope.py +0 -0
  445. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/README.md +0 -0
  446. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  447. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  448. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  449. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  450. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  451. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  452. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  453. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  454. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  455. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  456. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  457. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  458. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  459. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  460. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  461. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  462. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  463. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  464. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  465. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  466. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/fuzz_frontmatter.py +0 -0
  467. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/fuzz/fuzz_registry.py +0 -0
  468. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/make_fixture.py +0 -0
  469. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/perf/test_benchmarks.py +0 -0
  470. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/smoke.sh +0 -0
  471. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_a11y_check.py +0 -0
  472. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_adapters.py +0 -0
  473. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_adapters_multi.py +0 -0
  474. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_adapters_runner.py +0 -0
  475. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_agents.py +0 -0
  476. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_ai.py +0 -0
  477. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_capabilities.py +0 -0
  478. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_catalog.py +0 -0
  479. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_check_anchors.py +0 -0
  480. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_check_licenses.py +0 -0
  481. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_claude_settings.py +0 -0
  482. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_cliparse.py +0 -0
  483. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_codeql_analysis_key.py +0 -0
  484. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_command_reference_fresh.py +0 -0
  485. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_community_health_files.py +0 -0
  486. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_config.py +0 -0
  487. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_dense.py +0 -0
  488. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_dense_fallback.py +0 -0
  489. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_dense_fix_hint.py +0 -0
  490. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_dense_status.py +0 -0
  491. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_dependabot_config.py +0 -0
  492. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_docs_pages_linked.py +0 -0
  493. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_docsite_chrome.py +0 -0
  494. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_ed25519.py +0 -0
  495. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_embed.py +0 -0
  496. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_embed_local.py +0 -0
  497. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_entry_key.py +0 -0
  498. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_errors_and_cli_table.py +0 -0
  499. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_eval_baseline.py +0 -0
  500. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_eval_faithfulness.py +0 -0
  501. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_eval_gate.py +0 -0
  502. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_eval_metrics.py +0 -0
  503. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_eval_stats_summary.py +0 -0
  504. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_faithfulness.py +0 -0
  505. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_frontmatter.py +0 -0
  506. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_fuzz_targets.py +0 -0
  507. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_gitleaks_config.py +0 -0
  508. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_gitutil.py +0 -0
  509. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_imperative.py +0 -0
  510. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_import_budget.py +0 -0
  511. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_injectscan.py +0 -0
  512. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_installscan.py +0 -0
  513. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_integrity.py +0 -0
  514. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_journal.py +0 -0
  515. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_localembed.py +0 -0
  516. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_lockfile.py +0 -0
  517. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_logs.py +0 -0
  518. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_marketing_counts.py +0 -0
  519. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mcp.py +0 -0
  520. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mcp_install_scan.py +0 -0
  521. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mcpdecl.py +0 -0
  522. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mcphost.py +0 -0
  523. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_minisign.py +0 -0
  524. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mutation_hardening.py +0 -0
  525. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mutation_shards.py +0 -0
  526. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mutation_subfile_shards.py +0 -0
  527. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_mutmut_source_paths.py +0 -0
  528. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_nethttp.py +0 -0
  529. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_output.py +0 -0
  530. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_paths.py +0 -0
  531. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_perf_gate.py +0 -0
  532. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_pkg_confusions.py +0 -0
  533. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_pkg_injection.py +0 -0
  534. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_pkg_secrets.py +0 -0
  535. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_platform_pins.py +0 -0
  536. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_policy.py +0 -0
  537. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_post_deploy_smoke.py +0 -0
  538. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_project_mcp_sidecar.py +0 -0
  539. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_projectlock.py +0 -0
  540. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_provenance.py +0 -0
  541. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_rag.py +0 -0
  542. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_rag_fusion.py +0 -0
  543. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_registries_fresh.py +0 -0
  544. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_registry.py +0 -0
  545. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_registry_categories.py +0 -0
  546. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_release_guard.py +0 -0
  547. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_release_preflight.py +0 -0
  548. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_required_checks.py +0 -0
  549. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_resolve.py +0 -0
  550. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_roadmap_fresh.py +0 -0
  551. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_rules.py +0 -0
  552. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_scopes.py +0 -0
  553. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_secretscan.py +0 -0
  554. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_selfupdate.py +0 -0
  555. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_serve.py +0 -0
  556. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_spin.py +0 -0
  557. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_stackprobe.py +0 -0
  558. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_staleness.py +0 -0
  559. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_store.py +0 -0
  560. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_token_parity.py +0 -0
  561. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_toolchain_lock.py +0 -0
  562. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_trustaudit.py +0 -0
  563. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_typosquat.py +0 -0
  564. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_updatediff.py +0 -0
  565. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_util.py +0 -0
  566. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_version.py +0 -0
  567. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_workflow_concurrency.py +0 -0
  568. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_workflow_timeouts.py +0 -0
  569. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/unit/test_workflows.py +0 -0
  570. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/visual/a11y_check.mjs +0 -0
  571. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/visual/console_check.mjs +0 -0
  572. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/visual/package-lock.json +0 -0
  573. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/tests/visual/package.json +0 -0
  574. {boost_skill_cli-1.0.320 → boost_skill_cli-1.0.322}/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.320
3
+ Version: 1.0.322
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.320'
22
- __version_tuple__ = version_tuple = (1, 0, 320)
21
+ __version__ = version = '1.0.322'
22
+ __version_tuple__ = version_tuple = (1, 0, 322)
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.320
3
+ Version: 1.0.322
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -73,3 +73,29 @@ would otherwise never match <code>code-reviewer</code>) and the description alon
73
73
  binary format are both untouched, as is moving <code>snip</code> text off the hot path. So is
74
74
  <code>build()</code>'s O(entire-corpus) incremental path, which still inverts every posting to
75
75
  reindex one changed file.
76
+
77
+ <b>Where the bytes are now, measured after win (1).</b> This card sends win (2) after two targets:
78
+ postings, and <code>snip</code> text (&ldquo;46.7 MB of the 132 MB&rdquo;, ~35%). That split was a
79
+ property of the <em>chunked</em> index, where every 1000-char window carried its own snippet. With
80
+ one document per entry the balance moves sharply, measured on the pinned 6-tap corpus at 2.05 MB
81
+ total: <b>postings 1.31 MB (64%)</b>, doc metadata 0.46 MB (22%), <b>snips 0.29 MB (14%)</b>, over
82
+ 743 documents and 15,639 distinct terms.
83
+
84
+ So unchunking already collected most of the snippet win, and <b>postings are now the dominant lever
85
+ by a wide margin</b>. Anyone picking up win (2) should size it against 64%, not chase snip at an
86
+ assumed 35%.
87
+
88
+ <b>FTS5 probe result.</b> Confirmed present on both interpreters available here &mdash; CPython 3.14
89
+ (bundled SQLite 3.53.4) and the macOS system Python 3.9 (SQLite 3.54.0). That supports the card's
90
+ design instruction rather than replacing it: it is still a per-build property, so the runtime probe
91
+ stays required. A distro CPython compiled without <code>ENABLE_FTS5</code> is the case the probe
92
+ exists for.
93
+
94
+ <b>On the incremental path.</b> The O(entire-corpus) reindex noted above is not separable from win
95
+ (2). <code>_kept_docs</code> calls <code>_postings_to_doc_tf</code> because per-document term
96
+ frequencies exist <em>only</em> inside the postings on disk, so recovering them for the unchanged
97
+ taps means scanning every posting whatever the filter. Narrowing the inversion to kept doc ids saves
98
+ memory but not the scan, and in the common case (one tap of many changed) nearly every document is
99
+ kept, so it saves little of that either. Denormalising <code>tf</code> back into the documents would
100
+ fix it directly but roughly duplicates the 64% that postings already occupy. The real fix is the
101
+ storage format, which is win (2) &mdash; worth treating them as one item rather than two.
@@ -260,3 +260,16 @@ The set is deliberately <b>not</b> wired into <code>make eval</code> or the requ
260
260
  the <code>[rag]</code> extra and a built store, and its purpose is comparing engines rather than
261
261
  flooring one. Run it with <code>--golden tests/eval/golden-natural.jsonl</code>.
262
262
 
263
+
264
+ <b>Step 4 is shipped too.</b> <code>rag.rrf_fuse</code> landed in <code>#360</code> with
265
+ <code>RRF_K = 60</code>, fusing on ranks exactly as described above, and
266
+ <code>retrieve_any</code> reports <code>hybrid RRF</code> when both engines are built. Recording it
267
+ here because this card still read as though only step 1 were done, and the next loop scanning for
268
+ work would have rebuilt it. The step's own instruction &mdash; &ldquo;ship the k=60 default, benchmark
269
+ it, and tune only if the eval says so&rdquo; &mdash; was followed: the benchmark is
270
+ <code>tests/eval/golden-natural.jsonl</code>, and k=60 is untouched.
271
+
272
+ <b>Steps 2, 3, 5 and 6 remain open.</b> Note that step 6 (publish the eval) is now partly answered by
273
+ the gate work in <code>#365</code>, which floors four metrics instead of recall alone and keys
274
+ baselines to their query set, so BM25-vs-dense-vs-hybrid comparisons are at least falsifiable. What
275
+ step 6 still wants is the published write-up rather than the instrument.
@@ -91,3 +91,35 @@ at one path &mdash; and were corrected.
91
91
  prior, and the 83-tap re-measurement of the fusion bound are all untouched. Note the two are
92
92
  independent: dedup <em>merges</em> copies that are genuinely the same, whereas this fix stops copies
93
93
  that were never the same from being merged by accident.
94
+
95
+ <b>The curve this card asked for.</b> The note above measured 0 duplicate slots over the pinned
96
+ 6-tap corpus and said, correctly, that absence at 6 taps says nothing about 83. Re-measured over 77
97
+ tapped registries sampled across the shipped list, with the same 50 natural-language queries,
98
+ counting how many of the ten slots a user sees are second-or-later copies of a name already in that
99
+ same result list:
100
+
101
+ <code>6 taps</code>: 1,122 entries, 0.0% sharing a name, <b>0.00</b> duplicate slots/query &middot;
102
+ <code>12</code>: 14,194 entries, 77.8%, <b>4.28</b> &middot;
103
+ <code>25</code>: 16,633, 77.9%, 4.12 &middot;
104
+ <code>40</code>: 17,470, 74.7%, 3.88 &middot;
105
+ <code>60</code>: 29,137, 83.9%, 5.08 &middot;
106
+ <code>77</code>: 29,938 entries, 82.7% sharing a name, <b>4.94</b> duplicate slots/query.
107
+
108
+ So at realistic corpus size <b>roughly half the ten slots a user sees are repeat copies of a name
109
+ already in the list</b>, worst observed 9 of 10 (&ldquo;our full-text queries have got slow as the
110
+ index grew&rdquo;). The card's thesis holds, and more sharply than its own 56.3% figure suggested.
111
+
112
+ <b>But the driver is not tap count.</b> Entries jump 1,122 &rarr; 14,194 between 6 and 12 taps, so
113
+ the sample is not uniform: a single awesome-list-style rule registry contributes more entries than
114
+ the entire 6-tap eval corpus. Duplicate pressure is a step function of <em>which</em> registries are
115
+ tapped, not a smooth function of how many &mdash; it appears the moment one duplicate-heavy registry
116
+ is added and then stays flat at ~4-5 slots per query from 12 taps to 77. Any dedup benefit should be
117
+ reported against a stated tap set for that reason, and a user who taps only curated skill registries
118
+ may never see the problem at all.
119
+
120
+ <b>What this does not settle.</b> The measurement counts repeated <em>names</em>, which is the
121
+ symptom the card names, not content-identical bodies &mdash; two rules that share a name and
122
+ genuinely differ (the <code>admin-interface-rule</code> pair fixed in <code>#366</code>) are counted
123
+ here as duplicate slots but must <em>not</em> be merged. That is precisely why the card asks for
124
+ clustering on content hash rather than on name, and this curve is an upper bound on what dedup could
125
+ reclaim, not a target.
@@ -846,7 +846,21 @@ before concluding the local model is enough.
846
846
 
847
847
  The set is deliberately <b>not</b> wired into <code>make eval</code> or the required gate: it needs
848
848
  the <code>[rag]</code> extra and a built store, and its purpose is comparing engines rather than
849
- flooring one. Run it with <code>--golden tests/eval/golden-natural.jsonl</code>.</p>
849
+ flooring one. Run it with <code>--golden tests/eval/golden-natural.jsonl</code>.
850
+
851
+
852
+ <b>Step 4 is shipped too.</b> <code>rag.rrf_fuse</code> landed in <code>#360</code> with
853
+ <code>RRF_K = 60</code>, fusing on ranks exactly as described above, and
854
+ <code>retrieve_any</code> reports <code>hybrid RRF</code> when both engines are built. Recording it
855
+ here because this card still read as though only step 1 were done, and the next loop scanning for
856
+ work would have rebuilt it. The step's own instruction &mdash; &ldquo;ship the k=60 default, benchmark
857
+ it, and tune only if the eval says so&rdquo; &mdash; was followed: the benchmark is
858
+ <code>tests/eval/golden-natural.jsonl</code>, and k=60 is untouched.
859
+
860
+ <b>Steps 2, 3, 5 and 6 remain open.</b> Note that step 6 (publish the eval) is now partly answered by
861
+ the gate work in <code>#365</code>, which floors four metrics instead of recall alone and keys
862
+ baselines to their query set, so BM25-vs-dense-vs-hybrid comparisons are at least falsifiable. What
863
+ step 6 still wants is the published write-up rather than the instrument.</p>
850
864
  <div class="meta">
851
865
  <span class="m">Complexity <b>L</b></span>
852
866
  <span class="m hi">Impact <b>High</b></span>
@@ -3426,7 +3440,39 @@ at one path &mdash; and were corrected.
3426
3440
  <b>Still open:</b> the ranking half. Clustering on content hash, picking a winner with a quality
3427
3441
  prior, and the 83-tap re-measurement of the fusion bound are all untouched. Note the two are
3428
3442
  independent: dedup <em>merges</em> copies that are genuinely the same, whereas this fix stops copies
3429
- that were never the same from being merged by accident.</p>
3443
+ that were never the same from being merged by accident.
3444
+
3445
+ <b>The curve this card asked for.</b> The note above measured 0 duplicate slots over the pinned
3446
+ 6-tap corpus and said, correctly, that absence at 6 taps says nothing about 83. Re-measured over 77
3447
+ tapped registries sampled across the shipped list, with the same 50 natural-language queries,
3448
+ counting how many of the ten slots a user sees are second-or-later copies of a name already in that
3449
+ same result list:
3450
+
3451
+ <code>6 taps</code>: 1,122 entries, 0.0% sharing a name, <b>0.00</b> duplicate slots/query &middot;
3452
+ <code>12</code>: 14,194 entries, 77.8%, <b>4.28</b> &middot;
3453
+ <code>25</code>: 16,633, 77.9%, 4.12 &middot;
3454
+ <code>40</code>: 17,470, 74.7%, 3.88 &middot;
3455
+ <code>60</code>: 29,137, 83.9%, 5.08 &middot;
3456
+ <code>77</code>: 29,938 entries, 82.7% sharing a name, <b>4.94</b> duplicate slots/query.
3457
+
3458
+ So at realistic corpus size <b>roughly half the ten slots a user sees are repeat copies of a name
3459
+ already in the list</b>, worst observed 9 of 10 (&ldquo;our full-text queries have got slow as the
3460
+ index grew&rdquo;). The card's thesis holds, and more sharply than its own 56.3% figure suggested.
3461
+
3462
+ <b>But the driver is not tap count.</b> Entries jump 1,122 &rarr; 14,194 between 6 and 12 taps, so
3463
+ the sample is not uniform: a single awesome-list-style rule registry contributes more entries than
3464
+ the entire 6-tap eval corpus. Duplicate pressure is a step function of <em>which</em> registries are
3465
+ tapped, not a smooth function of how many &mdash; it appears the moment one duplicate-heavy registry
3466
+ is added and then stays flat at ~4-5 slots per query from 12 taps to 77. Any dedup benefit should be
3467
+ reported against a stated tap set for that reason, and a user who taps only curated skill registries
3468
+ may never see the problem at all.
3469
+
3470
+ <b>What this does not settle.</b> The measurement counts repeated <em>names</em>, which is the
3471
+ symptom the card names, not content-identical bodies &mdash; two rules that share a name and
3472
+ genuinely differ (the <code>admin-interface-rule</code> pair fixed in <code>#366</code>) are counted
3473
+ here as duplicate slots but must <em>not</em> be merged. That is precisely why the card asks for
3474
+ clustering on content hash rather than on name, and this curve is an upper bound on what dedup could
3475
+ reclaim, not a target.</p>
3430
3476
  <div class="meta">
3431
3477
  <span class="m">Complexity <b>M</b></span>
3432
3478
  <span class="m hi">Impact <b>High</b></span>
@@ -3497,7 +3543,33 @@ would otherwise never match <code>code-reviewer</code>) and the description alon
3497
3543
  <b>Still open:</b> win (2), getting postings out of JSON &mdash; the FTS5 probe and the mmap-able
3498
3544
  binary format are both untouched, as is moving <code>snip</code> text off the hot path. So is
3499
3545
  <code>build()</code>'s O(entire-corpus) incremental path, which still inverts every posting to
3500
- reindex one changed file.</p>
3546
+ reindex one changed file.
3547
+
3548
+ <b>Where the bytes are now, measured after win (1).</b> This card sends win (2) after two targets:
3549
+ postings, and <code>snip</code> text (&ldquo;46.7 MB of the 132 MB&rdquo;, ~35%). That split was a
3550
+ property of the <em>chunked</em> index, where every 1000-char window carried its own snippet. With
3551
+ one document per entry the balance moves sharply, measured on the pinned 6-tap corpus at 2.05 MB
3552
+ total: <b>postings 1.31 MB (64%)</b>, doc metadata 0.46 MB (22%), <b>snips 0.29 MB (14%)</b>, over
3553
+ 743 documents and 15,639 distinct terms.
3554
+
3555
+ So unchunking already collected most of the snippet win, and <b>postings are now the dominant lever
3556
+ by a wide margin</b>. Anyone picking up win (2) should size it against 64%, not chase snip at an
3557
+ assumed 35%.
3558
+
3559
+ <b>FTS5 probe result.</b> Confirmed present on both interpreters available here &mdash; CPython 3.14
3560
+ (bundled SQLite 3.53.4) and the macOS system Python 3.9 (SQLite 3.54.0). That supports the card's
3561
+ design instruction rather than replacing it: it is still a per-build property, so the runtime probe
3562
+ stays required. A distro CPython compiled without <code>ENABLE_FTS5</code> is the case the probe
3563
+ exists for.
3564
+
3565
+ <b>On the incremental path.</b> The O(entire-corpus) reindex noted above is not separable from win
3566
+ (2). <code>_kept_docs</code> calls <code>_postings_to_doc_tf</code> because per-document term
3567
+ frequencies exist <em>only</em> inside the postings on disk, so recovering them for the unchanged
3568
+ taps means scanning every posting whatever the filter. Narrowing the inversion to kept doc ids saves
3569
+ memory but not the scan, and in the common case (one tap of many changed) nearly every document is
3570
+ kept, so it saves little of that either. Denormalising <code>tf</code> back into the documents would
3571
+ fix it directly but roughly duplicates the 64% that postings already occupy. The real fix is the
3572
+ storage format, which is win (2) &mdash; worth treating them as one item rather than two.</p>
3501
3573
  <div class="meta">
3502
3574
  <span class="m">Complexity <b>L</b></span>
3503
3575
  <span class="m hi">Impact <b>High</b></span>