boost-skill-cli 1.0.174__tar.gz → 1.0.176__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.176/.htmlvalidate.json +17 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/PKG-INFO +1 -1
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/_version.py +2 -2
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/PKG-INFO +1 -1
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/SOURCES.txt +3 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/adapters.html +1 -1
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/mcp-hub.html +2 -2
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/html-validation-html-validate.md +3 -3
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/ranx-significance-monitor.md +3 -3
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap.html +2 -2
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/eval_retrieval.py +4 -3
- boost_skill_cli-1.0.176/scripts/eval_stats_summary.py +83 -0
- boost_skill_cli-1.0.176/tests/unit/test_eval_stats_summary.py +80 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/.gitattributes +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/.gitignore +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/.gitleaks.toml +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/.pre-commit-config.yaml +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/CLAUDE.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/CONTRIBUTING.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/LICENSE +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/MANIFEST.in +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/Makefile +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/README.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/SECURITY.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/__init__.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/__main__.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/cli.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/cliparse.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/__init__.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/bmad.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/configuration.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/discovery.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/hooks.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/info.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/intelligence.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/pkg.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/quality.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/taps.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/commands/team.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/__init__.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/adapters.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/agents.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/ai.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/catalog.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/claude_settings.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/config.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/dense.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/embed.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/frontmatter.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/gitutil.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/imperative.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/injectscan.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/journal.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/lockfile.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/logs.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/mcp.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/nethttp.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/output.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/paths.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/policy.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/rag.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/registry.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/rules.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/secretscan.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/serve.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/stackprobe.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/staleness.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/store.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/typosquat.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/updatediff.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/util.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/core/workflows.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/data/registries.json +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/errors.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_cli/spin.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/dependency_links.txt +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/entry_points.txt +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/requires.txt +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/top_level.txt +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/.claude/settings.local.json +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/DEBUGGING.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/commands.html +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/demo.gif +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/demo.tape +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/design-roadmap.html +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/eval.html +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/index.html +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/rag-architecture.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D01.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D02.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D03.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D04.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D05.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D06.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D07.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D08.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D09.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D10.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D11.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D12.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D13.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D14.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D15.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D16.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D17.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D18.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D19.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D20.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D21.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D22.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D23.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D24.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D25.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/BOOST-D26.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/accessibility-audit-pa11y-ci-axe-core.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/atomic-corruption-safe-lock-file-writes.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/atomic-skill-install-temp-dir-swap.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/autonomous-ship-workflow-and-isolated-worktree.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/boost-run-live-agents.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/bring-commands-under-mutation-testing.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/broken-link-and-anchor-checking-lychee.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/browse-crashes-selecting-a-rule-or-workflow.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/build-provenance-slsa-attestations.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/cache-the-catalog-entry-set-across-rag-queries.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/capability-manifest-and-least-privilege-policy.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/clean-env-install-smoke-pip-and-pipx.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/command-reference-docs-site.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/complexity-and-dead-code-radar-xenon-vulture.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/consolidate-skill-staleness-drift-logic-into-cor.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/coverage-dashboard-codecov-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/coverage-guided-fuzzing-atheris-oss-fuzz.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/crash-recorder-error-paths-core-logs-py.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/dependency-cve-gate-pip-audit.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/docstring-coverage-interrogate.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/doctor-checks-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/end-of-options-guard-on-git-commands.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/extension-free-tests-core-dense-py.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/extract-mcp-http-servers-out-of-configuration-py.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/finish-mutation-hardening-across-core.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/fix-self-update-version-detection-dead-branch.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/fork-safe-network-proxy-handler.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/framework-adapter-langgraph.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/framework-adapter-multi-agent.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/framework-adapters-boost-adapt.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/frontmatter-scalar-over-coercion.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/github-pages-deploy-is-broken-every-push.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/golden-set-statistical-power.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/hash-pinned-reproducible-toolchain-uv-lock.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/install-scope-user-or-project.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/integrity-verification-boost-verify.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/invocation-pid-logging-for-crash-correlation.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/layering-guard-import-linter.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/lighthouse-ci-on-the-pages-site.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/list-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/localize-the-stored-bm25-snippet.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/lockfile-enforcement-and-commit-pinning.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/log-timestamps-mislabeled-utc.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/lowest-version-resolution-uv-resolution-lowest-d.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/make-the-roadmaps-discoverable.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/markdown-consistency-markdownlint-cli2.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mcp-hub-diagram-node-text-overflow.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mcp-launch-objc-fork-safety.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mcp-register-names-server-before-env.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mcp-startup-self-harden-fork-safety.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/memoize-config-load-in-process.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/modernization-smells-refurb-pyupgrade.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mutation-hardening-core-frontmatter-py.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mutation-hardening-core-gitutil-py.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/mutation-hardening-core-store-py.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/one-command-every-env-nox.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/one-shared-atomic-write-helper.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/package-metadata-validation-twine-check-friends.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/patch-coverage-gate-diff-cover.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/performance-regression-gate-pytest-benchmark.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/post-deploy-smoke-headless-load-check.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/pre-release-python-canary-3-14t-free-threaded.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/promote-nav-footer-into-the-shared-style-system.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/prompt-injection-scanning-of-skill-markdown.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/property-based-tests-hypothesis-on-the-parsers.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/prose-and-terminology-linting-vale.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/prune-ignored-dirs-during-scan-dir-walk.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/quality-dashboard-sonarcloud-free-for-oss.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/reconcile-the-theme-drift.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/refresh-the-marketing-surface.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/retrieval-quality-eval-harness.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/reuse-helpers-kill-minor-dead-work.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/robust-tag-argument-parsing.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/rule-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/runner-egress-monitoring-stepsecurity-harden-run.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/runtime-explain-faithfulness-guardrail.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/sbom-aware-scanning-osv-scanner.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/sbom-on-every-release-cyclonedx-syft.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/scan-and-sync-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/second-type-checker-pyright.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/secret-and-pii-scanning-of-installed-skills.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/secret-scanning-gitleaks-push-protection.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/security-linting-bandit-via-ruff-s-rules.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/shift-left-gate-pre-commit-pre-commit-ci.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/single-imperative-rule-extractor.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/single-tech-stack-prober.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/split-oversized-command-modules.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/startup-and-import-time-budget-x-importtime.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/stop-re-serializing-entry-meta-on-every-search.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/supply-chain-posture-openssf-scorecard.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/surface-every-docs-page-from-the-guide.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/tap-signing-and-provenance-sigstore-minisign.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/theme-asset-linting-stylelint-eslint.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/typo-detection-codespell.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/typosquat-and-name-confusion-detection.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/unify-tilde-two-copies-have-a-boundary-bug.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/untrack-generated-build-noise.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/update-diff-before-apply.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/update-refreshes-rules-and-workflows.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/visual-regression-pass-on-the-guide.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/widen-the-ruff-rule-surface-b-sim-c4-perf-ruf.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/windows-in-the-ci-matrix.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/workflow-install-native-materialization.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/workflow-linting-actionlint.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/workflow-sast-zizmor.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/workspace-scope-install.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/examples/README.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/examples/adapt-demo.sh +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/examples/boost-run-prototype.sh +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/index.html +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/noxfile.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/pyproject.toml +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/bench_cli.sh +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/build_command_reference.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/build_registries.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/build_roadmap.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/ensure_eval_corpus.sh +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/eval_explain.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/eval_recommend.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/import_budget.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/scripts/mutation_gate.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/setup.cfg +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/style/README.md +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/style/boost.css +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/style/boost.js +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/style/demo.html +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/adapt.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/browse.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/count.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/discover.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/doctor.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/environment.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/explain.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/index.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/install.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/list.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/mcp.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/search.feature +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/steps/cli_steps.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/steps/discovery_steps.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/steps/mcp_steps.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/bdd/features/steps/quality_steps.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/conftest.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/eval/baseline.json +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/eval/explain.jsonl +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/eval/golden.jsonl +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/eval/recommend.jsonl +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/eval/taps.txt +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_adapt.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_bmad.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_configuration.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_discovery.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_hooks.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_info.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_intelligence.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_pkg.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_quality.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_taps.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_cli_team.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_everyday_loop.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/functional/test_property_parsers.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/make_fixture.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/perf/test_benchmarks.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/smoke.sh +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_adapters.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_agents.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_ai.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_catalog.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_claude_settings.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_cliparse.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_command_reference_fresh.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_config.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_dense.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_dense_fallback.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_docs_pages_linked.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_embed.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_errors_and_cli_table.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_frontmatter.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_gitleaks_config.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_gitutil.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_imperative.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_import_budget.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_injectscan.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_journal.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_lockfile.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_logs.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_mcp.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_mutation_hardening.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_nethttp.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_output.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_paths.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_pkg_confusions.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_pkg_injection.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_pkg_secrets.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_policy.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_rag.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_registries_fresh.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_registry.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_roadmap_fresh.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_rules.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_secretscan.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_serve.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_spin.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_stackprobe.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_staleness.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_store.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_token_parity.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_typosquat.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_updatediff.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_util.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_version.py +0 -0
- {boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/tests/unit/test_workflows.py +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://html-validate.org/schemas/config.json",
|
|
3
|
+
"extends": ["html-validate:recommended"],
|
|
4
|
+
"rules": {
|
|
5
|
+
"no-inline-style": "off",
|
|
6
|
+
"doctype-style": "off",
|
|
7
|
+
"void-style": "off",
|
|
8
|
+
"no-trailing-whitespace": "off",
|
|
9
|
+
"attr-quotes": "off",
|
|
10
|
+
"prefer-tbody": "off",
|
|
11
|
+
"long-title": "off",
|
|
12
|
+
"svg-focusable": "off",
|
|
13
|
+
"wcag/h37": "off",
|
|
14
|
+
"wcag/h63": "off",
|
|
15
|
+
"no-implicit-button-type": "off"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -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.176'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 0, 176)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
.gitattributes
|
|
2
2
|
.gitignore
|
|
3
3
|
.gitleaks.toml
|
|
4
|
+
.htmlvalidate.json
|
|
4
5
|
.pre-commit-config.yaml
|
|
5
6
|
CLAUDE.md
|
|
6
7
|
CONTRIBUTING.md
|
|
@@ -229,6 +230,7 @@ scripts/ensure_eval_corpus.sh
|
|
|
229
230
|
scripts/eval_explain.py
|
|
230
231
|
scripts/eval_recommend.py
|
|
231
232
|
scripts/eval_retrieval.py
|
|
233
|
+
scripts/eval_stats_summary.py
|
|
232
234
|
scripts/import_budget.py
|
|
233
235
|
scripts/mutation_gate.py
|
|
234
236
|
style/README.md
|
|
@@ -286,6 +288,7 @@ tests/unit/test_dense_fallback.py
|
|
|
286
288
|
tests/unit/test_docs_pages_linked.py
|
|
287
289
|
tests/unit/test_embed.py
|
|
288
290
|
tests/unit/test_errors_and_cli_table.py
|
|
291
|
+
tests/unit/test_eval_stats_summary.py
|
|
289
292
|
tests/unit/test_frontmatter.py
|
|
290
293
|
tests/unit/test_gitleaks_config.py
|
|
291
294
|
tests/unit/test_gitutil.py
|
|
@@ -311,7 +311,7 @@ code_reviewer = <span class="fn">Agent</span>(
|
|
|
311
311
|
boost adapt code-reviewer --to crewai -o reviewer.py
|
|
312
312
|
|
|
313
313
|
<span class="c"># 2 — in a throwaway venv, install the framework and load it</span>
|
|
314
|
-
python3 -m venv /tmp/crew
|
|
314
|
+
python3 -m venv /tmp/crew && /tmp/crew/bin/pip install <span class="s">"crewai[anthropic]"</span>
|
|
315
315
|
/tmp/crew/bin/python -c <span class="s">"import reviewer; print(reviewer.code_reviewer.role, reviewer.code_reviewer.llm.model)"</span>
|
|
316
316
|
<span class="c"># → code-reviewer claude-haiku-4-5-20251001 ✦ imported, instantiated, on boost's model</span></pre>
|
|
317
317
|
<p class="sec-sub" style="margin-top:22px"><b>Runs on boost's model by default.</b> With no
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<title>boost — RAG retrieval & the MCP hub (Phases 1–3)</title>
|
|
6
|
+
<title>boost — RAG retrieval & the MCP hub (Phases 1–3)</title>
|
|
7
7
|
<meta name="description" content="How boost's MCP tool layer became an extensible registry: architecture, sequence diagrams, and a simple-vs-deep cheat sheet for the Phase-3 hub and its first reach-out tool, boost_discover_github.">
|
|
8
8
|
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Crect width='100' height='100' rx='20' fill='%2307080f'/%3E%3Ctext x='50' y='70' font-size='58' font-family='monospace' font-weight='bold' fill='%2322d3ee' text-anchor='middle'%3E%E2%9C%A6%3C/text%3E%3C/svg%3E">
|
|
9
9
|
<!-- Shared Aurora design system. Recolour everything by editing style/boost.css. -->
|
|
@@ -701,7 +701,7 @@ _MCP_TOOLS = REGISTRY.specs() <span class="cm"># list stays in sync</span>
|
|
|
701
701
|
<div class="window reveal" style="margin-top:36px;">
|
|
702
702
|
<div class="bar"><div class="dots"><i></i><i></i><i></i></div>
|
|
703
703
|
<div class="bar-title">your_new_tool.py</div></div>
|
|
704
|
-
<pre><span class="tv">def</span> _tool_x(args): <span class="cm"># fn(args)
|
|
704
|
+
<pre><span class="tv">def</span> _tool_x(args): <span class="cm"># fn(args) -> (text, is_error)</span>
|
|
705
705
|
<span class="tv">if</span> <span class="tv">not</span> _dependency_available():
|
|
706
706
|
<span class="tv">return</span> <span class="tok">"needs <dep> — here's how to get it"</span>, <span class="tv">True</span> <span class="cm"># degrade</span>
|
|
707
707
|
<span class="tv">return</span> _do_the_work(args), <span class="tv">False</span>
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: html-validation-html-validate
|
|
3
3
|
board: code
|
|
4
4
|
section: docsite
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Quality · Docs
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 3
|
|
10
10
|
note: hand-authored HTML
|
|
11
11
|
order: 4
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/htmlvalidate
|
|
13
|
+
pr: 199
|
|
14
14
|
title: HTML validation — <code>html-validate</code>
|
|
15
15
|
---
|
|
16
16
|
The guide and roadmap are hand-authored HTML whose tags are balanced by
|
{boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/ranx-significance-monitor.md
RENAMED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
id: ranx-significance-monitor
|
|
3
3
|
board: code
|
|
4
4
|
section: health
|
|
5
|
-
status:
|
|
5
|
+
status: shipped
|
|
6
6
|
category: Quality · Retrieval eval
|
|
7
7
|
complexity: S
|
|
8
8
|
impact: Med
|
|
9
9
|
wow: 3
|
|
10
10
|
note: p-value, not point delta
|
|
11
11
|
order: 5
|
|
12
|
-
owner:
|
|
13
|
-
pr:
|
|
12
|
+
owner: loop/evalstats
|
|
13
|
+
pr: 198
|
|
14
14
|
title: Significance-tracked engine comparison (ranx monitor)
|
|
15
15
|
---
|
|
16
16
|
Tier 1b (the <code>ranx</code> paired t-test, <code>--stats</code>) only runs on
|
|
@@ -1019,7 +1019,7 @@ harness.</p>
|
|
|
1019
1019
|
</article>
|
|
1020
1020
|
|
|
1021
1021
|
<article class="cap rcard">
|
|
1022
|
-
<div class="head"><span class="pill
|
|
1022
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Quality · Retrieval eval</span></div>
|
|
1023
1023
|
<h3>Significance-tracked engine comparison (ranx monitor)</h3>
|
|
1024
1024
|
<p>Tier 1b (the <code>ranx</code> paired t-test, <code>--stats</code>) only runs on
|
|
1025
1025
|
demand today. Wire it into a scheduled CI monitor — like the
|
|
@@ -1557,7 +1557,7 @@ and the work stays visible.</p>
|
|
|
1557
1557
|
</article>
|
|
1558
1558
|
|
|
1559
1559
|
<article class="cap rcard">
|
|
1560
|
-
<div class="head"><span class="pill
|
|
1560
|
+
<div class="head"><span class="pill shipped">Shipped</span><span class="cat">Quality · Docs</span></div>
|
|
1561
1561
|
<h3>HTML validation — <code>html-validate</code></h3>
|
|
1562
1562
|
<p>The guide and roadmap are hand-authored HTML whose tags are balanced by
|
|
1563
1563
|
eye today. A CI <code>html-validate</code> pass catches unclosed
|
|
@@ -18,9 +18,10 @@ the math, this asks "does the right skill actually come back for a real question
|
|
|
18
18
|
|
|
19
19
|
Tier 1b (opt-in, offline): --stats runs a paired Student's t-test between the
|
|
20
20
|
engines with `ranx`, so a metric gap is reported as statistically *significant*
|
|
21
|
-
or not — a raw
|
|
22
|
-
better or just luckier on
|
|
23
|
-
if `ranx` is absent (never a core dependency).
|
|
21
|
+
or not — a raw recall-vs-recall number can't say whether an engine is genuinely
|
|
22
|
+
better or just luckier on the golden set. Needs the [eval] extra; degrades
|
|
23
|
+
cleanly if `ranx` is absent (never a core dependency). A scheduled CI monitor
|
|
24
|
+
(.github/workflows/eval-stats.yml) runs this and reports each metric's p-value.
|
|
24
25
|
|
|
25
26
|
Tier 2a (LLM, opt-in, key-gated): --rerank measures the *lift* the LLM rerank
|
|
26
27
|
stage (rag.rerank) adds over the raw BM25 order on the same golden set — no
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Render the `--stats --json` significance payload as a Markdown summary.
|
|
3
|
+
|
|
4
|
+
Turns the ranx paired t-test output from ``eval_retrieval.py --stats --json``
|
|
5
|
+
into a GitHub-Step-Summary table: for the best engine vs each other engine, is
|
|
6
|
+
each metric's lead statistically significant (p < 0.05) or just noise. Kept
|
|
7
|
+
separate from the workflow YAML so it is unit-testable (tests/unit) and so the
|
|
8
|
+
significance-reading logic lives in one place.
|
|
9
|
+
|
|
10
|
+
Usage:
|
|
11
|
+
python3 scripts/eval_stats_summary.py stats.json # prints Markdown to stdout
|
|
12
|
+
"""
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
import json
|
|
16
|
+
import sys
|
|
17
|
+
from typing import Optional
|
|
18
|
+
|
|
19
|
+
ALPHA = 0.05
|
|
20
|
+
HEADER = "### Tier 1b — retrieval significance (ranx paired t-test)\n"
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def _load(path: str) -> Optional[dict]:
|
|
24
|
+
try:
|
|
25
|
+
with open(path, encoding="utf-8") as fh:
|
|
26
|
+
return json.load(fh)
|
|
27
|
+
except (OSError, ValueError):
|
|
28
|
+
return None
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def render(payload: Optional[dict]) -> str:
|
|
32
|
+
"""Markdown for a `--stats --json` payload (or a graceful skip note)."""
|
|
33
|
+
sig = (payload or {}).get("significance")
|
|
34
|
+
if not sig:
|
|
35
|
+
return (HEADER + "\n_skipped_ — no significance data "
|
|
36
|
+
"(the `[eval]` extra / `ranx` was unavailable, or fewer than "
|
|
37
|
+
"two engines ran).\n")
|
|
38
|
+
|
|
39
|
+
models = sig.get("model_names", [])
|
|
40
|
+
metrics = sig.get("metrics", [])
|
|
41
|
+
if len(models) < 2 or not metrics:
|
|
42
|
+
return HEADER + "\n_only one engine ran — nothing to compare._\n"
|
|
43
|
+
|
|
44
|
+
# The best engine is the last row of the comparison (engines are ordered
|
|
45
|
+
# worst→best upstream); every other engine carries the p-values of the best
|
|
46
|
+
# engine's lead over it in its `comparisons` block.
|
|
47
|
+
best = models[-1]
|
|
48
|
+
lines = [HEADER, "", "Best engine: **%s** (α = %.2f).\n" % (best, ALPHA)]
|
|
49
|
+
lines.append("| vs | " + " | ".join(metrics) + " |")
|
|
50
|
+
lines.append("|---|" + "|".join(["---"] * len(metrics)) + "|")
|
|
51
|
+
|
|
52
|
+
n_sig = 0
|
|
53
|
+
for other in models[:-1]:
|
|
54
|
+
comps = sig.get(other, {}).get("comparisons", {}).get(best, {})
|
|
55
|
+
cells = []
|
|
56
|
+
for m in metrics:
|
|
57
|
+
p = comps.get(m)
|
|
58
|
+
if p is None:
|
|
59
|
+
cells.append("—")
|
|
60
|
+
elif p < ALPHA:
|
|
61
|
+
cells.append("✅ p=%.4f" % p)
|
|
62
|
+
n_sig += 1
|
|
63
|
+
else:
|
|
64
|
+
cells.append("· p=%.4f" % p)
|
|
65
|
+
lines.append("| %s | %s |" % (other, " | ".join(cells)))
|
|
66
|
+
|
|
67
|
+
lines.append("")
|
|
68
|
+
lines.append("_✅ = %s beats that engine on the metric with p < %.2f "
|
|
69
|
+
"(a statistically real lead, not just a higher number)._"
|
|
70
|
+
% (best, ALPHA))
|
|
71
|
+
lines.append("\n%d of the compared metrics reach significance." % n_sig)
|
|
72
|
+
return "\n".join(lines) + "\n"
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def main(argv: Optional[list] = None) -> int:
|
|
76
|
+
args = list(sys.argv[1:] if argv is None else argv)
|
|
77
|
+
path = args[0] if args else "stats.json"
|
|
78
|
+
sys.stdout.write(render(_load(path)))
|
|
79
|
+
return 0
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
if __name__ == "__main__":
|
|
83
|
+
raise SystemExit(main())
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"""Unit tests for scripts/eval_stats_summary.py — the significance summary."""
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
import importlib.util
|
|
5
|
+
import json
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
import pytest
|
|
9
|
+
|
|
10
|
+
_SCRIPT = Path(__file__).resolve().parents[2] / "scripts" / "eval_stats_summary.py"
|
|
11
|
+
|
|
12
|
+
_skip = pytest.mark.skipif(not _SCRIPT.exists(), reason="script not reachable")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _mod():
|
|
16
|
+
spec = importlib.util.spec_from_file_location("eval_stats_summary", _SCRIPT)
|
|
17
|
+
assert spec and spec.loader
|
|
18
|
+
module = importlib.util.module_from_spec(spec)
|
|
19
|
+
spec.loader.exec_module(module)
|
|
20
|
+
return module
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
_PAYLOAD = {
|
|
24
|
+
"significance": {
|
|
25
|
+
"stat_test": "student",
|
|
26
|
+
"metrics": ["recall@10", "mrr"],
|
|
27
|
+
"model_names": ["catalog.search", "BM25 full-content"],
|
|
28
|
+
"catalog.search": {
|
|
29
|
+
"comparisons": {
|
|
30
|
+
"BM25 full-content": {"recall@10": 0.0047, "mrr": 0.20},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
"BM25 full-content": {"comparisons": {}},
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@_skip
|
|
39
|
+
def test_significant_metric_marked_and_counted():
|
|
40
|
+
md = _mod().render(_PAYLOAD)
|
|
41
|
+
assert "Best engine: **BM25 full-content**" in md
|
|
42
|
+
assert "✅ p=0.0047" in md # recall@10 is significant
|
|
43
|
+
assert "· p=0.2000" in md # mrr is not
|
|
44
|
+
assert "1 of the compared metrics reach significance." in md
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
@_skip
|
|
48
|
+
def test_missing_significance_is_a_graceful_skip():
|
|
49
|
+
md = _mod().render({"k": 10})
|
|
50
|
+
assert "_skipped_" in md
|
|
51
|
+
assert "ranx" in md
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@_skip
|
|
55
|
+
def test_none_payload_does_not_crash():
|
|
56
|
+
md = _mod().render(None)
|
|
57
|
+
assert "skipped" in md.lower()
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@_skip
|
|
61
|
+
def test_single_engine_has_nothing_to_compare():
|
|
62
|
+
md = _mod().render({"significance": {
|
|
63
|
+
"metrics": ["recall@10"], "model_names": ["only-one"]}})
|
|
64
|
+
assert "nothing to compare" in md
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@_skip
|
|
68
|
+
def test_main_reads_file_and_prints(tmp_path, capsys):
|
|
69
|
+
p = tmp_path / "stats.json"
|
|
70
|
+
p.write_text(json.dumps(_PAYLOAD), encoding="utf-8")
|
|
71
|
+
rc = _mod().main([str(p)])
|
|
72
|
+
assert rc == 0
|
|
73
|
+
assert "✅ p=0.0047" in capsys.readouterr().out
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@_skip
|
|
77
|
+
def test_main_on_missing_file_is_graceful(capsys):
|
|
78
|
+
rc = _mod().main(["/no/such/stats.json"])
|
|
79
|
+
assert rc == 0
|
|
80
|
+
assert "skipped" in capsys.readouterr().out.lower()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.174 → boost_skill_cli-1.0.176}/boost_skill_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/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
|
{boost_skill_cli-1.0.174 → boost_skill_cli-1.0.176}/docs/roadmap/items/boost-run-live-agents.md
RENAMED
|
File without changes
|