boost-skill-cli 1.2.127__tar.gz → 1.2.128__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.127/boost_skill_cli.egg-info → boost_skill_cli-1.2.128}/PKG-INFO +2 -2
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/README.md +1 -1
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/output.py +17 -4
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128/boost_skill_cli.egg-info}/PKG-INFO +2 -2
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +3 -3
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +4 -5
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap.html +4 -77
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_marketing_counts.py +16 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mutation_hardening.py +28 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.gitattributes +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.gitignore +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.lycheeignore +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.vale/styles/boost/AIWriting.yml +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/.vale.ini +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/CLAUDE.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/DCO +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/GOVERNANCE.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/LICENSE +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/MAINTAINERS.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/MANIFEST.in +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/Makefile +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/SECURITY.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/SUPPORT.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/quickstart.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/aihost.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/archive.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/bmad.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/bootstrap.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/browse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/builtin.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/catalogbundle.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/chat.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/cohort.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/complete.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/deps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/discovery.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/hookhost.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/installscan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/jsonstate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/localembed.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/mcphost.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/report.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/typedvalue.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/data/rules/boost-first.mdc +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_langchain/__init__.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_langchain/_compat.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_langchain/graph.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_langchain/loader.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_langchain/py.typed +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_langchain/retriever.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/codecov.yml +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/adapters.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/architecture/README.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/architecture/c4-components-core.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/architecture/c4-containers.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/architecture/c4-context.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/architecture/c4-dynamic-install.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/bmad.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/carousel.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/chat.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/code-review.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/commands.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/commit-audit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/demo-index.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/demo.gif +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/demo.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/demo.tape +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/dependencies.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/eval-latest.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/eval.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/index.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/langchain.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/openssf-badge.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/openssf-playbook.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/BOOST-D27.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ai-backend-fanout.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-absorb-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-adapt-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-attest-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-audit-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-bmad-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-browse-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-bundle-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-catalog-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-changelog-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-chat-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-cohort-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-completions-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-config-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-context-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-create-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-deps-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-discover-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-doctor-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-drift-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-edit-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-evolve-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-explain-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-export-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-health-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-import-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-index-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-install-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-lint-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-log-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-mcp-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-onboard-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-outdated-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-policy-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-preview-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-profile-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-protocol-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-pulse-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-recommend-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-reindex-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-replay-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-root-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-run-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-schedule-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-search-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-simulate-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-sync-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-tag-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-tap-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-taps-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-test-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-trust-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-unpin-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-untap-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-update-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-verify-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/audit-who-findings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/because-that-was-not-the-reason.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/boost-first-rule.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/branch-current-gate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/cli-command-audit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/count-flags-that-silently-invert.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/install-path-disambiguation.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/openssf-playbook.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/openssf-silver.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/osps-baseline-levels.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/relicence-apache-2.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/shrink-the-published-index.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/typos-reported-as-boost-bugs.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/vex-openvex-feed.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/zip-strict-audit.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/security-design.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/semantic-search.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/verifying-releases.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/vex/meta.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/vex/openvex.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/README.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/__init__.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/baseline.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/metrics.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/examples/README.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/index.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/noxfile.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/pyproject.toml +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/platform-pins.lock +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/add_spdx_headers.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/build_demo_index.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/build_scale_corpus.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/build_vex.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/check_branch_current.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/check_dco.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/check_reproducible.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_corpus.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/eval_tools.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/measure_near_duplicate_bound.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/measure_registry.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/normalize_sdist.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/page_budget.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/publish_eval_json.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/publish_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/release_guard.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/serve_docs.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/scripts/shard_plan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/setup.cfg +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/sonar-project.properties +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/style/README.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/style/boost.css +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/style/boost.js +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/style/demo.html +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/conftest.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/golden-natural.jsonl +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/taps-scale.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/eval/tool_calls.jsonl +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_bad_input_is_not_a_crash.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_bmad_all_hosts.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_bmad_personas_scope.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_catalog.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_chat.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_hooks_gemini.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_json_reports.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_pane_width.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_quickstart.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_tap_pins.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_context_sees_an_unborn_branch.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_count_flags_reject_nonpositive.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_kind_conformance.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_recommend_because_is_true.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_reports_match_reality.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/langchain/conftest.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/langchain/test_graph.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/langchain/test_loader.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/langchain/test_retriever.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/data/bmad-skills-6.12.0.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_action_pin_lockstep.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_aihost.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_archive.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_bmad_core.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_boost_first_offer.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_bootstrap.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_bot_pr_dco.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_branch_current.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_browse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_builtin.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_catalog_keyword_words.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_catalogbundle.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_chat.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_check_dco.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_check_reproducible.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_clean_internal_cache.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_cli_update_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_cohort.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_compact.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_complete.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_complete_rc_block.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_content_dedupe.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_content_identity.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_count_flags_use_positive_int.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_crash_redaction.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dedup_trust.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_demo_index.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_embed_dedupe.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_entry_reuse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_entry_vectors.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_fix_hint.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_progress.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_quantized.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_ready_order.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_shard_real_schema.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_status.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_status_cheap.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dense_vector_dedupe.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_deps.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_discovery.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_distill_merge.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_doctor_output_polish.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_drift_hint.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_embed_local.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_embed_truncated_response.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_entry_key.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_baseline.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_corpus.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_grading.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_tools.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_eval_tools_probe.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_gemini_agent_sanitize.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_gitutil_lfs.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_gitutil_sparse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_gstack_coexistence.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_hook_settings_hosts.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_hookhost.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_install_permission_error.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_installscan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_jsonstate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_langchain_packaging.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_launcher_python_floor.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_link_ownership.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_localembed.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_localembed_e2e.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mcp_install_scan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mcp_read.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mcphost.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_measure_registry.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mutation_subfile_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_near_duplicate_collapse.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_normalize_sdist.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_page_budget.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_platform_pins.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_project_mcp_sidecar.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_rag_completeness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_rag_fastpath.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_rag_fusion.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_registry_categories.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_registry_control_chars.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_registry_parallel.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_release_guard.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_report.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_rerank_cache.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_scale_corpus.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_schedule_plist.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_serve_docs.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_shard_plan.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_shards.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_shards_incremental.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_shards_ingest.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_shards_matrix.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_smoke_covers_every_command.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_spdx_headers.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_store_materialize.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_sync_blocked_links.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_sync_lost_lock.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_tap_pins.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_typedvalue.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_version_tags.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_vex.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_visual_harness_capture.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_visual_harness_flags.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_workflow_concurrency.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_workflow_concurrency_groups.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_workflow_push_has_credentials.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/visual/package-lock.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.2.127 → boost_skill_cli-1.2.128}/tests/visual/visual_check.mjs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.128
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -453,7 +453,7 @@ the C4 diagrams in [`docs/architecture/`](docs/architecture/README.md).
|
|
|
453
453
|
| Registry (Taps) | tap · untap · taps · outdated · catalog |
|
|
454
454
|
| Intelligence | chat · distill · simulate · infer · absorb · evolve · context · focus · impact |
|
|
455
455
|
| Quality & Health | doctor · lint · audit · verify · drift · test · fingerprint · quarantine · decay · heal · conflict · changelog · attest · health · trust |
|
|
456
|
-
| Configuration | config · clean · compact · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update |
|
|
456
|
+
| Configuration | quickstart · config · clean · compact · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update |
|
|
457
457
|
| Team & Collaboration | cohort · profile · protocol · pulse · replay · who |
|
|
458
458
|
|
|
459
459
|
The AI-assisted commands (`search --smart`, `explain`, `distill`, `infer`,
|
|
@@ -411,7 +411,7 @@ the C4 diagrams in [`docs/architecture/`](docs/architecture/README.md).
|
|
|
411
411
|
| Registry (Taps) | tap · untap · taps · outdated · catalog |
|
|
412
412
|
| Intelligence | chat · distill · simulate · infer · absorb · evolve · context · focus · impact |
|
|
413
413
|
| Quality & Health | doctor · lint · audit · verify · drift · test · fingerprint · quarantine · decay · heal · conflict · changelog · attest · health · trust |
|
|
414
|
-
| Configuration | config · clean · compact · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update |
|
|
414
|
+
| Configuration | quickstart · config · clean · compact · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update |
|
|
415
415
|
| Team & Collaboration | cohort · profile · protocol · pulse · replay · who |
|
|
416
416
|
|
|
417
417
|
The AI-assisted commands (`search --smart`, `explain`, `distill`, `infer`,
|
|
@@ -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.128'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 2, 128)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -72,11 +72,23 @@ def use_color(stream=None) -> bool:
|
|
|
72
72
|
return hasattr(stream, "isatty") and stream.isatty()
|
|
73
73
|
|
|
74
74
|
|
|
75
|
+
def _span(code: str, text: str) -> str:
|
|
76
|
+
"""``code + text + RESET``, applied to each line on its own.
|
|
77
|
+
|
|
78
|
+
One span across a newline opens the style on line 1 and closes it at the
|
|
79
|
+
end of the last: a reader that stops early (``… 2>&1 | head -2``) is left
|
|
80
|
+
inside an unterminated style, and lines 2+ carry no code of their own. A
|
|
81
|
+
multi-line hint from `err` did exactly that. Every painter below routes
|
|
82
|
+
through here, so no emitter can reintroduce it.
|
|
83
|
+
"""
|
|
84
|
+
return "\n".join(code + line + RESET for line in text.split("\n"))
|
|
85
|
+
|
|
86
|
+
|
|
75
87
|
def c(text: str, *styles: str) -> str:
|
|
76
88
|
"""Wrap text in the given SGR styles + RESET; plain when color is off."""
|
|
77
89
|
if not styles or not use_color():
|
|
78
90
|
return text
|
|
79
|
-
return "".join(styles)
|
|
91
|
+
return _span("".join(styles), text)
|
|
80
92
|
|
|
81
93
|
|
|
82
94
|
# --------------------------------------------------------------------------- #
|
|
@@ -139,7 +151,7 @@ def aurora(text: str, name: str, stream=None) -> str:
|
|
|
139
151
|
return text
|
|
140
152
|
triple, fallback = _AURORA[name]
|
|
141
153
|
code = rgb(*triple) if level == 2 else fallback
|
|
142
|
-
return code
|
|
154
|
+
return _span(code, text)
|
|
143
155
|
|
|
144
156
|
|
|
145
157
|
# --------------------------------------------------------------------------- #
|
|
@@ -171,8 +183,9 @@ def role(text: str, name: str, bold: bool = False, stream=None) -> str:
|
|
|
171
183
|
if color_level(stream) == 0:
|
|
172
184
|
return text
|
|
173
185
|
kind, value = ROLES[name]
|
|
174
|
-
painted = aurora(text, value, stream) if kind == "aurora" else value
|
|
175
|
-
|
|
186
|
+
painted = aurora(text, value, stream) if kind == "aurora" else _span(value, text)
|
|
187
|
+
# Per line too: BOLD before line 1 alone would leave lines 2+ regular.
|
|
188
|
+
return "\n".join(BOLD + ln for ln in painted.split("\n")) if bold else painted
|
|
176
189
|
|
|
177
190
|
|
|
178
191
|
def _lerp(a, b, t: float):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.128
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -453,7 +453,7 @@ the C4 diagrams in [`docs/architecture/`](docs/architecture/README.md).
|
|
|
453
453
|
| Registry (Taps) | tap · untap · taps · outdated · catalog |
|
|
454
454
|
| Intelligence | chat · distill · simulate · infer · absorb · evolve · context · focus · impact |
|
|
455
455
|
| Quality & Health | doctor · lint · audit · verify · drift · test · fingerprint · quarantine · decay · heal · conflict · changelog · attest · health · trust |
|
|
456
|
-
| Configuration | config · clean · compact · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update |
|
|
456
|
+
| Configuration | quickstart · config · clean · compact · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update |
|
|
457
457
|
| Team & Collaboration | cohort · profile · protocol · pulse · replay · who |
|
|
458
458
|
|
|
459
459
|
The AI-assisted commands (`search --smart`, `explain`, `distill`, `infer`,
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: err-multiline-hint-colours-across-the-newline
|
|
3
3
|
board: code
|
|
4
4
|
section: planned
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: UX · Bug
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Low
|
|
9
9
|
wow: 2
|
|
10
10
|
note: err() joins a multi-line hint's lines and then wraps the whole joined string in one c…
|
|
11
11
|
order: 207
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/err-hint-per-line
|
|
13
|
+
pr: 877
|
|
14
14
|
title: <code>out.err</code>'s multi-line hint is coloured as one span, so line 1 ends with no RESET and lines 2+ carry no start code
|
|
15
15
|
---
|
|
16
16
|
<b>Measured.</b> With colour forced, a three-line hint from <code>err()</code> emits an opening <code>ESC[2m</code> on hint line 1 that is never terminated, two bare continuation lines carrying no SGR at all, and one closing <code>ESC[0m</code> at visible column 98 of the last line — so <code>boost index 2>&1 | head -2</code> under <code>CLICOLOR_FORCE</code> hands the consumer a stream ending inside an unterminated dim span; output.py:252 wraps the newline-joined body in a single <code>c(..., DIM)</code>, colouring first and splitting after.
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: readme-81-command-table-lists-80-omits-quickstart
|
|
3
3
|
board: code
|
|
4
4
|
section: planned
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Quality · Docs
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Low
|
|
9
9
|
wow: 2
|
|
10
10
|
note: README.md:389 heads a table "## 81 commands, organized into 8 groups", but the eight …
|
|
11
11
|
order: 224
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/readme-command-table
|
|
13
|
+
pr: 876
|
|
14
14
|
title: README's "81 commands" table enumerates only 80 — the missing one is <code>quickstart</code>, the README's own first command
|
|
15
15
|
---
|
|
16
16
|
<b>Measured.</b> Commit dd2fba07 (PR #594, "publish prebuilt vectors where a new user can reach them") added <code>("quickstart", "cfg", ...)</code> to cli.py's COMMANDS and changed README.md:389 from "## 80 commands" to "## 81 commands" — and left README.md:404's Configuration row at its 13 names, so the README has advertised 81 commands while listing 80 ever since, with the whole test suite green, because <code>test_marketing_counts.py</code> asserts the integer and <code>test_docsite_chrome.py:63-71</code> pins the enumeration only for <code>docs/index.html</code>.
|
|
@@ -41,7 +41,6 @@ The defect itself reproduces exactly as stated — README.md:389 heads "81 comma
|
|
|
41
41
|
|
|
42
42
|
2. SOFT — "the one <code>docs/semantic-search.md</code> points at three times". Three is only right if you count fenced-code invocations (lines 30, 63, 64). The string <code>boost quickstart</code> appears 4 times (30, 33, 63, 64) and <code>quickstart</code> appears on 7 lines (+1, 83, 89). Say "four <code>boost quickstart</code> references across seven mentions" or drop the number.
|
|
43
43
|
|
|
44
|
-
3.
|
|
45
44
|
|
|
46
45
|
<b>What is NOT established.</b> Recorded because a card that overstates its own evidence is worse than no card.
|
|
47
46
|
|
|
@@ -51,6 +50,6 @@ WHY Low, not Med. The finder's Med overstates it. <code>quickstart</code> is nam
|
|
|
51
50
|
|
|
52
51
|
WHY IT IS STILL WORTH A CARD. The value is structural, not the symptom: of the three enumerations of the command surface, <code>docs/index.html</code> is pinned name-by-name against COMMANDS (test_docsite_chrome.py:63-71), <code>docs/commands.html</code> is generated from COMMANDS and gated by <code>build_command_reference.py --check</code>, and README's table is hand-maintained with only its integer asserted. PR #594 is the proof that the gap is live rather than theoretical.
|
|
53
52
|
|
|
54
|
-
<b>Why it is worth doing.</b> The README table is the
|
|
53
|
+
<b>Why it is worth doing.</b> The README table is the command surface a reader browses in-file, and the one enumeration of the three that nothing pinned; the one command it dropped is the one the same file's hero block makes step 2 of onboarding. A user who reads the table sees no quickstart, and a user who reads the hero sees a command the table says does not exist. The count and the list also contradict each other in the same heading, which is exactly the class of drift test_marketing_counts.py was written for — it just guards the integer and not the enumeration.
|
|
55
54
|
|
|
56
55
|
<em>Found by an automated audit of retrieval/eval quality, the search & browse surfaces, and first-run onboarding; every finding was then re-measured from scratch by an independent adversarial verifier whose instruction was to refute it. Verdict: <b>CORRECTED</b>. No fix is prescribed here — the measurement is the contribution.</em>
|
|
@@ -1294,42 +1294,9 @@ PRIOR DISCLOSURE (the finder declared it, and I confirmed it): docs/roadmap/item
|
|
|
1294
1294
|
</article>
|
|
1295
1295
|
|
|
1296
1296
|
<article class="cap rcard" id="err-multiline-hint-colours-across-the-newline">
|
|
1297
|
-
<div class="head"><span class="pill
|
|
1297
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">UX · Bug</span></div>
|
|
1298
1298
|
<h3><code>out.err</code>'s multi-line hint is coloured as one span, so line 1 ends with no RESET and lines 2+ carry no start code</h3>
|
|
1299
|
-
<p><
|
|
1300
|
-
|
|
1301
|
-
<b>Reproduce it.</b>
|
|
1302
|
-
|
|
1303
|
-
<code>cd <repo></code><br>
|
|
1304
|
-
<code>BOOST_COLOR=always .venv/bin/python -c "</code><br>
|
|
1305
|
-
<code>from boost_cli.core import output as out</code><br>
|
|
1306
|
-
<code>out.err('gh api failed', 'HTTP 401: Bad credentials\nTry authenticating with: gh auth login\ngh: To use GitHub CLI in a GitHub Actions workflow, set the GH_TOKEN environment variable.')</code><br>
|
|
1307
|
-
<code>" 2>&1 | /bin/cat -v</code><br>
|
|
1308
|
-
<code># and the live call path (single-line tail in this sandbox, but proves err() is reached):</code><br>
|
|
1309
|
-
<code>export HOME=$TMPDIR/audit-output-formatting; export BOOST_HOME=$HOME/.boost; mkdir -p "$HOME"</code><br>
|
|
1310
|
-
<code>GH_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef BOOST_COLOR=always ./boost index 2>&1 | head -3 | /bin/cat -v</code>
|
|
1311
|
-
|
|
1312
|
-
<b>What adversarial verification corrected.</b> This card's numbers are the re-measured ones, not the ones first reported.
|
|
1313
|
-
|
|
1314
|
-
The core defect and its byte shape reproduce exactly. Five stated details are wrong:
|
|
1315
|
-
|
|
1316
|
-
1. "<code>empty_state._block</code> (output.py:559-561)" — WRONG LINES. 559-561 is docstring prose. <code>_block</code> is defined at output.py:569 and its per-line colouring is at 571-572.
|
|
1317
|
-
|
|
1318
|
-
2. "the lone <code>^[[0m</code> is 90 columns into line 4" — WRONG. It sits at visible column 98. 90 is the length of the message text alone; the line also carries the 8-column <code> hint: </code> alignment indent.
|
|
1319
|
-
|
|
1320
|
-
3. "<code>err</code> is the one emitter that does not [colour per line]" — REFUTED. Handed a string containing a literal newline with <code>wrap</code> off, <code>dim()</code>, <code>warn()</code> and <code>empty_state()</code> all emit the identical straddling span (measured above). <code>empty_state._block</code> only colours per line of its *wrap* output; with <code>wrap=False</code> <code>body = [text]</code>, so the newline sits inside one <code>c(..., DIM)</code>. What is actually unique about <code>err</code> is that it is the only emitter whose docstring documents accepting embedded newlines and the only one with a live multi-line caller (<code>gh_failure_hint</code>); I grepped every <code>out.warn(</code> / <code>out.dim(</code> / <code>out.empty_state(</code> call site and none passes a <code>\n</code>-bearing string (all joins use ", " or "; ").
|
|
1321
|
-
|
|
1322
|
-
4. "<code>boost index 2>&1 | head -2</code> hands the shell an opening SGR with no close" — WRONG without a stated precondition.
|
|
1323
|
-
|
|
1324
|
-
<b>What is NOT established.</b> Recorded because a card that overstates its own evidence is worse than no card.
|
|
1325
|
-
|
|
1326
|
-
Not carded — I re-checked independently. Grepped all <code>^title:</code> lines for colour/ANSI/reset/escape/SGR/dim/hint terms and read the four plausible cards in full: <code>long-hints-overflow-narrow-panes.md</code> (line width, not escape spans), <code>BOOST-D04.md</code> (semantic colour roles), <code>BOOST-D18.md</code> (empty-state/hint styling consistency), <code>BOOST-D27.md</code> (its three named remaining wrap-law gaps are <code>dim()</code>'s embedded indent, <code>empty_state()</code> adoption, and <code>truncate()</code>/<code>search_layout()</code> wide-char width — <code>err()</code> is not among them). <code>grep -ril 'unterminated|RESET|SGR|escape code' docs/roadmap/items/</code> returned 11 files, none about <code>err()</code>.
|
|
1327
|
-
|
|
1328
|
-
Scope of my repro, and what a card must not overclaim: - No corpus was needed; this is a pure library-call repro plus one live CLI path. The 20-tap eval corpus at $TMPDIR/eval-home is irrelevant here and I did not touch it. The <code>./boost index</code> run used its own disposable HOME. - I could not produce the 3-line <code>gh</code> tail live either: the sandbox proxy's TLS failure is a single line, so the live run only proves <code>err()</code> is reached with a <code>gh</code>-sourced hint, not that a 3-line tail occurred. The multi-line shape is proven by the direct call, which is what the finder also did. - A card must state the forced-colour precondition. In an ordinary interactive run the bytes ARE emitted (stdout is a TTY), but every terminal I know carries DIM across a newline, so it renders correctly — the finding concedes this. The only consumer that sees breakage is a line-oriented reader under <code>BOOST_COLOR=always</code> / <code>CLICOLOR_FORCE</code> (CI).
|
|
1329
|
-
|
|
1330
|
-
<b>Why it is worth doing.</b> Most terminals carry DIM across a newline, so it usually *looks* right — the harm is to anything reading a line at a time. <code>boost index 2>&1 | head -2</code> hands the shell an opening SGR with no close, dimming everything printed afterwards; and because the hint goes to stderr, any stdout written between hint lines lands inside the unterminated dim run. The module already knows the correct shape and uses it twice — <code>empty_state._block</code> (output.py:559-561) and <code>table</code>'s header cells (output.py:906-908, with the comment "a whole-line wrap would be cancelled at the first separator's RESET") both colour per line. <code>err</code> is the one emitter that does not.
|
|
1331
|
-
|
|
1332
|
-
<em>Found by an automated audit of retrieval/eval quality, the search & browse surfaces, and first-run onboarding; every finding was then re-measured from scratch by an independent adversarial verifier whose instruction was to refute it. Verdict: <b>CORRECTED</b>. No fix is prescribed here — the measurement is the contribution.</em></p>
|
|
1299
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md">Write-up · err-multiline-hint-colours-across-the-newline.md</a></p>
|
|
1333
1300
|
<div class="meta">
|
|
1334
1301
|
<span class="m">Complexity <b>S</b></span>
|
|
1335
1302
|
<span class="m">Impact <b>Low</b></span>
|
|
@@ -2083,49 +2050,9 @@ FIX SCOPE IS WIDER THAN THE FINDING SAYS: because <code>pkg.py:941</code> (<code
|
|
|
2083
2050
|
</article>
|
|
2084
2051
|
|
|
2085
2052
|
<article class="cap rcard" id="readme-81-command-table-lists-80-omits-quickstart">
|
|
2086
|
-
<div class="head"><span class="pill
|
|
2053
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Quality · Docs</span></div>
|
|
2087
2054
|
<h3>README's "81 commands" table enumerates only 80 — the missing one is <code>quickstart</code>, the README's own first command</h3>
|
|
2088
|
-
<p
|
|
2089
|
-
|
|
2090
|
-
<b>Reproduce it.</b>
|
|
2091
|
-
|
|
2092
|
-
<code>cd <repo></code><br>
|
|
2093
|
-
<code>.venv/bin/python - <<'PY'</code><br>
|
|
2094
|
-
<code>import re, sys</code><br>
|
|
2095
|
-
<code>sys.path.insert(0,'.')</code><br>
|
|
2096
|
-
<code>from boost_cli.cli import COMMANDS</code><br>
|
|
2097
|
-
<code>names = {n for n,_,_,_ in COMMANDS}</code><br>
|
|
2098
|
-
<code>readme = open('README.md').read()</code><br>
|
|
2099
|
-
<code>rows = re.findall(r'^\| ([A-Z][^|]*?) \| (.+?) \|$', readme, re.M)</code><br>
|
|
2100
|
-
<code>tbl = {g.strip(): [c.strip() for c in cmds.split('·')] for g, cmds in rows if '·' in cmds}</code><br>
|
|
2101
|
-
<code>listed = {c for v in tbl.values() for c in v}</code><br>
|
|
2102
|
-
<code>print("README table total:", sum(len(v) for v in tbl.values()), "COMMANDS:", len(names))</code><br>
|
|
2103
|
-
<code>print("missing from README table:", sorted(names - listed))</code><br>
|
|
2104
|
-
<code>PY</code><br>
|
|
2105
|
-
<code>grep -n '81 commands' README.md</code><br>
|
|
2106
|
-
<code>./boost --help | grep -n 'quickstart'</code>
|
|
2107
|
-
|
|
2108
|
-
<b>What adversarial verification corrected.</b> This card's numbers are the re-measured ones, not the ones first reported.
|
|
2109
|
-
|
|
2110
|
-
The defect itself reproduces exactly as stated — README.md:389 heads "81 commands", the eight rows at README.md:398-405 enumerate 80, and the set difference against <code>cli.py</code>'s COMMANDS is exactly <code>{'quickstart'}</code>. Two stated facts are wrong:
|
|
2111
|
-
|
|
2112
|
-
1. LOAD-BEARING — <code>why_it_matters</code> says "The README table is the only place a reader browses the command surface without running the CLI." False. <code>docs/commands.html</code> (4 quickstart hits) and <code>docs/index.html</code> (3 hits, including the pinned <code>["quickstart","cfg",...]</code> row) both enumerate the full surface, and README.md:391-393 links both of them two lines ABOVE the table. A card must not ship that sentence. The honest framing: the README table is the surface a reader browses in-file, and the one enumeration of the three that nothing pins.
|
|
2113
|
-
|
|
2114
|
-
2. SOFT — "the one <code>docs/semantic-search.md</code> points at three times". Three is only right if you count fenced-code invocations (lines 30, 63, 64). The string <code>boost quickstart</code> appears 4 times (30, 33, 63, 64) and <code>quickstart</code> appears on 7 lines (+1, 83, 89). Say "four <code>boost quickstart</code> references across seven mentions" or drop the number.
|
|
2115
|
-
|
|
2116
|
-
3.
|
|
2117
|
-
|
|
2118
|
-
<b>What is NOT established.</b> Recorded because a card that overstates its own evidence is worse than no card.
|
|
2119
|
-
|
|
2120
|
-
SCOPE OF MY REPRO: entirely static — README.md, boost_cli/cli.py, docs/*.html, the two test files, and <code>./boost --help</code> from the repo checkout. No corpus, tap set or network was needed, so nothing here is contingent on the 20-tap eval corpus or on which registries ship by default. Fully settled.
|
|
2121
|
-
|
|
2122
|
-
WHY Low, not Med. The finder's Med overstates it. <code>quickstart</code> is named in README.md five other times (line 23 hero, 142, 145, 151, 176), in <code>./boost --help</code>, and in both generated doc pages that the README links immediately above the table. The user-visible cost is one missing name out of 81 in one browsable list; nothing breaks and no one is misinformed about whether the command exists. The finder's line "a user who reads the hero sees a command the table says does not exist" is rhetorical — the table omits, it does not deny.
|
|
2123
|
-
|
|
2124
|
-
WHY IT IS STILL WORTH A CARD. The value is structural, not the symptom: of the three enumerations of the command surface, <code>docs/index.html</code> is pinned name-by-name against COMMANDS (test_docsite_chrome.py:63-71), <code>docs/commands.html</code> is generated from COMMANDS and gated by <code>build_command_reference.py --check</code>, and README's table is hand-maintained with only its integer asserted. PR #594 is the proof that the gap is live rather than theoretical.
|
|
2125
|
-
|
|
2126
|
-
<b>Why it is worth doing.</b> The README table is the only place a reader browses the command surface without running the CLI, and the one command it drops is the one the same file's hero block makes step 2 of onboarding. A user who reads the table sees no quickstart, and a user who reads the hero sees a command the table says does not exist. The count and the list also contradict each other in the same heading, which is exactly the class of drift test_marketing_counts.py was written for — it just guards the integer and not the enumeration.
|
|
2127
|
-
|
|
2128
|
-
<em>Found by an automated audit of retrieval/eval quality, the search & browse surfaces, and first-run onboarding; every finding was then re-measured from scratch by an independent adversarial verifier whose instruction was to refute it. Verdict: <b>CORRECTED</b>. No fix is prescribed here — the measurement is the contribution.</em></p>
|
|
2055
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md">Write-up · readme-81-command-table-lists-80-omits-quickstart.md</a></p>
|
|
2129
2056
|
<div class="meta">
|
|
2130
2057
|
<span class="m">Complexity <b>S</b></span>
|
|
2131
2058
|
<span class="m">Impact <b>Low</b></span>
|
|
@@ -59,6 +59,22 @@ class TestCommandCount:
|
|
|
59
59
|
assert counts == {_command_count()}, \
|
|
60
60
|
"README states conflicting command counts: %s" % sorted(counts)
|
|
61
61
|
|
|
62
|
+
def test_readme_table_lists_exactly_the_registry(self):
|
|
63
|
+
# The integer above was guarded; the enumeration under it was not, so
|
|
64
|
+
# #594 moved the heading to 81 and the table stayed at 80 (quickstart,
|
|
65
|
+
# the README's own onboarding step, was the one missing). Pin the rows
|
|
66
|
+
# by group title and order, the way docs/index.html's list is pinned.
|
|
67
|
+
from boost_cli.cli import GROUPS
|
|
68
|
+
rows = {group: [c.strip() for c in cmds.split("·")]
|
|
69
|
+
for group, cmds in re.findall(
|
|
70
|
+
r"^\| ([A-Z][^|]*?) \| (.+?) \|$", README, re.M)
|
|
71
|
+
if "·" in cmds}
|
|
72
|
+
want: dict[str, list[str]] = {}
|
|
73
|
+
for name, group, _module, _summary in COMMANDS:
|
|
74
|
+
want.setdefault(GROUPS[group][1], []).append(name)
|
|
75
|
+
assert rows == want
|
|
76
|
+
assert list(rows) == list(want) # the groups' order too
|
|
77
|
+
|
|
62
78
|
def test_landing_page_counts_agree(self):
|
|
63
79
|
counts = {int(n) for n in re.findall(r"(\d+)\s+commands", INDEX)}
|
|
64
80
|
assert counts == {_command_count()}, \
|
|
@@ -163,6 +163,34 @@ class TestForcedColorOutput:
|
|
|
163
163
|
"\033[31m\033[1mError: \033[0mboom\n"
|
|
164
164
|
"\033[2m hint: try x\033[0m\n")
|
|
165
165
|
|
|
166
|
+
def test_err_multiline_hint_is_coloured_per_line(self, capsys):
|
|
167
|
+
# One span over the joined body opened DIM on line 1 and closed it on
|
|
168
|
+
# the last, so `| head -2` ended inside an unterminated dim run.
|
|
169
|
+
out.err("boom", hint="one\ntwo\nthree")
|
|
170
|
+
assert capsys.readouterr().err == (
|
|
171
|
+
"\033[31m\033[1mError: \033[0mboom\n"
|
|
172
|
+
"\033[2m hint: one\033[0m\n"
|
|
173
|
+
"\033[2m two\033[0m\n"
|
|
174
|
+
"\033[2m three\033[0m\n")
|
|
175
|
+
|
|
176
|
+
def test_every_painter_styles_each_line_on_its_own(self):
|
|
177
|
+
# The same one-span shape in any painter reopens the bug `err` had;
|
|
178
|
+
# they all route through `_span`, which these pin per path.
|
|
179
|
+
y = "\033[38;2;250;204;21m" # warn -> aurora yellow
|
|
180
|
+
assert out.c("a\nb", out.DIM) == (
|
|
181
|
+
"\033[2ma\033[0m\n\033[2mb\033[0m")
|
|
182
|
+
assert out.aurora("a\nb", "yellow") == (
|
|
183
|
+
y + "a\033[0m\n" + y + "b\033[0m")
|
|
184
|
+
assert out.role("a\nb", "muted") == ( # the sgr branch
|
|
185
|
+
"\033[2ma\033[0m\n\033[2mb\033[0m")
|
|
186
|
+
# A space in the text: splitting the painted span on whitespace
|
|
187
|
+
# instead of "\n" would bold each word, not each line.
|
|
188
|
+
assert out.role("a b\nc", "warn", bold=True) == (
|
|
189
|
+
"\033[1m" + y + "a b\033[0m\n\033[1m" + y + "c\033[0m")
|
|
190
|
+
# A single line is byte-identical to the old code + text + RESET.
|
|
191
|
+
assert out.role("a", "warn", bold=True) == "\033[1m" + y + "a\033[0m"
|
|
192
|
+
assert out.c("", out.DIM) == "\033[2m\033[0m"
|
|
193
|
+
|
|
166
194
|
def test_heading_exact_ansi(self, capsys):
|
|
167
195
|
# Aurora cyan marker (truecolor under forced color) + bold title.
|
|
168
196
|
out.heading("Section")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|