boost-skill-cli 1.1.0__tar.gz → 1.1.1__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.1.0 → boost_skill_cli-1.1.1}/PKG-INFO +1 -1
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/SOURCES.txt +2 -0
- boost_skill_cli-1.1.1/docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md +64 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap.html +61 -1
- boost_skill_cli-1.1.1/tests/unit/test_visual_harness_flags.py +121 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/visual_check.mjs +31 -3
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.gitattributes +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.gitignore +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.htmlvalidate.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.lighthouserc.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.lycheeignore +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.markdownlint-cli2.jsonc +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.stylelintrc.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.vale/styles/boost/Terminology.yml +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.vale/styles/config/vocabularies/boost/accept.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/.vale.ini +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/CLAUDE.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/CODE_OF_CONDUCT.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/LICENSE +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/MANIFEST.in +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/Makefile +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/README.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/SECURITY.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/_common.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/run.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/safety.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/bmad.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/bootstrap.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/builtin.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/capabilities.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/catalogbundle.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/chat.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/complete.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/ed25519.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/faithfulness.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/installscan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/integrity.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/localembed.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/mcpdecl.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/mcphost.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/minisign.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/projectlock.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/provenance.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/resolve.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/scopes.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/selfupdate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/trustaudit.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/data/rules/boost-first.mdc +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/__init__.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/_compat.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/graph.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/loader.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/py.typed +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_langchain/retriever.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/codecov.yml +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/adapters.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/README.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-components-core.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-containers.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-context.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/architecture/c4-dynamic-install.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/distill.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/doctor.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/explain.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/hooks.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/install.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/pulse.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/search.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/gifs/tap.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/distill.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/doctor.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/explain.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/hooks.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/install.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/pulse.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/search.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel/tapes/tap.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/carousel.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/chat.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/commands.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo-index.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo.gif +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/demo.tape +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/eval-latest.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/eval.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/index.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/langchain.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/mcp-hub.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/a11y-sweep-flakes-on-color-contrast.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/actionlint-skips-shellcheck-silently.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/adapter-conformance-langgraph-leg-never-ran.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/agents-field-records-the-request-not-the-links.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ai-bridge-silent-failure-logging.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ambiguous-tap-short-name-resolution.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/bm25-index-is-one-json-blob.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/bmad-autopilot-one-command-persona-routing.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-first-carried-the-losing-trigger.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-first-rule.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-langchain-publishing.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/chat-cites-sources-by-a-number-it-never-prints.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/chat-command-grounded-conversational-search.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ci-job-timeout-minutes.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ci-summary-step-fails-itself.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ci-time-is-now-runner-queueing.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/code-scanning-rule-can-be-restored.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/codeql-job-rename-stranded-merge-protection.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/command-carousel-page.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/completions-complete-only-command-names.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/crash-listing-branch-untested.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/crash-reports-leak-api-keys.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/demo-cannot-open-its-own-pr.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/demo-gif-workflow-has-never-succeeded.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/demo-workflow-cancels-other-prs.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dense-search-fallback-and-stale-tap-pruning.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-missing-pip-ecosystem.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-regeneration-drops-platform-pins.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-root-pip-entry-duplicates-requirements.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependabot-splits-multi-path-action-repos.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/discover-searches-github-not-a-stale-sample.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/docsite-chrome-and-content-audit.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/dry-run-promised-a-link-nobody-makes.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/efficiency-registries-ponytail-caveman.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/est-items-counts-agent-mirrors-as-items.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-cannot-see-real-retrieval.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-is-96x-smaller-than-a-real-install.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-is-one-strangers-repo.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-pins-have-no-refresh-path.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-corpus-was-not-actually-pinned.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-deduped-ranked-lists-by-name.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/eval-stats-could-never-publish.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/expanded-card-bodies-overflow.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/gemini-agent-frontmatter-sanitizer.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/gemini-cli-agent-target.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/github-community-health-files.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/golden-set-grades-by-name-not-by-skill.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/heal-deleted-links-it-never-made.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/html-validation-html-validate.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/info-rejects-the-qualified-name-it-recommends.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-docs-never-mentioned-upgrading.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-from-path-bypasses-policy-and-pin-checks.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-path-disambiguation.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-resolves-skill-dependencies.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/installed-skill-trust-audit.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/internal-architecture-diagrams.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/journal-rotation-race-and-handle-leak.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/keyless-dense-tier-local-static-embeddings.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/keyless-semantic-search-for-everyone.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-in-the-wheel.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-integration-explainer-page.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-langgraph-langsmith-integration.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/langchain-retriever-metadata-and-k-floor.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/license-compliance-scanning.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lighthouse-scored-a-page-nobody-is-served.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lint-tap-misscopes-rule-workflow-entries.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lock-invariant-cannot-parse-extras-pins.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/main-has-no-branch-protection.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/main-ruleset-ref-pattern-has-literal-quotes.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/make-lint-masks-actionlint-failures.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/markdownlint-lints-the-fuzz-corpus.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-already-covered-defeater.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-aware-skills.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-check-skills-before-starting-a-task.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-install-skips-the-injection-scan.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-one-benefit-nameable-task.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-search-before-reinventing.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-search-cost-was-understated.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-search-hid-which-ranking-ran.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-servers-ignore-install-scope.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mcp-zero-setup-and-three-kinds.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/merge-queue-would-deadlock-most-required-checks.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/merged-loop-branches-are-never-pruned.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-gate-was-the-whole-critical-path.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mutation-shard-floor-is-one-file.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/mypy-strict-mode-for-commands.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/near-duplicate-items-eat-the-result-slots.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/negative-limit-inverts-log-pulse-output.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/onboard-overwrites-generated-files-without-confirm.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-commit-can-cut-two-releases.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-dead-tap-broke-every-update.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/path-traversal-unsanitized-rule-workflow-name.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pep585-604-modernization-sweep.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pin-the-lint-toolchain.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/post-deploy-always-defeated-by-skipped-setup.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prerequisites-and-semantic-search-setup.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/project-scope-across-every-command.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/project-scope-symlink-escape-on-write.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/publish-gate-ignores-pip-audit-and-metadata.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/publish-trigger-was-reachable-from-a-fork.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/pytest-tmpdir-cve-blocked-by-py39-floor.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/python-floor-moves-to-312.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ragas-unpin-when-upstream-ships.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ranx-significance-monitor.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/rel-time-tests-race-the-wall-clock.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/release-verifies-the-wrong-commit.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/required-checks-can-declare-a-check-that-deadlocks-prs.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/required-checks-config-drift.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/resolve-vendored-duplicate-copies.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/roadmap-html-goes-stale-on-every-rebase.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/roadmap-page-weight-grows-without-bound.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/roadmap-perf-budget-has-no-local-guard.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/ruff-016-widens-the-default-rule-set.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/rules-install-but-cannot-be-governed.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-declares-the-wrong-version.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sbom-release-event-never-fires.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scheduled-toolchain-lock-regeneration.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scorecard-findings-triage.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/scripts-under-the-lint-gate.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/search-never-notices-a-new-tap.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/self-update-broken-for-pip-pipx-installs.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/self-update-claims-up-to-date-without-asking.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/serve-404-reflected-the-request.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/serve-is-a-searchable-catalogue.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/serve-py-traversal-guards-untested.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/shards-pipeline-never-produced-a-shard.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/shareable-catalogue-bundle.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/structured-json-log-output-mode.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/sync-reported-success-for-a-link-it-refused.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/taps-check-out-freight-they-never-index.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/tool-call-eval-tier.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/two-crashes-that-should-have-been-messages.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/uninstall-has-no-confirmation-prompt.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/unwatched-crons-hid-a-real-fuzz-crash.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-advertises-a-flag-it-rejects.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-refreshed-rules-without-a-gate.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/update-reinstall-widens-agent-scope.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/wire-bdd-suite-into-ci.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/zip-strict-audit.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/zizmor-ignores-drift-and-make-lint-never-ran-it.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/docs/roadmap/items/zizmor-pin-is-a-yanked-release.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/eslint.config.mjs +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/README.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/__init__.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/baseline.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/faithfulness.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/golden_set.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/make_corpus.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/make_golden.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/metrics.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/evals/run_evals.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/examples/README.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/index.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/noxfile.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/pyproject.toml +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/coverage-tools.in +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/coverage-tools.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/lint-tools.in +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/lint-tools.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/mutation-tools.in +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/mutation-tools.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/platform-pins.lock +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/release-tools.in +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/release-tools.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/test-tools.in +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/requirements/test-tools.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/a11y_check.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_demo_index.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/build_scale_corpus.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/check_anchors.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/check_licenses.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/check_required_checks.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_corpus.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_gate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_retrieval.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/eval_stats_summary.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/lock_toolchain.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/measure_registry.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/mutation_shards.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/mutation_weights.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/page_budget.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/perf_gate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/publish_eval_json.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/release_guard.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/release_preflight.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/scripts/serve_docs.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/setup.cfg +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/sonar-project.properties +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/README.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/boost.css +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/boost.js +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/style/demo.html +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/conftest.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/golden-natural.jsonl +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/taps-scale.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_capabilities_policy.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_catalog.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_chat.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_integrity_enforce.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_kind_conformance.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_run.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_tap_signing.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/functional/test_workspace_scope.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/README.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/01-typical.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/02-lossy-version.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/03-lossy-numbers.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/04-lists.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/05-nested.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/06-empty-block.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/07-unterminated.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/08-none.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/09-unbalanced-quote.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/10-keywords.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/11-crlf.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/frontmatter/12-bom.md +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/01-shorthand.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/02-https.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/03-ssh.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/04-traversal.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/05-empty.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/06-space.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/07-slash.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/corpus/registry/08-bare-host.txt +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/fuzz_frontmatter.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/fuzz/fuzz_registry.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/conftest.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/test_graph.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/test_loader.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/langchain/test_retriever.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_a11y_check.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_action_pin_lockstep.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_adapters_multi.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_adapters_runner.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_bmad_core.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_boost_first_offer.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_bootstrap.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_builtin.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_capabilities.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_catalogbundle.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_chat.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_check_anchors.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_check_licenses.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_clean_internal_cache.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_codeql_analysis_key.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_community_health_files.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_compact.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_complete.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_content_dedupe.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_crash_redaction.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dedup_trust.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_demo_index.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_fix_hint.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_shard_real_schema.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_shard_unreadable_vectors.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_shards.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dense_status.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_dependabot_config.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_docsite_chrome.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_ed25519.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_embed_local.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_embed_truncated_response.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_entry_key.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_baseline.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_corpus.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_faithfulness.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_gate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_grading.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_metrics.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_eval_stats_summary.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_failure_alerting_covers_unattended.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_faithfulness.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_fuzz_targets.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gemini_agent_sanitize.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitutil_lfs.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_gitutil_sparse.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_install_permission_error.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_installscan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_integrity.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_langchain_packaging.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_link_ownership.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_localembed.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_localembed_e2e.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_marketing_counts.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcp_install_scan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcpdecl.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mcphost.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_measure_registry.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_minisign.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutation_shards.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutation_subfile_shards.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_mutmut_source_paths.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_page_budget.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_perf_gate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_platform_pins.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_post_deploy_smoke.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_project_mcp_sidecar.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_projectlock.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_provenance.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_publish_golden_dataset.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_rag_fusion.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registry_categories.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_registry_control_chars.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_release_guard.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_release_preflight.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_required_checks.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_resolve.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_scale_corpus.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_scopes.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_selfupdate.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_serve_docs.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_shards_matrix.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_smoke_covers_every_command.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_store_materialize.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_sync_blocked_links.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_sync_repairs_gutted_skill.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_toolchain_lock.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_trustaudit.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_concurrency.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_concurrency_groups.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_push_has_credentials.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflow_timeouts.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_workflows.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/unit/test_zizmor_ignores_still_anchor.py +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/a11y_check.mjs +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/console_check.mjs +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/package-lock.json +0 -0
- {boost_skill_cli-1.1.0 → boost_skill_cli-1.1.1}/tests/visual/package.json +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.1.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 1,
|
|
21
|
+
__version__ = version = '1.1.1'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 1, 1)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -399,6 +399,7 @@ docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md
|
|
|
399
399
|
docs/roadmap/items/structured-json-log-output-mode.md
|
|
400
400
|
docs/roadmap/items/supply-chain-posture-openssf-scorecard.md
|
|
401
401
|
docs/roadmap/items/surface-every-docs-page-from-the-guide.md
|
|
402
|
+
docs/roadmap/items/sweep-died-at-launch-not-at-a-page.md
|
|
402
403
|
docs/roadmap/items/sync-could-not-repair-a-gutted-skill.md
|
|
403
404
|
docs/roadmap/items/sync-deletes-unowned-broken-symlinks.md
|
|
404
405
|
docs/roadmap/items/sync-relinks-into-every-agent-ignoring-scope.md
|
|
@@ -698,6 +699,7 @@ tests/unit/test_typosquat.py
|
|
|
698
699
|
tests/unit/test_updatediff.py
|
|
699
700
|
tests/unit/test_util.py
|
|
700
701
|
tests/unit/test_version.py
|
|
702
|
+
tests/unit/test_visual_harness_flags.py
|
|
701
703
|
tests/unit/test_workflow_concurrency.py
|
|
702
704
|
tests/unit/test_workflow_concurrency_groups.py
|
|
703
705
|
tests/unit/test_workflow_push_has_credentials.py
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: sweep-died-at-launch-not-at-a-page
|
|
3
|
+
board: code
|
|
4
|
+
section: pipeline
|
|
5
|
+
status: inflight
|
|
6
|
+
category: CI · Bug
|
|
7
|
+
complexity: S
|
|
8
|
+
impact: High
|
|
9
|
+
wow: 4
|
|
10
|
+
note: a comment in the sibling file predicted this exact failure
|
|
11
|
+
order: 114
|
|
12
|
+
owner: fix/visual-sweep-single-process
|
|
13
|
+
pr:
|
|
14
|
+
title: The <code>sweep</code> gate died at browser launch, not at a page
|
|
15
|
+
---
|
|
16
|
+
Every <code>sweep</code> run failed from 2026-08-15 onward — on <code>main</code>
|
|
17
|
+
and on every branch — and the failure was not a visual regression at all. Chrome
|
|
18
|
+
died during the CDP startup handshake, before a single page loaded:
|
|
19
|
+
|
|
20
|
+
<code>TargetCloseError: Protocol error (Target.setAutoAttach): Target closed</code>
|
|
21
|
+
out of <code>ChromeLauncher.launch</code>.
|
|
22
|
+
|
|
23
|
+
<b>The trigger was the environment, and the evidence is an A/B on identical
|
|
24
|
+
trees.</b> <code>#515</code>'s own PR run passed on 2026-08-13 at 17:22; the
|
|
25
|
+
byte-identical squash-merge failed on 2026-08-15 at 22:10. Same content, opposite
|
|
26
|
+
result, two days apart — the <code>ubuntu-latest</code> runner image bumped
|
|
27
|
+
Chrome underneath it. Nothing in the repo changed;
|
|
28
|
+
<code>visual_check.mjs</code> had carried the same flags since <code>#209</code>.
|
|
29
|
+
|
|
30
|
+
<b>The sibling file predicted it, in a comment, by name.</b>
|
|
31
|
+
<code>a11y_check.mjs</code> was fixed earlier to scope <code>--single-process</code>
|
|
32
|
+
to the <code>chrome-headless-shell</code> binary, and its comment recorded why the
|
|
33
|
+
other half of the directory was still exposed: <em>"visual_check.mjs already
|
|
34
|
+
passes the flag … <code>--single-process</code> is a debug-only flag there whose
|
|
35
|
+
interaction with new headless nothing in this repo exercises."</em> That is
|
|
36
|
+
exactly the interaction that broke.
|
|
37
|
+
|
|
38
|
+
<b>Two candidate causes, both addressed, because the CI path cannot be
|
|
39
|
+
reproduced locally.</b> <code>--single-process</code> is debug-only and
|
|
40
|
+
unsupported against full Chrome; and <code>headless: "shell"</code> asks for the
|
|
41
|
+
old headless mode, which Chrome removed from the main binary and now ships only
|
|
42
|
+
as the separate <code>chrome-headless-shell</code> executable. Both are now
|
|
43
|
+
conditioned on the same predicate the a11y harness uses, so against
|
|
44
|
+
<code>/usr/bin/google-chrome</code> the sweep launches in new headless with
|
|
45
|
+
neither flag — the shape <code>a11y_check.mjs</code> has been driving on this
|
|
46
|
+
runner all along. Keyed on the <em>binary</em> rather than on
|
|
47
|
+
<code>process.platform</code>: a macOS run pointed at full Chrome must not
|
|
48
|
+
inherit a flag meant for the shell.
|
|
49
|
+
|
|
50
|
+
<b>What was verified, and what was not.</b> The harness runs end to end and
|
|
51
|
+
passes <b>10 pages × 5 widths clean</b> against a downloaded
|
|
52
|
+
<code>chrome-headless-shell</code> 152 — which also proves the docs pages
|
|
53
|
+
themselves were never the problem. The flag selection was evaluated directly for
|
|
54
|
+
four binary paths. The <em>CI</em> path is not locally reproducible and this card
|
|
55
|
+
says so rather than implying otherwise: full Chrome cannot start under this macOS
|
|
56
|
+
sandbox at all, aborting with <code>The browser is already running for
|
|
57
|
+
<fresh profile dir></code> from ProcessSingleton — a different error from
|
|
58
|
+
CI's, so it is interference, not a reproduction. CI is the verifier.
|
|
59
|
+
|
|
60
|
+
<b>The ratchet.</b> <code>tests/unit/test_visual_harness_flags.py</code> fails
|
|
61
|
+
the build if either harness hands a sandbox-only flag to a full Chrome, and if
|
|
62
|
+
the two stop agreeing on the predicate. The bug here was not the flag — it was
|
|
63
|
+
that one file was fixed and the other was not, and the only thing recording that
|
|
64
|
+
was a comment. A comment cannot fail a build.
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
<div class="stat"><b>16</b><span>Shipped</span></div>
|
|
134
134
|
<div class="stat"><b>1</b><span>Next up</span></div>
|
|
135
135
|
<div class="stat"><b>7</b><span>Planned</span></div>
|
|
136
|
-
<div class="stat"><b>
|
|
136
|
+
<div class="stat"><b>251</b><span>Loop finds</span></div>
|
|
137
137
|
<!-- /ROADMAP:stats -->
|
|
138
138
|
</div>
|
|
139
139
|
</section>
|
|
@@ -6507,6 +6507,66 @@ the push.</p></details>
|
|
|
6507
6507
|
<span class="m">a comment four lines long un-silenced a reviewed finding, and no local gate could see it</span>
|
|
6508
6508
|
</div>
|
|
6509
6509
|
</article>
|
|
6510
|
+
|
|
6511
|
+
<article class="cap rcard" id="sweep-died-at-launch-not-at-a-page">
|
|
6512
|
+
<div class="head"><span class="pill inflight">In flight</span><span class="cat">CI · Bug</span></div>
|
|
6513
|
+
<h3>The <code>sweep</code> gate died at browser launch, not at a page</h3>
|
|
6514
|
+
<p>Every <code>sweep</code> run failed from 2026-08-15 onward — on <code>main</code>
|
|
6515
|
+
and on every branch — and the failure was not a visual regression at all. Chrome
|
|
6516
|
+
died during the CDP startup handshake, before a single page loaded:
|
|
6517
|
+
|
|
6518
|
+
<code>TargetCloseError: Protocol error (Target.setAutoAttach): Target closed</code>
|
|
6519
|
+
out of <code>ChromeLauncher.launch</code>.
|
|
6520
|
+
|
|
6521
|
+
<b>The trigger was the environment, and the evidence is an A/B on identical
|
|
6522
|
+
trees.</b> <code>#515</code>'s own PR run passed on 2026-08-13 at 17:22; the
|
|
6523
|
+
byte-identical squash-merge failed on 2026-08-15 at 22:10. Same content, opposite
|
|
6524
|
+
result, two days apart — the <code>ubuntu-latest</code> runner image bumped
|
|
6525
|
+
Chrome underneath it. Nothing in the repo changed;
|
|
6526
|
+
<code>visual_check.mjs</code> had carried the same flags since <code>#209</code>.
|
|
6527
|
+
|
|
6528
|
+
<b>The sibling file predicted it, in a comment, by name.</b>
|
|
6529
|
+
<code>a11y_check.mjs</code> was fixed earlier to scope <code>--single-process</code>
|
|
6530
|
+
to the <code>chrome-headless-shell</code> binary, and its comment recorded why the
|
|
6531
|
+
other half of the directory was still exposed: <em>"visual_check.mjs already
|
|
6532
|
+
passes the flag … <code>--single-process</code> is a debug-only flag there whose
|
|
6533
|
+
interaction with new headless nothing in this repo exercises."</em> That is
|
|
6534
|
+
exactly the interaction that broke.
|
|
6535
|
+
|
|
6536
|
+
<b>Two candidate causes, both addressed, because the CI path cannot be
|
|
6537
|
+
reproduced locally.</b> <code>--single-process</code> is debug-only and
|
|
6538
|
+
unsupported against full Chrome; and <code>headless: "shell"</code> asks for the
|
|
6539
|
+
old headless mode, which Chrome removed from the main binary and now ships only
|
|
6540
|
+
as the separate <code>chrome-headless-shell</code> executable. Both are now
|
|
6541
|
+
conditioned on the same predicate the a11y harness uses, so against
|
|
6542
|
+
<code>/usr/bin/google-chrome</code> the sweep launches in new headless with
|
|
6543
|
+
neither flag — the shape <code>a11y_check.mjs</code> has been driving on this
|
|
6544
|
+
runner all along. Keyed on the <em>binary</em> rather than on
|
|
6545
|
+
<code>process.platform</code>: a macOS run pointed at full Chrome must not
|
|
6546
|
+
inherit a flag meant for the shell.
|
|
6547
|
+
|
|
6548
|
+
<b>What was verified, and what was not.</b> The harness runs end to end and
|
|
6549
|
+
passes <b>10 pages × 5 widths clean</b> against a downloaded
|
|
6550
|
+
<code>chrome-headless-shell</code> 152 — which also proves the docs pages
|
|
6551
|
+
themselves were never the problem. The flag selection was evaluated directly for
|
|
6552
|
+
four binary paths. The <em>CI</em> path is not locally reproducible and this card
|
|
6553
|
+
says so rather than implying otherwise: full Chrome cannot start under this macOS
|
|
6554
|
+
sandbox at all, aborting with <code>The browser is already running for
|
|
6555
|
+
<fresh profile dir></code> from ProcessSingleton — a different error from
|
|
6556
|
+
CI's, so it is interference, not a reproduction. CI is the verifier.
|
|
6557
|
+
|
|
6558
|
+
<b>The ratchet.</b> <code>tests/unit/test_visual_harness_flags.py</code> fails
|
|
6559
|
+
the build if either harness hands a sandbox-only flag to a full Chrome, and if
|
|
6560
|
+
the two stop agreeing on the predicate. The bug here was not the flag — it was
|
|
6561
|
+
that one file was fixed and the other was not, and the only thing recording that
|
|
6562
|
+
was a comment. A comment cannot fail a build.</p>
|
|
6563
|
+
<div class="meta">
|
|
6564
|
+
<span class="m">Complexity <b>S</b></span>
|
|
6565
|
+
<span class="m hi">Impact <b>High</b></span>
|
|
6566
|
+
<span class="m">Wow <b class="wow">★★★★</b></span>
|
|
6567
|
+
<span class="m">a comment in the sibling file predicted this exact failure</span>
|
|
6568
|
+
</div>
|
|
6569
|
+
</article>
|
|
6510
6570
|
<!-- /ROADMAP:cards -->
|
|
6511
6571
|
|
|
6512
6572
|
</div>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"""Unit tests: the Chrome flags the two headless sweeps launch with.
|
|
2
|
+
|
|
3
|
+
`tests/visual/` holds two puppeteer harnesses that drive the same binary on the
|
|
4
|
+
same runner — `visual_check.mjs` (render regression) and `a11y_check.mjs`
|
|
5
|
+
(axe-core). They must agree about `--single-process`, and for two days they did
|
|
6
|
+
not.
|
|
7
|
+
|
|
8
|
+
`--single-process` exists for one reason: `chrome-headless-shell` is the only
|
|
9
|
+
binary that starts under a macOS sandbox denying Mach port rendezvous, and it
|
|
10
|
+
needs the flag to get there. On CI the binary is `/usr/bin/google-chrome`, where
|
|
11
|
+
the flag is debug-only and unsupported. `a11y_check.mjs` was fixed to scope it to
|
|
12
|
+
the shell binary and its comment recorded that `visual_check.mjs` still passed it
|
|
13
|
+
unconditionally — that prediction came true when the runner image bumped Chrome:
|
|
14
|
+
|
|
15
|
+
TargetCloseError: Protocol error (Target.setAutoAttach): Target closed
|
|
16
|
+
at ChromeLauncher.launch (…/ChromeLauncher.js:39:16)
|
|
17
|
+
|
|
18
|
+
The browser died during the CDP startup handshake, so `sweep` failed before a
|
|
19
|
+
single page loaded — on every branch and on `main`. The tell that it was the
|
|
20
|
+
environment and not the repo: #515's own PR run passed on 2026-08-13 and the
|
|
21
|
+
byte-identical squash-merge failed on 2026-08-15.
|
|
22
|
+
|
|
23
|
+
These tests are the ratchet. The flag stays available for the sandbox that needs
|
|
24
|
+
it, and neither harness may hand it to a full Chrome again.
|
|
25
|
+
"""
|
|
26
|
+
from __future__ import annotations
|
|
27
|
+
|
|
28
|
+
import re
|
|
29
|
+
from pathlib import Path
|
|
30
|
+
|
|
31
|
+
import pytest
|
|
32
|
+
|
|
33
|
+
ROOT = Path(__file__).resolve().parent.parent.parent
|
|
34
|
+
HARNESSES = {
|
|
35
|
+
"visual_check.mjs": ROOT / "tests" / "visual" / "visual_check.mjs",
|
|
36
|
+
"a11y_check.mjs": ROOT / "tests" / "visual" / "a11y_check.mjs",
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
#: Flags that only ever belong to the sandboxed `chrome-headless-shell` run.
|
|
40
|
+
#: `--in-process-gpu` is here because it is half of the same workaround — it
|
|
41
|
+
#: pairs with `--single-process` and is equally pointless against full Chrome.
|
|
42
|
+
SANDBOX_ONLY_FLAGS = ("--single-process", "--in-process-gpu")
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _source(name: str) -> str:
|
|
46
|
+
path = HARNESSES[name]
|
|
47
|
+
assert path.is_file(), "%s is missing" % path
|
|
48
|
+
return path.read_text(encoding="utf-8")
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def _code_lines(src: str) -> list[str]:
|
|
52
|
+
"""Source lines with `//` comments dropped.
|
|
53
|
+
|
|
54
|
+
The flag is *named* in prose in both files — that is the documentation, not
|
|
55
|
+
an invocation, and asserting over raw text would fail on the comment that
|
|
56
|
+
explains the rule.
|
|
57
|
+
"""
|
|
58
|
+
out = []
|
|
59
|
+
for line in src.splitlines():
|
|
60
|
+
stripped = line.strip()
|
|
61
|
+
if stripped.startswith("//"):
|
|
62
|
+
continue
|
|
63
|
+
out.append(line.split("//", 1)[0])
|
|
64
|
+
return out
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@pytest.mark.parametrize("name", sorted(HARNESSES))
|
|
68
|
+
class TestSandboxFlagsAreConditional:
|
|
69
|
+
def test_no_sandbox_only_flag_is_passed_unconditionally(self, name):
|
|
70
|
+
"""A bare flag in the args array is what broke CI for two days."""
|
|
71
|
+
for line in _code_lines(_source(name)):
|
|
72
|
+
for flag in SANDBOX_ONLY_FLAGS:
|
|
73
|
+
if flag not in line:
|
|
74
|
+
continue
|
|
75
|
+
assert "?" in line or "&&" in line, (
|
|
76
|
+
"%s passes %s unconditionally (%r) — on CI the binary is "
|
|
77
|
+
"full Chrome, where it kills the browser at launch"
|
|
78
|
+
% (name, flag, line.strip()))
|
|
79
|
+
|
|
80
|
+
def test_the_guard_is_keyed_on_the_shell_binary(self, name):
|
|
81
|
+
"""Scoped by *binary*, not by platform: what needs the flag is
|
|
82
|
+
`chrome-headless-shell`, and a macOS runner using full Chrome must not
|
|
83
|
+
inherit it."""
|
|
84
|
+
src = _source(name)
|
|
85
|
+
if not any(f in src for f in SANDBOX_ONLY_FLAGS):
|
|
86
|
+
pytest.skip("%s passes no sandbox-only flag" % name)
|
|
87
|
+
assert re.search(r"/chrome\[-_\]headless\[-_\]shell/\.test\(bin\)", src), (
|
|
88
|
+
"%s gates the flag on something other than the shell binary — "
|
|
89
|
+
"`process.platform` is the tempting wrong answer, because a macOS "
|
|
90
|
+
"run pointed at full Chrome would then inherit it" % name)
|
|
91
|
+
|
|
92
|
+
def test_ci_binary_path_is_still_a_candidate(self, name):
|
|
93
|
+
"""The guard is only meaningful while CI really does use full Chrome."""
|
|
94
|
+
assert "/usr/bin/google-chrome" in _source(name)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class TestTheTwoHarnessesAgree:
|
|
98
|
+
"""They drive the same binary on the same runner in the same job."""
|
|
99
|
+
|
|
100
|
+
def test_both_use_the_same_predicate(self):
|
|
101
|
+
preds = {}
|
|
102
|
+
for name in HARNESSES:
|
|
103
|
+
src = _source(name)
|
|
104
|
+
m = re.search(r"=\s*(/chrome.*?/)\.test\(bin\)", src)
|
|
105
|
+
preds[name] = m.group(1) if m else None
|
|
106
|
+
assert len(set(preds.values())) == 1, (
|
|
107
|
+
"the harnesses disagree about which binary needs the flag: %r"
|
|
108
|
+
% preds)
|
|
109
|
+
assert all(preds.values()), (
|
|
110
|
+
"a harness has no shell-binary predicate at all: %r" % preds)
|
|
111
|
+
|
|
112
|
+
def test_neither_hands_a_sandbox_flag_to_full_chrome(self):
|
|
113
|
+
"""The end state, stated once over both files."""
|
|
114
|
+
offenders = [
|
|
115
|
+
(name, line.strip())
|
|
116
|
+
for name in HARNESSES
|
|
117
|
+
for line in _code_lines(_source(name))
|
|
118
|
+
for flag in SANDBOX_ONLY_FLAGS
|
|
119
|
+
if flag in line and "?" not in line and "&&" not in line
|
|
120
|
+
]
|
|
121
|
+
assert not offenders, offenders
|
|
@@ -47,12 +47,40 @@ if (!bin) {
|
|
|
47
47
|
process.exit(2);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
// `--single-process` (and the `--in-process-gpu` half of the same workaround)
|
|
51
|
+
// exists for exactly one binary: `chrome-headless-shell` is the only thing that
|
|
52
|
+
// starts under a macOS sandbox denying Mach port rendezvous, and it needs the
|
|
53
|
+
// flag to get there — see the matching block in a11y_check.mjs, which scoped it
|
|
54
|
+
// first and recorded that this file still passed it unconditionally.
|
|
55
|
+
//
|
|
56
|
+
// That prediction came true. On CI the binary is /usr/bin/google-chrome, where
|
|
57
|
+
// the flag is debug-only and unsupported; when the runner image bumped Chrome,
|
|
58
|
+
// the browser began dying during the CDP startup handshake and every `sweep`
|
|
59
|
+
// run failed before a page loaded:
|
|
60
|
+
//
|
|
61
|
+
// TargetCloseError: Protocol error (Target.setAutoAttach): Target closed
|
|
62
|
+
// at ChromeLauncher.launch (…/ChromeLauncher.js:39:16)
|
|
63
|
+
//
|
|
64
|
+
// The tell that it was the environment and not the repo: #515's own PR run
|
|
65
|
+
// passed on 2026-08-13 and the byte-identical squash-merge failed on 08-15.
|
|
66
|
+
//
|
|
67
|
+
// `headless` moves with it. "shell" is the old headless mode, which is what the
|
|
68
|
+
// separate chrome-headless-shell binary provides; against full Chrome we take
|
|
69
|
+
// puppeteer's default (new headless), which is the mode a11y_check.mjs has been
|
|
70
|
+
// driving on this runner all along. Keyed on the binary rather than on
|
|
71
|
+
// `process.platform`, so a macOS run pointed at full Chrome does not inherit a
|
|
72
|
+
// flag meant for the shell.
|
|
73
|
+
const needsSingleProcess = /chrome[-_]headless[-_]shell/.test(bin);
|
|
74
|
+
|
|
50
75
|
const browser = await launch({
|
|
51
76
|
executablePath: bin,
|
|
52
77
|
pipe: true, // no listening socket (sandbox-safe)
|
|
53
|
-
headless: "shell",
|
|
54
|
-
args: [
|
|
55
|
-
|
|
78
|
+
...(needsSingleProcess ? { headless: "shell" } : {}),
|
|
79
|
+
args: [
|
|
80
|
+
"--no-sandbox", "--disable-gpu", "--disable-dev-shm-usage",
|
|
81
|
+
"--hide-scrollbars",
|
|
82
|
+
...(needsSingleProcess ? ["--in-process-gpu", "--single-process"] : []),
|
|
83
|
+
],
|
|
56
84
|
});
|
|
57
85
|
|
|
58
86
|
// Containers allowed to hide content behind their own horizontal scroll.
|
|
File without changes
|
|
File without changes
|
|
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.1.0 → boost_skill_cli-1.1.1}/.vale/styles/config/vocabularies/boost/accept.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|