boost-skill-cli 1.0.285__tar.gz → 1.0.286__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.285 → boost_skill_cli-1.0.286}/.gitignore +8 -2
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/MANIFEST.in +3 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
- boost_skill_cli-1.0.286/docs/roadmap/items/scorecard-findings-triage.md +74 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap.html +48 -12
- boost_skill_cli-1.0.286/tests/visual/package-lock.json +933 -0
- boost_skill_cli-1.0.285/docs/roadmap/items/scorecard-findings-triage.md +0 -38
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.gitattributes +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.lycheeignore +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/.vale.ini +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/LICENSE +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/Makefile +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/README.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/codecov.yml +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/adapters.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/carousel.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/commands.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/index.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/README.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/__init__.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/baseline.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/metrics.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/examples/README.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/index.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/noxfile.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/setup.cfg +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/sonar-project.properties +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/style/README.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/style/boost.css +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/style/boost.js +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/style/demo.html +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_marketing_counts.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.0.285 → boost_skill_cli-1.0.286}/tests/visual/visual_check.mjs +0 -0
|
@@ -235,6 +235,12 @@ mutants/
|
|
|
235
235
|
# dir (see evals/run_evals.py), so only the per-run scores land here; the
|
|
236
236
|
# committed evals/baseline.json is what regressions are measured against.
|
|
237
237
|
evals/results.json
|
|
238
|
-
tests/visual/node_modules/
|
|
239
238
|
tests/visual/out/
|
|
240
|
-
|
|
239
|
+
|
|
240
|
+
# Installed npm trees, never the lockfiles that describe them. Both
|
|
241
|
+
# package-lock.json files ARE committed on purpose: package.json pins only the
|
|
242
|
+
# direct dependencies, so without the lock every transitive package resolves
|
|
243
|
+
# fresh at install time. The lock carries an integrity hash for all 181 (root)
|
|
244
|
+
# and 81 (tests/visual) packages, which is what makes `npm ci` reproducible and
|
|
245
|
+
# what OpenSSF Scorecard's Pinned-Dependencies check asks for.
|
|
246
|
+
node_modules/
|
|
@@ -9,4 +9,7 @@ prune .idea
|
|
|
9
9
|
prune .claude
|
|
10
10
|
prune .github
|
|
11
11
|
exclude .coverage
|
|
12
|
+
# The npm lint/test toolchain (stylelint, eslint, puppeteer-core, axe-core). CI
|
|
13
|
+
# only; nothing in the shipped runtime touches node.
|
|
14
|
+
exclude package.json package-lock.json
|
|
12
15
|
global-exclude __pycache__ *.pyc *.pyo .DS_Store
|
|
@@ -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.286'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 286)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: scorecard-findings-triage
|
|
3
|
+
board: code
|
|
4
|
+
section: pipeline
|
|
5
|
+
status: shipped
|
|
6
|
+
category: Supply chain
|
|
7
|
+
complexity: M
|
|
8
|
+
impact: Med
|
|
9
|
+
wow: 2
|
|
10
|
+
note: 7 open · 3 now hash-pinned, 3 decided, 1 clears itself
|
|
11
|
+
order: 13
|
|
12
|
+
owner: loop/scorecard-pinned-deps
|
|
13
|
+
pr:
|
|
14
|
+
title: OpenSSF Scorecard's findings, triaged into three piles
|
|
15
|
+
---
|
|
16
|
+
Scorecard files into the same code-scanning inbox as CodeQL, so its findings read like
|
|
17
|
+
code defects and get ignored alongside the false positives. They are not defects — they
|
|
18
|
+
are <b>posture metrics</b>, and they must not be dismissed as "false positive" the way the
|
|
19
|
+
<code>serve.py</code> traversal alerts legitimately were, because that misrepresents the
|
|
20
|
+
repo's security posture. Triaged 2026-07-25, re-triaged 2026-07-29 against the 7 still open.
|
|
21
|
+
<b>Fixed</b> — <code>TokenPermissions</code> #26/#27/#28: <code>ci</code>,
|
|
22
|
+
<code>codeql</code> and <code>adapter-conformance</code> had no top-level
|
|
23
|
+
<code>permissions:</code> block at all, scoring 0. Added <code>contents: read</code> as the
|
|
24
|
+
least-privilege default.
|
|
25
|
+
<b>Intentional, leave</b> — <code>TokenPermissions</code> #39/#37/#25/#24:
|
|
26
|
+
<code>publish.yml</code> needs <code>contents: write</code> to create the release and tag,
|
|
27
|
+
<code>osv-scanner</code> needs <code>security-events: write</code> to upload SARIF, and
|
|
28
|
+
<code>ci.yml</code>'s <code>tests</code> job needs <code>contents: write</code> for the
|
|
29
|
+
coverage-badge push. "Fixing" these breaks the release pipeline. They should be
|
|
30
|
+
<b>dismissed as used-in-tests/acceptable-risk with a reason</b>, not left open to rot the list.
|
|
31
|
+
<b>Correction — <code>PinnedDependencies</code> was NOT "not code-fixable".</b> The first
|
|
32
|
+
pass filed #40/#41/#48 under <i>"npx and pip invocations inside steps, not actions, so
|
|
33
|
+
SHA-pinning does not apply"</i>. That reads the check as being about action SHAs, and it
|
|
34
|
+
is not: for npm the remediation is a <b>committed lockfile</b>, and all three hits were
|
|
35
|
+
<code>npm install</code> steps. <code>tests/visual/package.json</code> pinned its two direct
|
|
36
|
+
deps exactly — and <code>.gitignore</code> then <i>excluded the lockfile</i>, so 79
|
|
37
|
+
transitive packages resolved fresh on every run. <code>theme-lint</code> was worse:
|
|
38
|
+
<code>npm install stylelint@16 eslint@9</code> re-resolved the whole linter every run, so
|
|
39
|
+
the linter CI executed was never the linter anyone reviewed. Both trees are now hash-pinned
|
|
40
|
+
(181 + 81 packages, integrity on every one) and installed with <code>npm ci</code>;
|
|
41
|
+
<code>dependabot.yml</code> gains both npm directories, because a pin with no update path is
|
|
42
|
+
only half the job.
|
|
43
|
+
<b>What the pin immediately exposed.</b> Committing the lock made
|
|
44
|
+
<code>osv-scanner</code> able to see the transitive tree for the first time, and it failed
|
|
45
|
+
the branch at once on <b>CVE-2026-14257</b> (<code>brace-expansion</code>, CVSS 7.5,
|
|
46
|
+
unbounded expansion → OOM). Pre-existing, not introduced: the old floating
|
|
47
|
+
<code>npm install eslint@9</code> resolved the same package, invisibly. The advisory's range
|
|
48
|
+
is <i>all versions below 5.0.8</i>, so the 1.x maintenance line has no fix — and the obvious
|
|
49
|
+
patch, an <code>overrides</code> entry forcing <code>brace-expansion@^5</code>, <b>breaks
|
|
50
|
+
eslint</b>: v5 exports <code>{ expand }</code> where <code>minimatch@3</code> requires a
|
|
51
|
+
callable default, so <code>eslint "style/**/*.{js,mjs}"</code> dies with
|
|
52
|
+
<i>"expand is not a function"</i> while plain <code>eslint style/</code> still passes — a
|
|
53
|
+
green-looking linter with a broken glob path. The real fix is upstream:
|
|
54
|
+
<code>eslint@10</code> depends on <code>minimatch@^10.2.5</code>, which requires the patched
|
|
55
|
+
<code>brace-expansion@^5.0.8</code>. Bumped 9.39.5 → 10.8.0; all 262 packages across both
|
|
56
|
+
locks now return zero OSV advisories.
|
|
57
|
+
<b>Open by decision, correctly</b> — <code>BranchProtectionID</code> #33 (4/10) and
|
|
58
|
+
<code>CodeReviewID</code> #34 (0/26 approved changesets) are two readings of one deliberate
|
|
59
|
+
choice recorded in <a href="#main-has-no-branch-protection">its own card</a>: require status
|
|
60
|
+
checks, do <i>not</i> require reviews, because the working model is parallel
|
|
61
|
+
<code>loop/*</code> branches that self-merge and there is no second reviewer. Every warning
|
|
62
|
+
Scorecard prints under #33 — stale-review dismissal, required approvers, CODEOWNERS review,
|
|
63
|
+
last-push approval — follows from that one choice. They stay open because the score is
|
|
64
|
+
<b>accurate</b>: this repo really does merge without human review. Dismissing them would be
|
|
65
|
+
the lie.
|
|
66
|
+
<b>Clears itself</b> — <code>MaintainedID</code> #35 is <i>"repository was created within the
|
|
67
|
+
last 90 days"</i>. Created 2026-07-17, so it resolves on its own around 2026-10-15. Nothing
|
|
68
|
+
to do but not dismiss it.
|
|
69
|
+
<b>Needs a human, not a commit</b> — <code>CIIBestPracticesID</code> #36 is the one
|
|
70
|
+
remaining actionable finding, and it cannot be fixed from a branch: it asks whether the
|
|
71
|
+
project is registered for an OpenSSF Best Practices badge, which means creating a project
|
|
72
|
+
entry at <code>bestpractices.dev</code> under a real account and answering its criteria. The
|
|
73
|
+
prerequisites are already in place (LICENSE, SECURITY.md, CONTRIBUTING.md,
|
|
74
|
+
CODE_OF_CONDUCT.md, a published CI gate); only the registration is missing.
|
|
@@ -2015,13 +2015,13 @@ path is never used — that fixes the behaviour without satisfying Dependabot's
|
|
|
2015
2015
|
</article>
|
|
2016
2016
|
|
|
2017
2017
|
<article class="cap rcard" id="scorecard-findings-triage">
|
|
2018
|
-
<div class="head"><span class="pill
|
|
2019
|
-
<h3>OpenSSF Scorecard's
|
|
2018
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Supply chain</span></div>
|
|
2019
|
+
<h3>OpenSSF Scorecard's findings, triaged into three piles</h3>
|
|
2020
2020
|
<p>Scorecard files into the same code-scanning inbox as CodeQL, so its findings read like
|
|
2021
2021
|
code defects and get ignored alongside the false positives. They are not defects — they
|
|
2022
2022
|
are <b>posture metrics</b>, and they must not be dismissed as "false positive" the way the
|
|
2023
2023
|
<code>serve.py</code> traversal alerts legitimately were, because that misrepresents the
|
|
2024
|
-
repo's security posture. Triaged 2026-07-25
|
|
2024
|
+
repo's security posture. Triaged 2026-07-25, re-triaged 2026-07-29 against the 7 still open.
|
|
2025
2025
|
<b>Fixed</b> — <code>TokenPermissions</code> #26/#27/#28: <code>ci</code>,
|
|
2026
2026
|
<code>codeql</code> and <code>adapter-conformance</code> had no top-level
|
|
2027
2027
|
<code>permissions:</code> block at all, scoring 0. Added <code>contents: read</code> as the
|
|
@@ -2032,19 +2032,55 @@ least-privilege default.
|
|
|
2032
2032
|
<code>ci.yml</code>'s <code>tests</code> job needs <code>contents: write</code> for the
|
|
2033
2033
|
coverage-badge push. "Fixing" these breaks the release pipeline. They should be
|
|
2034
2034
|
<b>dismissed as used-in-tests/acceptable-risk with a reason</b>, not left open to rot the list.
|
|
2035
|
-
<b>
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
<code
|
|
2041
|
-
|
|
2042
|
-
|
|
2035
|
+
<b>Correction — <code>PinnedDependencies</code> was NOT "not code-fixable".</b> The first
|
|
2036
|
+
pass filed #40/#41/#48 under <i>"npx and pip invocations inside steps, not actions, so
|
|
2037
|
+
SHA-pinning does not apply"</i>. That reads the check as being about action SHAs, and it
|
|
2038
|
+
is not: for npm the remediation is a <b>committed lockfile</b>, and all three hits were
|
|
2039
|
+
<code>npm install</code> steps. <code>tests/visual/package.json</code> pinned its two direct
|
|
2040
|
+
deps exactly — and <code>.gitignore</code> then <i>excluded the lockfile</i>, so 79
|
|
2041
|
+
transitive packages resolved fresh on every run. <code>theme-lint</code> was worse:
|
|
2042
|
+
<code>npm install stylelint@16 eslint@9</code> re-resolved the whole linter every run, so
|
|
2043
|
+
the linter CI executed was never the linter anyone reviewed. Both trees are now hash-pinned
|
|
2044
|
+
(181 + 81 packages, integrity on every one) and installed with <code>npm ci</code>;
|
|
2045
|
+
<code>dependabot.yml</code> gains both npm directories, because a pin with no update path is
|
|
2046
|
+
only half the job.
|
|
2047
|
+
<b>What the pin immediately exposed.</b> Committing the lock made
|
|
2048
|
+
<code>osv-scanner</code> able to see the transitive tree for the first time, and it failed
|
|
2049
|
+
the branch at once on <b>CVE-2026-14257</b> (<code>brace-expansion</code>, CVSS 7.5,
|
|
2050
|
+
unbounded expansion → OOM). Pre-existing, not introduced: the old floating
|
|
2051
|
+
<code>npm install eslint@9</code> resolved the same package, invisibly. The advisory's range
|
|
2052
|
+
is <i>all versions below 5.0.8</i>, so the 1.x maintenance line has no fix — and the obvious
|
|
2053
|
+
patch, an <code>overrides</code> entry forcing <code>brace-expansion@^5</code>, <b>breaks
|
|
2054
|
+
eslint</b>: v5 exports <code>{ expand }</code> where <code>minimatch@3</code> requires a
|
|
2055
|
+
callable default, so <code>eslint "style/**/*.{js,mjs}"</code> dies with
|
|
2056
|
+
<i>"expand is not a function"</i> while plain <code>eslint style/</code> still passes — a
|
|
2057
|
+
green-looking linter with a broken glob path. The real fix is upstream:
|
|
2058
|
+
<code>eslint@10</code> depends on <code>minimatch@^10.2.5</code>, which requires the patched
|
|
2059
|
+
<code>brace-expansion@^5.0.8</code>. Bumped 9.39.5 → 10.8.0; all 262 packages across both
|
|
2060
|
+
locks now return zero OSV advisories.
|
|
2061
|
+
<b>Open by decision, correctly</b> — <code>BranchProtectionID</code> #33 (4/10) and
|
|
2062
|
+
<code>CodeReviewID</code> #34 (0/26 approved changesets) are two readings of one deliberate
|
|
2063
|
+
choice recorded in <a href="#main-has-no-branch-protection">its own card</a>: require status
|
|
2064
|
+
checks, do <i>not</i> require reviews, because the working model is parallel
|
|
2065
|
+
<code>loop/*</code> branches that self-merge and there is no second reviewer. Every warning
|
|
2066
|
+
Scorecard prints under #33 — stale-review dismissal, required approvers, CODEOWNERS review,
|
|
2067
|
+
last-push approval — follows from that one choice. They stay open because the score is
|
|
2068
|
+
<b>accurate</b>: this repo really does merge without human review. Dismissing them would be
|
|
2069
|
+
the lie.
|
|
2070
|
+
<b>Clears itself</b> — <code>MaintainedID</code> #35 is <i>"repository was created within the
|
|
2071
|
+
last 90 days"</i>. Created 2026-07-17, so it resolves on its own around 2026-10-15. Nothing
|
|
2072
|
+
to do but not dismiss it.
|
|
2073
|
+
<b>Needs a human, not a commit</b> — <code>CIIBestPracticesID</code> #36 is the one
|
|
2074
|
+
remaining actionable finding, and it cannot be fixed from a branch: it asks whether the
|
|
2075
|
+
project is registered for an OpenSSF Best Practices badge, which means creating a project
|
|
2076
|
+
entry at <code>bestpractices.dev</code> under a real account and answering its criteria. The
|
|
2077
|
+
prerequisites are already in place (LICENSE, SECURITY.md, CONTRIBUTING.md,
|
|
2078
|
+
CODE_OF_CONDUCT.md, a published CI gate); only the registration is missing.</p>
|
|
2043
2079
|
<div class="meta">
|
|
2044
2080
|
<span class="m">Complexity <b>M</b></span>
|
|
2045
2081
|
<span class="m">Impact <b>Med</b></span>
|
|
2046
2082
|
<span class="m">Wow <b class="wow">★★</b></span>
|
|
2047
|
-
<span class="m">
|
|
2083
|
+
<span class="m">7 open · 3 now hash-pinned, 3 decided, 1 clears itself</span>
|
|
2048
2084
|
</div>
|
|
2049
2085
|
</article>
|
|
2050
2086
|
|