boost-skill-cli 1.0.348__tar.gz → 1.0.349__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 (592) hide show
  1. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/PKG-INFO +1 -1
  2. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/_version.py +2 -2
  3. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_skill_cli.egg-info/PKG-INFO +1 -1
  4. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +15 -0
  5. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +41 -2
  6. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap.html +57 -4
  7. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.gitattributes +0 -0
  8. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.gitignore +0 -0
  9. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.gitleaks.toml +0 -0
  10. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.htmlvalidate.json +0 -0
  11. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.lighthouserc.json +0 -0
  12. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.lycheeignore +0 -0
  13. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.markdownlint-cli2.jsonc +0 -0
  14. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.pre-commit-config.yaml +0 -0
  15. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.stylelintrc.json +0 -0
  16. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.vale/styles/boost/Terminology.yml +0 -0
  17. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
  18. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/.vale.ini +0 -0
  19. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/CLAUDE.md +0 -0
  20. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/CODE_OF_CONDUCT.md +0 -0
  21. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/CONTRIBUTING.md +0 -0
  22. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/LICENSE +0 -0
  23. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/MANIFEST.in +0 -0
  24. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/Makefile +0 -0
  25. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/README.md +0 -0
  26. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/SECURITY.md +0 -0
  27. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost +0 -0
  28. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/__init__.py +0 -0
  29. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/__main__.py +0 -0
  30. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/cli.py +0 -0
  31. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/cliparse.py +0 -0
  32. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/__init__.py +0 -0
  33. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/_common.py +0 -0
  34. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/bmad.py +0 -0
  35. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/configuration.py +0 -0
  36. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/discovery.py +0 -0
  37. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/hooks.py +0 -0
  38. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/info.py +0 -0
  39. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/intelligence.py +0 -0
  40. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/pkg.py +0 -0
  41. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/quality.py +0 -0
  42. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/run.py +0 -0
  43. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/safety.py +0 -0
  44. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/taps.py +0 -0
  45. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/commands/team.py +0 -0
  46. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/__init__.py +0 -0
  47. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/adapters.py +0 -0
  48. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/agents.py +0 -0
  49. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/ai.py +0 -0
  50. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/capabilities.py +0 -0
  51. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/catalog.py +0 -0
  52. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/chat.py +0 -0
  53. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/claude_settings.py +0 -0
  54. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/config.py +0 -0
  55. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/dense.py +0 -0
  56. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/ed25519.py +0 -0
  57. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/embed.py +0 -0
  58. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/faithfulness.py +0 -0
  59. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/frontmatter.py +0 -0
  60. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/gitutil.py +0 -0
  61. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/imperative.py +0 -0
  62. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/injectscan.py +0 -0
  63. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/installscan.py +0 -0
  64. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/integrity.py +0 -0
  65. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/journal.py +0 -0
  66. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/localembed.py +0 -0
  67. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/lockfile.py +0 -0
  68. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/logs.py +0 -0
  69. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/mcp.py +0 -0
  70. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/mcpdecl.py +0 -0
  71. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/mcphost.py +0 -0
  72. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/minisign.py +0 -0
  73. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/nethttp.py +0 -0
  74. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/output.py +0 -0
  75. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/paths.py +0 -0
  76. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/policy.py +0 -0
  77. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/projectlock.py +0 -0
  78. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/provenance.py +0 -0
  79. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/rag.py +0 -0
  80. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/registry.py +0 -0
  81. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/resolve.py +0 -0
  82. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/rules.py +0 -0
  83. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/scopes.py +0 -0
  84. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/secretscan.py +0 -0
  85. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/selfupdate.py +0 -0
  86. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/serve.py +0 -0
  87. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/stackprobe.py +0 -0
  88. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/staleness.py +0 -0
  89. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/store.py +0 -0
  90. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/trustaudit.py +0 -0
  91. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/typosquat.py +0 -0
  92. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/updatediff.py +0 -0
  93. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/util.py +0 -0
  94. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/core/workflows.py +0 -0
  95. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/data/registries.json +0 -0
  96. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/errors.py +0 -0
  97. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_cli/spin.py +0 -0
  98. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
  99. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
  100. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_skill_cli.egg-info/entry_points.txt +0 -0
  101. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_skill_cli.egg-info/requires.txt +0 -0
  102. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/boost_skill_cli.egg-info/top_level.txt +0 -0
  103. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/codecov.yml +0 -0
  104. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/.claude/settings.local.json +0 -0
  105. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/DEBUGGING.md +0 -0
  106. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/adapters.html +0 -0
  107. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/architecture/README.md +0 -0
  108. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/architecture/c4-components-core.md +0 -0
  109. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/architecture/c4-containers.md +0 -0
  110. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/architecture/c4-context.md +0 -0
  111. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/architecture/c4-dynamic-install.md +0 -0
  112. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/distill.gif +0 -0
  113. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/doctor.gif +0 -0
  114. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/explain.gif +0 -0
  115. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/hooks.gif +0 -0
  116. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/install.gif +0 -0
  117. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/pulse.gif +0 -0
  118. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/search.gif +0 -0
  119. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/gifs/tap.gif +0 -0
  120. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/distill.tape +0 -0
  121. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/doctor.tape +0 -0
  122. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/explain.tape +0 -0
  123. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/hooks.tape +0 -0
  124. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/install.tape +0 -0
  125. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/pulse.tape +0 -0
  126. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/search.tape +0 -0
  127. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel/tapes/tap.tape +0 -0
  128. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/carousel.html +0 -0
  129. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/chat.html +0 -0
  130. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/commands.html +0 -0
  131. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/demo-index.json +0 -0
  132. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/demo.gif +0 -0
  133. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/demo.html +0 -0
  134. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/demo.tape +0 -0
  135. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/design-roadmap.html +0 -0
  136. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/eval.html +0 -0
  137. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/index.html +0 -0
  138. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/mcp-hub.html +0 -0
  139. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/rag-architecture.md +0 -0
  140. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D01.md +0 -0
  141. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D02.md +0 -0
  142. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D03.md +0 -0
  143. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D04.md +0 -0
  144. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D05.md +0 -0
  145. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D06.md +0 -0
  146. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D07.md +0 -0
  147. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D08.md +0 -0
  148. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D09.md +0 -0
  149. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D10.md +0 -0
  150. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D11.md +0 -0
  151. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D12.md +0 -0
  152. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D13.md +0 -0
  153. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D14.md +0 -0
  154. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D15.md +0 -0
  155. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D16.md +0 -0
  156. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D17.md +0 -0
  157. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D18.md +0 -0
  158. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D19.md +0 -0
  159. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D20.md +0 -0
  160. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D21.md +0 -0
  161. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D22.md +0 -0
  162. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D23.md +0 -0
  163. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D24.md +0 -0
  164. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D25.md +0 -0
  165. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/BOOST-D26.md +0 -0
  166. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
  167. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
  168. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
  169. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
  170. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
  171. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
  172. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
  173. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
  174. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
  175. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
  176. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/boost-run-live-agents.md +0 -0
  177. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
  178. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
  179. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
  180. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
  181. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
  182. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
  183. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
  184. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
  185. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
  186. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
  187. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
  188. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
  189. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
  190. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/command-carousel-page.md +0 -0
  191. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/command-reference-docs-site.md +0 -0
  192. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
  193. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
  194. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
  195. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
  196. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
  197. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
  198. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
  199. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
  200. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
  201. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
  202. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
  203. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
  204. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
  205. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
  206. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
  207. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
  208. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
  209. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
  210. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
  211. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
  212. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
  213. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
  214. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
  215. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
  216. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
  217. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
  218. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
  219. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
  220. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/github-community-health-files.md +0 -0
  221. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
  222. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
  223. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
  224. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/html-validation-html-validate.md +0 -0
  225. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
  226. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
  227. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
  228. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
  229. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
  230. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
  231. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
  232. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
  233. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
  234. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
  235. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
  236. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
  237. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/license-compliance-scanning.md +0 -0
  238. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
  239. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
  240. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
  241. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
  242. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
  243. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
  244. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
  245. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
  246. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
  247. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
  248. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
  249. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
  250. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
  251. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
  252. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-aware-skills.md +0 -0
  253. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
  254. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
  255. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
  256. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
  257. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
  258. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
  259. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
  260. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
  261. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
  262. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
  263. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
  264. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
  265. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
  266. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
  267. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
  268. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
  269. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
  270. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
  271. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
  272. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
  273. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
  274. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
  275. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
  276. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
  277. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
  278. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
  279. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
  280. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
  281. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
  282. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
  283. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
  284. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
  285. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
  286. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
  287. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
  288. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
  289. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
  290. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
  291. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
  292. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
  293. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
  294. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
  295. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
  296. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
  297. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
  298. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
  299. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
  300. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
  301. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
  302. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
  303. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
  304. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
  305. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/required-checks-config-drift.md +0 -0
  306. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
  307. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
  308. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
  309. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
  310. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
  311. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
  312. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
  313. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
  314. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
  315. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
  316. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
  317. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
  318. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
  319. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
  320. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
  321. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
  322. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
  323. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
  324. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
  325. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
  326. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
  327. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
  328. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
  329. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
  330. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
  331. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
  332. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
  333. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
  334. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
  335. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
  336. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
  337. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
  338. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
  339. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
  340. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
  341. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/typo-detection-codespell.md +0 -0
  342. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
  343. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
  344. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
  345. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
  346. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/update-diff-before-apply.md +0 -0
  347. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
  348. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
  349. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
  350. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
  351. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
  352. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
  353. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
  354. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
  355. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
  356. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/workspace-scope-install.md +0 -0
  357. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
  358. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/eslint.config.mjs +0 -0
  359. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/README.md +0 -0
  360. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/__init__.py +0 -0
  361. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/baseline.json +0 -0
  362. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/faithfulness.py +0 -0
  363. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/golden_set.json +0 -0
  364. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/make_corpus.py +0 -0
  365. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/make_golden.py +0 -0
  366. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/metrics.py +0 -0
  367. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/evals/run_evals.py +0 -0
  368. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/examples/README.md +0 -0
  369. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/examples/adapt-demo.sh +0 -0
  370. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/examples/boost-run-prototype.sh +0 -0
  371. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/index.html +0 -0
  372. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/noxfile.py +0 -0
  373. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/pyproject.toml +0 -0
  374. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/coverage-tools.in +0 -0
  375. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/coverage-tools.txt +0 -0
  376. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/lint-tools.in +0 -0
  377. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/lint-tools.txt +0 -0
  378. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/mutation-tools.in +0 -0
  379. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/mutation-tools.txt +0 -0
  380. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/platform-pins.lock +0 -0
  381. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/release-tools.in +0 -0
  382. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/release-tools.txt +0 -0
  383. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/test-tools.in +0 -0
  384. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/requirements/test-tools.txt +0 -0
  385. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/a11y_check.py +0 -0
  386. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/bench_cli.sh +0 -0
  387. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/build_command_reference.py +0 -0
  388. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/build_demo_index.py +0 -0
  389. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/build_registries.py +0 -0
  390. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/build_roadmap.py +0 -0
  391. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/check_anchors.py +0 -0
  392. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/check_licenses.py +0 -0
  393. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/check_required_checks.py +0 -0
  394. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/ensure_eval_corpus.sh +0 -0
  395. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/eval_explain.py +0 -0
  396. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/eval_gate.py +0 -0
  397. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/eval_recommend.py +0 -0
  398. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/eval_retrieval.py +0 -0
  399. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/eval_stats_summary.py +0 -0
  400. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/import_budget.py +0 -0
  401. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/lock_toolchain.py +0 -0
  402. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/mutation_gate.py +0 -0
  403. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/mutation_shards.py +0 -0
  404. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/mutation_weights.json +0 -0
  405. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/perf_gate.py +0 -0
  406. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/post_deploy_smoke.py +0 -0
  407. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/release_guard.py +0 -0
  408. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/scripts/release_preflight.py +0 -0
  409. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/setup.cfg +0 -0
  410. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/sonar-project.properties +0 -0
  411. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/style/README.md +0 -0
  412. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/style/boost.css +0 -0
  413. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/style/boost.js +0 -0
  414. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/style/demo.html +0 -0
  415. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/adapt.feature +0 -0
  416. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/browse.feature +0 -0
  417. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/count.feature +0 -0
  418. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/discover.feature +0 -0
  419. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/doctor.feature +0 -0
  420. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/environment.py +0 -0
  421. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/explain.feature +0 -0
  422. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/index.feature +0 -0
  423. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/install.feature +0 -0
  424. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/list.feature +0 -0
  425. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/mcp.feature +0 -0
  426. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/search.feature +0 -0
  427. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/steps/cli_steps.py +0 -0
  428. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/steps/discovery_steps.py +0 -0
  429. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/steps/mcp_steps.py +0 -0
  430. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/bdd/features/steps/quality_steps.py +0 -0
  431. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/conftest.py +0 -0
  432. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/eval/baseline.json +0 -0
  433. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/eval/explain.jsonl +0 -0
  434. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/eval/golden-natural.jsonl +0 -0
  435. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/eval/golden.jsonl +0 -0
  436. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/eval/recommend.jsonl +0 -0
  437. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/eval/taps.txt +0 -0
  438. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_capabilities_policy.py +0 -0
  439. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_adapt.py +0 -0
  440. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_bmad.py +0 -0
  441. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_chat.py +0 -0
  442. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_configuration.py +0 -0
  443. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_discovery.py +0 -0
  444. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_hooks.py +0 -0
  445. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_info.py +0 -0
  446. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_intelligence.py +0 -0
  447. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_pkg.py +0 -0
  448. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_quality.py +0 -0
  449. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_taps.py +0 -0
  450. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_cli_team.py +0 -0
  451. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_everyday_loop.py +0 -0
  452. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_integrity_enforce.py +0 -0
  453. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_property_parsers.py +0 -0
  454. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_run.py +0 -0
  455. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_tap_signing.py +0 -0
  456. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/functional/test_workspace_scope.py +0 -0
  457. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/README.md +0 -0
  458. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
  459. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
  460. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
  461. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
  462. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
  463. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
  464. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
  465. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
  466. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
  467. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
  468. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
  469. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
  470. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
  471. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/02-https.txt +0 -0
  472. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
  473. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
  474. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
  475. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/06-space.txt +0 -0
  476. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
  477. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
  478. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/fuzz_frontmatter.py +0 -0
  479. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/fuzz/fuzz_registry.py +0 -0
  480. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/make_fixture.py +0 -0
  481. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/perf/test_benchmarks.py +0 -0
  482. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/smoke.sh +0 -0
  483. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_a11y_check.py +0 -0
  484. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_adapters.py +0 -0
  485. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_adapters_multi.py +0 -0
  486. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_adapters_runner.py +0 -0
  487. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_agents.py +0 -0
  488. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_ai.py +0 -0
  489. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_capabilities.py +0 -0
  490. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_catalog.py +0 -0
  491. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_chat.py +0 -0
  492. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_check_anchors.py +0 -0
  493. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_check_licenses.py +0 -0
  494. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_claude_settings.py +0 -0
  495. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_cliparse.py +0 -0
  496. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_codeql_analysis_key.py +0 -0
  497. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_command_reference_fresh.py +0 -0
  498. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_community_health_files.py +0 -0
  499. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_config.py +0 -0
  500. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_content_dedupe.py +0 -0
  501. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dedup_trust.py +0 -0
  502. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_demo_index.py +0 -0
  503. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dense.py +0 -0
  504. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dense_fallback.py +0 -0
  505. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dense_fix_hint.py +0 -0
  506. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dense_shards.py +0 -0
  507. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dense_status.py +0 -0
  508. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_dependabot_config.py +0 -0
  509. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_docs_pages_linked.py +0 -0
  510. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_docsite_chrome.py +0 -0
  511. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_ed25519.py +0 -0
  512. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_embed.py +0 -0
  513. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_embed_local.py +0 -0
  514. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_entry_key.py +0 -0
  515. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_errors_and_cli_table.py +0 -0
  516. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_eval_baseline.py +0 -0
  517. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_eval_faithfulness.py +0 -0
  518. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_eval_gate.py +0 -0
  519. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_eval_metrics.py +0 -0
  520. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_eval_stats_summary.py +0 -0
  521. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_faithfulness.py +0 -0
  522. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_frontmatter.py +0 -0
  523. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_fuzz_targets.py +0 -0
  524. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_gitleaks_config.py +0 -0
  525. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_gitutil.py +0 -0
  526. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_imperative.py +0 -0
  527. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_import_budget.py +0 -0
  528. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_injectscan.py +0 -0
  529. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_installscan.py +0 -0
  530. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_integrity.py +0 -0
  531. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_journal.py +0 -0
  532. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_localembed.py +0 -0
  533. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_localembed_e2e.py +0 -0
  534. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_lockfile.py +0 -0
  535. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_logs.py +0 -0
  536. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_marketing_counts.py +0 -0
  537. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mcp.py +0 -0
  538. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mcp_install_scan.py +0 -0
  539. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mcpdecl.py +0 -0
  540. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mcphost.py +0 -0
  541. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_minisign.py +0 -0
  542. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mutation_hardening.py +0 -0
  543. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mutation_shards.py +0 -0
  544. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mutation_subfile_shards.py +0 -0
  545. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_mutmut_source_paths.py +0 -0
  546. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_nethttp.py +0 -0
  547. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_output.py +0 -0
  548. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_paths.py +0 -0
  549. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_perf_gate.py +0 -0
  550. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_pkg_confusions.py +0 -0
  551. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_pkg_injection.py +0 -0
  552. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_pkg_secrets.py +0 -0
  553. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_platform_pins.py +0 -0
  554. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_policy.py +0 -0
  555. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_post_deploy_smoke.py +0 -0
  556. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_project_mcp_sidecar.py +0 -0
  557. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_projectlock.py +0 -0
  558. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_provenance.py +0 -0
  559. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_rag.py +0 -0
  560. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_rag_fusion.py +0 -0
  561. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_registries_fresh.py +0 -0
  562. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_registry.py +0 -0
  563. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_registry_categories.py +0 -0
  564. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_release_guard.py +0 -0
  565. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_release_preflight.py +0 -0
  566. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_required_checks.py +0 -0
  567. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_resolve.py +0 -0
  568. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_roadmap_fresh.py +0 -0
  569. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_rules.py +0 -0
  570. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_scopes.py +0 -0
  571. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_secretscan.py +0 -0
  572. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_selfupdate.py +0 -0
  573. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_serve.py +0 -0
  574. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_spin.py +0 -0
  575. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_stackprobe.py +0 -0
  576. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_staleness.py +0 -0
  577. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_store.py +0 -0
  578. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_token_parity.py +0 -0
  579. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_toolchain_lock.py +0 -0
  580. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_trustaudit.py +0 -0
  581. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_typosquat.py +0 -0
  582. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_updatediff.py +0 -0
  583. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_util.py +0 -0
  584. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_version.py +0 -0
  585. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_workflow_concurrency.py +0 -0
  586. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_workflow_timeouts.py +0 -0
  587. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/unit/test_workflows.py +0 -0
  588. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/visual/a11y_check.mjs +0 -0
  589. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/visual/console_check.mjs +0 -0
  590. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/visual/package-lock.json +0 -0
  591. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/tests/visual/package.json +0 -0
  592. {boost_skill_cli-1.0.348 → boost_skill_cli-1.0.349}/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.348
3
+ Version: 1.0.349
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.348'
22
- __version_tuple__ = version_tuple = (1, 0, 348)
21
+ __version__ = version = '1.0.349'
22
+ __version_tuple__ = version_tuple = (1, 0, 349)
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.348
3
+ Version: 1.0.349
4
4
  Summary: boost — Homebrew for AI coding skills
5
5
  Author: Jonathan Reyes
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -72,3 +72,18 @@ Nothing in the tree needed changing. Recording it as shipped rather than deletin
72
72
  card's analysis was right about <em>where</em> the blocker was: the earlier investigation had chased
73
73
  <code>demo.yml</code>'s own <code>permissions:</code> block, and the note that no edit to the workflow
74
74
  could fix a repository-level setting is what stopped that from being a long false lead.
75
+
76
+ <b>Update &mdash; the repository setting this card called immovable has been turned on.</b> The API
77
+ now reports <code>can_approve_pull_request_reviews: <b>true</b></code>, <code>demo.yml</code>
78
+ succeeds on every push to <code>main</code>, and it has opened real pull requests as
79
+ <code>github-actions[bot]</code> (<code>#353</code>, <code>#394</code>). So the coupled item
80
+ [[scheduled-toolchain-lock-regeneration]] was unblocked too, and shipped on the strength of it.
81
+
82
+ <b>What did not change is the check-run consequence</b>, which is worth keeping on the record
83
+ because it is invisible: a PR opened this way lands with <b>zero</b> check runs, since
84
+ <code>create-pull-request</code> pushes with <code>GITHUB_TOKEN</code> and a
85
+ <code>GITHUB_TOKEN</code> push never triggers workflows. Measured on both bot PRs &mdash;
86
+ <code>ffc07b0</code> and <code>a9da922</code> each had 0, and the same commits had 27 after an
87
+ <i>Update branch</i>. An empty check list is indistinguishable from "CI has not started yet", so a
88
+ bot PR can look ready to merge while nothing has run.
89
+
@@ -2,12 +2,12 @@
2
2
  id: scheduled-toolchain-lock-regeneration
3
3
  board: code
4
4
  section: internals
5
- status: planned
5
+ status: shipped
6
6
  category: Build · Gap
7
7
  complexity: M
8
8
  impact: Med
9
9
  wow: 2
10
- note: the toolchain lock now has no proactive update path — by choice, but nothing replaces it yet
10
+ note: the blocker this card recorded had already been lifted — re-checked, not assumed
11
11
  order: 36
12
12
  owner:
13
13
  pr:
@@ -87,3 +87,42 @@ when the regenerated lock fails <code>lock_toolchain.py --check</code> on a runn
87
87
  untested scheduled workflow that opens PRs against <code>main</code> is worse than shipping nothing.
88
88
  The value of this note is that the next person picking it up starts from &ldquo;build it&rdquo;
89
89
  rather than from &ldquo;it cannot be built&rdquo;.
90
+
91
+ <b>Shipped as <code>.github/workflows/lock-refresh.yml</code>, and the first thing that had to be
92
+ re-checked was this card's own blocker.</b> It states the work is blocked because
93
+ Actions&nbsp;&rarr;&nbsp;Workflow permissions forbids creating pull requests, citing
94
+ <code>can_approve_pull_request_reviews: false</code>. That is no longer true: the API now returns
95
+ <b><code>true</code></b>, <code>demo.yml</code> succeeds on every push to <code>main</code>, and it
96
+ opened <code>#353</code> and <code>#394</code> as <code>github-actions[bot]</code>. A blocker
97
+ recorded once is a claim with an expiry date; this one had quietly lapsed, and the card would have
98
+ kept the item shelved indefinitely.
99
+
100
+ <b>One PR for all five groups &mdash; a deliberate departure from what this card proposed.</b> The
101
+ card suggested per-group jobs so a bump stays reviewable. Two things measured while building it
102
+ argue the other way. <code>lock_toolchain.py</code> has <b>no per-group flag</b>
103
+ (<code>--upgrade</code> always re-resolves all five), so a five-job matrix would run the same
104
+ resolution five times and commit one file from each. And a PR opened this way arrives with
105
+ <b>zero check runs</b> &mdash; <code>create-pull-request</code> pushes with
106
+ <code>GITHUB_TOKEN</code>, which never triggers workflows &mdash; so every one of them costs a human
107
+ a manual <i>Update branch</i> before CI reports at all. Five PRs a month is five full CI runs and
108
+ five manual unblocks to review what is usually a list of version bumps. Reviewability is bought
109
+ instead with a <b>monthly</b> cadence and a per-group diffstat in the PR body.
110
+
111
+ <b>The other three constraints this card named were met as written.</b> <code>uv</code> and the
112
+ network are provisioned the same way <code>ci.yml</code> does it (<code>pip install uv</code>, then
113
+ the script). <code>--audit</code> runs as its own invocation, because the script refuses it
114
+ alongside <code>--upgrade</code> &mdash; auditing a file mid-replacement reads the old bytes &mdash;
115
+ and a failure there means no PR is opened. Every <code>uses:</code> is pinned to the same peeled
116
+ SHAs the repo already uses, permissions are <code>contents: read</code> at the top with the two
117
+ writes scoped to the one job, and no <code>merge_group:</code> trigger is needed because this is not
118
+ a required context (<code>check_required_checks.py</code> passes).
119
+
120
+ <b>Verified before pushing:</b> the workflow parses, and <code>zizmor</code> reports <b>no
121
+ findings</b>. That clean result was itself checked rather than trusted &mdash; re-running the
122
+ scanner against a copy with <code>${{ github.event.head_commit.message }}</code> spliced into a
123
+ <code>run:</code> block produces a high-severity <code>template-injection</code>, so the scanner is
124
+ genuinely reading this file. That check exists because an earlier workflow in this repo
125
+ (<code>shards.yml</code>) shipped exactly that hole.
126
+
127
+ <b>Unproven until it runs:</b> the first scheduled execution is the first end-to-end exercise.
128
+
@@ -1806,8 +1806,9 @@ validator that rejects values below 1; reuse it here.</p></details>
1806
1806
  </article>
1807
1807
 
1808
1808
  <article class="cap rcard" id="scheduled-toolchain-lock-regeneration">
1809
- <div class="head"><span class="pill planned">Planned</span><span class="cat">Build · Gap</span></div>
1809
+ <div class="head"><span class="pill shipped">Shipped</span><span class="cat">Build · Gap</span></div>
1810
1810
  <h3>The toolchain lock has no proactive update path any more</h3>
1811
+ <details class="cardbody"><summary>Write-up</summary>
1811
1812
  <p><code>#342</code> set <code>open-pull-requests-limit: 0</code> on the <code>/requirements</code>
1812
1813
  Dependabot entry, because Dependabot cannot regenerate a hash-pinned universal lock without dropping
1813
1814
  the pins whose environment markers exclude them on the resolving platform (see
@@ -1881,12 +1882,50 @@ Deliberately left unimplemented here. It needs a real decision about cadence and
1881
1882
  when the regenerated lock fails <code>lock_toolchain.py --check</code> on a runner, and shipping an
1882
1883
  untested scheduled workflow that opens PRs against <code>main</code> is worse than shipping nothing.
1883
1884
  The value of this note is that the next person picking it up starts from &ldquo;build it&rdquo;
1884
- rather than from &ldquo;it cannot be built&rdquo;.</p>
1885
+ rather than from &ldquo;it cannot be built&rdquo;.
1886
+
1887
+ <b>Shipped as <code>.github/workflows/lock-refresh.yml</code>, and the first thing that had to be
1888
+ re-checked was this card's own blocker.</b> It states the work is blocked because
1889
+ Actions&nbsp;&rarr;&nbsp;Workflow permissions forbids creating pull requests, citing
1890
+ <code>can_approve_pull_request_reviews: false</code>. That is no longer true: the API now returns
1891
+ <b><code>true</code></b>, <code>demo.yml</code> succeeds on every push to <code>main</code>, and it
1892
+ opened <code>#353</code> and <code>#394</code> as <code>github-actions[bot]</code>. A blocker
1893
+ recorded once is a claim with an expiry date; this one had quietly lapsed, and the card would have
1894
+ kept the item shelved indefinitely.
1895
+
1896
+ <b>One PR for all five groups &mdash; a deliberate departure from what this card proposed.</b> The
1897
+ card suggested per-group jobs so a bump stays reviewable. Two things measured while building it
1898
+ argue the other way. <code>lock_toolchain.py</code> has <b>no per-group flag</b>
1899
+ (<code>--upgrade</code> always re-resolves all five), so a five-job matrix would run the same
1900
+ resolution five times and commit one file from each. And a PR opened this way arrives with
1901
+ <b>zero check runs</b> &mdash; <code>create-pull-request</code> pushes with
1902
+ <code>GITHUB_TOKEN</code>, which never triggers workflows &mdash; so every one of them costs a human
1903
+ a manual <i>Update branch</i> before CI reports at all. Five PRs a month is five full CI runs and
1904
+ five manual unblocks to review what is usually a list of version bumps. Reviewability is bought
1905
+ instead with a <b>monthly</b> cadence and a per-group diffstat in the PR body.
1906
+
1907
+ <b>The other three constraints this card named were met as written.</b> <code>uv</code> and the
1908
+ network are provisioned the same way <code>ci.yml</code> does it (<code>pip install uv</code>, then
1909
+ the script). <code>--audit</code> runs as its own invocation, because the script refuses it
1910
+ alongside <code>--upgrade</code> &mdash; auditing a file mid-replacement reads the old bytes &mdash;
1911
+ and a failure there means no PR is opened. Every <code>uses:</code> is pinned to the same peeled
1912
+ SHAs the repo already uses, permissions are <code>contents: read</code> at the top with the two
1913
+ writes scoped to the one job, and no <code>merge_group:</code> trigger is needed because this is not
1914
+ a required context (<code>check_required_checks.py</code> passes).
1915
+
1916
+ <b>Verified before pushing:</b> the workflow parses, and <code>zizmor</code> reports <b>no
1917
+ findings</b>. That clean result was itself checked rather than trusted &mdash; re-running the
1918
+ scanner against a copy with <code>${{ github.event.head_commit.message }}</code> spliced into a
1919
+ <code>run:</code> block produces a high-severity <code>template-injection</code>, so the scanner is
1920
+ genuinely reading this file. That check exists because an earlier workflow in this repo
1921
+ (<code>shards.yml</code>) shipped exactly that hole.
1922
+
1923
+ <b>Unproven until it runs:</b> the first scheduled execution is the first end-to-end exercise.</p></details>
1885
1924
  <div class="meta">
1886
1925
  <span class="m">Complexity <b>M</b></span>
1887
1926
  <span class="m">Impact <b>Med</b></span>
1888
1927
  <span class="m">Wow <b class="wow">★★</b></span>
1889
- <span class="m">the toolchain lock now has no proactive update path — by choice, but nothing replaces it yet</span>
1928
+ <span class="m">the blocker this card recorded had already been lifted — re-checked, not assumed</span>
1890
1929
  </div>
1891
1930
  </article>
1892
1931
 
@@ -3713,7 +3752,21 @@ this card says is impossible.
3713
3752
  Nothing in the tree needed changing. Recording it as shipped rather than deleting it, because the
3714
3753
  card's analysis was right about <em>where</em> the blocker was: the earlier investigation had chased
3715
3754
  <code>demo.yml</code>'s own <code>permissions:</code> block, and the note that no edit to the workflow
3716
- could fix a repository-level setting is what stopped that from being a long false lead.</p></details>
3755
+ could fix a repository-level setting is what stopped that from being a long false lead.
3756
+
3757
+ <b>Update &mdash; the repository setting this card called immovable has been turned on.</b> The API
3758
+ now reports <code>can_approve_pull_request_reviews: <b>true</b></code>, <code>demo.yml</code>
3759
+ succeeds on every push to <code>main</code>, and it has opened real pull requests as
3760
+ <code>github-actions[bot]</code> (<code>#353</code>, <code>#394</code>). So the coupled item
3761
+ [[scheduled-toolchain-lock-regeneration]] was unblocked too, and shipped on the strength of it.
3762
+
3763
+ <b>What did not change is the check-run consequence</b>, which is worth keeping on the record
3764
+ because it is invisible: a PR opened this way lands with <b>zero</b> check runs, since
3765
+ <code>create-pull-request</code> pushes with <code>GITHUB_TOKEN</code> and a
3766
+ <code>GITHUB_TOKEN</code> push never triggers workflows. Measured on both bot PRs &mdash;
3767
+ <code>ffc07b0</code> and <code>a9da922</code> each had 0, and the same commits had 27 after an
3768
+ <i>Update branch</i>. An empty check list is indistinguishable from "CI has not started yet", so a
3769
+ bot PR can look ready to merge while nothing has run.</p></details>
3717
3770
  <div class="meta">
3718
3771
  <span class="m">Complexity <b>S</b></span>
3719
3772
  <span class="m">Impact <b>Med</b></span>