boost-skill-cli 1.0.445__tar.gz → 1.0.446__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.
- {boost_skill_cli-1.0.445/boost_skill_cli.egg-info → boost_skill_cli-1.0.446}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/store.py +13 -1
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446/boost_skill_cli.egg-info}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/SOURCES.txt +2 -0
- boost_skill_cli-1.0.446/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +53 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap.html +51 -1
- boost_skill_cli-1.0.446/tests/unit/test_sync_repairs_gutted_skill.py +96 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.gitattributes +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.gitignore +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.lycheeignore +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/.vale.ini +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/LICENSE +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/Makefile +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/README.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/bmad.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/bootstrap.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/builtin.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/chat.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/complete.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/installscan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/localembed.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/mcphost.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/data/rules/boost-first.mdc +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_langchain/__init__.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_langchain/_compat.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_langchain/graph.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_langchain/loader.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_langchain/py.typed +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_langchain/retriever.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/codecov.yml +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/adapters.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/architecture/README.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/architecture/c4-components-core.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/architecture/c4-containers.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/architecture/c4-context.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/architecture/c4-dynamic-install.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/carousel.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/chat.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/commands.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/demo-index.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/demo.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/eval-latest.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/index.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/langchain.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/boost-first-rule.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/install-path-disambiguation.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/zip-strict-audit.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/README.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/__init__.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/baseline.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/metrics.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/examples/README.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/index.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/noxfile.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/platform-pins.lock +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/build_demo_index.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/build_scale_corpus.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/eval_corpus.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/measure_registry.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/page_budget.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/publish_eval_json.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/release_guard.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/scripts/serve_docs.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/setup.cfg +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/sonar-project.properties +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/style/README.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/style/boost.css +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/style/boost.js +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/style/demo.html +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/golden-natural.jsonl +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/taps-scale.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_chat.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_kind_conformance.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/langchain/conftest.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/langchain/test_graph.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/langchain/test_loader.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/langchain/test_retriever.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_action_pin_lockstep.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_bmad_core.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_boost_first_offer.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_bootstrap.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_builtin.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_chat.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_complete.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_content_dedupe.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dedup_trust.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_demo_index.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dense_fix_hint.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dense_shards.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dense_status.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_embed_local.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_entry_key.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_baseline.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_corpus.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_grading.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_gemini_agent_sanitize.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_gitutil_lfs.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_installscan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_langchain_packaging.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_link_ownership.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_localembed.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_localembed_e2e.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_marketing_counts.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mcp_install_scan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mcphost.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_measure_registry.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mutation_subfile_shards.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_page_budget.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_platform_pins.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_project_mcp_sidecar.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_rag_fusion.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_registry_categories.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_registry_control_chars.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_release_guard.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_scale_corpus.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_serve_docs.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_smoke_covers_every_command.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_workflow_concurrency.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_workflow_concurrency_groups.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_workflow_push_has_credentials.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/visual/package-lock.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/tests/visual/visual_check.mjs +0 -0
|
@@ -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.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 0,
|
|
21
|
+
__version__ = version = '1.0.446'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 446)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1269,7 +1269,19 @@ def sync_plan() -> dict[str, list]:
|
|
|
1269
1269
|
"missing_materializations": [], "out_of_scope_links": []}
|
|
1270
1270
|
for name, entry in lock.items():
|
|
1271
1271
|
sdir = skill_store_dir(name)
|
|
1272
|
-
|
|
1272
|
+
# A directory with no SKILL.md counts as missing, not as healthy. The
|
|
1273
|
+
# check used to be `is_dir()` alone, and the gap was reachable: an
|
|
1274
|
+
# interrupted copy, a partial rsync or a user deleting the file leaves
|
|
1275
|
+
# the directory behind. `boost edit` and `boost evolve` both refuse such
|
|
1276
|
+
# a skill with the hint "repair the store with `boost sync`" — and sync
|
|
1277
|
+
# would answer "everything in sync", change nothing, and send the reader
|
|
1278
|
+
# back to the same error. The remedy named the step they had just run.
|
|
1279
|
+
#
|
|
1280
|
+
# `missing_store` is the right bucket rather than a new one: its repair
|
|
1281
|
+
# is already "reinstall this skill from its tap", which is exactly what
|
|
1282
|
+
# a gutted directory needs, and reusing it means sync_apply needs no
|
|
1283
|
+
# change at all.
|
|
1284
|
+
if not sdir.is_dir() or not (sdir / "SKILL.md").is_file():
|
|
1273
1285
|
plan["missing_store"].append(name)
|
|
1274
1286
|
continue
|
|
1275
1287
|
if entry.get("quarantined"):
|
|
@@ -394,6 +394,7 @@ docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md
|
|
|
394
394
|
docs/roadmap/items/structured-json-log-output-mode.md
|
|
395
395
|
docs/roadmap/items/supply-chain-posture-openssf-scorecard.md
|
|
396
396
|
docs/roadmap/items/surface-every-docs-page-from-the-guide.md
|
|
397
|
+
docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md
|
|
397
398
|
docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md
|
|
398
399
|
docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md
|
|
399
400
|
docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md
|
|
@@ -668,6 +669,7 @@ tests/unit/test_spin.py
|
|
|
668
669
|
tests/unit/test_stackprobe.py
|
|
669
670
|
tests/unit/test_staleness.py
|
|
670
671
|
tests/unit/test_store.py
|
|
672
|
+
tests/unit/test_sync_repairs_gutted_skill.py
|
|
671
673
|
tests/unit/test_token_parity.py
|
|
672
674
|
tests/unit/test_toolchain_lock.py
|
|
673
675
|
tests/unit/test_trustaudit.py
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: sync-could-not-repair-a-gutted-skill
|
|
3
|
+
board: code
|
|
4
|
+
section: internals
|
|
5
|
+
status: shipped
|
|
6
|
+
category: Bug
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 4
|
|
10
|
+
note: two commands named `boost sync` as the repair; sync answered "everything in sync" and changed nothing
|
|
11
|
+
order: 111
|
|
12
|
+
owner: fix/sync-repairs-gutted-skill
|
|
13
|
+
pr:
|
|
14
|
+
title: The repair command could not repair the thing two commands sent you to it for
|
|
15
|
+
---
|
|
16
|
+
<code>boost edit</code> and <code>boost evolve</code> both refuse a skill whose <code>SKILL.md</code>
|
|
17
|
+
is gone, and both name the same remedy:
|
|
18
|
+
|
|
19
|
+
<code>Error: SKILL.md missing from ~/.agents/skills/brainstorming</code><br>
|
|
20
|
+
<code> hint: repair the store with <b>boost sync</b></code>
|
|
21
|
+
|
|
22
|
+
It could not. <code>sync_plan</code> classified a skill as <code>missing_store</code> only when its
|
|
23
|
+
<b>directory</b> was absent (<code>if not sdir.is_dir()</code>), so a directory that still existed
|
|
24
|
+
but had been emptied read as perfectly healthy. Running the named remedy printed
|
|
25
|
+
<b><code>✓ everything in sync</code></b>, changed nothing, and the next <code>boost edit</code>
|
|
26
|
+
produced the identical error. <code>boost heal</code> said <code>nothing to heal</code>.
|
|
27
|
+
<code>boost update</code> said <code>everything up to date</code>. The one command that did repair
|
|
28
|
+
it — <code>boost reinstall</code> — was named by neither hint.
|
|
29
|
+
|
|
30
|
+
<b>That is a loop, not a bad message.</b> The reader runs the suggested fix, observes no change,
|
|
31
|
+
and has no next move — every diagnostic in the tool agrees the store is fine while the command in
|
|
32
|
+
front of them insists it is not. It is the same defect as the shard exporter fixed earlier this
|
|
33
|
+
session, which answered "no vectors — build them first with <code>reindex --dense</code>" inside a
|
|
34
|
+
CI job where <code>reindex --dense</code> had just succeeded on the line above.
|
|
35
|
+
|
|
36
|
+
<b>The state is ordinary, not exotic.</b> An interrupted copy, a partial rsync, a half-finished disk
|
|
37
|
+
cleanup, or a user deleting the file to "start fresh" all leave the directory standing.
|
|
38
|
+
|
|
39
|
+
<b>Why the suite could not see it.</b> One test pins that hint, in
|
|
40
|
+
<code>tests/functional/test_cli_pkg.py</code>, and it removes the <i>whole directory</i> with
|
|
41
|
+
<code>shutil.rmtree</code> — the case <code>sync</code> already handled. Nothing ever deleted just
|
|
42
|
+
the file, so the <i>file-level</i> check in the two commands and the <i>directory-level</i> check in
|
|
43
|
+
<code>sync</code> were never compared with each other. Both were individually correct; the defect
|
|
44
|
+
lived only in the gap between them, which is where three of this session's other bugs also lived.
|
|
45
|
+
|
|
46
|
+
<b>Fixed in the detection, not the repair.</b> <code>sync_apply</code> already knows how to restore a
|
|
47
|
+
<code>missing_store</code> entry — it reinstalls from the recorded tap — so the change is one
|
|
48
|
+
condition, and <code>missing_store</code> is the right bucket precisely because its existing repair
|
|
49
|
+
is what a gutted directory needs. Seven tests pin both directions: the gutted case is now reported
|
|
50
|
+
<i>and</i> actually restored, the wholly-missing directory still is, a healthy skill still is not
|
|
51
|
+
(or <code>sync</code> would reinstall everything on every run), and the restored file is
|
|
52
|
+
byte-identical to the original — restoring an <i>empty</i> SKILL.md would satisfy every other
|
|
53
|
+
assertion and leave <code>boost edit</code> opening a blank document.
|
|
@@ -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>
|
|
136
|
+
<div class="stat"><b>243</b><span>Loop finds</span></div>
|
|
137
137
|
<!-- /ROADMAP:stats -->
|
|
138
138
|
</div>
|
|
139
139
|
</section>
|
|
@@ -3790,6 +3790,56 @@ looking is worse than no guard, because the green tick still appears.</p></detai
|
|
|
3790
3790
|
<span class="m">one codeql-action release arrived as 3 PRs, 2 red — and the green one was the misleading part</span>
|
|
3791
3791
|
</div>
|
|
3792
3792
|
</article>
|
|
3793
|
+
|
|
3794
|
+
<article class="cap rcard" id="sync-could-not-repair-a-gutted-skill">
|
|
3795
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Bug</span></div>
|
|
3796
|
+
<h3>The repair command could not repair the thing two commands sent you to it for</h3>
|
|
3797
|
+
<details class="cardbody"><summary>Write-up</summary>
|
|
3798
|
+
<p><code>boost edit</code> and <code>boost evolve</code> both refuse a skill whose <code>SKILL.md</code>
|
|
3799
|
+
is gone, and both name the same remedy:
|
|
3800
|
+
|
|
3801
|
+
<code>Error: SKILL.md missing from ~/.agents/skills/brainstorming</code><br>
|
|
3802
|
+
<code> hint: repair the store with <b>boost sync</b></code>
|
|
3803
|
+
|
|
3804
|
+
It could not. <code>sync_plan</code> classified a skill as <code>missing_store</code> only when its
|
|
3805
|
+
<b>directory</b> was absent (<code>if not sdir.is_dir()</code>), so a directory that still existed
|
|
3806
|
+
but had been emptied read as perfectly healthy. Running the named remedy printed
|
|
3807
|
+
<b><code>✓ everything in sync</code></b>, changed nothing, and the next <code>boost edit</code>
|
|
3808
|
+
produced the identical error. <code>boost heal</code> said <code>nothing to heal</code>.
|
|
3809
|
+
<code>boost update</code> said <code>everything up to date</code>. The one command that did repair
|
|
3810
|
+
it — <code>boost reinstall</code> — was named by neither hint.
|
|
3811
|
+
|
|
3812
|
+
<b>That is a loop, not a bad message.</b> The reader runs the suggested fix, observes no change,
|
|
3813
|
+
and has no next move — every diagnostic in the tool agrees the store is fine while the command in
|
|
3814
|
+
front of them insists it is not. It is the same defect as the shard exporter fixed earlier this
|
|
3815
|
+
session, which answered "no vectors — build them first with <code>reindex --dense</code>" inside a
|
|
3816
|
+
CI job where <code>reindex --dense</code> had just succeeded on the line above.
|
|
3817
|
+
|
|
3818
|
+
<b>The state is ordinary, not exotic.</b> An interrupted copy, a partial rsync, a half-finished disk
|
|
3819
|
+
cleanup, or a user deleting the file to "start fresh" all leave the directory standing.
|
|
3820
|
+
|
|
3821
|
+
<b>Why the suite could not see it.</b> One test pins that hint, in
|
|
3822
|
+
<code>tests/functional/test_cli_pkg.py</code>, and it removes the <i>whole directory</i> with
|
|
3823
|
+
<code>shutil.rmtree</code> — the case <code>sync</code> already handled. Nothing ever deleted just
|
|
3824
|
+
the file, so the <i>file-level</i> check in the two commands and the <i>directory-level</i> check in
|
|
3825
|
+
<code>sync</code> were never compared with each other. Both were individually correct; the defect
|
|
3826
|
+
lived only in the gap between them, which is where three of this session's other bugs also lived.
|
|
3827
|
+
|
|
3828
|
+
<b>Fixed in the detection, not the repair.</b> <code>sync_apply</code> already knows how to restore a
|
|
3829
|
+
<code>missing_store</code> entry — it reinstalls from the recorded tap — so the change is one
|
|
3830
|
+
condition, and <code>missing_store</code> is the right bucket precisely because its existing repair
|
|
3831
|
+
is what a gutted directory needs. Seven tests pin both directions: the gutted case is now reported
|
|
3832
|
+
<i>and</i> actually restored, the wholly-missing directory still is, a healthy skill still is not
|
|
3833
|
+
(or <code>sync</code> would reinstall everything on every run), and the restored file is
|
|
3834
|
+
byte-identical to the original — restoring an <i>empty</i> SKILL.md would satisfy every other
|
|
3835
|
+
assertion and leave <code>boost edit</code> opening a blank document.</p></details>
|
|
3836
|
+
<div class="meta">
|
|
3837
|
+
<span class="m">Complexity <b>S</b></span>
|
|
3838
|
+
<span class="m">Impact <b>Med</b></span>
|
|
3839
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
3840
|
+
<span class="m">two commands named `boost sync` as the repair; sync answered "everything in sync" and changed nothing</span>
|
|
3841
|
+
</div>
|
|
3842
|
+
</article>
|
|
3793
3843
|
<!-- /ROADMAP:cards -->
|
|
3794
3844
|
|
|
3795
3845
|
</div>
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""Unit tests: `boost sync` repairs a skill whose SKILL.md is gone, not just a missing dir.
|
|
2
|
+
|
|
3
|
+
Two commands tell the user that `boost sync` is the repair for a missing
|
|
4
|
+
``SKILL.md``::
|
|
5
|
+
|
|
6
|
+
$ boost edit brainstorming
|
|
7
|
+
Error: SKILL.md missing from ~/.agents/skills/brainstorming
|
|
8
|
+
hint: repair the store with `boost sync`
|
|
9
|
+
|
|
10
|
+
$ boost evolve brainstorming --feedback ...
|
|
11
|
+
Error: brainstorming has no SKILL.md in the store
|
|
12
|
+
hint: repair with `boost sync`
|
|
13
|
+
|
|
14
|
+
It was not. ``sync_plan`` classified a skill as ``missing_store`` only when its
|
|
15
|
+
**directory** was absent (``if not sdir.is_dir()``), so a directory that still
|
|
16
|
+
existed but had been emptied read as healthy. ``boost sync`` printed
|
|
17
|
+
``✓ everything in sync``, changed nothing, and the next ``boost edit`` produced
|
|
18
|
+
the identical error — advice that sends the reader round a loop they have
|
|
19
|
+
already completed. ``boost heal`` said ``nothing to heal`` too, and the only
|
|
20
|
+
command that actually repaired it, ``boost reinstall``, was named by neither
|
|
21
|
+
hint.
|
|
22
|
+
|
|
23
|
+
This is not a hypothetical state. An interrupted copy, a partial rsync, a
|
|
24
|
+
half-finished disk cleanup, or a user deleting the file to "start fresh" all
|
|
25
|
+
leave the directory in place.
|
|
26
|
+
|
|
27
|
+
The existing suite could not see it: the one test pinning that hint
|
|
28
|
+
(``tests/functional/test_cli_pkg.py``) removes the whole directory with
|
|
29
|
+
``shutil.rmtree``, which is the case ``sync`` already handled. Nothing deleted
|
|
30
|
+
only the file, so the file-level check in the two commands and the
|
|
31
|
+
directory-level check in ``sync`` were never compared.
|
|
32
|
+
|
|
33
|
+
Same shape as the `export_shard` bug fixed earlier this session: a remedy that
|
|
34
|
+
names the step the user has already taken.
|
|
35
|
+
"""
|
|
36
|
+
from __future__ import annotations
|
|
37
|
+
|
|
38
|
+
from boost_cli.core import store
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _gut(name: str) -> None:
|
|
42
|
+
"""Delete a skill's SKILL.md, leaving its store directory in place."""
|
|
43
|
+
path = store.skill_store_dir(name) / "SKILL.md"
|
|
44
|
+
assert path.exists(), "fixture did not install %s" % name
|
|
45
|
+
path.unlink()
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class TestSyncPlanSeesAGuttedSkill:
|
|
49
|
+
def test_a_skill_with_no_skill_md_is_reported_as_missing(
|
|
50
|
+
self, installed):
|
|
51
|
+
_gut(installed)
|
|
52
|
+
assert installed in store.sync_plan()["missing_store"]
|
|
53
|
+
|
|
54
|
+
def test_the_directory_still_exists(self, installed):
|
|
55
|
+
# The whole point: this is NOT the rmtree case the old check caught.
|
|
56
|
+
_gut(installed)
|
|
57
|
+
assert store.skill_store_dir(installed).is_dir()
|
|
58
|
+
|
|
59
|
+
def test_a_healthy_skill_is_still_not_reported(self, installed):
|
|
60
|
+
# The rejection must not widen — a working install stays absent from
|
|
61
|
+
# the plan, or `sync` would reinstall everything on every run.
|
|
62
|
+
assert installed not in store.sync_plan()["missing_store"]
|
|
63
|
+
|
|
64
|
+
def test_a_wholly_missing_directory_is_still_reported(self, installed):
|
|
65
|
+
# The case that already worked, kept so the fix cannot regress it.
|
|
66
|
+
import shutil
|
|
67
|
+
shutil.rmtree(store.skill_store_dir(installed))
|
|
68
|
+
assert installed in store.sync_plan()["missing_store"]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class TestSyncActuallyRepairsIt:
|
|
72
|
+
"""A plan that names the problem but does not fix it is the same bug."""
|
|
73
|
+
|
|
74
|
+
def test_sync_restores_the_file(self, installed):
|
|
75
|
+
_gut(installed)
|
|
76
|
+
|
|
77
|
+
store.sync_apply(store.sync_plan())
|
|
78
|
+
|
|
79
|
+
assert (store.skill_store_dir(installed) / "SKILL.md").exists()
|
|
80
|
+
|
|
81
|
+
def test_the_repaired_skill_leaves_the_plan_clean(self, installed):
|
|
82
|
+
# The loop the user was stuck in: run the remedy, re-check, still broken.
|
|
83
|
+
_gut(installed)
|
|
84
|
+
store.sync_apply(store.sync_plan())
|
|
85
|
+
assert installed not in store.sync_plan()["missing_store"]
|
|
86
|
+
|
|
87
|
+
def test_the_restored_content_is_the_real_skill(self, installed):
|
|
88
|
+
# Restoring an empty file would satisfy every assertion above and help
|
|
89
|
+
# nobody — `boost edit` would open a blank document.
|
|
90
|
+
before = (store.skill_store_dir(installed)
|
|
91
|
+
/ "SKILL.md").read_text(encoding="utf-8")
|
|
92
|
+
_gut(installed)
|
|
93
|
+
store.sync_apply(store.sync_plan())
|
|
94
|
+
after = (store.skill_store_dir(installed)
|
|
95
|
+
/ "SKILL.md").read_text(encoding="utf-8")
|
|
96
|
+
assert after.strip() and after == before
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.445 → boost_skill_cli-1.0.446}/boost_skill_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|