boost-skill-cli 1.1.0__tar.gz → 1.1.1__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 (714) hide show
  1. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  4. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/SOURCES.txt +2 -0
  5. boost_skill_cli-1.1.1/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +64 -0
  6. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap.html +61 -1
  7. boost_skill_cli-1.1.1/tests/unit/test_visual_harness_flags.py +121 -0
  8. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/visual_check.mjs +31 -3
  9. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.gitattributes +0 -0
  10. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.gitignore +0 -0
  11. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.gitleaks.toml +0 -0
  12. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.htmlvalidate.json +0 -0
  13. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.lighthouserc.json +0 -0
  14. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.lycheeignore +0 -0
  15. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.markdownlint-cli2.jsonc +0 -0
  16. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.pre-commit-config.yaml +0 -0
  17. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.stylelintrc.json +0 -0
  18. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.vale/styles/boost/Terminology.yml +0 -0
  19. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  20. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.vale.ini +0 -0
  21. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/CLAUDE.md +0 -0
  22. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/CODE_OF_CONDUCT.md +0 -0
  23. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/CONTRIBUTING.md +0 -0
  24. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/LICENSE +0 -0
  25. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/MANIFEST.in +0 -0
  26. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/Makefile +0 -0
  27. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/README.md +0 -0
  28. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/SECURITY.md +0 -0
  29. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost +0 -0
  30. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/__init__.py +0 -0
  31. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/__main__.py +0 -0
  32. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/cli.py +0 -0
  33. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/cliparse.py +0 -0
  34. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/__init__.py +0 -0
  35. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/_common.py +0 -0
  36. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/bmad.py +0 -0
  37. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/configuration.py +0 -0
  38. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/discovery.py +0 -0
  39. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/hooks.py +0 -0
  40. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/info.py +0 -0
  41. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/intelligence.py +0 -0
  42. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/pkg.py +0 -0
  43. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/quality.py +0 -0
  44. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/run.py +0 -0
  45. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/safety.py +0 -0
  46. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/taps.py +0 -0
  47. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/team.py +0 -0
  48. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/__init__.py +0 -0
  49. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/adapters.py +0 -0
  50. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/agents.py +0 -0
  51. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/ai.py +0 -0
  52. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/bmad.py +0 -0
  53. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/bootstrap.py +0 -0
  54. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/builtin.py +0 -0
  55. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/capabilities.py +0 -0
  56. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/catalog.py +0 -0
  57. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/catalogbundle.py +0 -0
  58. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/chat.py +0 -0
  59. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/claude_settings.py +0 -0
  60. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/complete.py +0 -0
  61. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/config.py +0 -0
  62. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/dense.py +0 -0
  63. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/ed25519.py +0 -0
  64. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/embed.py +0 -0
  65. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/faithfulness.py +0 -0
  66. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/frontmatter.py +0 -0
  67. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/gitutil.py +0 -0
  68. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/imperative.py +0 -0
  69. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/injectscan.py +0 -0
  70. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/installscan.py +0 -0
  71. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/integrity.py +0 -0
  72. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/journal.py +0 -0
  73. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/localembed.py +0 -0
  74. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/lockfile.py +0 -0
  75. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/logs.py +0 -0
  76. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/mcp.py +0 -0
  77. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/mcpdecl.py +0 -0
  78. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/mcphost.py +0 -0
  79. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/minisign.py +0 -0
  80. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/nethttp.py +0 -0
  81. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/output.py +0 -0
  82. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/paths.py +0 -0
  83. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/policy.py +0 -0
  84. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/projectlock.py +0 -0
  85. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/provenance.py +0 -0
  86. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/rag.py +0 -0
  87. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/registry.py +0 -0
  88. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/resolve.py +0 -0
  89. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/rules.py +0 -0
  90. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/scopes.py +0 -0
  91. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/secretscan.py +0 -0
  92. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/selfupdate.py +0 -0
  93. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/serve.py +0 -0
  94. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/stackprobe.py +0 -0
  95. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/staleness.py +0 -0
  96. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/store.py +0 -0
  97. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/trustaudit.py +0 -0
  98. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/typosquat.py +0 -0
  99. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/updatediff.py +0 -0
  100. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/util.py +0 -0
  101. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/workflows.py +0 -0
  102. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/data/registries.json +0 -0
  103. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/data/rules/boost-first.mdc +0 -0
  104. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/errors.py +0 -0
  105. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/spin.py +0 -0
  106. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/__init__.py +0 -0
  107. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/_compat.py +0 -0
  108. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/graph.py +0 -0
  109. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/loader.py +0 -0
  110. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/py.typed +0 -0
  111. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/retriever.py +0 -0
  112. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  113. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  114. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/requires.txt +0 -0
  115. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/top_level.txt +0 -0
  116. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/codecov.yml +0 -0
  117. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/.claude/settings.local.json +0 -0
  118. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/DEBUGGING.md +0 -0
  119. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/adapters.html +0 -0
  120. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/README.md +0 -0
  121. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-components-core.md +0 -0
  122. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-containers.md +0 -0
  123. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-context.md +0 -0
  124. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-dynamic-install.md +0 -0
  125. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/distill.gif +0 -0
  126. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/doctor.gif +0 -0
  127. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/explain.gif +0 -0
  128. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/hooks.gif +0 -0
  129. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/install.gif +0 -0
  130. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/pulse.gif +0 -0
  131. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/search.gif +0 -0
  132. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/tap.gif +0 -0
  133. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/distill.tape +0 -0
  134. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/doctor.tape +0 -0
  135. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/explain.tape +0 -0
  136. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/hooks.tape +0 -0
  137. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/install.tape +0 -0
  138. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/pulse.tape +0 -0
  139. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/search.tape +0 -0
  140. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/tap.tape +0 -0
  141. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel.html +0 -0
  142. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/chat.html +0 -0
  143. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/commands.html +0 -0
  144. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo-index.json +0 -0
  145. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo.gif +0 -0
  146. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo.html +0 -0
  147. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo.tape +0 -0
  148. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/design-roadmap.html +0 -0
  149. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/eval-latest.json +0 -0
  150. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/eval.html +0 -0
  151. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/index.html +0 -0
  152. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/langchain.html +0 -0
  153. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/mcp-hub.html +0 -0
  154. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/rag-architecture.md +0 -0
  155. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D01.md +0 -0
  156. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D02.md +0 -0
  157. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D03.md +0 -0
  158. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D04.md +0 -0
  159. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D05.md +0 -0
  160. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D06.md +0 -0
  161. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D07.md +0 -0
  162. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D08.md +0 -0
  163. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D09.md +0 -0
  164. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D10.md +0 -0
  165. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D11.md +0 -0
  166. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D12.md +0 -0
  167. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D13.md +0 -0
  168. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D14.md +0 -0
  169. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D15.md +0 -0
  170. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D16.md +0 -0
  171. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D17.md +0 -0
  172. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D18.md +0 -0
  173. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D19.md +0 -0
  174. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D20.md +0 -0
  175. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D21.md +0 -0
  176. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D22.md +0 -0
  177. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D23.md +0 -0
  178. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D24.md +0 -0
  179. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D25.md +0 -0
  180. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D26.md +0 -0
  181. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  182. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  183. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  184. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  185. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
  186. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  187. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  188. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  189. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  190. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  191. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  192. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
  193. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
  194. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-first-rule.md +0 -0
  195. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
  196. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  197. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  198. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  199. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  200. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  201. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  202. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  203. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
  204. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  205. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  206. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  207. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  208. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  209. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  210. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  211. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/command-carousel-page.md +0 -0
  212. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  213. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  214. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  215. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  216. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  217. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  218. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  219. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  220. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
  221. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
  222. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  223. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
  224. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  225. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  226. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  227. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  228. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
  229. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  230. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
  231. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  232. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  233. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  234. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
  235. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
  236. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  237. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
  238. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  239. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
  240. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
  241. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
  242. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
  243. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
  244. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
  245. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
  246. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  247. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  248. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  249. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  250. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  251. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  252. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  253. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  254. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  255. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
  256. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  257. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/github-community-health-files.md +0 -0
  258. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  259. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
  260. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  261. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  262. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
  263. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  264. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
  265. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  266. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  267. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-path-disambiguation.md +0 -0
  268. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  269. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  270. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  271. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  272. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  273. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  274. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  275. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  276. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  277. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
  278. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
  279. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
  280. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
  281. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  282. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  283. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  284. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
  285. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  286. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  287. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  288. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  289. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  290. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  291. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  292. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  293. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  294. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  295. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  296. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  297. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  298. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
  299. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  300. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  301. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  302. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  303. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  304. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  305. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  306. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  307. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  308. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
  309. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  310. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  311. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
  312. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  313. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  314. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  315. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  316. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  317. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  318. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  319. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  320. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  321. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  322. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  323. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  324. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  325. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  326. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  327. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
  328. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  329. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  330. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  331. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  332. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
  333. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  334. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  335. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  336. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  337. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  338. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  339. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  340. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  341. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  342. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  343. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  344. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  345. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  346. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  347. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  348. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  349. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
  350. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  351. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
  352. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  353. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  354. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  355. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  356. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  357. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  358. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  359. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  360. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  361. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  362. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  363. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  364. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
  365. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  366. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  367. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  368. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
  369. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  370. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  371. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  372. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  373. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  374. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  375. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  376. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
  377. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  378. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
  379. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
  380. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  381. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  382. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  383. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  384. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  385. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
  386. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
  387. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
  388. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  389. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
  390. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
  391. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  392. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  393. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  394. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  395. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  396. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  397. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  398. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  399. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  400. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
  401. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  402. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  403. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
  404. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  405. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
  406. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  407. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
  408. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
  409. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  410. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  411. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  412. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  413. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  414. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
  415. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
  416. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  417. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
  418. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  419. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  420. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  421. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  422. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  423. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  424. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  425. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  426. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  427. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workspace-scope-install.md +0 -0
  428. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/zip-strict-audit.md +0 -0
  429. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
  430. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  431. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/eslint.config.mjs +0 -0
  432. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/README.md +0 -0
  433. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/__init__.py +0 -0
  434. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/baseline.json +0 -0
  435. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/faithfulness.py +0 -0
  436. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/golden_set.json +0 -0
  437. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/make_corpus.py +0 -0
  438. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/make_golden.py +0 -0
  439. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/metrics.py +0 -0
  440. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/publish_golden_dataset.py +0 -0
  441. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/run_evals.py +0 -0
  442. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/examples/README.md +0 -0
  443. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/examples/adapt-demo.sh +0 -0
  444. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/examples/boost-run-prototype.sh +0 -0
  445. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/index.html +0 -0
  446. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/noxfile.py +0 -0
  447. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/pyproject.toml +0 -0
  448. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/coverage-tools.in +0 -0
  449. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/coverage-tools.txt +0 -0
  450. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/lint-tools.in +0 -0
  451. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/lint-tools.txt +0 -0
  452. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/mutation-tools.in +0 -0
  453. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/mutation-tools.txt +0 -0
  454. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/platform-pins.lock +0 -0
  455. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/release-tools.in +0 -0
  456. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/release-tools.txt +0 -0
  457. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/test-tools.in +0 -0
  458. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/test-tools.txt +0 -0
  459. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/a11y_check.py +0 -0
  460. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/bench_cli.sh +0 -0
  461. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_command_reference.py +0 -0
  462. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_demo_index.py +0 -0
  463. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_registries.py +0 -0
  464. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_roadmap.py +0 -0
  465. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_scale_corpus.py +0 -0
  466. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/check_anchors.py +0 -0
  467. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/check_licenses.py +0 -0
  468. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/check_required_checks.py +0 -0
  469. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/ensure_eval_corpus.sh +0 -0
  470. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_corpus.py +0 -0
  471. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_explain.py +0 -0
  472. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_gate.py +0 -0
  473. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_recommend.py +0 -0
  474. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_retrieval.py +0 -0
  475. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_stats_summary.py +0 -0
  476. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/import_budget.py +0 -0
  477. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/lock_toolchain.py +0 -0
  478. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/measure_registry.py +0 -0
  479. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/mutation_gate.py +0 -0
  480. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/mutation_shards.py +0 -0
  481. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/mutation_weights.json +0 -0
  482. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/page_budget.py +0 -0
  483. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/perf_gate.py +0 -0
  484. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/post_deploy_smoke.py +0 -0
  485. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/publish_eval_json.py +0 -0
  486. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/release_guard.py +0 -0
  487. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/release_preflight.py +0 -0
  488. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/serve_docs.py +0 -0
  489. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/setup.cfg +0 -0
  490. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/sonar-project.properties +0 -0
  491. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/README.md +0 -0
  492. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/boost.css +0 -0
  493. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/boost.js +0 -0
  494. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/demo.html +0 -0
  495. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/adapt.feature +0 -0
  496. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/browse.feature +0 -0
  497. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/count.feature +0 -0
  498. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/discover.feature +0 -0
  499. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/doctor.feature +0 -0
  500. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/environment.py +0 -0
  501. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/explain.feature +0 -0
  502. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/index.feature +0 -0
  503. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/install.feature +0 -0
  504. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/list.feature +0 -0
  505. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/mcp.feature +0 -0
  506. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/search.feature +0 -0
  507. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/cli_steps.py +0 -0
  508. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/discovery_steps.py +0 -0
  509. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/mcp_steps.py +0 -0
  510. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/quality_steps.py +0 -0
  511. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/conftest.py +0 -0
  512. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/baseline.json +0 -0
  513. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/explain.jsonl +0 -0
  514. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/golden-natural.jsonl +0 -0
  515. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/golden.jsonl +0 -0
  516. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/recommend.jsonl +0 -0
  517. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/taps-scale.txt +0 -0
  518. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/taps.txt +0 -0
  519. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_capabilities_policy.py +0 -0
  520. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_adapt.py +0 -0
  521. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_bmad.py +0 -0
  522. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_catalog.py +0 -0
  523. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_chat.py +0 -0
  524. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_configuration.py +0 -0
  525. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_discovery.py +0 -0
  526. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_hooks.py +0 -0
  527. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_info.py +0 -0
  528. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_intelligence.py +0 -0
  529. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_pkg.py +0 -0
  530. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_quality.py +0 -0
  531. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_taps.py +0 -0
  532. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_team.py +0 -0
  533. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_everyday_loop.py +0 -0
  534. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_integrity_enforce.py +0 -0
  535. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_kind_conformance.py +0 -0
  536. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_property_parsers.py +0 -0
  537. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_run.py +0 -0
  538. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_tap_signing.py +0 -0
  539. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_workspace_scope.py +0 -0
  540. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/README.md +0 -0
  541. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  542. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  543. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  544. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  545. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  546. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  547. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  548. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  549. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  550. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  551. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  552. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  553. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  554. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  555. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  556. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  557. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  558. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  559. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  560. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  561. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/fuzz_frontmatter.py +0 -0
  562. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/fuzz_registry.py +0 -0
  563. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/conftest.py +0 -0
  564. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/test_graph.py +0 -0
  565. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/test_loader.py +0 -0
  566. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/test_retriever.py +0 -0
  567. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/make_fixture.py +0 -0
  568. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/perf/test_benchmarks.py +0 -0
  569. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/smoke.sh +0 -0
  570. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_a11y_check.py +0 -0
  571. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_action_pin_lockstep.py +0 -0
  572. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_adapters.py +0 -0
  573. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_adapters_multi.py +0 -0
  574. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_adapters_runner.py +0 -0
  575. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_agents.py +0 -0
  576. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_ai.py +0 -0
  577. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_bmad_core.py +0 -0
  578. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_boost_first_offer.py +0 -0
  579. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_bootstrap.py +0 -0
  580. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_builtin.py +0 -0
  581. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_capabilities.py +0 -0
  582. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_catalog.py +0 -0
  583. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_catalogbundle.py +0 -0
  584. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_chat.py +0 -0
  585. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_check_anchors.py +0 -0
  586. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_check_licenses.py +0 -0
  587. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_claude_settings.py +0 -0
  588. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_clean_internal_cache.py +0 -0
  589. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_cliparse.py +0 -0
  590. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_codeql_analysis_key.py +0 -0
  591. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_command_reference_fresh.py +0 -0
  592. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_community_health_files.py +0 -0
  593. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_compact.py +0 -0
  594. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_complete.py +0 -0
  595. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_config.py +0 -0
  596. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_content_dedupe.py +0 -0
  597. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_crash_redaction.py +0 -0
  598. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dedup_trust.py +0 -0
  599. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_demo_index.py +0 -0
  600. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense.py +0 -0
  601. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_fallback.py +0 -0
  602. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_fix_hint.py +0 -0
  603. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_shard_real_schema.py +0 -0
  604. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
  605. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_shards.py +0 -0
  606. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_status.py +0 -0
  607. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dependabot_config.py +0 -0
  608. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_docs_pages_linked.py +0 -0
  609. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_docsite_chrome.py +0 -0
  610. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_ed25519.py +0 -0
  611. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_embed.py +0 -0
  612. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_embed_local.py +0 -0
  613. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_embed_truncated_response.py +0 -0
  614. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_entry_key.py +0 -0
  615. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_errors_and_cli_table.py +0 -0
  616. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_baseline.py +0 -0
  617. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_corpus.py +0 -0
  618. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_faithfulness.py +0 -0
  619. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_gate.py +0 -0
  620. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_grading.py +0 -0
  621. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_metrics.py +0 -0
  622. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_stats_summary.py +0 -0
  623. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
  624. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_faithfulness.py +0 -0
  625. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_frontmatter.py +0 -0
  626. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_fuzz_targets.py +0 -0
  627. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gemini_agent_sanitize.py +0 -0
  628. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitleaks_config.py +0 -0
  629. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitutil.py +0 -0
  630. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitutil_lfs.py +0 -0
  631. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitutil_sparse.py +0 -0
  632. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_imperative.py +0 -0
  633. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_import_budget.py +0 -0
  634. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_injectscan.py +0 -0
  635. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_install_permission_error.py +0 -0
  636. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_installscan.py +0 -0
  637. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_integrity.py +0 -0
  638. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_journal.py +0 -0
  639. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_langchain_packaging.py +0 -0
  640. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_link_ownership.py +0 -0
  641. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_localembed.py +0 -0
  642. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_localembed_e2e.py +0 -0
  643. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_lockfile.py +0 -0
  644. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_logs.py +0 -0
  645. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_marketing_counts.py +0 -0
  646. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcp.py +0 -0
  647. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcp_install_scan.py +0 -0
  648. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcpdecl.py +0 -0
  649. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcphost.py +0 -0
  650. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_measure_registry.py +0 -0
  651. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_minisign.py +0 -0
  652. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutation_hardening.py +0 -0
  653. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutation_shards.py +0 -0
  654. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutation_subfile_shards.py +0 -0
  655. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutmut_source_paths.py +0 -0
  656. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_nethttp.py +0 -0
  657. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_output.py +0 -0
  658. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_page_budget.py +0 -0
  659. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_paths.py +0 -0
  660. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_perf_gate.py +0 -0
  661. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_pkg_confusions.py +0 -0
  662. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_pkg_injection.py +0 -0
  663. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_pkg_secrets.py +0 -0
  664. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_platform_pins.py +0 -0
  665. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_policy.py +0 -0
  666. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_post_deploy_smoke.py +0 -0
  667. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_project_mcp_sidecar.py +0 -0
  668. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_projectlock.py +0 -0
  669. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_provenance.py +0 -0
  670. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_publish_golden_dataset.py +0 -0
  671. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_rag.py +0 -0
  672. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_rag_fusion.py +0 -0
  673. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registries_fresh.py +0 -0
  674. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registry.py +0 -0
  675. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registry_categories.py +0 -0
  676. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registry_control_chars.py +0 -0
  677. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_release_guard.py +0 -0
  678. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_release_preflight.py +0 -0
  679. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_required_checks.py +0 -0
  680. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_resolve.py +0 -0
  681. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_roadmap_fresh.py +0 -0
  682. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_rules.py +0 -0
  683. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_scale_corpus.py +0 -0
  684. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_scopes.py +0 -0
  685. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_secretscan.py +0 -0
  686. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_selfupdate.py +0 -0
  687. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_serve.py +0 -0
  688. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_serve_docs.py +0 -0
  689. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_shards_matrix.py +0 -0
  690. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_smoke_covers_every_command.py +0 -0
  691. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_spin.py +0 -0
  692. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_stackprobe.py +0 -0
  693. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_staleness.py +0 -0
  694. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_store.py +0 -0
  695. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_store_materialize.py +0 -0
  696. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_sync_blocked_links.py +0 -0
  697. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
  698. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_token_parity.py +0 -0
  699. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_toolchain_lock.py +0 -0
  700. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_trustaudit.py +0 -0
  701. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_typosquat.py +0 -0
  702. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_updatediff.py +0 -0
  703. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_util.py +0 -0
  704. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_version.py +0 -0
  705. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_concurrency.py +0 -0
  706. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_concurrency_groups.py +0 -0
  707. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_push_has_credentials.py +0 -0
  708. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_timeouts.py +0 -0
  709. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflows.py +0 -0
  710. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
  711. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/a11y_check.mjs +0 -0
  712. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/console_check.mjs +0 -0
  713. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/package-lock.json +0 -0
  714. {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/package.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boost-skill-cli
3
- Version: 1.1.0
3
+ Version: 1.1.1
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.1.0'
22
- __version_tuple__ = version_tuple = (1, 1, 0)
21
+ __version__ = version = '1.1.1'
22
+ __version_tuple__ = version_tuple = (1, 1, 1)
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.1.0
3
+ Version: 1.1.1
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -399,6 +399,7 @@ docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md
399
399
  docs/roadmap/items/structured-json-log-output-mode.md
400
400
  docs/roadmap/items/supply-chain-posture-openssf-scorecard.md
401
401
  docs/roadmap/items/surface-every-docs-page-from-the-guide.md
402
+ docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md
402
403
  docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md
403
404
  docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md
404
405
  docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md
@@ -698,6 +699,7 @@ tests/unit/test_typosquat.py
698
699
  tests/unit/test_updatediff.py
699
700
  tests/unit/test_util.py
700
701
  tests/unit/test_version.py
702
+ tests/unit/test_visual_harness_flags.py
701
703
  tests/unit/test_workflow_concurrency.py
702
704
  tests/unit/test_workflow_concurrency_groups.py
703
705
  tests/unit/test_workflow_push_has_credentials.py
@@ -0,0 +1,64 @@
1
+ ---
2
+ id: sweep-died-at-launch-not-at-a-page
3
+ board: code
4
+ section: pipeline
5
+ status: inflight
6
+ category: CI · Bug
7
+ complexity: S
8
+ impact: High
9
+ wow: 4
10
+ note: a comment in the sibling file predicted this exact failure
11
+ order: 114
12
+ owner: fix/visual-sweep-single-process
13
+ pr:
14
+ title: The <code>sweep</code> gate died at browser launch, not at a page
15
+ ---
16
+ Every <code>sweep</code> run failed from 2026-08-15 onward — on <code>main</code>
17
+ and on every branch — and the failure was not a visual regression at all. Chrome
18
+ died during the CDP startup handshake, before a single page loaded:
19
+
20
+ <code>TargetCloseError: Protocol error (Target.setAutoAttach): Target closed</code>
21
+ out of <code>ChromeLauncher.launch</code>.
22
+
23
+ <b>The trigger was the environment, and the evidence is an A/B on identical
24
+ trees.</b> <code>#515</code>'s own PR run passed on 2026-08-13 at 17:22; the
25
+ byte-identical squash-merge failed on 2026-08-15 at 22:10. Same content, opposite
26
+ result, two days apart — the <code>ubuntu-latest</code> runner image bumped
27
+ Chrome underneath it. Nothing in the repo changed;
28
+ <code>visual_check.mjs</code> had carried the same flags since <code>#209</code>.
29
+
30
+ <b>The sibling file predicted it, in a comment, by name.</b>
31
+ <code>a11y_check.mjs</code> was fixed earlier to scope <code>--single-process</code>
32
+ to the <code>chrome-headless-shell</code> binary, and its comment recorded why the
33
+ other half of the directory was still exposed: <em>"visual_check.mjs already
34
+ passes the flag … <code>--single-process</code> is a debug-only flag there whose
35
+ interaction with new headless nothing in this repo exercises."</em> That is
36
+ exactly the interaction that broke.
37
+
38
+ <b>Two candidate causes, both addressed, because the CI path cannot be
39
+ reproduced locally.</b> <code>--single-process</code> is debug-only and
40
+ unsupported against full Chrome; and <code>headless: "shell"</code> asks for the
41
+ old headless mode, which Chrome removed from the main binary and now ships only
42
+ as the separate <code>chrome-headless-shell</code> executable. Both are now
43
+ conditioned on the same predicate the a11y harness uses, so against
44
+ <code>/usr/bin/google-chrome</code> the sweep launches in new headless with
45
+ neither flag — the shape <code>a11y_check.mjs</code> has been driving on this
46
+ runner all along. Keyed on the <em>binary</em> rather than on
47
+ <code>process.platform</code>: a macOS run pointed at full Chrome must not
48
+ inherit a flag meant for the shell.
49
+
50
+ <b>What was verified, and what was not.</b> The harness runs end to end and
51
+ passes <b>10 pages × 5 widths clean</b> against a downloaded
52
+ <code>chrome-headless-shell</code> 152 — which also proves the docs pages
53
+ themselves were never the problem. The flag selection was evaluated directly for
54
+ four binary paths. The <em>CI</em> path is not locally reproducible and this card
55
+ says so rather than implying otherwise: full Chrome cannot start under this macOS
56
+ sandbox at all, aborting with <code>The browser is already running for
57
+ &lt;fresh profile dir&gt;</code> from ProcessSingleton — a different error from
58
+ CI's, so it is interference, not a reproduction. CI is the verifier.
59
+
60
+ <b>The ratchet.</b> <code>tests/unit/test_visual_harness_flags.py</code> fails
61
+ the build if either harness hands a sandbox-only flag to a full Chrome, and if
62
+ the two stop agreeing on the predicate. The bug here was not the flag — it was
63
+ that one file was fixed and the other was not, and the only thing recording that
64
+ was a comment. A comment cannot fail a build.
@@ -133,7 +133,7 @@
133
133
  <div class="stat"><b>16</b><span>Shipped</span></div>
134
134
  <div class="stat"><b>1</b><span>Next up</span></div>
135
135
  <div class="stat"><b>7</b><span>Planned</span></div>
136
- <div class="stat"><b>250</b><span>Loop finds</span></div>
136
+ <div class="stat"><b>251</b><span>Loop finds</span></div>
137
137
  <!-- /ROADMAP:stats -->
138
138
  </div>
139
139
  </section>
@@ -6507,6 +6507,66 @@ the push.</p></details>
6507
6507
  <span class="m">a comment four lines long un-silenced a reviewed finding, and no local gate could see it</span>
6508
6508
  </div>
6509
6509
  </article>
6510
+
6511
+ <article class="cap rcard" id="sweep-died-at-launch-not-at-a-page">
6512
+ <div class="head"><span class="pill inflight">In flight</span><span class="cat">CI · Bug</span></div>
6513
+ <h3>The <code>sweep</code> gate died at browser launch, not at a page</h3>
6514
+ <p>Every <code>sweep</code> run failed from 2026-08-15 onward — on <code>main</code>
6515
+ and on every branch — and the failure was not a visual regression at all. Chrome
6516
+ died during the CDP startup handshake, before a single page loaded:
6517
+
6518
+ <code>TargetCloseError: Protocol error (Target.setAutoAttach): Target closed</code>
6519
+ out of <code>ChromeLauncher.launch</code>.
6520
+
6521
+ <b>The trigger was the environment, and the evidence is an A/B on identical
6522
+ trees.</b> <code>#515</code>'s own PR run passed on 2026-08-13 at 17:22; the
6523
+ byte-identical squash-merge failed on 2026-08-15 at 22:10. Same content, opposite
6524
+ result, two days apart — the <code>ubuntu-latest</code> runner image bumped
6525
+ Chrome underneath it. Nothing in the repo changed;
6526
+ <code>visual_check.mjs</code> had carried the same flags since <code>#209</code>.
6527
+
6528
+ <b>The sibling file predicted it, in a comment, by name.</b>
6529
+ <code>a11y_check.mjs</code> was fixed earlier to scope <code>--single-process</code>
6530
+ to the <code>chrome-headless-shell</code> binary, and its comment recorded why the
6531
+ other half of the directory was still exposed: <em>"visual_check.mjs already
6532
+ passes the flag … <code>--single-process</code> is a debug-only flag there whose
6533
+ interaction with new headless nothing in this repo exercises."</em> That is
6534
+ exactly the interaction that broke.
6535
+
6536
+ <b>Two candidate causes, both addressed, because the CI path cannot be
6537
+ reproduced locally.</b> <code>--single-process</code> is debug-only and
6538
+ unsupported against full Chrome; and <code>headless: "shell"</code> asks for the
6539
+ old headless mode, which Chrome removed from the main binary and now ships only
6540
+ as the separate <code>chrome-headless-shell</code> executable. Both are now
6541
+ conditioned on the same predicate the a11y harness uses, so against
6542
+ <code>/usr/bin/google-chrome</code> the sweep launches in new headless with
6543
+ neither flag — the shape <code>a11y_check.mjs</code> has been driving on this
6544
+ runner all along. Keyed on the <em>binary</em> rather than on
6545
+ <code>process.platform</code>: a macOS run pointed at full Chrome must not
6546
+ inherit a flag meant for the shell.
6547
+
6548
+ <b>What was verified, and what was not.</b> The harness runs end to end and
6549
+ passes <b>10 pages × 5 widths clean</b> against a downloaded
6550
+ <code>chrome-headless-shell</code> 152 — which also proves the docs pages
6551
+ themselves were never the problem. The flag selection was evaluated directly for
6552
+ four binary paths. The <em>CI</em> path is not locally reproducible and this card
6553
+ says so rather than implying otherwise: full Chrome cannot start under this macOS
6554
+ sandbox at all, aborting with <code>The browser is already running for
6555
+ &lt;fresh profile dir&gt;</code> from ProcessSingleton — a different error from
6556
+ CI's, so it is interference, not a reproduction. CI is the verifier.
6557
+
6558
+ <b>The ratchet.</b> <code>tests/unit/test_visual_harness_flags.py</code> fails
6559
+ the build if either harness hands a sandbox-only flag to a full Chrome, and if
6560
+ the two stop agreeing on the predicate. The bug here was not the flag — it was
6561
+ that one file was fixed and the other was not, and the only thing recording that
6562
+ was a comment. A comment cannot fail a build.</p>
6563
+ <div class="meta">
6564
+ <span class="m">Complexity <b>S</b></span>
6565
+ <span class="m hi">Impact <b>High</b></span>
6566
+ <span class="m">Wow <b class="wow">★★★★</b></span>
6567
+ <span class="m">a comment in the sibling file predicted this exact failure</span>
6568
+ </div>
6569
+ </article>
6510
6570
  <!-- /ROADMAP:cards -->
6511
6571
 
6512
6572
  </div>
@@ -0,0 +1,121 @@
1
+ """Unit tests: the Chrome flags the two headless sweeps launch with.
2
+
3
+ `tests/visual/` holds two puppeteer harnesses that drive the same binary on the
4
+ same runner — `visual_check.mjs` (render regression) and `a11y_check.mjs`
5
+ (axe-core). They must agree about `--single-process`, and for two days they did
6
+ not.
7
+
8
+ `--single-process` exists for one reason: `chrome-headless-shell` is the only
9
+ binary that starts under a macOS sandbox denying Mach port rendezvous, and it
10
+ needs the flag to get there. On CI the binary is `/usr/bin/google-chrome`, where
11
+ the flag is debug-only and unsupported. `a11y_check.mjs` was fixed to scope it to
12
+ the shell binary and its comment recorded that `visual_check.mjs` still passed it
13
+ unconditionally — that prediction came true when the runner image bumped Chrome:
14
+
15
+ TargetCloseError: Protocol error (Target.setAutoAttach): Target closed
16
+ at ChromeLauncher.launch (…/ChromeLauncher.js:39:16)
17
+
18
+ The browser died during the CDP startup handshake, so `sweep` failed before a
19
+ single page loaded — on every branch and on `main`. The tell that it was the
20
+ environment and not the repo: #515's own PR run passed on 2026-08-13 and the
21
+ byte-identical squash-merge failed on 2026-08-15.
22
+
23
+ These tests are the ratchet. The flag stays available for the sandbox that needs
24
+ it, and neither harness may hand it to a full Chrome again.
25
+ """
26
+ from __future__ import annotations
27
+
28
+ import re
29
+ from pathlib import Path
30
+
31
+ import pytest
32
+
33
+ ROOT = Path(__file__).resolve().parent.parent.parent
34
+ HARNESSES = {
35
+ "visual_check.mjs": ROOT / "tests" / "visual" / "visual_check.mjs",
36
+ "a11y_check.mjs": ROOT / "tests" / "visual" / "a11y_check.mjs",
37
+ }
38
+
39
+ #: Flags that only ever belong to the sandboxed `chrome-headless-shell` run.
40
+ #: `--in-process-gpu` is here because it is half of the same workaround — it
41
+ #: pairs with `--single-process` and is equally pointless against full Chrome.
42
+ SANDBOX_ONLY_FLAGS = ("--single-process", "--in-process-gpu")
43
+
44
+
45
+ def _source(name: str) -> str:
46
+ path = HARNESSES[name]
47
+ assert path.is_file(), "%s is missing" % path
48
+ return path.read_text(encoding="utf-8")
49
+
50
+
51
+ def _code_lines(src: str) -> list[str]:
52
+ """Source lines with `//` comments dropped.
53
+
54
+ The flag is *named* in prose in both files — that is the documentation, not
55
+ an invocation, and asserting over raw text would fail on the comment that
56
+ explains the rule.
57
+ """
58
+ out = []
59
+ for line in src.splitlines():
60
+ stripped = line.strip()
61
+ if stripped.startswith("//"):
62
+ continue
63
+ out.append(line.split("//", 1)[0])
64
+ return out
65
+
66
+
67
+ @pytest.mark.parametrize("name", sorted(HARNESSES))
68
+ class TestSandboxFlagsAreConditional:
69
+ def test_no_sandbox_only_flag_is_passed_unconditionally(self, name):
70
+ """A bare flag in the args array is what broke CI for two days."""
71
+ for line in _code_lines(_source(name)):
72
+ for flag in SANDBOX_ONLY_FLAGS:
73
+ if flag not in line:
74
+ continue
75
+ assert "?" in line or "&&" in line, (
76
+ "%s passes %s unconditionally (%r) — on CI the binary is "
77
+ "full Chrome, where it kills the browser at launch"
78
+ % (name, flag, line.strip()))
79
+
80
+ def test_the_guard_is_keyed_on_the_shell_binary(self, name):
81
+ """Scoped by *binary*, not by platform: what needs the flag is
82
+ `chrome-headless-shell`, and a macOS runner using full Chrome must not
83
+ inherit it."""
84
+ src = _source(name)
85
+ if not any(f in src for f in SANDBOX_ONLY_FLAGS):
86
+ pytest.skip("%s passes no sandbox-only flag" % name)
87
+ assert re.search(r"/chrome\[-_\]headless\[-_\]shell/\.test\(bin\)", src), (
88
+ "%s gates the flag on something other than the shell binary — "
89
+ "`process.platform` is the tempting wrong answer, because a macOS "
90
+ "run pointed at full Chrome would then inherit it" % name)
91
+
92
+ def test_ci_binary_path_is_still_a_candidate(self, name):
93
+ """The guard is only meaningful while CI really does use full Chrome."""
94
+ assert "/usr/bin/google-chrome" in _source(name)
95
+
96
+
97
+ class TestTheTwoHarnessesAgree:
98
+ """They drive the same binary on the same runner in the same job."""
99
+
100
+ def test_both_use_the_same_predicate(self):
101
+ preds = {}
102
+ for name in HARNESSES:
103
+ src = _source(name)
104
+ m = re.search(r"=\s*(/chrome.*?/)\.test\(bin\)", src)
105
+ preds[name] = m.group(1) if m else None
106
+ assert len(set(preds.values())) == 1, (
107
+ "the harnesses disagree about which binary needs the flag: %r"
108
+ % preds)
109
+ assert all(preds.values()), (
110
+ "a harness has no shell-binary predicate at all: %r" % preds)
111
+
112
+ def test_neither_hands_a_sandbox_flag_to_full_chrome(self):
113
+ """The end state, stated once over both files."""
114
+ offenders = [
115
+ (name, line.strip())
116
+ for name in HARNESSES
117
+ for line in _code_lines(_source(name))
118
+ for flag in SANDBOX_ONLY_FLAGS
119
+ if flag in line and "?" not in line and "&&" not in line
120
+ ]
121
+ assert not offenders, offenders
@@ -47,12 +47,40 @@ if (!bin) {
47
47
  process.exit(2);
48
48
  }
49
49
 
50
+ // `--single-process` (and the `--in-process-gpu` half of the same workaround)
51
+ // exists for exactly one binary: `chrome-headless-shell` is the only thing that
52
+ // starts under a macOS sandbox denying Mach port rendezvous, and it needs the
53
+ // flag to get there — see the matching block in a11y_check.mjs, which scoped it
54
+ // first and recorded that this file still passed it unconditionally.
55
+ //
56
+ // That prediction came true. On CI the binary is /usr/bin/google-chrome, where
57
+ // the flag is debug-only and unsupported; when the runner image bumped Chrome,
58
+ // the browser began dying during the CDP startup handshake and every `sweep`
59
+ // run failed before a page loaded:
60
+ //
61
+ // TargetCloseError: Protocol error (Target.setAutoAttach): Target closed
62
+ // at ChromeLauncher.launch (…/ChromeLauncher.js:39:16)
63
+ //
64
+ // The tell that it was the environment and not the repo: #515's own PR run
65
+ // passed on 2026-08-13 and the byte-identical squash-merge failed on 08-15.
66
+ //
67
+ // `headless` moves with it. "shell" is the old headless mode, which is what the
68
+ // separate chrome-headless-shell binary provides; against full Chrome we take
69
+ // puppeteer's default (new headless), which is the mode a11y_check.mjs has been
70
+ // driving on this runner all along. Keyed on the binary rather than on
71
+ // `process.platform`, so a macOS run pointed at full Chrome does not inherit a
72
+ // flag meant for the shell.
73
+ const needsSingleProcess = /chrome[-_]headless[-_]shell/.test(bin);
74
+
50
75
  const browser = await launch({
51
76
  executablePath: bin,
52
77
  pipe: true, // no listening socket (sandbox-safe)
53
- headless: "shell",
54
- args: ["--no-sandbox", "--disable-gpu", "--in-process-gpu", "--single-process",
55
- "--disable-dev-shm-usage", "--hide-scrollbars"],
78
+ ...(needsSingleProcess ? { headless: "shell" } : {}),
79
+ args: [
80
+ "--no-sandbox", "--disable-gpu", "--disable-dev-shm-usage",
81
+ "--hide-scrollbars",
82
+ ...(needsSingleProcess ? ["--in-process-gpu", "--single-process"] : []),
83
+ ],
56
84
  });
57
85
 
58
86
  // Containers allowed to hide content behind their own horizontal scroll.
File without changes
File without changes