boost-skill-cli 1.0.284__tar.gz → 1.0.285__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/CLAUDE.md +1 -1
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/Makefile +11 -1
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
- boost_skill_cli-1.0.285/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +58 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap.html +55 -1
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/lint-tools.in +10 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/lint-tools.txt +7 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.gitattributes +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.gitignore +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.lycheeignore +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/.vale.ini +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/LICENSE +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/README.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/codecov.yml +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/adapters.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/carousel.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/commands.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/index.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/README.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/__init__.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/baseline.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/metrics.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/examples/README.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/index.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/noxfile.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/setup.cfg +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/sonar-project.properties +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/style/README.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/style/boost.css +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/style/boost.js +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/style/demo.html +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_marketing_counts.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/tests/visual/visual_check.mjs +0 -0
|
@@ -11,7 +11,7 @@ make venv # .venv from the hash-pinned requ
|
|
|
11
11
|
.venv/bin/pytest tests/unit/test_catalog.py -q # one test file
|
|
12
12
|
.venv/bin/pytest tests/unit/test_catalog.py::test_scan_dir -q # one test
|
|
13
13
|
.venv/bin/pytest tests/functional -q -k install # functional tests matching "install"
|
|
14
|
-
make lint # the whole static tier —
|
|
14
|
+
make lint # the whole static tier — read the recipe, it is long
|
|
15
15
|
make test # unit + functional with 80% coverage gate
|
|
16
16
|
make check # the full required gate — see table below
|
|
17
17
|
|
|
@@ -61,7 +61,17 @@ lint:
|
|
|
61
61
|
$(VENV)/bin/interrogate boost_cli/core
|
|
62
62
|
$(VENV)/bin/refurb boost_cli
|
|
63
63
|
$(VENV)/bin/codespell boost_cli docs README.md
|
|
64
|
-
|
|
64
|
+
@# actionlint does not lint `run:` blocks itself — it shells out to
|
|
65
|
+
@# shellcheck, and if shellcheck is not on PATH it skips them silently and
|
|
66
|
+
@# still exits 0. So `make lint` could report a clean workflow lint having
|
|
67
|
+
@# never looked inside a single script. shellcheck is pinned in
|
|
68
|
+
@# requirements/lint-tools.in for exactly this; put $(VENV)/bin on PATH so
|
|
69
|
+
@# actionlint finds it, and fail loudly rather than run a hollow check.
|
|
70
|
+
@if command -v actionlint >/dev/null 2>&1; then \
|
|
71
|
+
if [ ! -x $(VENV)/bin/shellcheck ]; then \
|
|
72
|
+
echo "shellcheck missing from $(VENV) — actionlint would skip every run: block. Re-run 'make venv'."; exit 1; \
|
|
73
|
+
fi; \
|
|
74
|
+
PATH="$(CURDIR)/$(VENV)/bin:$$PATH" actionlint; \
|
|
65
75
|
else echo "actionlint not on PATH — skipping (CI enforces it)"; fi
|
|
66
76
|
$(PY) scripts/build_registries.py --check
|
|
67
77
|
$(PY) scripts/build_roadmap.py --check
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 0,
|
|
21
|
+
__version__ = version = '1.0.285'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 285)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -155,6 +155,7 @@ docs/roadmap/items/BOOST-D24.md
|
|
|
155
155
|
docs/roadmap/items/BOOST-D25.md
|
|
156
156
|
docs/roadmap/items/BOOST-D26.md
|
|
157
157
|
docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md
|
|
158
|
+
docs/roadmap/items/actionlint-skips-shellcheck-silently.md
|
|
158
159
|
docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md
|
|
159
160
|
docs/roadmap/items/ai-bridge-silent-failure-logging.md
|
|
160
161
|
docs/roadmap/items/ambiguous-tap-short-name-resolution.md
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: actionlint-skips-shellcheck-silently
|
|
3
|
+
board: code
|
|
4
|
+
section: dx
|
|
5
|
+
status: shipped
|
|
6
|
+
category: Testing · Bug
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 4
|
|
10
|
+
note: fixed — shellcheck is pinned in lint-tools and both gates now assert it is there
|
|
11
|
+
order: 69
|
|
12
|
+
owner: loop/lint-shellcheck
|
|
13
|
+
pr:
|
|
14
|
+
title: The second silent skip — <code>actionlint</code> runs, and checks no <code>run:</code> block at all
|
|
15
|
+
---
|
|
16
|
+
<code>make-lint-masks-actionlint-failures</code> fixed the layer everyone can see: <code>make
|
|
17
|
+
lint</code> discarded actionlint's exit status. There is a second layer underneath it, and the
|
|
18
|
+
first fix does not reach it. <b><code>actionlint</code> does not lint <code>run:</code> blocks
|
|
19
|
+
itself.</b> It shells out to <code>shellcheck</code>, and when shellcheck is not on
|
|
20
|
+
<code>PATH</code> it skips every one of them — no warning, no note, exit 0.
|
|
21
|
+
|
|
22
|
+
Same workflow file, same actionlint binary, only <code>PATH</code> differs:
|
|
23
|
+
|
|
24
|
+
<code>without shellcheck -> (no output) exit=0</code><br>
|
|
25
|
+
<code>with shellcheck -> bad.yml:8:9: shellcheck reported issue in this script: SC2001 … exit=1</code>
|
|
26
|
+
|
|
27
|
+
So the honest description of the gate before this change was: <code>make lint</code> ran a workflow
|
|
28
|
+
linter that silently declined to look inside any script, and reported success. That is not
|
|
29
|
+
hypothetical either — it is exactly how an <code>SC2001</code> reached CI from a green local
|
|
30
|
+
gate, in the very change that fixed layer one.
|
|
31
|
+
|
|
32
|
+
<b>CI was not safe, only lucky.</b> Its actionlint step carried the comment "shellcheck is
|
|
33
|
+
preinstalled on the runner, so run: blocks are checked too" — true today, and an unpinned,
|
|
34
|
+
unversioned, silently revocable dependency on somebody else's base image. If GitHub ever drops it
|
|
35
|
+
from <code>ubuntu-latest</code>, CI degrades to the same hollow check with no signal that anything
|
|
36
|
+
changed. For a repository that hash-pins its entire lint toolchain precisely so an upstream release
|
|
37
|
+
cannot move a gate underneath it, an implicit dependency on a runner image is the same bug in a
|
|
38
|
+
different coat.
|
|
39
|
+
|
|
40
|
+
<b>Shipped.</b> <code>shellcheck-py==0.11.0.1</code> is declared in
|
|
41
|
+
<code>requirements/lint-tools.in</code> and hash-pinned into the generated
|
|
42
|
+
<code>lint-tools.txt</code> like every other tool, which puts it on both sides: CI installs it from
|
|
43
|
+
that lock, and <code>make venv</code> puts it in <code>.venv/bin</code>. <code>make lint</code> now
|
|
44
|
+
prepends <code>.venv/bin</code> to <code>PATH</code> so actionlint can find it, and <b>fails</b> if
|
|
45
|
+
it is missing rather than running a check it knows is hollow; CI asserts <code>command -v
|
|
46
|
+
shellcheck</code> before invoking actionlint. Verified in four states against the real recipe: the
|
|
47
|
+
tool absent (skip message, exit 0), shellcheck missing from the venv (exit 1 with a message naming
|
|
48
|
+
the fix), both present and workflows clean (exit 0), and both present with an <code>SC2001</code> in
|
|
49
|
+
a <code>run:</code> block (exit 1 — the case that used to pass). The old recipe on that same
|
|
50
|
+
file exits 0.
|
|
51
|
+
|
|
52
|
+
<b>What is deliberately still skipped.</b> If <code>actionlint</code> itself is absent,
|
|
53
|
+
<code>make lint</code> prints a message and continues. Closing that would mean pinning
|
|
54
|
+
<code>actionlint-py</code>, which is sdist-only and fetches the binary from the network at install
|
|
55
|
+
time, and which tracks a different actionlint version than the URL-pinned one CI uses. Trading a
|
|
56
|
+
pinned binary for a build-time download is a worse trade than the skip, so the skip stays and is
|
|
57
|
+
documented rather than quietly tolerated. The wider gap named by the earlier card is also still
|
|
58
|
+
open: <code>zizmor</code> and <code>gitleaks</code> run only in CI and have no Makefile equivalent.
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
<div class="stat"><b>16</b><span>Shipped</span></div>
|
|
111
111
|
<div class="stat"><b>1</b><span>Next up</span></div>
|
|
112
112
|
<div class="stat"><b>4</b><span>Planned</span></div>
|
|
113
|
-
<div class="stat"><b>
|
|
113
|
+
<div class="stat"><b>176</b><span>Loop finds</span></div>
|
|
114
114
|
<!-- /ROADMAP:stats -->
|
|
115
115
|
</div>
|
|
116
116
|
</section>
|
|
@@ -3181,6 +3181,60 @@ regresses.</p>
|
|
|
3181
3181
|
<span class="m">agent reflex</span>
|
|
3182
3182
|
</div>
|
|
3183
3183
|
</article>
|
|
3184
|
+
|
|
3185
|
+
<article class="cap rcard" id="actionlint-skips-shellcheck-silently">
|
|
3186
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Testing · Bug</span></div>
|
|
3187
|
+
<h3>The second silent skip — <code>actionlint</code> runs, and checks no <code>run:</code> block at all</h3>
|
|
3188
|
+
<p><code>make-lint-masks-actionlint-failures</code> fixed the layer everyone can see: <code>make
|
|
3189
|
+
lint</code> discarded actionlint's exit status. There is a second layer underneath it, and the
|
|
3190
|
+
first fix does not reach it. <b><code>actionlint</code> does not lint <code>run:</code> blocks
|
|
3191
|
+
itself.</b> It shells out to <code>shellcheck</code>, and when shellcheck is not on
|
|
3192
|
+
<code>PATH</code> it skips every one of them — no warning, no note, exit 0.
|
|
3193
|
+
|
|
3194
|
+
Same workflow file, same actionlint binary, only <code>PATH</code> differs:
|
|
3195
|
+
|
|
3196
|
+
<code>without shellcheck -> (no output) exit=0</code><br>
|
|
3197
|
+
<code>with shellcheck -> bad.yml:8:9: shellcheck reported issue in this script: SC2001 … exit=1</code>
|
|
3198
|
+
|
|
3199
|
+
So the honest description of the gate before this change was: <code>make lint</code> ran a workflow
|
|
3200
|
+
linter that silently declined to look inside any script, and reported success. That is not
|
|
3201
|
+
hypothetical either — it is exactly how an <code>SC2001</code> reached CI from a green local
|
|
3202
|
+
gate, in the very change that fixed layer one.
|
|
3203
|
+
|
|
3204
|
+
<b>CI was not safe, only lucky.</b> Its actionlint step carried the comment "shellcheck is
|
|
3205
|
+
preinstalled on the runner, so run: blocks are checked too" — true today, and an unpinned,
|
|
3206
|
+
unversioned, silently revocable dependency on somebody else's base image. If GitHub ever drops it
|
|
3207
|
+
from <code>ubuntu-latest</code>, CI degrades to the same hollow check with no signal that anything
|
|
3208
|
+
changed. For a repository that hash-pins its entire lint toolchain precisely so an upstream release
|
|
3209
|
+
cannot move a gate underneath it, an implicit dependency on a runner image is the same bug in a
|
|
3210
|
+
different coat.
|
|
3211
|
+
|
|
3212
|
+
<b>Shipped.</b> <code>shellcheck-py==0.11.0.1</code> is declared in
|
|
3213
|
+
<code>requirements/lint-tools.in</code> and hash-pinned into the generated
|
|
3214
|
+
<code>lint-tools.txt</code> like every other tool, which puts it on both sides: CI installs it from
|
|
3215
|
+
that lock, and <code>make venv</code> puts it in <code>.venv/bin</code>. <code>make lint</code> now
|
|
3216
|
+
prepends <code>.venv/bin</code> to <code>PATH</code> so actionlint can find it, and <b>fails</b> if
|
|
3217
|
+
it is missing rather than running a check it knows is hollow; CI asserts <code>command -v
|
|
3218
|
+
shellcheck</code> before invoking actionlint. Verified in four states against the real recipe: the
|
|
3219
|
+
tool absent (skip message, exit 0), shellcheck missing from the venv (exit 1 with a message naming
|
|
3220
|
+
the fix), both present and workflows clean (exit 0), and both present with an <code>SC2001</code> in
|
|
3221
|
+
a <code>run:</code> block (exit 1 — the case that used to pass). The old recipe on that same
|
|
3222
|
+
file exits 0.
|
|
3223
|
+
|
|
3224
|
+
<b>What is deliberately still skipped.</b> If <code>actionlint</code> itself is absent,
|
|
3225
|
+
<code>make lint</code> prints a message and continues. Closing that would mean pinning
|
|
3226
|
+
<code>actionlint-py</code>, which is sdist-only and fetches the binary from the network at install
|
|
3227
|
+
time, and which tracks a different actionlint version than the URL-pinned one CI uses. Trading a
|
|
3228
|
+
pinned binary for a build-time download is a worse trade than the skip, so the skip stays and is
|
|
3229
|
+
documented rather than quietly tolerated. The wider gap named by the earlier card is also still
|
|
3230
|
+
open: <code>zizmor</code> and <code>gitleaks</code> run only in CI and have no Makefile equivalent.</p>
|
|
3231
|
+
<div class="meta">
|
|
3232
|
+
<span class="m">Complexity <b>S</b></span>
|
|
3233
|
+
<span class="m">Impact <b>Med</b></span>
|
|
3234
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
3235
|
+
<span class="m">fixed — shellcheck is pinned in lint-tools and both gates now assert it is there</span>
|
|
3236
|
+
</div>
|
|
3237
|
+
</article>
|
|
3184
3238
|
<!-- /ROADMAP:cards -->
|
|
3185
3239
|
|
|
3186
3240
|
</div>
|
|
@@ -30,3 +30,13 @@ interrogate==1.7.0
|
|
|
30
30
|
# itself, which is why this set is lint-only and never a runtime dependency.
|
|
31
31
|
# Reuses the mypy pinned above.
|
|
32
32
|
refurb==2.3.1
|
|
33
|
+
# shellcheck, as a pinned dependency rather than an assumption. actionlint does
|
|
34
|
+
# not lint `run:` blocks itself — it shells out to shellcheck, and when
|
|
35
|
+
# shellcheck is not on PATH it skips that entirely and still exits 0. Same
|
|
36
|
+
# workflow file, same actionlint: without shellcheck, no output and exit 0; with
|
|
37
|
+
# it, `SC2001` and exit 1. CI got away with it because the GitHub runner image
|
|
38
|
+
# happens to preinstall shellcheck, which is an unpinned, unversioned, silently
|
|
39
|
+
# revocable dependency on somebody else's base image — and locally, where it is
|
|
40
|
+
# usually absent, `make lint` was passing a check it never ran. Pinning it here
|
|
41
|
+
# puts it on both sides and makes the version reviewable like every other tool.
|
|
42
|
+
shellcheck-py==0.11.0.1
|
|
@@ -564,6 +564,13 @@ ruff==0.16.0 \
|
|
|
564
564
|
--hash=sha256:e5115729eb08c585e5121978ba5d5b60caeae394ce21b9fb5e6cd33a1c6c9b1e \
|
|
565
565
|
--hash=sha256:e95c448fca1fb2a18372a9440926c5a6ee789639bb975c72e7ae6d0b04218ab4
|
|
566
566
|
# via -r requirements/lint-tools.in
|
|
567
|
+
shellcheck-py==0.11.0.1 \
|
|
568
|
+
--hash=sha256:1b274df81de5b000ff78db433e7328b87e52e3c38481c60f8e488c3095beef05 \
|
|
569
|
+
--hash=sha256:5c620c88901e8f1d3be5934b31ea99e3310065e1245253741eafd0a275c8c9cc \
|
|
570
|
+
--hash=sha256:6b88d0a244c82ed07e06a53e444da841f69330ca59ae15d4a66c391655dae7a0 \
|
|
571
|
+
--hash=sha256:784156289ecb17e91c692cd783ab5152333309588cabb10032a047331c63e759 \
|
|
572
|
+
--hash=sha256:b6a3fee28efda2e16e38d6e6d59faf7224300256456639727370d404730849e8
|
|
573
|
+
# via -r requirements/lint-tools.in
|
|
567
574
|
six==1.17.0 \
|
|
568
575
|
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
|
|
569
576
|
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.284 → boost_skill_cli-1.0.285}/boost_skill_cli.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|