boost-skill-cli 1.2.130__tar.gz → 1.2.131__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.130 → boost_skill_cli-1.2.131}/CLAUDE.md +4 -4
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/CONTRIBUTING.md +1 -1
- {boost_skill_cli-1.2.130/boost_skill_cli.egg-info → boost_skill_cli-1.2.131}/PKG-INFO +4 -3
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/README.md +3 -2
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/discovery.py +6 -1
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/quickstart.py +4 -4
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131/boost_skill_cli.egg-info}/PKG-INFO +4 -3
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/index.html +5 -5
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/openssf-badge.md +2 -2
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md +3 -3
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md +3 -3
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md +3 -3
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap.html +6 -108
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/security-design.md +1 -1
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/semantic-search.md +3 -3
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/shard_plan.py +2 -2
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_pane_width.py +5 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_marketing_counts.py +21 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_spdx_headers.py +13 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.gitattributes +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.gitignore +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.lycheeignore +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.vale/styles/boost/AIWriting.yml +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/.vale.ini +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/DCO +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/GOVERNANCE.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/LICENSE +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/MAINTAINERS.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/MANIFEST.in +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/Makefile +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/SECURITY.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/SUPPORT.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/aihost.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/archive.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/bmad.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/bootstrap.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/browse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/builtin.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/catalogbundle.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/chat.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/cohort.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/complete.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/deps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/discovery.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/hookhost.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/installscan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/jsonstate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/localembed.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/mcphost.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/report.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/typedvalue.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/data/rules/boost-first.mdc +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_langchain/__init__.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_langchain/_compat.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_langchain/graph.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_langchain/loader.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_langchain/py.typed +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_langchain/retriever.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_skill_cli.egg-info/SOURCES.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/codecov.yml +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/adapters.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/architecture/README.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/architecture/c4-components-core.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/architecture/c4-containers.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/architecture/c4-context.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/architecture/c4-dynamic-install.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/bmad.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/carousel.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/chat.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/code-review.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/commands.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/commit-audit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/demo-index.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/demo.gif +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/demo.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/demo.tape +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/dependencies.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/eval-latest.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/eval.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/langchain.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/openssf-playbook.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/BOOST-D27.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/a-new-shipped-card-always-404s-its-own-write-up-link.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ai-backend-fanout.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-absorb-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-adapt-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-adapt-renders-every-sibling-of-a-flat-agents-dir-workflow-as.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-adapt-run-stats-edit-tag-export-reject-the-tap-name-qualifie.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-ai-degrade-note-blames-path-api-keys-regardless-of-cause-sev.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-attest-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-audit-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-bmad-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-browse-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-bundle-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-catalog-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-catalog-resolve-one-s-duplicate-name-hint-advertises-path-to.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-changelog-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-chat-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-clean-counts-failed-removals-as-cleaned-journals-the-inflate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-cli-py-commands-summaries-and-parser-help-contradict-behavio.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-cohort-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-completions-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-config-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-config-policy-set-store-type-unchecked-values-consumers-cras.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-context-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-corrupt-settings-config-state-json-silently-read-as-empty-th.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-create-distill-infer-absorb-install-silently-replace-an-inst.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-create-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-declined-confirms-never-name-y-boost-assume-yes-snapshot-cle.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-deps-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-discover-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-distill-s-heuristic-merge-drops-repeated-fences-braces-writi.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-doctor-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-drift-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-dry-runs-disagree-with-the-real-run-compact-counts-bytes-it.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-edit-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-evolve-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-explain-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-export-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-export-o-cohort-create-and-profile-save-silently-overwrite-e.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-fingerprint-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-five-exit-70-crashes-on-bad-paths-data-catalog-export-serve.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-focus-profile-sideline-by-unlinking-without-recording-it-lis.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-git-operations-never-set-git-terminal-prompt-0-so-a-404-priv.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-health-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-hooks-remove-n-cannot-find-hooks-boost-itself-added-unknown.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-import-all-skips-the-injection-secret-scans-and-the-per-skil.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-import-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-index-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-info-stats-explain-render-a-different-smaller-shape-for-rule.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-install-dry-run-promises-agents-the-real-install-never-write.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-install-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-install-local-writes-empties-the-repo-s-mcp-json-silently-of.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-json-accepted-but-ignored-on-many-branches-cohort-config-pol.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-lint-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-log-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-log-simulate-changelog-headings-echo-the-raw-qualified-argum.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-mcp-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-mcp-register-s-boost-first-consent-names-only-the-registered.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-missing-json-on-doctor-test-health-changelog-trending-log-ho.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-name-miss-errors-unknown-tap-qualifier-unnamed-no-close-matc.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-onboard-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-out-table-clips-data-columns-to-an-assumed-80-columns-when-s.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-out-warn-defaults-to-stdout-infer-absorb-corrupt-skill-md-se.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-outdated-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-output-wrap-tokens-splits-punctuation-off-backtick-spans-ins.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-pinned-taps-silently-moved-to-head-by-update-re-clone-and-co.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-policy-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-preview-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-profile-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-project-scope-seams-uninstall-verify-list-info-reinstall-dis.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-protocol-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-pulse-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-quarantine-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-quarantine-pin-state-invisible-list-info-doctor-report-links.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-quickstart-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-recommend-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-reindex-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-reinstall-sync-repair-and-audit-resolve-by-name-tap-ignoring.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-replay-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-root-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-rules-workflows-reported-as-skills-uninstall-claims-a-store.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-run-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-schedule-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-search-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-simulate-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-singular-plural-misses-1-skills-1-issue-need-1-skill-pass-ac.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-six-count-flags-tap-chat-absorb-lint-changelog-hooks-skip-ut.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-skill-profile-name-slugging-is-inconsistent-distill-o-accept.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-snapshot-restore-replaces-the-lock-wholesale-orphaning-newer.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-stray-positionals-and-inapplicable-flags-silently-ignored-ac.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-sweep-positionals-json-lack-help-strings-and-no-command-help.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-sync-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-tag-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-tap-dry-run-is-silently-ignored-outside-catalog-spec-and-def.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-tap-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-taps-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-taps-outdated-decay-policy-snapshot-json-emit-display-string.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-test-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-trust-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-trust-verify-labels-a-manifest-tampered-after-signing-by-a-t.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-unpin-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-untap-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-update-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-verify-drift-say-nothing-installed-exit-0-and-doctor-says-lo.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-verify-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/audit-who-findings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bare-boost-never-names-an-entry-point.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/because-that-was-not-the-reason.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bm25-empty-tokenization-kills-catalog-fallback.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bm25-has-no-stemming.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-done-contract-ignores-the-track.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-gemini-gets-claude-hook-output.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-hooks-all-hosts.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-personas-delegate-outside-the-router.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-roster-drifted-from-bmad-6-12.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-route-ignores-autopilot-state.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-router-one-keyword-decides-the-track.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bmad-router-reads-each-prompt-alone.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/boost-first-rule.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/branch-current-gate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/browse-could-not-search-two-words.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/capability-policy-skips-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/catalog-categories-beyond-curated.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/catalogue-entries-carry-no-content-identity.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/cli-audit-2026-08-full-sweep.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/cli-command-audit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/cli-output-ignored-the-terminal.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/cold-search-reads-the-whole-catalogue.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/compact-answers-a-named-tap-with-a-global-all-clear.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/completions-install-could-eat-your-rc-file.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/concurrent-rag-builds-delete-each-others-temp-index.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/corpus-refresh-updates-data-not-prose.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/corrupt-config-reads-as-ready-to-set-up.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/count-flags-that-silently-invert.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/delay-true-defeats-the-log-suppress.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-kill-switch-has-no-reason-state.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-no-key-guard-is-unreachable.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-ready-but-embedder-cannot-run.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-reindex-has-no-progress-or-durability.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-reindex-reuses-whole-taps.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-search-rescans-every-vector.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dense-store-holds-every-vector-once-per-copy.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/doctor-prescribes-sync-that-deletes-live-links.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/err-multiline-hint-colours-across-the-newline.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-counted-by-the-method-the-repo-disavows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-duplication-is-intra-tap-not-mirrors.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-floor-calibration-stale-after-pin-refresh.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-gate-scores-a-body-less-corpus.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/exemplar-graded-golden-set-runs-in-no-gate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/explain-outline-has-no-cap.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gate-parity-test-ignores-k-and-golden.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gated-golden-set-has-zero-exemplars.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gemini-duplicate-skill-discovery.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gemini-hooks-host-aware.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gemini-mcp-parity.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/gstack-tap-first-then-coexistence.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/info-deps-materialize-a-dir-they-then-reject.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/install-path-disambiguation.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lighthouse-flips-on-byte-identical-input.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lock-kept-links-it-had-just-removed.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/long-hints-overflow-narrow-panes.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/marketing-crm-domain-had-no-category.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-cannot-read-a-skill-before-installing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-install-description-omits-antigravity.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-search-cost-overstated-on-keyless-machines.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-skip-list-absent-from-tool-descriptions.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mutation-shards-rerun-full-set-every-push.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/near-identical-copies-still-eat-the-slots.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/openssf-best-practices-badge.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/openssf-gold-ceiling.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/openssf-playbook.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/openssf-silver.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/osps-baseline-levels.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/panel-fits-data-to-an-assumed-80-in-a-pipe.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/pathlib-exists-is-not-total.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/publish-the-keyword-index.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/published-shards-have-no-consumer.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/quickstart-drops-incompatible-shard-status.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/quickstart-manifest-error-drops-hint-and-misnames-cause.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/quickstart-says-ready-exit-0-after-every-tap-failed.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/quickstart-shard-download-invisible-in-preview-and-run.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/readme-81-command-table-lists-80-omits-quickstart.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/readme-hero-installs-a-name-no-starter-registry-ships.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/readme-prune-and-search-guide.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/reclone-leaves-a-clone-on-head-when-it-cannot-reach-the-pin.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/recommend-recomputes-its-columns-per-row.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/refresh-strands-the-natural-set-baseline.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/reindex-reported-a-completeness-share-it-could-not-compute.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/relicence-apache-2.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/reproducible-release-artifacts.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/required-eval-gate-still-grades-by-name.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/roadmap-boards-advertise-python-39.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-and-browse-visual-refresh.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-caps-the-two-copyable-identifiers.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-drops-symbol-language-queries-silently.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-relevance-meter-is-constant-on-default-page.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/search-rows-use-term-width-so-piping-drops-the-tap-column.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/shard-refresh-skips-processed-commits.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/shard-runs-reembed-everything-weekly.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/shrink-the-published-index.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/smart-rerank-pays-per-novel-query.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/stale-gate-sizes-in-readme-and-contributing.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/stale-tap-hint-dead-for-tap-only-installs.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/surface-dehyphenation-rationale-is-false.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sweep-died-at-a-page-not-at-launch.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/table-fit-widths-floor-destroys-columns-and-still-overflows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/taps-vouches-for-a-clone-that-is-not-there.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/the-catalogue-advertised-repos-that-no-longer-exist.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/the-scale-corpus-refreshed-the-wrong-rows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/the-shard-job-that-could-not-finish.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/tier3-ceiling-unreachable-at-default-n.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/two-ci-controls-that-could-not-act.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/typos-reported-as-boost-bugs.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/unreadable-tap-cache-healthy-doctor-crashing-heal.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/unwritable-agent-dir-has-no-remedy.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/vex-openvex-feed.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/weekly-vectors-had-no-ingestion-path.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/zip-strict-audit.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/superpowers/specs/2026-08-16-catalogue-content-identity-design.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/verifying-releases.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/vex/meta.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/vex/openvex.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/vex/statements/gitleaks-secretscan-test-fixtures.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/vex/statements/quality-trust-fingerprint-not-sensitive.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/vex/statements/zizmor-adhoc-packages-lint-runners.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/docs/vex/statements/zizmor-dangerous-triggers-workflow-run.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/README.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/__init__.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/baseline.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/metrics.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/examples/README.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/index.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/noxfile.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/pyproject.toml +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/platform-pins.lock +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/add_spdx_headers.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/build_demo_index.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/build_scale_corpus.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/build_vex.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/check_branch_current.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/check_dco.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/check_reproducible.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_corpus.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/eval_tools.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/measure_near_duplicate_bound.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/measure_registry.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/normalize_sdist.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/page_budget.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/publish_eval_json.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/publish_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/release_guard.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/scripts/serve_docs.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/setup.cfg +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/sonar-project.properties +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/style/README.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/style/boost.css +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/style/boost.js +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/style/demo.html +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/conftest.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/fixtures/claude_init_event.jsonl +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/golden-natural.jsonl +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/taps-scale.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/eval/tool_calls.jsonl +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_bad_input_is_not_a_crash.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_bmad_all_hosts.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_bmad_personas_scope.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_catalog.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_chat.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_hooks_gemini.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_json_reports.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_quickstart.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_tap_pins.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_context_sees_an_unborn_branch.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_count_flags_reject_nonpositive.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_kind_conformance.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_recommend_because_is_true.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_reports_match_reality.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/09-nul.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/10-name-too-long.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/corpus/registry/11-long-owner-repo.txt +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/langchain/conftest.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/langchain/test_graph.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/langchain/test_loader.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/langchain/test_retriever.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/data/bmad-skills-6.12.0.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_action_pin_lockstep.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_aihost.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_archive.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_bmad_core.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_boost_first_offer.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_bootstrap.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_bot_pr_dco.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_branch_current.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_browse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_builtin.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_catalog_keyword_words.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_catalogbundle.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_chat.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_check_dco.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_check_reproducible.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_clean_internal_cache.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_cli_update_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_cohort.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_compact.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_complete.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_complete_rc_block.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_content_dedupe.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_content_identity.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_count_flags_use_positive_int.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_crash_redaction.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dedup_trust.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_demo_index.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_boilerplate_cluster.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_embed_dedupe.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_entry_reuse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_entry_vectors.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_fix_hint.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_progress.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_quantized.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_ready_order.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_shard_real_schema.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_status.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_status_cheap.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dense_vector_dedupe.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_deps.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_discovery.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_distill_merge.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_doctor_output_polish.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_drift_hint.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_embed_local.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_embed_truncated_response.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_entry_key.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_baseline.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_corpus.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_grading.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_tools.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_eval_tools_probe.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_gemini_agent_sanitize.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_gitutil_lfs.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_gitutil_sparse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_gstack_coexistence.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_hook_settings_hosts.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_hookhost.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_install_permission_error.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_installscan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_jsonstate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_langchain_packaging.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_launcher_python_floor.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_link_ownership.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_localembed.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_localembed_e2e.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mcp_install_scan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mcp_read.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mcphost.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_measure_registry.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mutation_subfile_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_near_duplicate_collapse.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_normalize_sdist.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_page_budget.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_platform_pins.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_project_mcp_sidecar.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_rag_completeness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_rag_fastpath.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_rag_fusion.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_registry_categories.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_registry_control_chars.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_registry_parallel.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_release_guard.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_report.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_rerank_cache.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_retrieve_any_near_duplicates.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_scale_corpus.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_schedule_plist.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_serve_docs.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_shard_plan.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_shards.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_shards_incremental.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_shards_ingest.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_shards_matrix.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_smoke_covers_every_command.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_store_materialize.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_sync_blocked_links.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_sync_lost_lock.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_tap_pins.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_typedvalue.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_version_tags.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_vex.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_visual_harness_capture.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_visual_harness_flags.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_workflow_concurrency.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_workflow_concurrency_groups.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_workflow_push_has_credentials.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/visual/package-lock.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.2.130 → boost_skill_cli-1.2.131}/tests/visual/visual_check.mjs +0 -0
|
@@ -293,10 +293,10 @@ line coverage. Target `boost_cli/core` behavior with assertions, not just import
|
|
|
293
293
|
adding to the vale list.** Every `.py`/`.sh` under `boost_cli`,
|
|
294
294
|
`boost_langchain`, `evals`, `scripts`, `tests` plus `./boost` and
|
|
295
295
|
`noxfile.py` opens with `# Copyright the boost contributors.` and
|
|
296
|
-
`# SPDX-License-Identifier:
|
|
296
|
+
`# SPDX-License-Identifier: Apache-2.0`. Run
|
|
297
297
|
`python3 scripts/add_spdx_headers.py` (idempotent) — the file list and the
|
|
298
|
-
expression live there, so changing
|
|
299
|
-
than
|
|
298
|
+
expression live there, so changing the licence expression is one edit rather
|
|
299
|
+
than hundreds. Separately, `prose-lint.yml` names the Markdown files vale checks
|
|
300
300
|
**explicitly**: a new doc that is not added to that list is never linted, and
|
|
301
301
|
`make lint` will not tell you.
|
|
302
302
|
|
|
@@ -517,7 +517,7 @@ each agent's skills dir, and updating the lock file.
|
|
|
517
517
|
|
|
518
518
|
- **The shard matrix is packed, not sliced, and 256 is a hard ceiling.**
|
|
519
519
|
GitHub runs at most 256 matrix jobs per workflow, so `shards.yml` cannot take
|
|
520
|
-
one job per registry once the scope is the
|
|
520
|
+
one job per registry once the scope is the ~460-registry catalogue — the run
|
|
521
521
|
fails before a job starts. `scripts/shard_plan.py` bin-packs by the measured
|
|
522
522
|
`est_items` (longest-processing-time-first), which matters because cost is
|
|
523
523
|
uneven: the largest catalogued registry is 880 items against a median of 30,
|
|
@@ -191,7 +191,7 @@ form linked there, never a public issue.
|
|
|
191
191
|
tests that actually kill your mutants.
|
|
192
192
|
- **Every source file opens with a two-line header** —
|
|
193
193
|
`# Copyright the boost contributors.` then
|
|
194
|
-
`# SPDX-License-Identifier:
|
|
194
|
+
`# SPDX-License-Identifier: Apache-2.0`, below any shebang.
|
|
195
195
|
`python3 scripts/add_spdx_headers.py` stamps whatever is missing and is safe
|
|
196
196
|
to re-run; `tests/unit/test_spdx_headers.py` fails the build for a new file
|
|
197
197
|
without one.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.131
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -190,8 +190,9 @@ those vectors. Embedding is ~1.2 s/chunk on CPU — hours for a real corpus —
|
|
|
190
190
|
and importing the same rows takes 0.12 s, so the difference between the two is
|
|
191
191
|
the difference between semantic search being available and being reachable.
|
|
192
192
|
|
|
193
|
-
Want everything? `boost quickstart --catalog` taps
|
|
194
|
-
|
|
193
|
+
Want everything? `boost quickstart --catalog` taps every catalogued
|
|
194
|
+
registry — measured at 2 min 10 s for 463 of them, now that clones run in
|
|
195
|
+
parallel — and fetches vectors
|
|
195
196
|
for every one that has a published shard.
|
|
196
197
|
|
|
197
198
|
Already tapped? `boost reindex --fetch-shards` does the download half alone,
|
|
@@ -148,8 +148,9 @@ those vectors. Embedding is ~1.2 s/chunk on CPU — hours for a real corpus —
|
|
|
148
148
|
and importing the same rows takes 0.12 s, so the difference between the two is
|
|
149
149
|
the difference between semantic search being available and being reachable.
|
|
150
150
|
|
|
151
|
-
Want everything? `boost quickstart --catalog` taps
|
|
152
|
-
|
|
151
|
+
Want everything? `boost quickstart --catalog` taps every catalogued
|
|
152
|
+
registry — measured at 2 min 10 s for 463 of them, now that clones run in
|
|
153
|
+
parallel — and fetches vectors
|
|
153
154
|
for every one that has a published shard.
|
|
154
155
|
|
|
155
156
|
Already tapped? `boost reindex --fetch-shards` does the download half alone,
|
|
@@ -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.131'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 2, 131)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -256,7 +256,12 @@ def cmd_search(argv):
|
|
|
256
256
|
else:
|
|
257
257
|
footer = ("%d match%s · ranked by %s"
|
|
258
258
|
% (len(scored), "" if len(scored) == 1 else "es", ranker))
|
|
259
|
-
|
|
259
|
+
# Chrome, so fitted like the rows `search_layout` just fitted above it —
|
|
260
|
+
# the same wrap-then-colour as `_hint_semantic_search`. Emitted whole it
|
|
261
|
+
# measured 55 columns in a 40-column pane (the cap branch), and the
|
|
262
|
+
# pane-width gate only passed because its fixture returned one match.
|
|
263
|
+
for line in out.wrap(footer, max(out.term_width() - 2, 20)):
|
|
264
|
+
out.info(out.role(line, "muted"))
|
|
260
265
|
if use_rag:
|
|
261
266
|
_note_stem_expansions(query)
|
|
262
267
|
_note_dropped_terms(dropped)
|
|
@@ -36,9 +36,9 @@ def _selection(catalog_scope: bool) -> list[dict]:
|
|
|
36
36
|
"""The registries quickstart will tap: the seven defaults, or all of them.
|
|
37
37
|
|
|
38
38
|
`--catalog` exists because "search everything" is a real ask and the two
|
|
39
|
-
costs that used to make it unreasonable are gone: tapping
|
|
40
|
-
2 min 10 s
|
|
41
|
-
download rather than an hour of CPU.
|
|
39
|
+
costs that used to make it unreasonable are gone: tapping the whole
|
|
40
|
+
catalogue measured 2 min 10 s (463 registries) once clones ran in
|
|
41
|
+
parallel, and their vectors are a download rather than an hour of CPU.
|
|
42
42
|
"""
|
|
43
43
|
if not catalog_scope:
|
|
44
44
|
return [d.copy() for d in config.DEFAULT_TAPS]
|
|
@@ -62,7 +62,7 @@ def _tap_defaults(selection: list[dict], pins: dict[str, dict],
|
|
|
62
62
|
if dry_run:
|
|
63
63
|
existing = {t.name for t in registry.list_taps()}
|
|
64
64
|
pending = [n for n in names if n not in existing]
|
|
65
|
-
# Over
|
|
65
|
+
# Over the whole catalogue a line each is a wall of text, so past a handful
|
|
66
66
|
# the dry run reports the shape instead of the list.
|
|
67
67
|
if len(pending) > 12:
|
|
68
68
|
out.info("would tap %d registries (%d pinned to a published "
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boost-skill-cli
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.131
|
|
4
4
|
Summary: boost — Homebrew for AI coding skills
|
|
5
5
|
Author: Jonathan Reyes
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -190,8 +190,9 @@ those vectors. Embedding is ~1.2 s/chunk on CPU — hours for a real corpus —
|
|
|
190
190
|
and importing the same rows takes 0.12 s, so the difference between the two is
|
|
191
191
|
the difference between semantic search being available and being reachable.
|
|
192
192
|
|
|
193
|
-
Want everything? `boost quickstart --catalog` taps
|
|
194
|
-
|
|
193
|
+
Want everything? `boost quickstart --catalog` taps every catalogued
|
|
194
|
+
registry — measured at 2 min 10 s for 463 of them, now that clones run in
|
|
195
|
+
parallel — and fetches vectors
|
|
195
196
|
for every one that has a published shard.
|
|
196
197
|
|
|
197
198
|
Already tapped? `boost reindex --fetch-shards` does the download half alone,
|
|
@@ -658,7 +658,7 @@ facilitate structured divergent thinking:
|
|
|
658
658
|
<div class="node src">
|
|
659
659
|
<span class="tag">Source</span>
|
|
660
660
|
<h3>GitHub registries</h3>
|
|
661
|
-
<p>7 pre-tapped registries +
|
|
661
|
+
<p>7 pre-tapped registries + live GitHub discovery</p>
|
|
662
662
|
</div>
|
|
663
663
|
</div>
|
|
664
664
|
<div class="flow-arrow reveal">
|
|
@@ -874,8 +874,8 @@ facilitate structured divergent thinking:
|
|
|
874
874
|
<p class="sec-sub">Boost ships pre-tapped to seven curated registries covering all three
|
|
875
875
|
item kinds — skills, rules and workflows — and <code>boost mcp</code> taps them for you
|
|
876
876
|
on a machine that has none. Beyond that,
|
|
877
|
-
the curated catalog spans 100+ registries and <code>boost discover</code>
|
|
878
|
-
|
|
877
|
+
the curated catalog spans 100+ registries and <code>boost discover</code> searches
|
|
878
|
+
GitHub live for skill repositories you have not tapped. Tap your own team’s repo anytime.</p>
|
|
879
879
|
|
|
880
880
|
<div class="reg-wrap reveal">
|
|
881
881
|
<div class="reg-scroll">
|
|
@@ -937,7 +937,7 @@ facilitate structured divergent thinking:
|
|
|
937
937
|
</div>
|
|
938
938
|
</div>
|
|
939
939
|
<p class="reg-note">Item counts (skills + rules + workflows) measured from the live repositories ·
|
|
940
|
-
|
|
940
|
+
<code>boost discover <query></code> searches GitHub live; <code>boost index</code> builds the offline index that bare <code>discover</code> and <code>--local</code> browse</p>
|
|
941
941
|
</div>
|
|
942
942
|
</section>
|
|
943
943
|
|
|
@@ -1009,7 +1009,7 @@ pipx inject boost-skill-cli <span class="yv">"boost-skill-cli[rag]"</span>
|
|
|
1009
1009
|
<a href="#commands"><span class="name"><span class="v">boost</span> install brainstorming</span><p>Install into every agent</p></a>
|
|
1010
1010
|
<a href="#commands"><span class="name"><span class="v">boost</span> recommend</span><p>Suggestions for your stack</p></a>
|
|
1011
1011
|
<a href="#commands"><span class="name"><span class="v">boost</span> browse</span><p>Interactive TUI explorer</p></a>
|
|
1012
|
-
<a href="#commands"><span class="name"><span class="v">boost</span> discover</span><p>
|
|
1012
|
+
<a href="#commands"><span class="name"><span class="v">boost</span> discover</span><p>Find untapped skills on GitHub</p></a>
|
|
1013
1013
|
<a href="#commands"><span class="name"><span class="v">boost</span> doctor</span><p>Health check & repair hints</p></a>
|
|
1014
1014
|
</div>
|
|
1015
1015
|
</div>
|
|
@@ -241,8 +241,8 @@ that sets response headers) and three are a recruiting problem.
|
|
|
241
241
|
|
|
242
242
|
| Criterion | Cat. | Answer | Evidence |
|
|
243
243
|
|---|---|---|---|
|
|
244
|
-
| `copyright_per_file` | MUST | **Met** | Every source file opens with `# Copyright the boost contributors.` —
|
|
245
|
-
| `license_per_file` | MUST | **Met** | The next line of every one of those files is `# SPDX-License-Identifier:
|
|
244
|
+
| `copyright_per_file` | MUST | **Met** | Every source file opens with `# Copyright the boost contributors.` — every `.py`/`.sh` file across `boost_cli/`, `boost_langchain/`, `evals/`, `scripts/`, `tests/` and the two root files. [`scripts/add_spdx_headers.py`](https://github.com/jonnyeclectic/boost/blob/main/scripts/add_spdx_headers.py) stamps them idempotently and `tests/unit/test_spdx_headers.py` fails the build if a new file arrives without one. |
|
|
245
|
+
| `license_per_file` | MUST | **Met** | The next line of every one of those files is `# SPDX-License-Identifier: Apache-2.0`, the licence LICENSE carries. `tests/unit/test_spdx_headers.py` fails the build on a file missing either line, and a second test pins CLAUDE.md's contributor rule to the same expression. |
|
|
246
246
|
| `repo_distributed` | MUST | **Met** | git. |
|
|
247
247
|
| `small_tasks` | SHOULD | **Met** | [CONTRIBUTING.md § Good first tasks](https://github.com/jonnyeclectic/boost/blob/main/CONTRIBUTING.md#good-first-tasks) names five standing starter tasks, each with the exact file to edit — adding a registry row, adding a retrieval golden-set query, teaching the prose linter a word, sharpening a command summary, covering an untested branch. They are standing tasks on purpose: a newcomer can start without waiting for an issue to be triaged. Specific one-off tasks carry the `good first issue` label. |
|
|
248
248
|
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: audit-stale-prose-after-shipped-changes-catalog-export-live-discov
|
|
3
3
|
board: code
|
|
4
4
|
section: dx
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Docs · Drift
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Low
|
|
9
9
|
wow: 1
|
|
10
10
|
note: a documented command that exits 2, 463 vs 464 in eight places, a GPL rule over Apache files
|
|
11
11
|
order: 244
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/stale-prose
|
|
13
|
+
pr: 883
|
|
14
14
|
title: "Stale prose after shipped changes: <code>catalog --export</code>, live discover, 464 count, Apache-2.0"
|
|
15
15
|
---
|
|
16
16
|
Four patches of prose describe the repo as it was before a shipped change, each verified against the current
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to
|
|
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: search_layout's docstring guarantees every row measures within cols, and at COLUMNS=4…
|
|
11
11
|
order: 231
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/search-footer-fit
|
|
13
|
+
pr: 884
|
|
14
14
|
title: The search footer is the one unfitted line on a screen <code>search_layout</code> just fitted: 55 columns in a 40-column pane
|
|
15
15
|
---
|
|
16
16
|
<b>Measured.</b> The same command measures 55 columns in a 40-column pane in the field and 39 in the test that asserts it fits: <code>tests/functional/test_cli_pane_width.py::TestChromeOnlyCommandsFitAnyPane::test_search[40]</code> passes only because its fixture tap yields exactly one match, whose footer is <code>1 match · ranked by full-content BM25</code> = 39 — one column under the pane.
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: search-footer-overflows-40-col-pane-gate-passes-by-luck
|
|
3
3
|
board: code
|
|
4
4
|
section: planned
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: UX · Bug
|
|
7
7
|
complexity: M
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 3
|
|
10
10
|
note: tests/functional/test_cli_pane_width.py asserts _widest(r.out) <= cols for boost sear…
|
|
11
11
|
order: 232
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/search-footer-fit
|
|
13
|
+
pr: 884
|
|
14
14
|
title: <code>boost search</code>'s footer overflows a 40-column pane by 2-15 cells, and the gate that swears it doesn't passes only because its fixture returns exactly one match
|
|
15
15
|
---
|
|
16
16
|
<b>Measured.</b> On the gate's <b>own</b> 5-item fixture at COLUMNS=40, changing the query from <code>brainstorming</code> to <code>workflow</code> — nothing else — takes <code>_widest(r.out)</code> from 40 (passes) to 41 (fails), because the footer goes from <code>1 match · ranked by full-content BM25</code> (39 cells) to <code>2 matches · ranked by full-content BM25</code> (41 cells): the gate's green is a property of the singular noun, not of the code. On the 20-tap corpus the same footer measures 55 cells at COLUMNS=40 (over by 15) via the <code>hit_cap</code> branch.
|
|
@@ -2221,46 +2221,9 @@ MITIGATIONS (why Med and not High): every failure path recovers in one command.
|
|
|
2221
2221
|
</article>
|
|
2222
2222
|
|
|
2223
2223
|
<article class="cap rcard" id="search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to">
|
|
2224
|
-
<div class="head"><span class="pill
|
|
2224
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">UX · Bug</span></div>
|
|
2225
2225
|
<h3>The search footer is the one unfitted line on a screen <code>search_layout</code> just fitted: 55 columns in a 40-column pane</h3>
|
|
2226
|
-
<p><
|
|
2227
|
-
|
|
2228
|
-
<b>Reproduce it.</b>
|
|
2229
|
-
|
|
2230
|
-
<code>cd <repo></code><br>
|
|
2231
|
-
<code>export BOOST_HOME=$TMPDIR/eval-home</code><br>
|
|
2232
|
-
<code>COLUMNS=40 ./boost search "code review" 2>&1 | python3 -c "</code><br>
|
|
2233
|
-
<code>import sys,re,unicodedata</code><br>
|
|
2234
|
-
<code>A=re.compile(r'\033\[[0-9;]*m')</code><br>
|
|
2235
|
-
<code>def vl(s):</code><br>
|
|
2236
|
-
<code> s=A.sub('',s); return sum(0 if unicodedata.combining(c) else (2 if unicodedata.east_asian_width(c) in ('W','F') else 1) for c in s)</code><br>
|
|
2237
|
-
<code>for i,l in enumerate(sys.stdin.read().splitlines()):</code><br>
|
|
2238
|
-
<code> if vl(l)>40: print('OVERFLOW line%d %d>40: %r' % (i, vl(l), l))</code><br>
|
|
2239
|
-
<code>"</code>
|
|
2240
|
-
|
|
2241
|
-
<b>What adversarial verification corrected.</b> This card's numbers are the re-measured ones, not the ones first reported.
|
|
2242
|
-
|
|
2243
|
-
Three citation errors; all measured numbers are right.
|
|
2244
|
-
|
|
2245
|
-
1. The footer emit is <code>boost_cli/commands/discovery.py:238</code>, not 239. 2. The <code>search_layout</code> docstring sentence is <code>boost_cli/core/output.py:665-667</code> (the whole docstring runs 653-668), not 680-682. Lines 680-682 are <code>desc_room()</code>'s body and the <code>tap_w</code> drop test. 3. "thirty lines later in the same module" is wrong: 238 -> 258 is 20 lines. The finding's own <code>why_it_matters</code> already says "20 lines away", so the evidence contradicts itself.
|
|
2246
|
-
|
|
2247
|
-
Not a correction but a scope fact the finding did not state: the *other* footer branch also overflows. At COLUMNS=40 with BM25 the widths are 39 (1 match, fits) / 41 (3) / 42 (35 matches, measured) / 55 (cap branch, measured) — i.e. the overflow is 1-15 cells, zero at exactly one match. The smart path pushes it further ("ranked by Claude Haiku relevance" = 59).
|
|
2248
|
-
|
|
2249
|
-
<b>What is NOT established.</b> Recorded because a card that overstates its own evidence is worse than no card.
|
|
2250
|
-
|
|
2251
|
-
Scope of my repro: the 20-tap eval corpus at $TMPDIR/eval-home for the field measurement, plus the real <code>tests/make_fixture.py</code> tap in a disposable HOME for the gate fixture. No network, no writes to the shared corpus. The defect is in the emit site, not the corpus — any query returning >1 match reproduces it.
|
|
2252
|
-
|
|
2253
|
-
Four things a card author must not get wrong:
|
|
2254
|
-
|
|
2255
|
-
1. <b><code>search_layout</code> does not violate its own docstring.</b> Its guarantee is over "every row assembled from the plan"; the footer is not a row assembled from the plan. The title's contrast is rhetorical and true as *juxtaposition* (the fitted rows sit directly above an unfitted line), but a card must not say "search_layout breaks its own guarantee." The law the footer *does* break is the repo's own, stated in <code>tests/functional/test_cli_pane_width.py</code>'s module docstring: "Commands whose whole output boost composed — <code>search</code>, <code>who</code>, <code>protocol</code> — are swept at panes down to 40 columns. Every line is chrome, so every line is boost's to fit."
|
|
2256
|
-
|
|
2257
|
-
2. <b>"The one unfitted line" holds only for a screen with results.</b> On the zero-result screen a different line overflows and <code>search_layout</code> never runs: <code>COLUMNS=40 ./boost search zzzqqxnothing</code> emits <code> → try \</code>boost discover zzzqqxnothing\<code> to search all of GitHub</code> at 62 columns. Fixing the footer does not make <code>boost search</code> pane-clean, and a card claiming it does will be wrong the first time someone types a miss.
|
|
2258
|
-
|
|
2259
|
-
3.
|
|
2260
|
-
|
|
2261
|
-
<b>Why it is worth doing.</b> The footer is chrome (a count and a ranker name), so the wrap law permits fitting it — nothing on that line is data the user must copy. Leaving it unfitted means the one screen boost spent a whole frozen <code>SearchLayout</code> dataclass fitting still wraps on a narrow pane, and it wraps on the summary line, breaking the visual bottom edge of the result block. The fix is one call already used 20 lines away in the same file.
|
|
2262
|
-
|
|
2263
|
-
<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>
|
|
2226
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md">Write-up · search-footer-not-fitted-to-the-pane-its-rows-were-fitted-to.md</a></p>
|
|
2264
2227
|
<div class="meta">
|
|
2265
2228
|
<span class="m">Complexity <b>S</b></span>
|
|
2266
2229
|
<span class="m">Impact <b>Low</b></span>
|
|
@@ -2270,47 +2233,9 @@ Four things a card author must not get wrong:
|
|
|
2270
2233
|
</article>
|
|
2271
2234
|
|
|
2272
2235
|
<article class="cap rcard" id="search-footer-overflows-40-col-pane-gate-passes-by-luck">
|
|
2273
|
-
<div class="head"><span class="pill
|
|
2236
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">UX · Bug</span></div>
|
|
2274
2237
|
<h3><code>boost search</code>'s footer overflows a 40-column pane by 2-15 cells, and the gate that swears it doesn't passes only because its fixture returns exactly one match</h3>
|
|
2275
|
-
<p><
|
|
2276
|
-
|
|
2277
|
-
<b>Reproduce it.</b>
|
|
2278
|
-
|
|
2279
|
-
<code>cd <repo></code><br>
|
|
2280
|
-
<code>export BOOST_HOME=$TMPDIR/eval-home</code><br>
|
|
2281
|
-
<code>.venv/bin/python - <<'PY'</code><br>
|
|
2282
|
-
<code>import os,subprocess,sys</code><br>
|
|
2283
|
-
<code>sys.path.insert(0,".")</code><br>
|
|
2284
|
-
<code>from boost_cli.core import output</code><br>
|
|
2285
|
-
<code>for C in (40,48,60,80,120):</code><br>
|
|
2286
|
-
<code> env=dict(os.environ); env["COLUMNS"]=str(C)</code><br>
|
|
2287
|
-
<code> r=subprocess.run(["./boost","search","code","review"],capture_output=True,text=True,env=env)</code><br>
|
|
2288
|
-
<code> lines=r.stdout.splitlines()</code><br>
|
|
2289
|
-
<code> w=max((output.visible_len(l) for l in lines),default=0)</code><br>
|
|
2290
|
-
<code> print("COLUMNS=%-4d widest=%-4d %s" % (C,w,"OVER by %d"%(w-C) if w>C else "ok"))</code><br>
|
|
2291
|
-
<code> for l in lines:</code><br>
|
|
2292
|
-
<code> if output.visible_len(l)>C: print(" %3d | %s" % (output.visible_len(l), l))</code><br>
|
|
2293
|
-
<code>for q in (["quarkus"],["minio"]):</code><br>
|
|
2294
|
-
<code> env=dict(os.environ); env["COLUMNS"]="40"</code><br>
|
|
2295
|
-
…
|
|
2296
|
-
|
|
2297
|
-
<b>What adversarial verification corrected.</b> This card's numbers are the re-measured ones, not the ones first reported.
|
|
2298
|
-
|
|
2299
|
-
Three of the finding's file:line refs are stale against current HEAD (9b70fc8e). A card author copying them lands in the wrong place:
|
|
2300
|
-
|
|
2301
|
-
1. <code>hit_cap = len(hits) >= k</code> is at <b>discovery.py:161</b>, not 157. 2. <code>k = max(60, args.limit * 4)</code> is at <b>discovery.py:153</b>, not 150. 3. <code>out.info(out.role(footer, "muted"))</code> is at <b>discovery.py:238</b>, not 239. (<code>discovery.py:234-237</code> for the footer assembly IS correct — 234 is the cap branch, 236-237 the plain branch.) 4. The test-file docstring quote is at <b>test_cli_pane_width.py:15-17</b>, not 14-17 (line 14 is blank).
|
|
2302
|
-
|
|
2303
|
-
5. "Every other count on any corpus overflows" is over-scoped. The 8-cell count budget (40 - 2 indent - 3 separator - 27 for "ranked by full-content BM25") is specific to the <b>key-free BM25 label</b>. <code>rag.py:1282-1287</code> ships two other labels and the envelope moves in BOTH directions: - <code>dense vectors</code> → "ranked by dense vectors" is 23, budget 12, so counts up to <code>9999 matches</code> fit at 40. A dense-backed install's plain branch mostly does not overflow. - <code>hybrid RRF (BM25 + dense)</code> → "ranked by hybrid RRF (BM25 + dense)" is 35, budget 0, so <b>nothing</b> fits at COLUMNS=40 — including <code>1 match</code>.
|
|
2304
|
-
|
|
2305
|
-
<b>What is NOT established.</b> Recorded because a card that overstates its own evidence is worse than no card.
|
|
2306
|
-
|
|
2307
|
-
SCOPE OF MY REPRO - The 55 / 54 / 42 / 41 numbers come from the shared 20-tap eval corpus at $TMPDIR/eval-home. They are "how bad on a real catalogue", corpus-dependent. - The load-bearing half is corpus-INDEPENDENT: the arithmetic (2 + len("N match(es)") + 3 + len("ranked by <label>")) and the fixture proof above, both reproducible with only <code>tests/make_fixture.py</code>. A card can be written without any external corpus. - The gate currently passes (4 passed, exit 0). I did not edit any source.
|
|
2308
|
-
|
|
2309
|
-
DEDUPE — clean, not carded. I read <code>long-hints-overflow-narrow-panes.md</code> (#555) in full: it enumerates its 11+1 offenders by name (doctor 127, AI-fallback 101, protocol 100, changelog 93, who 87, search's *extra hint* 82, simulate 97) and its "Still open" section names only doctor's ·-joined summaries at 71 and protocol's <code>try it:</code> at 59 — the search footer is absent, and could not be present since 74c4aac9 wrote the long branch after #555. <code>audit-search-findings.md</code> (#770) specifies the footer's new wording and never measures a pane. <code>search-and-browse-visual-refresh.md</code> scopes its 40-column claim to <code>format_search_row</code>, which my measurement confirms still holds (every result row fits at 40 and 48). Also checked BOOST-D23, BOOST-D24, BOOST-D27, cli-output-ignored-the-terminal, cli-audit-2026-08-full-sweep, audit-output-wrap-tokens…, audit-out-table-clips… — none mention search's footer.
|
|
2310
|
-
|
|
2311
|
-
<b>Why it is worth doing.</b> A required functional gate is asserting an invariant that is false for every real user, and it stays green because the fixture happens to hit the one count that fits. Anyone reading <code>test_cli_pane_width.py</code> or <code>long-hints-overflow-narrow-panes</code> ("eight overflowing lines became two, and the two are the data lines") believes <code>boost search</code> is width-clean at 40 columns; on a real catalogue the footer wraps in a split pane or narrow tmux window, which is exactly the class of regression PR 555 built the sweep to catch. The footer is chrome by the card's own definition — a match count and an engine label, not data like <code>pulse</code>'s paths or <code>fingerprint</code>'s hash — so nothing exempts it.
|
|
2312
|
-
|
|
2313
|
-
<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>
|
|
2238
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/search-footer-overflows-40-col-pane-gate-passes-by-luck.md">Write-up · search-footer-overflows-40-col-pane-gate-passes-by-luck.md</a></p>
|
|
2314
2239
|
<div class="meta">
|
|
2315
2240
|
<span class="m">Complexity <b>M</b></span>
|
|
2316
2241
|
<span class="m">Impact <b>Med</b></span>
|
|
@@ -6268,36 +6193,9 @@ Found by the 2026-08 CLI audit (cluster help-examples-sweep); repro in the audit
|
|
|
6268
6193
|
</article>
|
|
6269
6194
|
|
|
6270
6195
|
<article class="cap rcard" id="audit-stale-prose-after-shipped-changes-catalog-export-live-discov">
|
|
6271
|
-
<div class="head"><span class="pill
|
|
6196
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Docs · Drift</span></div>
|
|
6272
6197
|
<h3>Stale prose after shipped changes: <code>catalog --export</code>, live discover, 464 count, Apache-2.0</h3>
|
|
6273
|
-
<p
|
|
6274
|
-
tree. <b>A documented command that does not run:</b> <code>docs/security-design.md:35</code> says
|
|
6275
|
-
<em>a <code>boost catalog export</code> tarball</em>; running it prints <code>Error: one of the arguments
|
|
6276
|
-
--export --import --show is required</code> and exits 2 — the flag is <code>--export</code>.
|
|
6277
|
-
<b>Pre-live-search discover:</b> <code>docs/index.html:877</code> (<em><code>boost discover</code> indexes
|
|
6278
|
-
10,000+ skills across GitHub</em>) and <code>:940</code> (<em>build the GitHub-wide index … browse it with
|
|
6279
|
-
<code>boost discover</code></em>) predate the shipped change that made a query hit GitHub Code Search live; the
|
|
6280
|
-
index now only backs bare <code>discover</code> and <code>--local</code>, exactly as the command's own help says.
|
|
6281
|
-
|
|
6282
|
-
<b>A hard-coded count, off by one and spreading:</b> README:151, <code>semantic-search.md:64</code> and
|
|
6283
|
-
<code>quickstart.py:39</code> say <code>--catalog</code> taps <b>463</b> registries;
|
|
6284
|
-
<code>registries.json</code> holds <b>464</b> non-list_only rows of 487, and <code>quickstart --dry-run
|
|
6285
|
-
--catalog</code> on the 20-tap fixture prints <code>would tap 445 registries</code> (445 + 19 already
|
|
6286
|
-
tapped = 464). Verification found more copies than the auditor: README:211,
|
|
6287
|
-
<code>quickstart.py:65</code> and CLAUDE.md:183–184 and :500. <b>A licence rule contradicting every
|
|
6288
|
-
file:</b> CLAUDE.md:276 still says headers open with <code>SPDX-License-Identifier: GPL-3.0-only</code>, but
|
|
6289
|
-
every source file greps to <code>Apache-2.0</code>, LICENSE is the Apache License 2.0, and
|
|
6290
|
-
<code>scripts/add_spdx_headers.py</code> already writes Apache-2.0 — the CLAUDE.md paragraph (and its
|
|
6291
|
-
<code>-only</code>→<code>-or-later</code> example) is the sole stale statement.
|
|
6292
|
-
|
|
6293
|
-
Fix as one doc-only PR: <code>security-design.md:35</code> → <code>boost catalog --export</code>; rewrite
|
|
6294
|
-
the two <code>index.html</code> sentences to live-GitHub-search plus <code>boost index</code>/<code>--local</code>;
|
|
6295
|
-
replace the literal 463 with <em>every catalogued registry</em> (or 464) in README.md:151/211,
|
|
6296
|
-
<code>semantic-search.md:64</code>, <code>quickstart.py:39/65</code> and CLAUDE.md:183/500 — a number
|
|
6297
|
-
<code>scripts/build_registries.py</code> changes should not be hard-coded in prose; and correct the CLAUDE.md
|
|
6298
|
-
licence paragraph to Apache-2.0. <code>security-design.md</code> and <code>semantic-search.md</code> are already
|
|
6299
|
-
in <code>prose-lint.yml</code>'s vale list, so no lint wiring is needed; <code>docs/commands.html</code> is
|
|
6300
|
-
untouched (no parser changes). Found by the 2026-08 CLI audit (cluster stale-prose-docs); repro in the audit log.</p>
|
|
6198
|
+
<p class="cardbody"><a class="writeup" href="https://github.com/jonnyeclectic/boost/blob/main/docs/roadmap/items/audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md">Write-up · audit-stale-prose-after-shipped-changes-catalog-export-live-discov.md</a></p>
|
|
6301
6199
|
<div class="meta">
|
|
6302
6200
|
<span class="m">Complexity <b>S</b></span>
|
|
6303
6201
|
<span class="m">Impact <b>Low</b></span>
|
|
@@ -32,7 +32,7 @@ thing boost does, and the code path treats it that way.
|
|
|
32
32
|
| Boundary | Trusted side | Untrusted side |
|
|
33
33
|
|---|---|---|
|
|
34
34
|
| **Tap content** | boost's own code | every byte of a cloned registry: file names, paths, YAML frontmatter, body text |
|
|
35
|
-
| **Catalogue bundle** | the importing machine | a `boost catalog export` tarball received from elsewhere |
|
|
35
|
+
| **Catalogue bundle** | the importing machine | a `boost catalog --export` tarball received from elsewhere |
|
|
36
36
|
| **The agent** | — | boost cannot police what an agent does with a file it has loaded |
|
|
37
37
|
| **The toolchain** | the pinned hashes in `requirements/` | PyPI, and anything it resolves to |
|
|
38
38
|
| **CI** | the workflow files in this repo | every third-party action, and anything a fork's PR can influence |
|
|
@@ -61,12 +61,12 @@ two commands consume them:
|
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
63
|
boost quickstart # tap the starter registries + import their vectors
|
|
64
|
-
boost quickstart --catalog # …or
|
|
64
|
+
boost quickstart --catalog # …or every catalogued registry
|
|
65
65
|
boost reindex --fetch-shards # already tapped: import whatever is published
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
The published set is the whole catalogue, refreshed weekly. CI packs the
|
|
69
|
-
|
|
68
|
+
The published set is the whole catalogue, refreshed weekly. CI packs the
|
|
69
|
+
catalogue into ~60 matrix jobs rather than one per registry, because GitHub
|
|
70
70
|
caps a matrix at 256 jobs and embedding cost is uneven enough that slicing
|
|
71
71
|
would leave one job carrying several of the largest registries
|
|
72
72
|
(`scripts/shard_plan.py`).
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"""Pack the registry catalogue into a bounded, balanced Actions matrix.
|
|
5
5
|
|
|
6
6
|
WHY THIS EXISTS. `shards.yml` ran one job per registry, which is fine for the
|
|
7
|
-
20-repo eval corpus and impossible for the
|
|
8
|
-
caps a matrix at 256 jobs per workflow run**, so
|
|
7
|
+
20-repo eval corpus and impossible for the ~460-registry catalogue: **GitHub
|
|
8
|
+
caps a matrix at 256 jobs per workflow run**, so ~460 rows do not start at all.
|
|
9
9
|
Chunking is therefore not an optimisation, it is the difference between the
|
|
10
10
|
workflow running and not.
|
|
11
11
|
|
|
@@ -62,6 +62,11 @@ class TestChromeOnlyCommandsFitAnyPane:
|
|
|
62
62
|
pane(cols)
|
|
63
63
|
r = boost("search", "brainstorming", expect=None)
|
|
64
64
|
assert _widest(r.out) <= cols
|
|
65
|
+
# One match made the footer 39 cells — one under the narrowest pane —
|
|
66
|
+
# so the gate passed on the singular noun. Two matches is 41.
|
|
67
|
+
r = boost("search", "workflow", expect=None)
|
|
68
|
+
assert "2 matches" in r.out.replace("\n ", " ")
|
|
69
|
+
assert _widest(r.out) <= cols
|
|
65
70
|
|
|
66
71
|
@pytest.mark.parametrize("cols", NARROW)
|
|
67
72
|
def test_who(self, boost, tapped, pane, cols):
|
|
@@ -15,6 +15,7 @@ that lies about what it proves.
|
|
|
15
15
|
"""
|
|
16
16
|
from __future__ import annotations
|
|
17
17
|
|
|
18
|
+
import json
|
|
18
19
|
import re
|
|
19
20
|
import sys
|
|
20
21
|
from pathlib import Path
|
|
@@ -143,6 +144,26 @@ class TestSuiteSizesAgree:
|
|
|
143
144
|
assert stated and set(stated) == {(len(features), scenarios)}, stated
|
|
144
145
|
|
|
145
146
|
|
|
147
|
+
class TestCatalogueSizeIsNotHardCoded:
|
|
148
|
+
def test_no_doc_states_a_catalogue_size_the_data_disagrees_with(self):
|
|
149
|
+
# `scripts/build_registries.py` moves this number; prose that states
|
|
150
|
+
# it went stale at 463 while registries.json held 464. Say "every
|
|
151
|
+
# catalogued registry" instead, or state the current figure.
|
|
152
|
+
data = json.loads((ROOT / "boost_cli" / "data" / "registries.json")
|
|
153
|
+
.read_text(encoding="utf-8"))
|
|
154
|
+
size = sum(1 for r in data["registries"] if not r.get("list_only"))
|
|
155
|
+
docs = [ROOT / "README.md", *sorted((ROOT / "docs").glob("*.md"))]
|
|
156
|
+
for doc in docs:
|
|
157
|
+
text = doc.read_text(encoding="utf-8")
|
|
158
|
+
# `\s+`: README broke this very phrase across a line. The second
|
|
159
|
+
# form is "the N-registry catalogue"; a "~N" is an estimate.
|
|
160
|
+
for n in re.findall(r"all\s+(\d+)\s+catalogued\s+registr"
|
|
161
|
+
r"|(?<![~\d])(\d+)-registry\s+catalogue", text):
|
|
162
|
+
n = next(g for g in n if g)
|
|
163
|
+
assert int(n) == size, "%s says all %s; the catalogue is %d" % (
|
|
164
|
+
doc.name, n, size)
|
|
165
|
+
|
|
166
|
+
|
|
146
167
|
class TestNoStaleCountsElsewhere:
|
|
147
168
|
@pytest.mark.parametrize("doc", ["README.md", "docs/index.html"])
|
|
148
169
|
def test_no_command_count_is_a_stale_literal(self, doc):
|
|
@@ -9,6 +9,7 @@ from landing without one.
|
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|
|
11
11
|
import importlib.util
|
|
12
|
+
import re
|
|
12
13
|
from pathlib import Path
|
|
13
14
|
|
|
14
15
|
import pytest
|
|
@@ -105,3 +106,15 @@ def test_no_two_package_files_are_byte_identical() -> None:
|
|
|
105
106
|
)
|
|
106
107
|
dupes = {d: f for d, f in by_digest.items() if len(f) > 1}
|
|
107
108
|
assert not dupes, f"identical files ship twice in the wheel: {dupes}"
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
@pytest.mark.parametrize("guide", ["CLAUDE.md", "CONTRIBUTING.md"])
|
|
112
|
+
def test_contributor_guide_names_the_expression_the_script_writes(guide):
|
|
113
|
+
# Both guides told contributors to write GPL-3.0-only headers long after
|
|
114
|
+
# every file, LICENSE and this script had moved to Apache-2.0.
|
|
115
|
+
path = ROOT / guide
|
|
116
|
+
if not path.exists():
|
|
117
|
+
pytest.skip("%s not reachable (e.g. mutation sandbox)" % guide)
|
|
118
|
+
text = path.read_text(encoding="utf-8")
|
|
119
|
+
assert set(re.findall(r"SPDX-License-Identifier: ([\w.+-]+)", text)) \
|
|
120
|
+
== {_SPDX.SPDX_ID}
|
|
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
|