boost-skill-cli 1.0.305__tar.gz → 1.0.306__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.305/boost_skill_cli.egg-info → boost_skill_cli-1.0.306}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306/boost_skill_cli.egg-info}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_skill_cli.egg-info/SOURCES.txt +1 -0
- boost_skill_cli-1.0.306/docs/roadmap/items/keyless-item.md +84 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap.html +81 -1
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.gitattributes +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.gitignore +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.lycheeignore +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/.vale.ini +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/LICENSE +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/Makefile +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/README.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/installscan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/mcphost.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/codecov.yml +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/adapters.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/architecture/README.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/architecture/c4-components-core.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/architecture/c4-containers.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/architecture/c4-context.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/architecture/c4-dynamic-install.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/carousel.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/commands.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/index.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/README.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/__init__.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/baseline.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/metrics.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/examples/README.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/index.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/noxfile.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/platform-pins.lock +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/release_guard.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/setup.cfg +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/sonar-project.properties +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/style/README.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/style/boost.css +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/style/boost.js +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/style/demo.html +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_installscan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_marketing_counts.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mcp_install_scan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mcphost.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mutation_subfile_shards.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_platform_pins.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_registry_categories.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_release_guard.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_workflow_concurrency.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/visual/package-lock.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/visual/package.json +0 -0
- {boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/tests/visual/visual_check.mjs +0 -0
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 0,
|
|
21
|
+
__version__ = version = '1.0.306'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 306)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -225,6 +225,7 @@ docs/roadmap/items/integrity-verification-boost-verify.md
|
|
|
225
225
|
docs/roadmap/items/internal-architecture-diagrams.md
|
|
226
226
|
docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md
|
|
227
227
|
docs/roadmap/items/journal-rotation-race-and-handle-leak.md
|
|
228
|
+
docs/roadmap/items/keyless-item.md
|
|
228
229
|
docs/roadmap/items/layering-guard-import-linter.md
|
|
229
230
|
docs/roadmap/items/license-compliance-scanning.md
|
|
230
231
|
docs/roadmap/items/lighthouse-ci-on-the-pages-site.md
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: keyless-semantic-search-for-everyone
|
|
3
|
+
board: code
|
|
4
|
+
section: internals
|
|
5
|
+
status: next
|
|
6
|
+
category: Retrieval · Architecture
|
|
7
|
+
complexity: L
|
|
8
|
+
impact: High
|
|
9
|
+
wow: 5
|
|
10
|
+
note: the vector store was never the problem — only turning text into vectors needs a key
|
|
11
|
+
order: 0
|
|
12
|
+
owner:
|
|
13
|
+
pr:
|
|
14
|
+
title: Semantic search is gated behind an API key it does not need
|
|
15
|
+
---
|
|
16
|
+
boost's flagship retrieval is invisible to almost everyone who installs it. <code>boost search "my
|
|
17
|
+
app is slow"</code> on the five default taps returns <code>dnanexus-integration</code>,
|
|
18
|
+
<code>tamarind</code>, <code>cirq</code>, <code>molfeat</code> — bioinformatics and quantum
|
|
19
|
+
computing, nothing about performance. That is BM25 doing exactly what BM25 does when a human types
|
|
20
|
+
like a human, and it is what every keyless user experiences.
|
|
21
|
+
|
|
22
|
+
<b>The vector database was never the problem.</b> Vectors already live on the user's own machine in
|
|
23
|
+
sqlite-vec (<code>~/.boost/cache/rag_vectors.sqlite</code>), refreshed per tap against the commit it
|
|
24
|
+
was built from. Nothing is hosted and nothing needs to be. The <em>only</em> API-bound step is
|
|
25
|
+
turning text into vectors: <code>embed.provider()</code> returns <code>"voyage"</code> with
|
|
26
|
+
<code>VOYAGE_API_KEY</code> set, <code>"openai"</code> with <code>OPENAI_API_KEY</code>, and
|
|
27
|
+
otherwise <code>None</code> — at which point everything degrades to BM25. So the real dilemma
|
|
28
|
+
("every user rebuilds the index, or someone hosts and pays for it") is false in both halves.
|
|
29
|
+
|
|
30
|
+
Six steps, and the first two carry most of the value.
|
|
31
|
+
|
|
32
|
+
<b>1 — A local ONNX provider, as the third link in a chain built for it.</b> Extend
|
|
33
|
+
<code>embed.provider()</code> to Voyage → OpenAI → <b>local</b> → BM25, using ONNX
|
|
34
|
+
Runtime on CPU with a small model (<code>bge-small-en-v1.5</code>, 384-dim, ~30 MB once). The
|
|
35
|
+
sqlite-vec store, the per-tap commit cache and KNN search are all untouched — only the
|
|
36
|
+
text→vector call changes. This removes the key, the signup and the card for <em>every</em>
|
|
37
|
+
user, and Voyage stays a free quality upgrade for anyone who adds one.
|
|
38
|
+
|
|
39
|
+
<b>2 — Prebuild per-registry shards in CI.</b> Embedding the full catalogue (~28k items,
|
|
40
|
+
~150M tokens) on a laptop is an hour-plus, which no one will wait for. A workflow embeds each
|
|
41
|
+
registry and publishes vectors as GitHub Release artifacts keyed on the registry's git commit
|
|
42
|
+
— the cache key the code already uses — so <code>boost tap</code> fetches the catalogue
|
|
43
|
+
<em>and</em> its shard. This is how Homebrew, npm and crates.io index a moving world.
|
|
44
|
+
|
|
45
|
+
<b>3 — Local delta top-up.</b> When a tap runs ahead of its published shard, or is a team or
|
|
46
|
+
private registry CI has never seen, embed just those files on the spot. This is the structural
|
|
47
|
+
answer to an unbounded ecosystem: shards cover the popular registries, the local model makes the
|
|
48
|
+
long tail self-serve, and cost scales with what each user taps rather than with the size of the
|
|
49
|
+
whole ecosystem. Without it, every uncatalogued registry is a dead end for a keyless user.
|
|
50
|
+
|
|
51
|
+
<b>4 — Fuse the two engines with reciprocal rank fusion.</b> Confirmed against the shipped
|
|
52
|
+
code: <code>rag.retrieve_any()</code> picks <em>one</em> engine — dense when it is ready and
|
|
53
|
+
returns a non-empty result, BM25 otherwise. There is no hybrid path today. RRF changes that to "run
|
|
54
|
+
both, fuse by rank": <code>score = 1/(60+rank_bm25) + 1/(60+rank_dense)</code>. Fusing on
|
|
55
|
+
<b>ranks, not scores</b>, is the point — a BM25 score and a cosine similarity are on
|
|
56
|
+
incomparable scales, and rank fusion sidesteps calibration entirely. The two engines fail in
|
|
57
|
+
opposite directions and this corpus needs both: registries are full of exact identifiers
|
|
58
|
+
(<code>EAS</code>, <code>pptx</code>, skill names) where BM25 is strongest and embeddings weakest,
|
|
59
|
+
while sloppy queries are where BM25 returns quantum computing. <code>retrieve_any</code> is the
|
|
60
|
+
single seam every retrieval path already passes through, CLI and MCP alike, so it is one function.
|
|
61
|
+
|
|
62
|
+
The tradeoffs are real and should be measured rather than assumed: rank fusion discards confidence,
|
|
63
|
+
so plain RRF can trail pure dense on purely semantic queries; "why did this rank third?" gains a
|
|
64
|
+
two-part answer; and both engines must index the same chunks (they already share chunking). Ship
|
|
65
|
+
the k=60 default, benchmark it, and tune only if the eval says so.
|
|
66
|
+
|
|
67
|
+
<b>5 — A hosted demo</b> on free tiers, so the experience is reachable without installing
|
|
68
|
+
anything. <b>6 — Publish the eval</b>: BM25 vs local dense vs Voyage dense vs hybrid on the
|
|
69
|
+
existing golden set, with recall@k and MRR. That last one settles step 4 with data instead of
|
|
70
|
+
argument — and if pure dense wins on this corpus, that is the result worth publishing.
|
|
71
|
+
|
|
72
|
+
<b>Scope note.</b> This is an epic, not a single change. Step 1 is the one that removes the wall and
|
|
73
|
+
is worth landing alone; steps 2–3 are what make it fast enough to be real; step 4 is ~20 lines
|
|
74
|
+
in one function and independently shippable; 5 and 6 are separable. Expect this card to decompose
|
|
75
|
+
into per-step items as each is picked up — the value of keeping it whole here is that the
|
|
76
|
+
steps only make sense against each other.
|
|
77
|
+
|
|
78
|
+
Constraints this must respect: the shipped runtime is stdlib-only and
|
|
79
|
+
<code>[project].dependencies</code> is empty, so a local model belongs behind an extra like
|
|
80
|
+
<code>[rag]</code>, with the keyless path degrading to BM25 exactly as it does now. The required
|
|
81
|
+
<code>eval</code> gate already floors BM25 recall@k at 0.85 over the golden set, so step 6 has a
|
|
82
|
+
harness to extend rather than invent. Related:
|
|
83
|
+
[[dense-search-fallback-and-stale-tap-pruning]] and
|
|
84
|
+
[[cache-the-catalog-entry-set-across-rag-queries]].
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
<div class="stat"><b>16</b><span>Shipped</span></div>
|
|
112
112
|
<div class="stat"><b>1</b><span>Next up</span></div>
|
|
113
113
|
<div class="stat"><b>4</b><span>Planned</span></div>
|
|
114
|
-
<div class="stat"><b>
|
|
114
|
+
<div class="stat"><b>182</b><span>Loop finds</span></div>
|
|
115
115
|
<!-- /ROADMAP:stats -->
|
|
116
116
|
</div>
|
|
117
117
|
</section>
|
|
@@ -598,6 +598,86 @@ message, so routing it through the helper would change user-facing errors.</p>
|
|
|
598
598
|
<div class="rgrid">
|
|
599
599
|
|
|
600
600
|
<!-- ROADMAP:cards section=internals -->
|
|
601
|
+
<article class="cap rcard" id="keyless-semantic-search-for-everyone">
|
|
602
|
+
<div class="head"><span class="pill next">Next</span><span class="cat">Retrieval · Architecture</span></div>
|
|
603
|
+
<h3>Semantic search is gated behind an API key it does not need</h3>
|
|
604
|
+
<p>boost's flagship retrieval is invisible to almost everyone who installs it. <code>boost search "my
|
|
605
|
+
app is slow"</code> on the five default taps returns <code>dnanexus-integration</code>,
|
|
606
|
+
<code>tamarind</code>, <code>cirq</code>, <code>molfeat</code> — bioinformatics and quantum
|
|
607
|
+
computing, nothing about performance. That is BM25 doing exactly what BM25 does when a human types
|
|
608
|
+
like a human, and it is what every keyless user experiences.
|
|
609
|
+
|
|
610
|
+
<b>The vector database was never the problem.</b> Vectors already live on the user's own machine in
|
|
611
|
+
sqlite-vec (<code>~/.boost/cache/rag_vectors.sqlite</code>), refreshed per tap against the commit it
|
|
612
|
+
was built from. Nothing is hosted and nothing needs to be. The <em>only</em> API-bound step is
|
|
613
|
+
turning text into vectors: <code>embed.provider()</code> returns <code>"voyage"</code> with
|
|
614
|
+
<code>VOYAGE_API_KEY</code> set, <code>"openai"</code> with <code>OPENAI_API_KEY</code>, and
|
|
615
|
+
otherwise <code>None</code> — at which point everything degrades to BM25. So the real dilemma
|
|
616
|
+
("every user rebuilds the index, or someone hosts and pays for it") is false in both halves.
|
|
617
|
+
|
|
618
|
+
Six steps, and the first two carry most of the value.
|
|
619
|
+
|
|
620
|
+
<b>1 — A local ONNX provider, as the third link in a chain built for it.</b> Extend
|
|
621
|
+
<code>embed.provider()</code> to Voyage → OpenAI → <b>local</b> → BM25, using ONNX
|
|
622
|
+
Runtime on CPU with a small model (<code>bge-small-en-v1.5</code>, 384-dim, ~30 MB once). The
|
|
623
|
+
sqlite-vec store, the per-tap commit cache and KNN search are all untouched — only the
|
|
624
|
+
text→vector call changes. This removes the key, the signup and the card for <em>every</em>
|
|
625
|
+
user, and Voyage stays a free quality upgrade for anyone who adds one.
|
|
626
|
+
|
|
627
|
+
<b>2 — Prebuild per-registry shards in CI.</b> Embedding the full catalogue (~28k items,
|
|
628
|
+
~150M tokens) on a laptop is an hour-plus, which no one will wait for. A workflow embeds each
|
|
629
|
+
registry and publishes vectors as GitHub Release artifacts keyed on the registry's git commit
|
|
630
|
+
— the cache key the code already uses — so <code>boost tap</code> fetches the catalogue
|
|
631
|
+
<em>and</em> its shard. This is how Homebrew, npm and crates.io index a moving world.
|
|
632
|
+
|
|
633
|
+
<b>3 — Local delta top-up.</b> When a tap runs ahead of its published shard, or is a team or
|
|
634
|
+
private registry CI has never seen, embed just those files on the spot. This is the structural
|
|
635
|
+
answer to an unbounded ecosystem: shards cover the popular registries, the local model makes the
|
|
636
|
+
long tail self-serve, and cost scales with what each user taps rather than with the size of the
|
|
637
|
+
whole ecosystem. Without it, every uncatalogued registry is a dead end for a keyless user.
|
|
638
|
+
|
|
639
|
+
<b>4 — Fuse the two engines with reciprocal rank fusion.</b> Confirmed against the shipped
|
|
640
|
+
code: <code>rag.retrieve_any()</code> picks <em>one</em> engine — dense when it is ready and
|
|
641
|
+
returns a non-empty result, BM25 otherwise. There is no hybrid path today. RRF changes that to "run
|
|
642
|
+
both, fuse by rank": <code>score = 1/(60+rank_bm25) + 1/(60+rank_dense)</code>. Fusing on
|
|
643
|
+
<b>ranks, not scores</b>, is the point — a BM25 score and a cosine similarity are on
|
|
644
|
+
incomparable scales, and rank fusion sidesteps calibration entirely. The two engines fail in
|
|
645
|
+
opposite directions and this corpus needs both: registries are full of exact identifiers
|
|
646
|
+
(<code>EAS</code>, <code>pptx</code>, skill names) where BM25 is strongest and embeddings weakest,
|
|
647
|
+
while sloppy queries are where BM25 returns quantum computing. <code>retrieve_any</code> is the
|
|
648
|
+
single seam every retrieval path already passes through, CLI and MCP alike, so it is one function.
|
|
649
|
+
|
|
650
|
+
The tradeoffs are real and should be measured rather than assumed: rank fusion discards confidence,
|
|
651
|
+
so plain RRF can trail pure dense on purely semantic queries; "why did this rank third?" gains a
|
|
652
|
+
two-part answer; and both engines must index the same chunks (they already share chunking). Ship
|
|
653
|
+
the k=60 default, benchmark it, and tune only if the eval says so.
|
|
654
|
+
|
|
655
|
+
<b>5 — A hosted demo</b> on free tiers, so the experience is reachable without installing
|
|
656
|
+
anything. <b>6 — Publish the eval</b>: BM25 vs local dense vs Voyage dense vs hybrid on the
|
|
657
|
+
existing golden set, with recall@k and MRR. That last one settles step 4 with data instead of
|
|
658
|
+
argument — and if pure dense wins on this corpus, that is the result worth publishing.
|
|
659
|
+
|
|
660
|
+
<b>Scope note.</b> This is an epic, not a single change. Step 1 is the one that removes the wall and
|
|
661
|
+
is worth landing alone; steps 2–3 are what make it fast enough to be real; step 4 is ~20 lines
|
|
662
|
+
in one function and independently shippable; 5 and 6 are separable. Expect this card to decompose
|
|
663
|
+
into per-step items as each is picked up — the value of keeping it whole here is that the
|
|
664
|
+
steps only make sense against each other.
|
|
665
|
+
|
|
666
|
+
Constraints this must respect: the shipped runtime is stdlib-only and
|
|
667
|
+
<code>[project].dependencies</code> is empty, so a local model belongs behind an extra like
|
|
668
|
+
<code>[rag]</code>, with the keyless path degrading to BM25 exactly as it does now. The required
|
|
669
|
+
<code>eval</code> gate already floors BM25 recall@k at 0.85 over the golden set, so step 6 has a
|
|
670
|
+
harness to extend rather than invent. Related:
|
|
671
|
+
[[dense-search-fallback-and-stale-tap-pruning]] and
|
|
672
|
+
[[cache-the-catalog-entry-set-across-rag-queries]].</p>
|
|
673
|
+
<div class="meta">
|
|
674
|
+
<span class="m">Complexity <b>L</b></span>
|
|
675
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
676
|
+
<span class="m">Wow <b class="wow">★★★★★</b></span>
|
|
677
|
+
<span class="m">the vector store was never the problem — only turning text into vectors needs a key</span>
|
|
678
|
+
</div>
|
|
679
|
+
</article>
|
|
680
|
+
|
|
601
681
|
<article class="cap rcard" id="memoize-config-load-in-process">
|
|
602
682
|
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Performance</span></div>
|
|
603
683
|
<h3>Memoize <code>config.load()</code> in-process</h3>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/boost_skill_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.305 → boost_skill_cli-1.0.306}/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
|