boost-skill-cli 1.2.116__tar.gz → 1.2.118__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.2.116/boost_skill_cli.egg-info → boost_skill_cli-1.2.118}/PKG-INFO +1 -1
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/bmad.py +1 -1
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/bmad.py +90 -33
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118/boost_skill_cli.egg-info}/PKG-INFO +1 -1
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/bmad.md +21 -3
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +3 -3
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +3 -3
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap.html +4 -128
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_bmad_core.py +162 -14
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.gitattributes +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.gitignore +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.lycheeignore +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.vale/styles/boost/AIWriting.yml +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/.vale.ini +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/CLAUDE.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/DCO +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/GOVERNANCE.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/LICENSE +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/MAINTAINERS.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/MANIFEST.in +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/Makefile +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/README.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/SECURITY.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/SUPPORT.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/quickstart.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/aihost.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/archive.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/bootstrap.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/browse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/builtin.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/catalogbundle.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/chat.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/cohort.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/complete.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/deps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/discovery.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/hookhost.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/installscan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/jsonstate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/localembed.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/mcphost.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/report.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/typedvalue.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/data/rules/boost-first.mdc +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_langchain/__init__.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_langchain/_compat.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_langchain/graph.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_langchain/loader.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_langchain/py.typed +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_langchain/retriever.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/codecov.yml +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/adapters.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/architecture/README.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/architecture/c4-components-core.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/architecture/c4-containers.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/architecture/c4-context.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/architecture/c4-dynamic-install.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/carousel.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/chat.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/code-review.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/commands.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/commit-audit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/demo-index.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/demo.gif +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/demo.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/demo.tape +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/dependencies.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/eval-latest.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/eval.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/index.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/langchain.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/openssf-badge.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/openssf-playbook.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/BOOST-D27.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ai-backend-fanout.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-absorb-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-adapt-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-attest-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-audit-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-bmad-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-browse-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-bundle-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-catalog-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-changelog-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-chat-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-cohort-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-completions-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-config-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-context-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-create-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-deps-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-discover-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-doctor-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-drift-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-edit-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-evolve-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-explain-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-export-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-health-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-import-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-index-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-install-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-lint-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-log-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-mcp-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-onboard-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-outdated-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-policy-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-preview-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-profile-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-protocol-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-pulse-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-recommend-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-reindex-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-replay-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-root-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-run-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-schedule-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-search-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-simulate-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-sync-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-tag-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-tap-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-taps-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-test-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-trust-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-unpin-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-untap-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-update-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-verify-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/audit-who-findings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/because-that-was-not-the-reason.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/boost-first-rule.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/branch-current-gate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/cli-command-audit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/count-flags-that-silently-invert.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/install-path-disambiguation.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/openssf-playbook.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/openssf-silver.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/osps-baseline-levels.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/relicence-apache-2.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/shrink-the-published-index.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/typos-reported-as-boost-bugs.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/vex-openvex-feed.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/zip-strict-audit.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/security-design.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/semantic-search.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/verifying-releases.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/vex/meta.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/vex/openvex.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/README.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/__init__.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/baseline.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/metrics.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/examples/README.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/index.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/noxfile.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/pyproject.toml +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/platform-pins.lock +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/add_spdx_headers.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/build_demo_index.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/build_scale_corpus.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/build_vex.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/check_branch_current.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/check_dco.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/check_reproducible.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_corpus.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/eval_tools.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/measure_near_duplicate_bound.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/measure_registry.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/normalize_sdist.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/page_budget.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/publish_eval_json.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/publish_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/release_guard.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/serve_docs.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/scripts/shard_plan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/setup.cfg +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/sonar-project.properties +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/style/README.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/style/boost.css +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/style/boost.js +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/style/demo.html +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/conftest.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/golden-natural.jsonl +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/taps-scale.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/eval/tool_calls.jsonl +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_bad_input_is_not_a_crash.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_bmad_all_hosts.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_bmad_personas_scope.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_catalog.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_chat.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_hooks_gemini.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_json_reports.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_pane_width.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_quickstart.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_tap_pins.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_context_sees_an_unborn_branch.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_count_flags_reject_nonpositive.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_kind_conformance.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_recommend_because_is_true.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_reports_match_reality.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/langchain/conftest.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/langchain/test_graph.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/langchain/test_loader.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/langchain/test_retriever.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_action_pin_lockstep.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_aihost.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_archive.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_boost_first_offer.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_bootstrap.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_bot_pr_dco.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_branch_current.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_browse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_builtin.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_catalog_keyword_words.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_catalogbundle.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_chat.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_check_dco.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_check_reproducible.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_clean_internal_cache.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_cli_update_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_cohort.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_compact.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_complete.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_complete_rc_block.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_content_dedupe.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_content_identity.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_count_flags_use_positive_int.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_crash_redaction.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dedup_trust.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_demo_index.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_embed_dedupe.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_entry_reuse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_entry_vectors.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_fix_hint.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_progress.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_quantized.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_ready_order.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_shard_real_schema.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_status.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_status_cheap.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dense_vector_dedupe.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_deps.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_discovery.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_distill_merge.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_doctor_output_polish.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_drift_hint.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_embed_local.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_embed_truncated_response.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_entry_key.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_baseline.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_corpus.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_grading.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_tools.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_eval_tools_probe.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_gemini_agent_sanitize.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_gitutil_lfs.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_gitutil_sparse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_gstack_coexistence.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_hook_settings_hosts.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_hookhost.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_install_permission_error.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_installscan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_jsonstate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_langchain_packaging.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_launcher_python_floor.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_link_ownership.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_localembed.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_localembed_e2e.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_marketing_counts.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mcp_install_scan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mcp_read.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mcphost.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_measure_registry.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mutation_subfile_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_near_duplicate_collapse.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_normalize_sdist.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_page_budget.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_platform_pins.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_project_mcp_sidecar.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_rag_completeness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_rag_fastpath.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_rag_fusion.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_registry_categories.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_registry_control_chars.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_registry_parallel.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_release_guard.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_report.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_rerank_cache.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_scale_corpus.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_schedule_plist.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_serve_docs.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_shard_plan.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_shards.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_shards_incremental.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_shards_ingest.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_shards_matrix.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_smoke_covers_every_command.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_spdx_headers.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_store_materialize.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_sync_blocked_links.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_tap_pins.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_typedvalue.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_version_tags.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_vex.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_visual_harness_capture.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_visual_harness_flags.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_workflow_concurrency.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_workflow_concurrency_groups.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_workflow_push_has_credentials.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/visual/package-lock.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.2.116 → boost_skill_cli-1.2.118}/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.2.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 2,
|
|
21
|
+
__version__ = version = '1.2.118'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 2, 118)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -11,7 +11,7 @@ and no network: it writes the seven BMAD persona subagents into
|
|
|
11
11
|
carrying the persona that should lead it, the support personas to spawn
|
|
12
12
|
alongside, the BMAD skill for that track, and a definition of done read off the
|
|
13
13
|
repo in front of it (its test dir, its docs, its roadmap items, its gate
|
|
14
|
-
command). Trivial asks get
|
|
14
|
+
command). Trivial asks get no banner. All
|
|
15
15
|
of the thinking lives in :mod:`boost_cli.core.bmad`; this module is glue.
|
|
16
16
|
|
|
17
17
|
boost bmad on # <- the one command. global.
|
|
@@ -79,6 +79,22 @@ class Track(NamedTuple):
|
|
|
79
79
|
support: tuple[str, ...] # persona slugs to run alongside the lead
|
|
80
80
|
skill: str # canonical BMAD v6 skill for this track
|
|
81
81
|
note: str # how the lead should open
|
|
82
|
+
done: str # what finished looks like: one of DONE_KINDS
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
DONE_KINDS: tuple[str, ...] = ("change", "findings", "artifact")
|
|
86
|
+
"""What a track delivers, which decides what "done" means for it.
|
|
87
|
+
|
|
88
|
+
Every track used to get the build contract — new coverage, updated docs, a
|
|
89
|
+
finished and verified change — so "review the changes on this branch" was told
|
|
90
|
+
to add tests and finish a change, and "compare the two caching options" was
|
|
91
|
+
told to document what changed when nothing had. A *change* ends in edited
|
|
92
|
+
source; *findings* (review, discovery) end in an answer with its evidence; an
|
|
93
|
+
*artifact* (product, planning, architecture) ends in a written document. Neither
|
|
94
|
+
of the last two refuses work the prompt asked for: the tie-break sends
|
|
95
|
+
"implement the spec in specs/retry.md" to *product* on the word "spec", and a
|
|
96
|
+
flat "no code" would tell the model not to do what it was just asked to do.
|
|
97
|
+
"""
|
|
82
98
|
|
|
83
99
|
|
|
84
100
|
# --------------------------------------------------------------------- personas
|
|
@@ -238,33 +254,33 @@ PERSONA_BY_SLUG: dict[str, Persona] = {p.slug: p for p in PERSONAS}
|
|
|
238
254
|
TRACKS: dict[str, Track] = {
|
|
239
255
|
"discovery": Track(
|
|
240
256
|
lead="bmad-analyst", support=("bmad-pm",), skill="bmad-deep-recon",
|
|
241
|
-
note="Ground it in sources before recommending."),
|
|
257
|
+
note="Ground it in sources before recommending.", done="findings"),
|
|
242
258
|
"product": Track(
|
|
243
259
|
lead="bmad-pm", support=("bmad-analyst", "bmad-architect"),
|
|
244
260
|
skill="bmad-prd",
|
|
245
|
-
note="Write criteria a test could assert."),
|
|
261
|
+
note="Write criteria a test could assert.", done="artifact"),
|
|
246
262
|
"planning": Track(
|
|
247
263
|
lead="bmad-pm", support=("bmad-architect",), skill="bmad-sprint-planning",
|
|
248
|
-
note="Keep the tracked items and the work in sync."),
|
|
264
|
+
note="Keep the tracked items and the work in sync.", done="artifact"),
|
|
249
265
|
"architecture": Track(
|
|
250
266
|
lead="bmad-architect", support=("bmad-dev",), skill="bmad-architecture",
|
|
251
|
-
note="One recommendation, with the rejected option named."),
|
|
267
|
+
note="One recommendation, with the rejected option named.", done="artifact"),
|
|
252
268
|
"ux": Track(
|
|
253
269
|
lead="bmad-ux", support=("bmad-dev",), skill="bmad-ux",
|
|
254
|
-
note="Hierarchy and spacing before colour."),
|
|
270
|
+
note="Hierarchy and spacing before colour.", done="change"),
|
|
255
271
|
"build": Track(
|
|
256
272
|
lead="bmad-dev", support=("bmad-tea", "bmad-scribe"), skill="bmad-build",
|
|
257
|
-
note="Ship it complete and verified."),
|
|
273
|
+
note="Ship it complete and verified.", done="change"),
|
|
258
274
|
"quality": Track(
|
|
259
275
|
lead="bmad-tea", support=("bmad-dev",),
|
|
260
276
|
skill="bmad-qa-generate-e2e-tests",
|
|
261
|
-
note="Assertions that a mutation would fail."),
|
|
277
|
+
note="Assertions that a mutation would fail.", done="change"),
|
|
262
278
|
"docs": Track(
|
|
263
279
|
lead="bmad-scribe", support=("bmad-dev",), skill="bmad-document-project",
|
|
264
|
-
note="Verify against the code, regenerate what is generated."),
|
|
280
|
+
note="Verify against the code, regenerate what is generated.", done="change"),
|
|
265
281
|
"review": Track(
|
|
266
282
|
lead="bmad-tea", support=("bmad-architect",), skill="bmad-code-review",
|
|
267
|
-
note="Find the failure, not the style nit."),
|
|
283
|
+
note="Find the failure, not the style nit.", done="findings"),
|
|
268
284
|
}
|
|
269
285
|
|
|
270
286
|
TRACK_ORDER: tuple[str, ...] = (
|
|
@@ -680,14 +696,33 @@ def project_signals(root: Path) -> dict:
|
|
|
680
696
|
}
|
|
681
697
|
|
|
682
698
|
|
|
683
|
-
def done_checklist(signals: dict) -> list[str]:
|
|
684
|
-
"""The definition of done, in the repo's own vocabulary.
|
|
699
|
+
def done_checklist(signals: dict, done: str = "change") -> list[str]:
|
|
700
|
+
"""The definition of done for one kind of work, in the repo's own vocabulary.
|
|
685
701
|
|
|
686
|
-
|
|
687
|
-
reach, not a step to skip. Roadmap and gate clauses
|
|
688
|
-
repo actually has one, because an instruction to
|
|
689
|
-
not exist teaches the agent to ignore the whole
|
|
702
|
+
For a *change*, tests and docs are unconditional — "no doc change needed"
|
|
703
|
+
is a conclusion to reach, not a step to skip. Roadmap and gate clauses
|
|
704
|
+
appear only when the repo actually has one, because an instruction to
|
|
705
|
+
update a file that does not exist teaches the agent to ignore the whole
|
|
706
|
+
banner. *Findings* and *artifacts* are not changes, so they get no tests or
|
|
707
|
+
docs clause: they are done when the answer or the document is. Both carry
|
|
708
|
+
an "unless asked" escape, because the tie-break routes real change requests
|
|
709
|
+
onto them — "fix the lint errors in the scanner" goes to review, and
|
|
710
|
+
"implement the spec in specs/retry.md" to product.
|
|
690
711
|
"""
|
|
712
|
+
guide = signals.get("guide")
|
|
713
|
+
binding = ["`%s` is binding" % guide] if guide else []
|
|
714
|
+
if done == "findings":
|
|
715
|
+
gate = signals.get("gate")
|
|
716
|
+
return ["findings: each with its evidence (file:line, output or source)",
|
|
717
|
+
"no edits unless asked; an edit gets tests%s like any change"
|
|
718
|
+
% (" and `%s`" % gate if gate else ""), *binding]
|
|
719
|
+
if done == "artifact":
|
|
720
|
+
roadmap = signals.get("roadmap")
|
|
721
|
+
tracked = (["roadmap: create or claim the item under `%s`" % roadmap]
|
|
722
|
+
if roadmap else [])
|
|
723
|
+
return ["a written artifact; no code unless the prompt asks for a "
|
|
724
|
+
"change, which then gets the change contract", *tracked, *binding]
|
|
725
|
+
|
|
691
726
|
items: list[str] = []
|
|
692
727
|
|
|
693
728
|
tests = signals.get("tests")
|
|
@@ -711,11 +746,7 @@ def done_checklist(signals: dict) -> list[str]:
|
|
|
711
746
|
if gate:
|
|
712
747
|
items.append("gate: `%s` green, with real output" % gate)
|
|
713
748
|
|
|
714
|
-
|
|
715
|
-
if guide:
|
|
716
|
-
items.append("`%s` is binding" % guide)
|
|
717
|
-
|
|
718
|
-
return items
|
|
749
|
+
return items + binding
|
|
719
750
|
|
|
720
751
|
|
|
721
752
|
# --------------------------------------------------------------------- routing
|
|
@@ -756,13 +787,21 @@ def route_lines(prompt: str, root: Path | None = None,
|
|
|
756
787
|
lines.extend((
|
|
757
788
|
"BMAD skill: `%s` — invoke it if it is installed; otherwise the "
|
|
758
789
|
"persona's own playbook stands." % track.skill,
|
|
759
|
-
"Done means: " + " · ".join(done_checklist(signals)),
|
|
760
|
-
"Work autonomously through to a finished, verified change; stop to ask "
|
|
761
|
-
"only when a choice would change what gets delivered.",
|
|
790
|
+
"Done means: " + " · ".join(done_checklist(signals, track.done)),
|
|
762
791
|
))
|
|
792
|
+
if track.done == "change":
|
|
793
|
+
# Not "work autonomously": that competed with approval gates people add
|
|
794
|
+
# on purpose, and the guide clause above only exists when a guide does.
|
|
795
|
+
lines.append(CHANGE_CLOSE)
|
|
763
796
|
return lines
|
|
764
797
|
|
|
765
798
|
|
|
799
|
+
CHANGE_CLOSE = ("Finish the change and verify it; stop only for a choice that "
|
|
800
|
+
"changes what gets delivered, or an approval step a repo guide "
|
|
801
|
+
"or a loaded skill requires.")
|
|
802
|
+
"""The closing banner line for a change, and only a change."""
|
|
803
|
+
|
|
804
|
+
|
|
766
805
|
def route_context(prompt: str, root: Path | None = None,
|
|
767
806
|
agents_dirs: tuple[Path, ...] | None = None) -> str:
|
|
768
807
|
""":func:`route_lines` as one string (``""`` when there is nothing to say)."""
|
|
@@ -793,16 +832,27 @@ bmad-create-epics-and-stories / bmad-sprint-planning; ship with bmad-build
|
|
|
793
832
|
bmad-qa-generate-e2e-tests / bmad-retrospective; bmad-help lists the rest.
|
|
794
833
|
Full workflow skills need a per-project `_bmad/` runtime — `boost bmad init`.
|
|
795
834
|
|
|
796
|
-
House rule:
|
|
797
|
-
are done
|
|
835
|
+
House rule: a change is done when its tests, its docs and its tracked item are;
|
|
836
|
+
findings are done when each carries its evidence; an artifact is done when it is
|
|
837
|
+
written down and tracked. Turn this off with `boost bmad off`.""" % roster
|
|
798
838
|
|
|
799
839
|
|
|
800
840
|
# ------------------------------------------------------------ persona files
|
|
801
841
|
|
|
802
842
|
def persona_description(persona: Persona) -> str:
|
|
803
|
-
"""The one-line `description:` Claude reads when choosing a subagent.
|
|
804
|
-
|
|
805
|
-
|
|
843
|
+
"""The one-line `description:` Claude reads when choosing a subagent.
|
|
844
|
+
|
|
845
|
+
Claude Code treats this line as a delegation rule, and its docs recommend
|
|
846
|
+
"use proactively" to make delegation *more* eager. That wording made the
|
|
847
|
+
router's silence cosmetic: a prompt the router judged trivial, or marked
|
|
848
|
+
`no bmad`, got no banner but could still spawn a persona on the strength of
|
|
849
|
+
its description alone. Tying the trigger to the banner makes the router the
|
|
850
|
+
one place that decides, while naming the persona by slug keeps delegation
|
|
851
|
+
working when a banner does name it, or the user does.
|
|
852
|
+
"""
|
|
853
|
+
return ("%s, %s (BMAD %s). Use when a [BMAD autopilot] routing banner names "
|
|
854
|
+
"%s, or the user asks for it by name. Covers %s."
|
|
855
|
+
% (persona.character, persona.title, persona.module, persona.slug,
|
|
806
856
|
persona.triggers))
|
|
807
857
|
|
|
808
858
|
|
|
@@ -870,11 +920,18 @@ How you work:
|
|
|
870
920
|
BMAD skills to prefer when they are installed: %s.
|
|
871
921
|
They are not required — when they are absent, the playbook above is the method.
|
|
872
922
|
|
|
873
|
-
Before you report back, the
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
923
|
+
Before you report back, meet the contract for the kind of work you were given,
|
|
924
|
+
the same one the session that spawned you works to.
|
|
925
|
+
|
|
926
|
+
A change: tests updated and actually run, documentation left true, any tracked
|
|
927
|
+
roadmap or backlog item moved to match, and the repo's own gate green with
|
|
928
|
+
output you have seen.
|
|
929
|
+
Findings: each one with its evidence, and no edits unless you were asked.
|
|
930
|
+
An artifact: the written document itself, with any tracked item moved to match —
|
|
931
|
+
no code unless you were asked for a change, which then gets the contract above.
|
|
932
|
+
|
|
933
|
+
If you could not finish a part of it, say which part and why — do not narrow
|
|
934
|
+
the task silently.
|
|
878
935
|
""" % (persona.slug, json.dumps(persona_description(persona)), persona.color,
|
|
879
936
|
persona.character, persona.title, persona.mission, playbook, skills)
|
|
880
937
|
|
|
@@ -60,8 +60,8 @@ BMAD skill: `bmad-build` — invoke it if it is installed; otherwise the persona
|
|
|
60
60
|
Done means: tests: add or update coverage under `tests/`, and run them · docs: update
|
|
61
61
|
`README.md` / `docs/` wherever the change shows · roadmap: create or claim the item under
|
|
62
62
|
`docs/roadmap/items/` · gate: `make check` green, with real output · `CLAUDE.md` is binding
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
Finish the change and verify it; stop only for a choice that changes what gets delivered,
|
|
64
|
+
or an approval step a repo guide or a loaded skill requires.
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Nine tracks (`build`, `quality`, `docs`, `planning`, `product`, `architecture`,
|
|
@@ -73,7 +73,17 @@ in front of you: your test directory, your docs, your roadmap items, your gate
|
|
|
73
73
|
command. Documentation, testing and roadmap bookkeeping travel with the task
|
|
74
74
|
instead of being remembered afterwards.
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
What "done" means depends on what the track delivers. `build`, `quality`,
|
|
77
|
+
`docs` and `ux` deliver a **change**, and get the contract above. `review` and
|
|
78
|
+
`discovery` deliver **findings**: each with its evidence, and no edits unless
|
|
79
|
+
the prompt asks for them. `product`, `planning` and `architecture` deliver an
|
|
80
|
+
**artifact**: a written document with the roadmap item kept in step, and no
|
|
81
|
+
code unless the prompt asked for a change. Both escapes matter: the tie-break
|
|
82
|
+
puts real change requests on both kinds.
|
|
83
|
+
Only a change gets the closing "finish and verify" line, and that line defers
|
|
84
|
+
to any approval step your repo guide or a loaded skill requires.
|
|
85
|
+
|
|
86
|
+
The router leaves questions alone. Acknowledgements, slash commands, short
|
|
77
87
|
questions ("what does `scan_dir` do?", "are there tests for the parser?"),
|
|
78
88
|
"read X and tell me Y" asks and anything containing `no bmad` produce no banner
|
|
79
89
|
at all. Pasted output is scored on the lines you typed around it, and needs two
|
|
@@ -90,6 +100,14 @@ scope, so a copy `boost bmad off` could not reach (a committed project
|
|
|
90
100
|
`.claude/settings.json` in another checkout, a restored settings snapshot) stays
|
|
91
101
|
silent, and a banner never names a persona whose file is gone.
|
|
92
102
|
|
|
103
|
+
That silence governs the banner, and the personas are written to follow it.
|
|
104
|
+
Claude Code decides delegation from the `description` line of a subagent, so
|
|
105
|
+
each persona says it applies when a routing banner names it, or when you ask for
|
|
106
|
+
it by name; a silent or `no bmad` prompt has nothing pointing at a persona
|
|
107
|
+
except the session briefing's roster. The final call is Claude Code's, not boost's.
|
|
108
|
+
Personas written by earlier releases said "Use PROACTIVELY" instead: run
|
|
109
|
+
`boost bmad on` again to rewrite the ones you have not edited.
|
|
110
|
+
|
|
93
111
|
```bash
|
|
94
112
|
boost bmad personas # the roster, and whether it's installed
|
|
95
113
|
boost bmad route "add tests for the scanner" --plain # what would this route to?
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: bmad-done-contract-ignores-the-track
|
|
3
3
|
board: code
|
|
4
4
|
section: dx
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: "Agents · BMAD"
|
|
7
7
|
complexity: M
|
|
8
8
|
impact: High
|
|
9
9
|
wow: 2
|
|
10
10
|
note: a review or research ask is told to add tests and finish a change
|
|
11
11
|
order: 321
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/bmad-done-contract
|
|
13
|
+
pr: 864
|
|
14
14
|
title: "<code>boost bmad</code> gives every track the build contract, so a review is told to finish a change"
|
|
15
15
|
---
|
|
16
16
|
<code>route_lines</code> (<code>core/bmad.py:523</code>) takes the first four banner lines from the track
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: bmad-personas-delegate-outside-the-router
|
|
3
3
|
board: code
|
|
4
4
|
section: dx
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: "Agents · BMAD"
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 3
|
|
10
10
|
note: router silence is banner-only, and nobody has counted
|
|
11
11
|
order: 325
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/bmad-persona-triggers
|
|
13
|
+
pr: 865
|
|
14
14
|
title: "Persona descriptions say <code>Use PROACTIVELY</code>, so the router's silence governs only the banner"
|
|
15
15
|
---
|
|
16
16
|
<code>boost bmad on</code> gives Claude Code two routes to a persona, and only one goes through the router.
|
|
@@ -7588,68 +7588,9 @@ its own pass rather than a bolt-on inside this PR. Left <code>inflight</code> ra
|
|
|
7588
7588
|
</article>
|
|
7589
7589
|
|
|
7590
7590
|
<article class="cap rcard" id="bmad-done-contract-ignores-the-track">
|
|
7591
|
-
<div class="head"><span class="pill
|
|
7591
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Agents · BMAD</span></div>
|
|
7592
7592
|
<h3><code>boost bmad</code> gives every track the build contract, so a review is told to finish a change</h3>
|
|
7593
|
-
<p><
|
|
7594
|
-
and the last two ignore it: <code>done_checklist(signals)</code> (<code>:483</code>) has no
|
|
7595
|
-
track parameter, and the autonomy sentence (<code>:551</code>) is a literal. One prompt per track against
|
|
7596
|
-
one fixture repo gave <b>one distinct pair of closing lines across all 9 tracks</b>:<br>
|
|
7597
|
-
<code>Done means: tests: add or update coverage under `tests/`, and run them · docs: update `README.md` / `docs/` wherever the change shows · gate: `make check` green, with real output · `CLAUDE.md` is binding</code><br>
|
|
7598
|
-
<code>Work autonomously through to a finished, verified change; stop to ask only when a choice would change what gets delivered.</code>
|
|
7599
|
-
|
|
7600
|
-
<b>Repro</b> (throwaway repo with <code>tests/</code>, <code>docs/</code>, <code>README.md</code>,
|
|
7601
|
-
<code>CLAUDE.md</code>, and a <code>Makefile</code> with <code>check:</code>).
|
|
7602
|
-
<code>boost bmad route "review the changes on this branch and tell me what could break" --plain</code>
|
|
7603
|
-
names Murat (<code>bmad-tea</code>) as lead with <code>bmad-code-review</code>, then defines done as new
|
|
7604
|
-
coverage, updated docs and a finished, verified change. <code>"compare the two caching options and recommend one"</code>,
|
|
7605
|
-
<code>"write the PRD for the policy engine"</code> and <code>"prioritize the backlog for next sprint"</code>
|
|
7606
|
-
get the same two lines. In an empty repo the comparison is told <code>tests: cover the change … docs: write down what changed</code>, but nothing changed.
|
|
7607
|
-
The shared lines are 48% of the fixture's review banner (326 of 673 chars) and 41% in the empty repo.
|
|
7608
|
-
|
|
7609
|
-
<b>Against real prompts the clause seldom fits.</b> Replaying the origin/main classifier over one
|
|
7610
|
-
profile's history (417 ordinary prompts over 6 active days, roughly half from tooling repos): 147 (35%)
|
|
7611
|
-
would get a banner, or 109 if pasted text is not in the hook's <code>prompt</code> field (not yet
|
|
7612
|
-
checked). A <em>single judge</em> (an agent) labelled 41 routed banners, sampled by track: <code>Done means</code>
|
|
7613
|
-
fit <b>5 of 41</b> (11 counting partial fits).
|
|
7614
|
-
|
|
7615
|
-
<b>The same contract appears in three places, and one was a deliberate choice.</b> The autopilot item
|
|
7616
|
-
made tests and docs unconditional (“no doc change needed” is a conclusion to reach), and
|
|
7617
|
-
<code>tests/unit/test_bmad_core.py:331</code> enforces that. It is right for a change and wrong for an
|
|
7618
|
-
answer. Every persona file repeats the contract (<code>_persona_text</code>,
|
|
7619
|
-
<code>core/bmad.py:663–667</code>: “tests updated and actually run, documentation left true …”),
|
|
7620
|
-
so the <code>bmad-analyst</code> a discovery banner hands off to brings it back. The SessionStart
|
|
7621
|
-
briefing says to follow the banner (<code>:576</code>) and ends on a tests-docs-item house rule
|
|
7622
|
-
(<code>:586</code>).
|
|
7623
|
-
|
|
7624
|
-
<b>The autonomy line competes with approval gates users add on purpose</b>, such as the
|
|
7625
|
-
<code>HARD-GATE</code> in superpowers' <code>brainstorming</code> skill (no implementation until the user
|
|
7626
|
-
approves) or a team rule requiring confirmation before a change that affects production. The banner is
|
|
7627
|
-
<code>UserPromptSubmit</code> <code>additionalContext</code> (<code>commands/bmad.py:354</code>), added
|
|
7628
|
-
again on every routed prompt. <b>Untested:</b> which instruction a model follows when they
|
|
7629
|
-
conflict. Softening the line to defer to the repo guide would not cover this: the <code>is binding</code>
|
|
7630
|
-
clause only appears when a guide file exists (<code>core/bmad.py:514–516</code>), and a plugin skill is not a guide file.
|
|
7631
|
-
|
|
7632
|
-
<b>Fix: store the kind of done on <code>Track</code></b> (<code>core/bmad.py:75</code>) and pass it to
|
|
7633
|
-
<code>done_checklist(signals, done)</code>. <i>change</i> (build, quality, docs, ux): today's clauses,
|
|
7634
|
-
unchanged. <i>findings</i> (review, discovery): “findings with evidence, no edits unless
|
|
7635
|
-
asked”. The “unless asked” matters because the tie-break sends <code>"fix the lint
|
|
7636
|
-
errors in the scanner"</code> to review and <code>"investigate why the export crashes and fix it"</code>
|
|
7637
|
-
to discovery. <i>artifact</i> (product, planning, architecture): “a written artifact, no
|
|
7638
|
-
code”, keeping the roadmap and guide clauses. Drop the autonomy line from
|
|
7639
|
-
findings and artifact tracks. On change tracks, replace it with wording that does not depend on a
|
|
7640
|
-
guide file: finish and verify, and still honour any approval step that the guide or a loaded skill
|
|
7641
|
-
requires. <code>_persona_text</code> should state the contract for each kind, since
|
|
7642
|
-
<code>bmad-tea</code> leads both quality and review. The house rule should name all three kinds.
|
|
7643
|
-
|
|
7644
|
-
<b>Tests go in <code>tests/unit/test_bmad_core.py</code>.</b> Assert every <code>TRACKS</code> entry
|
|
7645
|
-
declares a kind, and that no findings or artifact banner has a <code>tests:</code> clause.
|
|
7646
|
-
Add verbatim review and discovery banners next to <code>test_the_whole_banner_is_exactly_this</code>
|
|
7647
|
-
(<code>:396</code>), whose build pin keeps its <code>Done means</code> line and takes the new closing line.
|
|
7648
|
-
Limit <code>:331</code> to change tracks. <code>:376</code> pins <code>autonom</code> on one build banner:
|
|
7649
|
-
move it to the new wording and assert the line is absent from findings and artifact banners.
|
|
7650
|
-
<code>:688</code> only checks that each persona file mentions tests and docs, so pin the per-kind persona
|
|
7651
|
-
contract directly. Out of scope: router accuracy (same single judge: track or lead clearly wrong on
|
|
7652
|
-
21 of 41) is a separate defect.</p>
|
|
7593
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/bmad-done-contract-ignores-the-track.md">Write-up · bmad-done-contract-ignores-the-track.md</a></p>
|
|
7653
7594
|
<div class="meta">
|
|
7654
7595
|
<span class="m">Complexity <b>M</b></span>
|
|
7655
7596
|
<span class="m hi">Impact <b>High</b></span>
|
|
@@ -7805,74 +7746,9 @@ commands carry <code>--host gemini</code> and that <code>--host claude</code> ne
|
|
|
7805
7746
|
</article>
|
|
7806
7747
|
|
|
7807
7748
|
<article class="cap rcard" id="bmad-personas-delegate-outside-the-router">
|
|
7808
|
-
<div class="head"><span class="pill
|
|
7749
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Agents · BMAD</span></div>
|
|
7809
7750
|
<h3>Persona descriptions say <code>Use PROACTIVELY</code>, so the router's silence governs only the banner</h3>
|
|
7810
|
-
<p><
|
|
7811
|
-
The banner is gated: <code>classify</code> returns <code>trivial</code> for slash commands and
|
|
7812
|
-
<code>no bmad</code> (<code>boost_cli/core/bmad.py:402</code>), short informational questions (<code>:407</code>)
|
|
7813
|
-
and thin keyword evidence (<code>:415</code>). The other route is the <code>description:</code> line of the
|
|
7814
|
-
seven persona files written into <code>~/.claude/agents/</code> (<code>boost_cli/commands/bmad.py:258</code>),
|
|
7815
|
-
which <code>persona_description</code> renders as <code><Name>, <Title> (BMAD <module>). Use
|
|
7816
|
-
PROACTIVELY for <triggers>.</code> (<code>boost_cli/core/bmad.py:594</code>). Neither that line nor the
|
|
7817
|
-
persona body (<code>:642</code>) ties spawning to the router; the body's one mention has Amelia read the gate
|
|
7818
|
-
command off its banner (<code>:91</code>).
|
|
7819
|
-
|
|
7820
|
-
<b>Claude Code reads that line as a delegation rule.</b> The sub-agents docs define <code>description</code>
|
|
7821
|
-
as “When Claude should delegate to this subagent”, name it alongside the request and current
|
|
7822
|
-
context as what automatic delegation is based on, and advise: “To encourage proactive delegation,
|
|
7823
|
-
include phrases like ‘use proactively’ in your subagent's description field.” So the
|
|
7824
|
-
router's tuned silence and the <code>no bmad</code> opt-out decide whether a banner is added, not whether a
|
|
7825
|
-
persona gets spawned.
|
|
7826
|
-
|
|
7827
|
-
<b>The repo's own silent-prompt fixtures read like the triggers.</b> <code>what does scan_dir do?</code>,
|
|
7828
|
-
<code>fix the flaky test in test_catalog, no bmad</code> and <code>/code-review fix the failing tests in the
|
|
7829
|
-
catalog scanner</code> (<code>tests/unit/test_bmad_core.py:48</code>, <code>:68</code>, <code>:86</code>) all
|
|
7830
|
-
classify <code>trivial</code> with a 0-char banner on origin/main, yet Paige covers “explaining a system
|
|
7831
|
-
to the next person who touches it”, Murat “flaky suites” and Amelia “fixing a bug
|
|
7832
|
-
… or any change that ends in edited source files” (<code>boost_cli/core/bmad.py:183</code>–<code>218</code>).
|
|
7833
|
-
Replayed over one real Claude Code profile's history (318 unique non-slash prompts up to 2,000 chars, 6 active
|
|
7834
|
-
days), <b>60.7%</b> classify trivial and <b>55.7%</b> match no keyword. Little pushes back. The
|
|
7835
|
-
<code>SessionStart</code> briefing says “Trivial asks get no banner — answer those directly”
|
|
7836
|
-
(<code>:576</code>), but also that personas “are delegated to with the Agent tool” (<code>:570</code>),
|
|
7837
|
-
and its hook does not fire on compaction (matcher <code>startup|resume|clear</code>,
|
|
7838
|
-
<code>boost_cli/commands/bmad.py:84</code>). A <code>no bmad</code> prompt carries its own words, but nothing
|
|
7839
|
-
says they cover the personas.
|
|
7840
|
-
|
|
7841
|
-
<b>Unmeasured, and the measurement could close this item.</b> Nobody has counted delegations on silent
|
|
7842
|
-
prompts. Banner cost is countable (mean ~650 chars, ~163 tokens on that profile), while a description-triggered
|
|
7843
|
-
spawn would be a whole subagent run that no banner count sees. That is inference, but it limits the claim that
|
|
7844
|
-
the router “costs a question nothing” (<code>docs/bmad.md:76</code>,
|
|
7845
|
-
<code>boost_cli/commands/bmad.py:14</code>) to the banner. Measure from a HOME with no persona files or boost
|
|
7846
|
-
hooks: run each router-trivial prompt (the fixtures plus the trivial slice of a real history) as
|
|
7847
|
-
<code>claude -p <prompt> --output-format stream-json --verbose</code> with the briefing via
|
|
7848
|
-
<code>--append-system-prompt</code>, in three arms that differ only in the session-only <code>--agents</code>
|
|
7849
|
-
flag (no personas, shipped descriptions, fixed descriptions). Count <code>Agent</code> <code>tool_use</code>
|
|
7850
|
-
blocks whose <code>subagent_type</code> starts with <code>bmad-</code>, in messages with a null
|
|
7851
|
-
<code>parent_tool_use_id</code>. Cost is on the stream's last line. A fourth arm runs routed prompts with the
|
|
7852
|
-
real hook via <code>--settings</code>, to check that the fix still delegates when the slug arrives in hook-added
|
|
7853
|
-
context rather than typed by the user. If the shipped arm spawns no more <code>bmad-*</code> subagents than the
|
|
7854
|
-
no-persona arm, record that here and close the item.
|
|
7855
|
-
|
|
7856
|
-
<b>Proposed fix: make the banner the trigger.</b> Drop <code>Use PROACTIVELY</code> and have
|
|
7857
|
-
<code>persona_description</code> say when the persona applies, e.g. <code>Amelia, Senior Software Engineer
|
|
7858
|
-
(BMAD bmm). Use when a [BMAD autopilot] routing banner names bmad-dev, or the user asks for it by name.
|
|
7859
|
-
Covers implementing a feature, fixing a bug, …</code>. The banner already names lead and support by
|
|
7860
|
-
slug, and the docs say that when you name a subagent in your prompt “Claude typically delegates”.
|
|
7861
|
-
Silent prompts would then leave only the briefing's roster pointing at a persona. If the conditional wording
|
|
7862
|
-
fails the measurement, fall back to plain scope descriptions with no imperative. Until the fix lands,
|
|
7863
|
-
<code>permissions.deny</code> on <code>Agent(bmad-dev)</code> and the rest stops the spawns but blocks
|
|
7864
|
-
banner-led delegation too. <code>docs/bmad.md:76</code>–<code>78</code> should say that the opt-out and
|
|
7865
|
-
the silence apply only to the banner. That doc change needs no measurement and can land now.
|
|
7866
|
-
|
|
7867
|
-
<b>Tests.</b> Extend <code>tests/unit/test_bmad_core.py</code>.
|
|
7868
|
-
<code>TestPersonaFiles.test_the_frontmatter_block_is_exactly_this</code> (<code>:485</code>) pins Sally's
|
|
7869
|
-
description byte for byte and must take the new text. <code>test_persona_descriptions_are_delegation_triggers</code>
|
|
7870
|
-
(<code>:694</code>) checks only length and that there is no newline. It should also assert that every
|
|
7871
|
-
description lacks <code>proactively</code> in any case and contains its persona's slug.
|
|
7872
|
-
<code>test_explicit_opt_out_is_honored</code> (<code>:71</code>) proves only that the classifier stays silent,
|
|
7873
|
-
and no unit test can observe delegation, so the headless run is the acceptance check. Only re-running
|
|
7874
|
-
<code>boost bmad on</code> rewrites unedited persona files (<code>boost_cli/core/bmad.py:672</code>), so the
|
|
7875
|
-
release note must tell users to re-run it.</p>
|
|
7751
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md">Write-up · bmad-personas-delegate-outside-the-router.md</a></p>
|
|
7876
7752
|
<div class="meta">
|
|
7877
7753
|
<span class="m">Complexity <b>S</b></span>
|
|
7878
7754
|
<span class="m">Impact <b>Med</b></span>
|