crackerjack 0.76.0__tar.gz → 0.76.2__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.
- {crackerjack-0.76.0 → crackerjack-0.76.2}/CHANGELOG.md +30 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/PKG-INFO +3 -3
- {crackerjack-0.76.0 → crackerjack-0.76.2}/README.md +1 -1
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/__main__.py +27 -44
- crackerjack-0.76.2/crackerjack/cli/__init__.py +34 -0
- crackerjack-0.76.2/crackerjack/cli/base.py +163 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/preflight.py +71 -1
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_parsers.py +1 -1
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_SERVER_AUDIT.md +1 -2
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/schemas/document-frontmatter-v1.md +1 -1
- {crackerjack-0.76.0 → crackerjack-0.76.2}/pyproject.toml +7 -2
- crackerjack-0.76.2/tests/cli/test_base.py +145 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_preflight.py +81 -0
- crackerjack-0.76.2/tests/unit/test_bodai_build_system_guard.py +225 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/uv.lock +8 -8
- crackerjack-0.76.0/crackerjack/cli/__init__.py +0 -18
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.betterleaks.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.claude/workflows/ai-fix-loop.js +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.claude-plugin/plugin.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.codespell-ignore +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.cov_test +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.crackerjack.example.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.envrc +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.github/FUNDING.yml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.gitignore +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.gitleaks.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.gitleaksignore +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.lycheeignore +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.mdformat.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.pyscn.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.python-version +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/.gitignore +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/review-21df2d4c..e622e78f.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/review-6c99b9e8..ccc1778a.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/review-ccc1778a..21df2d4c.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/task-2-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/task-6-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/progress.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-1.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-10.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-11.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-2.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-6.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-7.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-8.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-9.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-1-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-1-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-10-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-10-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-11-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-11-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-2-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-2-fix-1-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-2-fix-2-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-2-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-3-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-3-fix-1-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-3-fix-2-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-3-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-4-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-4-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-5-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-5-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-6-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-6-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-7-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-7-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-8-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-8-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-9-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-9-report.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/whole-branch-crackerjack.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-18-mcp-tool-profile-adoption/review-a83b3101..cee43e9a.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-18-mcp-tool-profile-adoption/review-a83b3101..f1d396a7.diff +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-18-mcp-tool-profile-adoption/task-7-brief.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/AGENTS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/CLAUDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/CONTRIBUTING.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/LICENSE +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/QUICKSTART.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/QWEN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/RULES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/SECURITY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/anthropic/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_favicon.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_github.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_icon.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_medium.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_small.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_tiny.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/commands/crackerjack-init.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/commands/crackerjack-run.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/commands/crackerjack-status.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/_output_paths.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/_qa_adapter_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/_tool_adapter_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/registry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/unified.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/benchmark/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/benchmark/adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/benchmark/baseline.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/complexipy.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/pymetrica.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/dependency/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/dependency/pip_audit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/factory.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/mdformat.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/ruff.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/health_mixin.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lint/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lint/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lint/codespell.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/skylos.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/zuban.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/move_plan.txt +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/performance/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/performance/scalene.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/cohesion.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/creosote.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/refurb.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/skylos.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/vulture.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/registry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/bandit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/pyscn.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/semgrep.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/betterleaks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/gitleaks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/test/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/test/syrupy.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/treesitter/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/treesitter/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/treesitter/treesitter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/pyrefly.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/pyright.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/ty.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/zuban.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/utility/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/utility/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/utility/checks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/agents/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/agents/base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/api.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/bin/validate-mermaid.mjs +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/ci_feedback.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/_rich_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/anti_ai_flavor_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/audit_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/cache_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/clone_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/constants.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/coverage_ratchet_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/docs_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/facade.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/formatting.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/advanced.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/ai_features.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/changelog.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/config_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/docs_commands.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/documentation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/health.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/main_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/provider_selection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/hypothesis_lock_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/interactive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/lifecycle_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/mcp_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/options.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/profile_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/replay.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/semantic_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/skills_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/version.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/classifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/grouper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/refactor_engine.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/code_cleaner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/global_lock_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/loader.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/mcp_settings_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/pip_audit_ignores.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/profile_loader.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/settings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/tool_commands.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/contracts.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/ai_fix_event_bus.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/ai_fix_events.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/ai_fix_sinks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/autofix_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/console.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/defaults.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/eventbridge_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/eventbridge_publisher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/eventbridge_resolver.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/file_lifecycle.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/hypothesis_lock.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/performance_monitor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/phase_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/proactive_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/resource_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/retry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/l1_retry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/l2_noop.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/l3_rule_store.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/service_watchdog.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/session_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/timeout_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/workflow_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/repository.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/error_handling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/error_handling_decorators.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/helpers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/INDEX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/ai_templates.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/docstring_enricher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/docstring_extractor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/dual_output_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/reference_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/errors.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/plugin_trust_error.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/tool_execution_error.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/async_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/cached_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/hook_lock_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/individual_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/process_monitor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/progress_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/tool_proxy.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/anti_pattern.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/architecture.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/engine.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/exceptions.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/pattern_matcher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/data_processing.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/decompose_conditional.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/early_return.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/extract_method.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/guard_clause.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/libcst_surgeon.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/redbaron_surgeon.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/validator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/dead_code.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/dependency.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/documentation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/dry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/formatting.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/import_optimization.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/planning.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/refactoring.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/refurb.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/security.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/semantic.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/test_creation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/test_specialist.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/type_errors.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/hooks/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/hooks/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/akosha_learning.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/dhara_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/dhara_mcp_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/git_metrics_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/mahavishnu_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/mahavishnu_learning.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/oneiric_learning.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/session_buddy_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/session_buddy_mcp.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/session_buddy_skills_compat.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/skills_tracking.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/intelligence/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/interactive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/mcp/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/mcp/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/mcp/tools/git_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/observability/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/observability/adapter_runtime.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/tenancy/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/tenancy/context_packs.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/workflows/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/workflows/progress.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/async_hook_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/constants.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/hook_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/publish_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_command_builder.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_progress.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/cache.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/client_runner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/context.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/rate_limiter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/server_core.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/service_watchdog.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/state.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/task_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/core_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/discover_query.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/doc_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/eventbridge_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/eventbridge_tools_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/health_tools_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/mahavishnu_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/otel_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/profiles.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/pycharm_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/semantic_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/workspace_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/memory/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/memory/git_metrics_collector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/adapter_metadata.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/config_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/enums.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/fix_plan.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/git_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/health_check.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/issues.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/protocols.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/pydantic_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/qa_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/qa_results.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/resource_protocols.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/results.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/semantic_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/session_metrics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/task.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/test_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/tool_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/validation_contracts.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/factory.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/json_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/lychee_parser.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/regex_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/loader.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/managers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/py313.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/runtime/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/runtime/health_snapshot.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/runtime/oneiric_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/security/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/security/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/security/audit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/server.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/advanced_optimizer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/contextual_ai_assistant.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/embeddings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/intelligent_commit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/predictive_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai_fix_progress.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/anomaly_detector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/api_extractor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/async_file_io.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/backup_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/bounded_status_operations.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/cache.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/changelog_automation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/command_execution_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_integrity.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_merge.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_template.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/connection_pool.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/constants.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/constitution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/coverage_badge_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/coverage_ratchet.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/debug.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/dependency_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/doc_categorizer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/doc_update_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/documentation_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/documentation_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/documentation_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/enhanced_filesystem.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/failure_metrics_repository.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/failure_recorder.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_chunker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_filter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_hasher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_io_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_modifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/filesystem.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/frontmatter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/frontmatter_validator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/git.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/git_cleanup_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/heatmap_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/import_resolution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/improvement_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/improvement_overseer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/incremental_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/incremental_scanner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/initialization.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/input_validator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/intelligent_commit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/log_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/logging.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/lsp_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/marker_tracker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/memory_aware_scanner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/memory_optimizer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/mermaid_renderer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/message_deduplicator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/metrics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/metrics_old.py.bak4 +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/parallel_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pattern_cache.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pattern_detector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/agents.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/detection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/imports.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/paths.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/replacement.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/core.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/badges_markdown.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/comments_blocks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/docstrings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/formatting.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/operations.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/code_injection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/credentials.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/path_traversal.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/unsafe_operations.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/templates.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/testing/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/testing/error_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/testing/pytest_output.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/bandit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/other.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/pyright.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/ruff.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/url_sanitization.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/utilities.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/validation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/versioning.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_router.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_scaler.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/predictive_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/profiler.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/prompt_evolution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pycharm_mcp_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_auth.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_keyring.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_providers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_trusted_publishing.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypistats_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/anti_ai_flavor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/anti_ai_flavor_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/pattern_cache.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/quality_baseline_enhanced.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/quality_intelligence.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/refurb_fixer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/regex_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/regex_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/safe_code_modifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/secure_path_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/secure_status_formatter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/secure_subprocess.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/security.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/security_logger.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/self_patcher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/server_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/smart_file_filter_v2.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/smart_scheduling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/status_authentication.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/status_security_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/swarm_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/template_applicator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/template_detector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/terminal_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/coverage_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/test_result_parser.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/test_result_renderer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/tool_filter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/tool_version_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ulid_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/unified_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/validation_rate_limiter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/vector_store.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/version_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/version_checker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/workflow_optimization.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/zuban_lsp_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/shell/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/shell/adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/shell/session_compat.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/skills/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/skills/health.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/slash_commands/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/evolution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/persisters.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V5__ulid_migration__down.sql +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V5__ulid_migration__up.sql +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V6__ulid_contract__down.sql +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V6__ulid_contract__up.sql +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/test_selection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/_git_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_added_large_files.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_ast.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_json.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_jsonschema.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_toml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_yaml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/codespell_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/end_of_file_fixer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/fix_terminal.sh +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/format_json.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/linkcheckmd_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/local_link_checker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/mdformat_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/trailing_whitespace.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_audit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_classify.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_ignore_syntax.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_imports.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_narrow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_ratchet.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/validate_regex_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/ui/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/ui/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/console_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/error_handling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/issue_detection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/python_fixups.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/retry_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/temp_file_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/auth.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/server.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/tls_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ADAPTER_PROTOCOL_FIX_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ADAPTER_TEST_COVERAGE_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ADMIN_SHELL.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_B_IMPORT_UNION_FIXES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_COORDINATION_ARCHITECTURE_ANALYSIS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_COORDINATION_FIX_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_TEST_COVERAGE_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_TEST_DELIVERY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ADAPTER_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ARCHITECTURAL_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_BROKEN_PATTERNS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_BUGS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_DOCUMENTATION_LINKS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_EXECUTION_TRACE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_EXPECTED_BEHAVIOR.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_FAILURE_ANALYSIS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_INVESTIGATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ISSUES_RESOLUTION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_METRICS_REVIEW.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_PRODUCTION_TEST_DEBUG.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_REFACTOR_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_REGRESSION_CORPUS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ROOT_CAUSE_ANALYSIS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_SAFETY_VALIDATION_IMPLEMENTED.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_SHADOWING_DAMAGE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_TEST_FAILURE_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_VALIDATION_ISSUES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ARCHITECTURE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ASYNC_ADAPTER_FALLBACK_ANALYSIS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AUDIT_HOOKS_TOOLS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AUDIT_RESULTS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/BATCHPROCESSOR_TROUBLESHOOTING.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/BATCHPROCESSOR_USER_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CHECKPOINT_2026-02-05_FINAL.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CHECKPOINT_ANALYSIS_2026-02-05.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CHECK_YAML_AI_FIX_BUG_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CLI_OPTIONS_AUDIT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CLI_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPLEXIPY_PARSER_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPLEXITY_REFACTORING_PLAN_2025-12-31.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPLEXITY_REFACTORING_PLAN_GAMMA.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPREHENSIVE_REMEDIATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMP_HOOKS_OPTIMIZATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CONFIG_CONSOLIDATION_AUDIT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CROSS_PROJECT_CONFIG_AUDIT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/DOCS_CLEANUP_GUIDELINES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/DOCS_ORGANIZATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ERROR_DETAILS_DISPLAY_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ERROR_HANDLING_MIGRATION_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ERROR_HANDLING_STANDARD.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/FAST_HOOKS_OPTIMIZATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/FINAL_ZUBAN_CONQUEST_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/HOOK_ISSUE_COUNT_DISPLAY_OPTIONS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/HOOK_ISSUE_COUNT_ROOT_CAUSE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/IMPLEMENTATION_STATUS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/INTEGRAL_SCANNING_OPTIONS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ISSUE_COUNT_BUGFIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/JSON_PARSING_ARCHITECTURE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/JSON_PARSING_IMPLEMENTATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/JSON_PARSING_PERFORMANCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MAHAVISHNU_POOL_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MAHAVISHNU_POOL_QUICKSTART.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MANAGER_TEST_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_GLOBAL_MIGRATION_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_SERVER_INVESTIGATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_TOOLS_SPECIFICATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MIGRATION_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MIGRATION_GUIDE_0.47.0.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PERFORMANCE_DIAGRAMS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PERFORMANCE_OPTIMIZATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PERFORMANCE_PHASE_2_1_REGEX_PRECOMPILATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PHASE_5-7_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PROFILES_QUICK_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PROTOCOL_DOCUMENTATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PROTOCOL_DX_ASSESSMENT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PYPROJECT_TIMEOUT_IMPLEMENTATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/QUALITY_SCANNING_STRATEGY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/QUICK_START.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/REMEDIATION_PLAN_2026-02-05.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/RUFF_CHECK_AI_FIX_BUG_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SESSION_CHECKPOINT_2025-01-22.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SESSION_CHECKPOINT_2025-01-22_PT2.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SESSION_CHECKPOINT_2025-01-30.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SHELL_ADAPTER_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SKILL_SYSTEM.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/STRUCTURED_LOGGING.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEAM_COORDINATION_DIAGRAM.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_AI_FIX_IMPLEMENTATION_JAN_2025.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_AI_STAGE_IMPLEMENTATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_COVERAGE_PLAN_CORE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_COVERAGE_RESULTS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_COVERAGE_SERVICES_LAYER.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_PARSING_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TOOLS_PARSERS_TEST_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TOOLS_PARSERS_TEST_STATUS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ULID_MIGRATION_ANALYSIS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/WARNING_AGENT_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/WARNING_SUPPRESSION_AGENT_DESIGN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ZUBAN_TYPE_CHECKING_FIXES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-001-mcp-first-architecture.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-002-multi-agent-orchestration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-003-property-based-testing.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-004-quality-gate-thresholds.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-005-agent-skill-routing.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-025-complexity-scanning-defaults.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/api/reference.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/architecture/MEMORY_ARCHITECTURE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/architecture/protocols.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/architecture/tool-profile-rationale.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-06-12-furb-handler-audit-driver.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-06-12-furb-handler-audit.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-06-28-tests-ty-audit.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-08-03-crackerjack-orphan-stashes.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/bandit-performance-investigation.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/complexipy_adapter_fix.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/complexity_refactoring_plan.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/comprehensive_hooks_audit.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/decisions/SKILLS_METRICS_ARCHITECTURE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/FIX_STRATEGY_MEMORY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_IMPLEMENTATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_MIGRATION_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_QUICK_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_STORAGE_SCHEMA.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_TRANSACTION_PATTERNS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/development/STRUCTURED_LOGGING.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/development/SYMBOL_DISPLAY_CRITICAL_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/development/SYMBOL_DISPLAY_IMPLEMENTATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/adapter-taxonomy.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/ai-agent-orchestration.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/oneiric-workflow-dag.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/pattern-management.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/quality-hooks.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/security-threat-model.png +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/error_handling_refactoring_plan.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/examples/PROTOCOL_EXAMPLES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/examples/git_semantic_search_examples.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/feature-tracking/TEMPLATE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/AGENT_PERFORMANCE_TRACKING.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/AI_FIX_PROGRESS_BAR_REDESIGN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/GIT_SEMANTIC_SEARCH_MCP_TOOLS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/MAHAVISHNU_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/OLLAMA_EMBEDDINGS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/OLLAMA_PROVIDER.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PARALLEL_EXECUTION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PHASE2_OPTIMIZATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PHASE_3_LEARNING_QUICK_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PROVIDER_ARCHITECTURE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/QA_RESULT_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/QWEN_PROVIDER.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/SKILLS_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/SYMBIOTIC_ECOSYSTEM_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/WORKFLOW_OPTIMIZATION_USER_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/fixes/test-executor-working-directory-fix.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/followups/2026-07-04-tier3-implementation-plan.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/AGENTS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/CLAUDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/contributing.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/progressive-complexity.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/test-coverage.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/testing.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/health_check_implementation_plan.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/ARGUMENT_LIST_TOO_LONG_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/AUDIT_HOOKS_TOOLS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/CONFIG_CONSOLIDATION_AUDIT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/CROSS_PROJECT_CONFIG_AUDIT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/ERROR_DETAILS_DISPLAY_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/FINAL_IMPLEMENTATION_SUMMARY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_ISSUE_COUNT_DISPLAY_OPTIONS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_ISSUE_COUNT_FIX_SUMMARY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_ISSUE_COUNT_ROOT_CAUSE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_REPORTING_ANALYSIS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_REPORTING_FIX_SUMMARY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/IMPLEMENTATION_PLAN_ALL_FILES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/ISSUE_COUNT_SUMMARY_TOTAL_FIX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/PHASE5_SERVICE_CONSOLIDATION_AUDIT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/README_AUDIT_REPORT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/TEST_IMPROVEMENT_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/UNIFIED_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/git_semantic_search_implementation.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation-plan-logging-progress-fixes.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation-plans/enhanced-test-error-reporting.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation-status.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/index.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/patterns/ONEIRIC_SKILLS_INTEGRATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance/CONNECTION_POOL_IMPLEMENTATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance/PHASE_2.2_COMPLETION_REPORT.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance-baseline.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance-baseline.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2025-02-12-multi-agent-ai-fix-quality-system-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2025-02-12-multi-agent-ai-fix-quality-system.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-02-12-v2-multi-agent-quality-system.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-02-22-ast-transform-engine-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-05-30-ai-fix-dashboard-wiring.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-06-27-ty-cleanup-and-ai-fix.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-07-06-ai-fix-tier-architecture.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/AI_FIX_IMPROVEMENT_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/PLAN_INDEX.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/swarm-autofix-integration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/profile_batch_processor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/progress-bar-implementation.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/progress-indicator-analysis.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/prompts/symbiotic-ecosystem-integration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/pytest_warning_parser_example.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/python-improvements-summary.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/python-review-logging-progress-implementation.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/quality/gates.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/refactoring/TASK_4.3_NAMING_CONVENTIONS.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/refactoring-plan-complexity-violations.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/ADAPTER_UUID_REGISTRY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/AI_FIX_QUALITY_QUICKSTART.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/BREAKING_CHANGES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/CHANGELOG.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/CONFIGURATION.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/COVERAGE_POLICY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/PROTOCOL_DOCUMENTATION_REVIEW.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/PROTOCOL_QUICK_REFERENCE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/PROTOCOL_REFERENCE_GUIDE.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/SECURITY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/admin-shell.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/service-dependencies.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/refurb_creosote_behavior.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reporting_tools_fix.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reporting_tools_investigation.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/EXECUTIVE-SUMMARY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-1-cli-handlers.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-2-services.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-3-managers.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-4-coordinators.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-5-orchestration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-6-agent-system.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-7-adapters.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-8-mcp-integration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/run_agent_tests.sh +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/runbooks/H11_self_patcher_deny_paths.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/schemas/topic-vocabulary-v1.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-05-20-phase-0-event-bus-plan.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-06-02-ai-fix-display-loop-bugs.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-06-03-dhara-mcp-migration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-06-29-ty-ratchet-cleanup.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-08-fix-sandbox-integration.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-10-libcst-surgeon-extract-method-fallback.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-10-output-validator-traceback-details.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-10-validation-coordinator-serialization.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-11-ai-fix-e501-post-processor.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-11-ai-fix-no-op-circuit-breaker.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-11-ai-fix-regen-timeout.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-12-eventbridge-publisher.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-06-ai-fix-external-loop.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-06-ai-fix-removal-extraction.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-06-crackerjack-ruff-fix-policy.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-10-ai-fix-loop-task-1-kickoff.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-bodai-coverage-ratchet-followups.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-bodai-coverage-ratchet-standard.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-darnlink-replaces-check-local-links.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-skill-coverage-out-of-fast-hooks.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-05-20-ai-fix-comprehensive-overhaul-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-06-03-dhara-mcp-migration-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-06-29-ty-ratchet-cleanup-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-07-ai-fix-improvement-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-08-fix-sandbox-integration-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-10-libcst-surgeon-extract-method-fallback-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-10-output-validator-traceback-details-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-10-validation-coordinator-serialization-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-11-ai-fix-e501-post-processor-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-11-ai-fix-no-op-circuit-breaker-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-11-ai-fix-regen-timeout-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-08-06-ai-fix-removal-external-loop-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-08-06-crackerjack-ruff-fix-policy-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-08-11-bodai-coverage-ratchet-standard-design.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/triage/2026-07-10-output-validator-import-check.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/triage/2026-07-10-refactoring-agent-ast-fallback.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/triage/2026-07-10-validation-coordinator-concurrency.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/symbiotic-ecosystem-quick-start.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/task-breakdown.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/test_dead_code_agent_validation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/test_selection.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/workflow_orchestrator_refactoring_plan.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/zensical.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/akosha_git_search_demo.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/backup_system_demo.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/custom_hook_plugin.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/decorator_usage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/enhanced_monitor_demo.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/enhanced_monitor_demo_fixed.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/enhanced_progress_example.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/mcp_client_example.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/plugin_config.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_1_basic_tracking.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_2_recommendations.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_3_workflow_aware.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_4_error_handling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/slash_command_progress_example.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/test_progress_display.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/timeout_handling_example.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/mahavishnu/core/events/confidence_ceiling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/mahavishnu/tests/unit/test_confidence_ceiling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/mypy.ini +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/node_modules/.gitkeep +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/ops/crontab.example +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/package-lock.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/package.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/_frontmatter_apply_C1.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/_frontmatter_restore_C2.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/audit_command_consistency.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/benchmark_performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/benchmark_regex_precompilation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/create_test_templates.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/docs_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/integrate_resource_management.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/migrate_skills_to_sessionbuddy.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/migrate_ulids.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/migrate_ulids_v2.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/performance_benchmark.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/precompile_regex_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/precompile_regex_test_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/profile_hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/quick_fix_type_errors.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/regenerate_plan_index.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/rollback_skills_migration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_coverage_audit.sh +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_ulid_contract_migration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_ulid_migration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_ulid_migration.py.bak3 +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/session_cleanup.sh +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/update_test_manager_regex_usage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/validate_imports.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/validate_skills_migration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/adapters.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/crackerjack.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/local.yaml.example +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/minimax.example.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/profiles/comprehensive.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/profiles/quick.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/profiles/standard.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/qwen.example.yaml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/api_reference.md.template +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/changelog_entry.md.template +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/pyproject-full.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/pyproject-library.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/pyproject-minimal.toml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/user_guide.md.template +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/TESTING_GUIDELINES.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_skylos.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_zuban.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_adapter_registry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_ai_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_ai_registry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_bandit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_benchmark_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_codespell.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_complexipy.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_creosote.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_factory.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_health_mixin.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_mdformat.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_output_paths.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pip_audit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pip_audit_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_provider_chain.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pyscn.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pyscn_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_refurb_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_ruff.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_scalene.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_semgrep.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_skylos.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_tool_adapter_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_treesitter_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_type_adapters.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_vulture.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_zuban_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/base_test.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/handlers/test_health_handler.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_cache_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_coverage_ratchet_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_profile_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_semantic_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/test_loader.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/test_pip_audit_ignores.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/test_tool_commands.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/conftest.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/conftest_extensions.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/conftest_reset.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_async_workflow_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_console.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_file_lifecycle.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_proactive_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_retry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_safe_directory_creator_unit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_self_heal.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_session_controller.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_timeout_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_workflow_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/comments_sample.txt +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/docstrings_sample.txt +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/expected_comments_sample.txt +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/init.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/test_repository.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/docs/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/e2e/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/e2e/test_bodai_ratchet_adoption.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/test_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/test_tool_execution_error.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/test_hook_executor_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/test_no_issues_for_failed_hook.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/test_progress_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/ast_transform/surgeons/test_libcst_surgeon.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_anti_pattern.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_architecture.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_dead_code.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_dependency.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_documentation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_dry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_formatting.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_import_optimization.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_planning.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_refactoring.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_refurb.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_security.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_semantic.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_test_creation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_test_specialist.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_type_errors.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixtures/_tool_groups_mapping.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixtures/_tool_registry_keys.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixtures/full/tool_names.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/adapters/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/adapters/test_adapter_parser_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/test_performance_monitor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/test_phase_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/test_resource_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/dhara_mcp_adapter_learner_test.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/dhara_mcp_client_test.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_ai_fix_loop_acceptance.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_aio_thread_leak_regression.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_dhara_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_eventbridge_e2e.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_migration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_oneiric_transport_roundtrip.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_phase8_direct_invocation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_phase_coordinator_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_sandboxed_fix.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_session_buddy_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_skills_cli_e2e.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_tier_architecture_e2e.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/tools/test_tool_parser_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/test_managers_constants.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/test_test_executor_regex.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/test_test_manager_ratchet.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp/test_client_runner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp/test_error_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp/test_task_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_execution_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_monitoring_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_pycharm_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_semantic_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_workflow_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_adapter_metadata.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_config_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_enums.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_fix_plan.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_git_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_health_check.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_protocols.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_pydantic_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_qa_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_qa_results.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_resource_protocols.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_results.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_semantic_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_session_metrics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_task.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_test_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_tool_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_validation_contracts.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_complexipy_parser.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_json_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_json_parsers_extended.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_json_parsers_gaps.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_lychee_parser.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_parser_factory.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_regex_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_ruff_parser_edge_cases.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/performance/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/performance/test_core_performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/property/test_quality_property.py.disabled +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/run_tests.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/scripts/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/scripts/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/scripts/run_test_suite.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/patterns/core_test.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_async_file_io.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_cache.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_config_integrity.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_coverage_badge_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_coverage_ratchet.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_chunker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_filter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_hasher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_io_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_modifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_filesystem.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_git.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_incremental_scanner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_input_validator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_intelligent_commit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_logging.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_marker_tracker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_memory_aware_scanner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_router.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_scaler.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_regex_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_safe_code_modifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_secure_subprocess.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_smart_file_filter_v2.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_swarm_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_thread_safe_status_collector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_ulid_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test___main__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test__git_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_actual_semgrep.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_api.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_concurrency.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_parsing.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_process_tracking.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_ty.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_semgrep.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_autofix_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_changelog_generation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_changelog_preview_escape.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_added_large_files.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_ast.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_json.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_toml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_yaml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_ci_feedback.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_claude_simple.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli/test_global_lock_options.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli_entry_point.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_code_cleaner_comprehensive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_command_execution_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_config_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_config_cleanup_drift_repair.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_config_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_console.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_core_performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_data_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_decorators.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_decorators_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_doc_drift.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_doc_updates.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/api-reference.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/getting-started.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/index.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/stylesheets/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/stylesheets/extra.css +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/mkdocs.yml +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docstring_conversion.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_documentation_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_dual_output_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_edge_cases.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_filesystem.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_reporting.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_error_handling.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_error_handling_decorators.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_errors.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_executors/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_executors/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_executors/test_lock_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_fast_hooks_behavior.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_fast_iteration_mode.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_file_io_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_file_lifecycle.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_filesystem_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_final_validation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_git_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_global_lock_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_health_check.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_hook_lock_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_hook_manager_simple.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_incremental_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_individual_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_initialization_precommit_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_initialization_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_input_validation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_integration_new_hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_interactive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_json_hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_large_modules_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_lsp_aware_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_core_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_monitoring_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_semantic_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_server.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_server_handlers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_utility_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_workflow_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mkdocs_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_comprehensive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_config_adapter_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_focused.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_task_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_modernized_code.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_performance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_performance_monitor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_phase2_scenarios.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_phase_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_plugins_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_proactive_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_profiler.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_profiler_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_property_based.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_publish_manager_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_publish_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_py313.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_adapters_protocol_compliance.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_config_models.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_tool_adapters.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_utility_check_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_reference_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_regex_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_resource_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_retry.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_secure_path_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_security_audit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_security_hardening.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_semgrep_parsing.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_semgrep_parsing_after_refactor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_server_panels.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_service_watchdog.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_services_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_buddy_git_metrics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_coordinator_comprehensive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_coordinator_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_shared_contracts.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_simple_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_skip_hooks_functionality.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_skip_hooks_simple.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_skylos_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_structured_logging.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_syntax_validation.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_terminal_restoration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_terminal_state.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_test_command_builder_workers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_test_selection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_timeout_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_timeout_system.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_tool_filter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_updated_semgrep.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_validate_input_validator_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_validate_regex_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_validate_regex_patterns_tool.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_version_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_version_bump_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_websocket_auth.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_workflow_fast_hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_workflow_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_workflow_orchestrator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_added_large_files.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_ast.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_json.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_jsonschema.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_toml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_yaml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_codespell_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_end_of_file_fixer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_format_json.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_linkcheckmd_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_local_link_checker.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_mdformat_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_trailing_whitespace.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_audit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_classify.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_imports.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_narrow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_ratchet.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_validate_input_validator_patterns.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/README.md +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/complexity/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/complexity/test_complexipy.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/performance/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/performance/test_scalene_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/refactor/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/refactor/test_refurb.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_bandit_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_betterleaks_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_cohesion_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_factory.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_pymetrica_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_pyrefly_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_pyscn_cc_suppression.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_refurb_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_ruff_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_sast_base_direct.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_semgrep_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_skylos_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_syrupy_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_zuban_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/handlers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/handlers/test_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_anti_ai_flavor_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_audit_skills.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_docs_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_facade.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_options_allow_unsafe.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_pr0_replay.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_rich_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_skills_refresh.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_version.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/clone/test_clone_grouper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/clone/test_extraction_classifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/clone/test_refactor_engine.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_ai_settings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_eventbridge_settings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_hook_definition_allow_unsafe.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_hook_settings_ruff_unsafe.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_hooks_config.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_tool_commands_ruff_unsafe.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/conftest.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_adapter_learning_integration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_autofix_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_eventbridge_resolver.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator_additional.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator_flows.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator_set_event_publisher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_pr0_crash_recovery.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_resource_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_session_coordinator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_session_coordinator_enhanced.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_structured_data_parser.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_workflow_pipeline_eventbridge_wiring.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/crackerjack/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/crackerjack/hooks/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/documentation/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/documentation/test_docstring_enricher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/handlers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/integration/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mahavishnu/tenancy/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mahavishnu/tenancy/test_tenant_context_packs.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_async_orchestration.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_failure_parsing.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_hook_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_hook_manager_extended.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager_extended.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager_gaps.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager_pyi_auth.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_quality_execution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_manager_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_progress.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_xdist_fallback.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_mcp_tool_drift.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_otel_tools_query_local_traces.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_rate_limiter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_state.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/tools/test_workspace_tools.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/models/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/models/fixtures/json_output_v1.json +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/models/test_issues.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_base.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_factory.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_json_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_lychee_parser.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_regex_parsers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_regex_parsers_property.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/qa/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/qa/test_quality_metrics.py.disabled +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/runtime/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/runtime/test_oneiric_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_advanced_optimizer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_contextual_assistant.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_embeddings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_intelligent_commit.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_predictive_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_anti_ai_flavor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_anti_ai_flavor_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_quality_baseline_enhanced.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_quality_intelligence.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_api_extractor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_parsers_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_service_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_template_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_template_ruff_unsafe.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_connection_pool_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_coverage_ratchet.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_debug.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_dependency_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_documentation_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_enhanced_filesystem.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_failure_recorder.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_failure_trend_noise_gate.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_filesystem.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_git.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_git_cleanup.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_heatmap_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_import_resolution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_import_resolution_direct.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_improvement_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_input_validator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_keyring_raw.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_log_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_lsp_client.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_memory_optimizer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_message_deduplicator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_parallel_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pattern_detector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_predictive_analytics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pypi_auth.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pypi_auth_providers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pypistats_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_regex_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_safe_code_modifier.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_secure_status_formatter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_secure_subprocess.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_security.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_security_logger.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_self_patcher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_self_patcher_deny_paths.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_smart_scheduling_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_status_security.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_thread_safe_status_collector.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_tool_version_service.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_tool_version_service_direct.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_ulid_generator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_ulid_generator_direct.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_validation_rate_limiter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_vector_store.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_vector_store_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_version_analyzer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_version_checker_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/test_coverage_manager.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/test_test_result_parser_statistics.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/test_test_result_renderer.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/test_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/test_adapter_runners.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/test_session_compat.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/skills/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/skills/test_health.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_adapter_observability.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_api.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_cli_comprehensive.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_code_cleaner.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_comprehensive_type_hooks.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_config_settings.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_constants.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_contracts.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_coverage_targets.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_defaults.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_discover_query.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_discover_tools_deletion.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_doc_cli.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_error_scenarios.py.disabled +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_eventbridge_adapter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_eventbridge_publisher.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_frontmatter_validator.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_hook_executor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_hypothesis_lock.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_lychee_hook.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_mermaid_renders.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_model_helpers.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_parallel_workflow.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_phase_task_verbose.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_process_monitor.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_profile_loader.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_progress_snapshots.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_safe_typer_loader.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_sop_evolution.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_timeout_manager_enhanced.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_tool_profile.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_uuid_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_validate_frontmatter.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_websocket_auth.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_websocket_server.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_check_json.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_check_toml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_check_yaml.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_codespell_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_git_utils.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_mdformat_wrapper.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_tools_coverage.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_ty_ignore_syntax.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/utils/__init__.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/utils/test_issue_detection.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/utils/issue_detection_test.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/websocket/test_server.py +0 -0
- {crackerjack-0.76.0 → crackerjack-0.76.2}/zensical.toml +0 -0
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
______________________________________________________________________
|
|
2
2
|
|
|
3
|
+
## [0.76.2] - 2026-08-28
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- crackerjack: Adopt BodaiCLIBase + real doctor/health (Phase 3 Task 4.5)
|
|
8
|
+
- crackerjack: Bodai.apps entry-point (Phase 5.1)
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- ty: Suppress unresolved-import for fallback toml import
|
|
13
|
+
- Update Claude Code MCP docs URL to current canonical location
|
|
14
|
+
|
|
15
|
+
### Documentation
|
|
16
|
+
|
|
17
|
+
- readme: Bump Python badge from 3.13+ to 3.14+
|
|
18
|
+
|
|
19
|
+
### Testing
|
|
20
|
+
|
|
21
|
+
- guard: Assert all Bodai repos use hatchling build backend
|
|
22
|
+
|
|
23
|
+
### Internal
|
|
24
|
+
|
|
25
|
+
- deps: Bump oneiric floor to >=0.19.1
|
|
26
|
+
|
|
27
|
+
## [0.76.1] - 2026-08-25
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- crackerjack: Scope refurb to inner package dir, not repo root
|
|
32
|
+
|
|
3
33
|
## [0.75.8] - 2026-08-25
|
|
4
34
|
|
|
5
35
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.76.
|
|
3
|
+
Version: 0.76.2
|
|
4
4
|
Summary: Crackerjack Python project management tool
|
|
5
5
|
Project-URL: documentation, https://github.com/lesleslie/crackerjack
|
|
6
6
|
Project-URL: homepage, https://github.com/lesleslie/crackerjack
|
|
@@ -39,7 +39,7 @@ Requires-Dist: mcp-common>=0.18.0
|
|
|
39
39
|
Requires-Dist: mdformat-ruff>=0.1.3
|
|
40
40
|
Requires-Dist: mdformat>=1.0.0
|
|
41
41
|
Requires-Dist: numpy>=2.5.0
|
|
42
|
-
Requires-Dist: oneiric>=0.
|
|
42
|
+
Requires-Dist: oneiric>=0.19.1
|
|
43
43
|
Requires-Dist: pip-audit>=2.10.1
|
|
44
44
|
Requires-Dist: pydantic>=2.13.4
|
|
45
45
|
Requires-Dist: pyleak>=0.2.0
|
|
@@ -88,7 +88,7 @@ Description-Content-Type: text/markdown
|
|
|
88
88
|
[](https://github.com/lesleslie/oneiric)
|
|
89
89
|
[](https://github.com/jlowin/fastmcp)
|
|
90
90
|
[](https://github.com/astral-sh/uv)
|
|
91
|
-
[](https://www.python.org/downloads/)
|
|
92
92
|
|
|
93
93
|
## Bodai Ecosystem Role
|
|
94
94
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://github.com/lesleslie/oneiric)
|
|
5
5
|
[](https://github.com/jlowin/fastmcp)
|
|
6
6
|
[](https://github.com/astral-sh/uv)
|
|
7
|
-
[](https://www.python.org/downloads/)
|
|
8
8
|
|
|
9
9
|
## Bodai Ecosystem Role
|
|
10
10
|
|
|
@@ -41,7 +41,6 @@ def crackerjack_diag() -> None:
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
atexit.register(crackerjack_diag)
|
|
44
|
-
from mcp_common.cli import MCPServerCLIFactory
|
|
45
44
|
from rich.console import Console
|
|
46
45
|
|
|
47
46
|
logger = logging.getLogger(__name__)
|
|
@@ -52,6 +51,7 @@ from crackerjack.cli import (
|
|
|
52
51
|
BumpOption,
|
|
53
52
|
create_options,
|
|
54
53
|
)
|
|
54
|
+
from crackerjack.cli.base import CrackerjackCLI
|
|
55
55
|
from crackerjack.cli.cache_handlers import _handle_cache_commands
|
|
56
56
|
from crackerjack.cli.handlers import check_docs, handle_config_updates, validate_docs
|
|
57
57
|
from crackerjack.cli.handlers.advanced import handle_advanced_optimizer
|
|
@@ -86,24 +86,19 @@ from crackerjack.cli.semantic_handlers import (
|
|
|
86
86
|
handle_semantic_stats,
|
|
87
87
|
)
|
|
88
88
|
from crackerjack.config import CrackerjackSettings, load_settings
|
|
89
|
-
from crackerjack.config.mcp_settings_adapter import CrackerjackMCPSettings
|
|
90
89
|
|
|
91
90
|
if t.TYPE_CHECKING:
|
|
92
91
|
from crackerjack.cli.options import Options
|
|
93
92
|
|
|
94
|
-
|
|
93
|
+
# MCPServerCLIFactory was replaced by CrackerjackCLI (oneiric 0.19
|
|
94
|
+
# BodaiCLIBase). mcp_settings is no longer needed at module level.
|
|
95
95
|
|
|
96
|
-
|
|
97
|
-
server_name="crackerjack",
|
|
98
|
-
settings=mcp_settings,
|
|
96
|
+
app = CrackerjackCLI(
|
|
99
97
|
start_handler=start_handler,
|
|
100
98
|
stop_handler=stop_handler,
|
|
101
99
|
health_probe_handler=health_probe_handler,
|
|
102
100
|
)
|
|
103
101
|
|
|
104
|
-
app = factory.create_app()
|
|
105
|
-
app.info.help = "Crackerjack MCP Server CLI"
|
|
106
|
-
|
|
107
102
|
console = Console()
|
|
108
103
|
|
|
109
104
|
|
|
@@ -135,13 +130,9 @@ _safe_add_typer(app, "crackerjack.cli.skills_cli", "app", "skills")
|
|
|
135
130
|
_safe_add_typer(app, "crackerjack.cli.coverage_ratchet_cli", "app", "coverage-ratchet")
|
|
136
131
|
|
|
137
132
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
) -> None:
|
|
142
|
-
if version:
|
|
143
|
-
console.print(f"[cyan]Crackerjack[/cyan] [dim]v{__version__}[/dim]")
|
|
144
|
-
raise typer.Exit(0)
|
|
133
|
+
# --version / version subcommand are wired by BodaiCLIBase; the previous
|
|
134
|
+
# @app.callback(invoke_without_command=True) version_option is removed
|
|
135
|
+
# to avoid a duplicate-callback Typer crash.
|
|
145
136
|
|
|
146
137
|
|
|
147
138
|
def _detect_package_name_standalone() -> str:
|
|
@@ -771,45 +762,37 @@ def run_tests(
|
|
|
771
762
|
raise typer.Exit(result.returncode)
|
|
772
763
|
|
|
773
764
|
|
|
774
|
-
|
|
765
|
+
# `crackerjack health` is provided by BodaiCLIBase via CrackerjackCLI; it
|
|
766
|
+
# dispatches to CrackerjackCLI._health_probe() (real probe, not stub). The
|
|
767
|
+
# previous rich-formatted `health_command` is preserved as a regular helper
|
|
768
|
+
# for callers that need component-scoped health checks; see
|
|
769
|
+
# ``crackerjack.cli.handlers.health.handle_health_check`` for the underlying
|
|
770
|
+
# logic.
|
|
775
771
|
def health_command(
|
|
776
|
-
component: str | None =
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
verbose: bool = typer.Option(
|
|
788
|
-
False,
|
|
789
|
-
"--verbose",
|
|
790
|
-
"-v",
|
|
791
|
-
help="Show detailed health information",
|
|
792
|
-
),
|
|
793
|
-
quiet: bool = typer.Option(
|
|
794
|
-
False,
|
|
795
|
-
"--quiet",
|
|
796
|
-
"-q",
|
|
797
|
-
help="Only show exit code (no output)",
|
|
798
|
-
),
|
|
799
|
-
) -> t.Never:
|
|
772
|
+
component: str | None = None,
|
|
773
|
+
json_output: bool = False,
|
|
774
|
+
verbose: bool = False,
|
|
775
|
+
quiet: bool = False,
|
|
776
|
+
pkg_path: Path | None = None,
|
|
777
|
+
) -> int:
|
|
778
|
+
"""Component-scoped health check helper.
|
|
779
|
+
|
|
780
|
+
Returns the exit code from :func:`handle_health_check`. Kept for
|
|
781
|
+
tests/test___main__.py which imports ``health_command`` directly.
|
|
782
|
+
"""
|
|
800
783
|
from pathlib import Path
|
|
801
784
|
|
|
802
785
|
from crackerjack.cli.handlers.health import handle_health_check
|
|
803
786
|
|
|
804
|
-
pkg_path
|
|
805
|
-
|
|
787
|
+
if pkg_path is None:
|
|
788
|
+
pkg_path = Path.cwd()
|
|
789
|
+
return handle_health_check(
|
|
806
790
|
component=component,
|
|
807
791
|
json_output=json_output,
|
|
808
792
|
verbose=verbose,
|
|
809
793
|
quiet=quiet,
|
|
810
794
|
pkg_path=pkg_path,
|
|
811
795
|
)
|
|
812
|
-
raise typer.Exit(exit_code)
|
|
813
796
|
|
|
814
797
|
|
|
815
798
|
@app.command()
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from .coverage_ratchet_cli import app as coverage_ratchet_app
|
|
2
|
+
from .handlers import (
|
|
3
|
+
handle_interactive_mode,
|
|
4
|
+
handle_standard_mode,
|
|
5
|
+
)
|
|
6
|
+
from .options import CLI_OPTIONS, BumpOption, Options, create_options
|
|
7
|
+
from .version import get_package_version
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"CLI_OPTIONS",
|
|
11
|
+
"BumpOption",
|
|
12
|
+
"Options",
|
|
13
|
+
"coverage_ratchet_app",
|
|
14
|
+
"create_options",
|
|
15
|
+
"get_package_version",
|
|
16
|
+
"handle_interactive_mode",
|
|
17
|
+
"handle_standard_mode",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def __getattr__(name: str):
|
|
22
|
+
"""Lazily expose the umbrella Typer app.
|
|
23
|
+
|
|
24
|
+
Phase 5.1: the Bodai ecosystem discovers CLI apps via the
|
|
25
|
+
``bodai.apps`` entry-point group. The canonical ``app`` object lives in
|
|
26
|
+
``crackerjack.__main__`` (where the legacy ``[project.scripts]`` runner
|
|
27
|
+
picks it up). Lazy-importing here avoids a hard
|
|
28
|
+
``crackerjack.cli <-> crackerjack.__main__`` cycle at module-import time.
|
|
29
|
+
"""
|
|
30
|
+
if name == "app":
|
|
31
|
+
from crackerjack.__main__ import app as _umbrella_app
|
|
32
|
+
|
|
33
|
+
return _umbrella_app
|
|
34
|
+
raise AttributeError(name)
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"""CrackerjackCLI — BodaiCLIBase subclass for the crackerjack CLI entrypoint.
|
|
2
|
+
|
|
3
|
+
Adopts oneiric 0.19.0's :class:`oneiric.cli.base.BodaiCLIBase` as the
|
|
4
|
+
foundation for the crackerjack CLI. Adds REAL ``_doctor_checks()`` and
|
|
5
|
+
``_health_probe()`` implementations that call into crackerjack's existing
|
|
6
|
+
health surface (``crackerjack.cli.handlers.health``) — not stub returns.
|
|
7
|
+
|
|
8
|
+
This file deliberately avoids ``logging.Logger.exception(component=...)`` —
|
|
9
|
+
``ty`` strict type checker rejects the kwarg. We use ``extra={"component":
|
|
10
|
+
self.component_name}`` per project CLAUDE.md guidance.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
import logging
|
|
16
|
+
import typing as t
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
from typing import Any
|
|
19
|
+
|
|
20
|
+
from mcp_common.cli import MCPServerCLIFactory
|
|
21
|
+
from oneiric.cli.base import BodaiCLIBase
|
|
22
|
+
|
|
23
|
+
logger = logging.getLogger(__name__)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class CrackerjackCLI(BodaiCLIBase):
|
|
27
|
+
"""BodaiCLIBase subclass for the crackerjack CLI.
|
|
28
|
+
|
|
29
|
+
Wires in version/doctor/health global commands from :class:`BodaiCLIBase`
|
|
30
|
+
and the legacy MCP server lifecycle commands (start/stop/restart/status)
|
|
31
|
+
from :class:`MCPServerCLIFactory`. Doctor and health checks are real — they
|
|
32
|
+
delegate to ``crackerjack.cli.handlers.health`` instead of stubbing.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
def __init__(
|
|
36
|
+
self,
|
|
37
|
+
*,
|
|
38
|
+
start_handler: t.Callable[[], None] | None = None,
|
|
39
|
+
stop_handler: t.Callable[..., None] | None = None,
|
|
40
|
+
health_probe_handler: t.Callable[[], Any] | None = None,
|
|
41
|
+
help: str | None = "Crackerjack MCP Server CLI",
|
|
42
|
+
**kwargs: Any,
|
|
43
|
+
) -> None:
|
|
44
|
+
super().__init__(component_name="crackerjack", help=help, **kwargs)
|
|
45
|
+
self._register_lifecycle_commands(
|
|
46
|
+
start_handler=start_handler,
|
|
47
|
+
stop_handler=stop_handler,
|
|
48
|
+
health_probe_handler=health_probe_handler,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
# ------------------------------------------------------------------
|
|
52
|
+
# Lifecycle commands (start/stop/restart/status) inherited from
|
|
53
|
+
# MCPServerCLIFactory. We compose rather than copy the factory so
|
|
54
|
+
# upstream bug fixes flow through automatically.
|
|
55
|
+
# ------------------------------------------------------------------
|
|
56
|
+
def _register_lifecycle_commands(
|
|
57
|
+
self,
|
|
58
|
+
*,
|
|
59
|
+
start_handler: t.Callable[[], None] | None,
|
|
60
|
+
stop_handler: t.Callable[..., None] | None,
|
|
61
|
+
health_probe_handler: t.Callable[[], Any] | None,
|
|
62
|
+
) -> None:
|
|
63
|
+
factory = MCPServerCLIFactory(
|
|
64
|
+
server_name="crackerjack",
|
|
65
|
+
start_handler=start_handler,
|
|
66
|
+
stop_handler=stop_handler,
|
|
67
|
+
health_probe_handler=health_probe_handler,
|
|
68
|
+
)
|
|
69
|
+
lifecycle_app = factory.create_app()
|
|
70
|
+
|
|
71
|
+
# BodaiCLIBase already provides `health` (calls our _health_probe
|
|
72
|
+
# override). Drop the factory's `health` command to avoid the
|
|
73
|
+
# Typer duplicate-command error.
|
|
74
|
+
for typer_info in getattr(lifecycle_app, "registered_commands", []):
|
|
75
|
+
# Skip the factory's "health" command so BodaiCLIBase's is canonical.
|
|
76
|
+
if getattr(typer_info, "name", None) == "health":
|
|
77
|
+
continue
|
|
78
|
+
self.registered_commands.append(typer_info)
|
|
79
|
+
|
|
80
|
+
for typer_info in getattr(lifecycle_app, "registered_groups", []):
|
|
81
|
+
self.registered_groups.append(typer_info)
|
|
82
|
+
|
|
83
|
+
# ------------------------------------------------------------------
|
|
84
|
+
# BodaiCLIBase subclass hooks — REAL checks, not stubs.
|
|
85
|
+
# ------------------------------------------------------------------
|
|
86
|
+
def _doctor_checks(self) -> dict[str, Any]:
|
|
87
|
+
"""Run doctor checks via the existing crackerjack health handlers.
|
|
88
|
+
|
|
89
|
+
Returns a non-empty dict with one entry per category
|
|
90
|
+
(adapters/managers/services). Each entry contains a ``status`` and
|
|
91
|
+
``detail`` field that the global ``doctor`` command renders.
|
|
92
|
+
"""
|
|
93
|
+
from crackerjack.cli.handlers.health import (
|
|
94
|
+
_check_adapters,
|
|
95
|
+
_check_managers,
|
|
96
|
+
_check_services,
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
pkg_path = Path.cwd()
|
|
100
|
+
checks: dict[str, Any] = {}
|
|
101
|
+
|
|
102
|
+
for label, fn in (
|
|
103
|
+
("adapters", _check_adapters),
|
|
104
|
+
("managers", _check_managers),
|
|
105
|
+
("services", _check_services),
|
|
106
|
+
):
|
|
107
|
+
try:
|
|
108
|
+
health = fn(pkg_path)
|
|
109
|
+
except Exception as exc:
|
|
110
|
+
logger.exception(
|
|
111
|
+
"doctor-category-failed",
|
|
112
|
+
extra={"component": self.component_name, "category": label},
|
|
113
|
+
)
|
|
114
|
+
checks[label] = {
|
|
115
|
+
"status": "unhealthy",
|
|
116
|
+
"detail": f"{type(exc).__name__}: {exc}",
|
|
117
|
+
}
|
|
118
|
+
continue
|
|
119
|
+
checks[label] = {
|
|
120
|
+
"status": str(health.overall_status.value),
|
|
121
|
+
"detail": (
|
|
122
|
+
f"total={health.total} healthy={health.healthy} "
|
|
123
|
+
f"degraded={health.degraded} unhealthy={health.unhealthy}"
|
|
124
|
+
),
|
|
125
|
+
"total": health.total,
|
|
126
|
+
"healthy": health.healthy,
|
|
127
|
+
"degraded": health.degraded,
|
|
128
|
+
"unhealthy": health.unhealthy,
|
|
129
|
+
}
|
|
130
|
+
return checks
|
|
131
|
+
|
|
132
|
+
def _health_probe(self) -> dict[str, Any]:
|
|
133
|
+
"""Probe crackerjack runtime health via the existing handler.
|
|
134
|
+
|
|
135
|
+
Returns a real snapshot (not the UNAVAILABLE-stub from
|
|
136
|
+
:class:`BodaiCLIBase`). The ``status`` field reflects whether the
|
|
137
|
+
underlying handle_health_check returned a zero exit code.
|
|
138
|
+
"""
|
|
139
|
+
from crackerjack.cli.handlers.health import handle_health_check
|
|
140
|
+
|
|
141
|
+
pkg_path = Path.cwd()
|
|
142
|
+
try:
|
|
143
|
+
exit_code = handle_health_check(pkg_path=pkg_path, quiet=True)
|
|
144
|
+
except Exception as exc:
|
|
145
|
+
logger.exception(
|
|
146
|
+
"health-probe-failed",
|
|
147
|
+
extra={"component": self.component_name},
|
|
148
|
+
)
|
|
149
|
+
return {
|
|
150
|
+
"status": "unhealthy",
|
|
151
|
+
"component": self.component_name,
|
|
152
|
+
"version": self.component_version,
|
|
153
|
+
"error": f"{type(exc).__name__}: {exc}",
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
"status": "healthy" if exit_code == 0 else "degraded",
|
|
157
|
+
"exit_code": exit_code,
|
|
158
|
+
"component": self.component_name,
|
|
159
|
+
"version": self.component_version,
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
__all__ = ["CrackerjackCLI"]
|
|
@@ -98,6 +98,11 @@ class PreflightFixer:
|
|
|
98
98
|
# fallback when no HookSettings are provided — that field is on the
|
|
99
99
|
# way out but kept read-compatible during the rollout.
|
|
100
100
|
self._settings: HookSettings = settings or HookSettings()
|
|
101
|
+
# Resolve the inner package directory (e.g. ``fastblocks/``) once so
|
|
102
|
+
# tool commands like refurb can target it instead of ``.`` — the
|
|
103
|
+
# latter scans the whole repo, including ``.venv``, which produces
|
|
104
|
+
# spurious diagnostics against installed third-party wheels.
|
|
105
|
+
self._package_dir: Path | None = None
|
|
101
106
|
|
|
102
107
|
async def run(self, run_id: str, iteration: int) -> PreflightReport:
|
|
103
108
|
tools = self._enabled_tools()
|
|
@@ -250,9 +255,74 @@ class PreflightFixer:
|
|
|
250
255
|
selects = ",".join(self._config.ruff_select_extra)
|
|
251
256
|
return ["uv", "run", "ruff", "check", "--select", selects, "--fix", "."]
|
|
252
257
|
if tool == "refurb":
|
|
253
|
-
|
|
258
|
+
# Refurb walks the path it is given. ``.`` would scan the whole
|
|
259
|
+
# project — including ``.venv``, where installed third-party
|
|
260
|
+
# wheels live and produce diagnostics that have nothing to do
|
|
261
|
+
# with this repo's source. Target the discovered package
|
|
262
|
+
# directory instead, falling back to the repo root when no
|
|
263
|
+
# subdirectory can be identified (matches the legacy behaviour).
|
|
264
|
+
target = self._resolve_package_target()
|
|
265
|
+
return ["uv", "run", "refurb", str(target)]
|
|
254
266
|
return []
|
|
255
267
|
|
|
268
|
+
def _resolve_package_target(self) -> Path:
|
|
269
|
+
"""Return the inner package directory for refurb-style tool invocations.
|
|
270
|
+
|
|
271
|
+
Discovery order:
|
|
272
|
+
1. ``[tool.hatch.build.targets.wheel] packages = [...]`` from the
|
|
273
|
+
project's ``pyproject.toml`` (most accurate for hatchling
|
|
274
|
+
projects where project name and package directory differ).
|
|
275
|
+
2. ``<project_root>/<project_name>`` (works when they match,
|
|
276
|
+
e.g. ``fastblocks/``).
|
|
277
|
+
3. ``<project_root>`` (legacy fallback — scans the whole repo).
|
|
278
|
+
"""
|
|
279
|
+
if self._package_dir is None:
|
|
280
|
+
self._package_dir = self._discover_package_dir()
|
|
281
|
+
return self._package_dir
|
|
282
|
+
|
|
283
|
+
def _discover_package_dir(self) -> Path:
|
|
284
|
+
import tomllib
|
|
285
|
+
|
|
286
|
+
root = self._pkg_path
|
|
287
|
+
pyproject = root / "pyproject.toml"
|
|
288
|
+
with suppress(Exception):
|
|
289
|
+
with pyproject.open("rb") as fh:
|
|
290
|
+
data = tomllib.load(fh)
|
|
291
|
+
# Hatchling writes under ``[tool.hatchling.build]`` (e.g.
|
|
292
|
+
# mcp-common) and ``[tool.hatch.build]`` (e.g. crackerjack,
|
|
293
|
+
# mahavishnu) — check both. ``packages = [...]`` is the
|
|
294
|
+
# canonical wheel target; ``include = [...]`` is the legacy
|
|
295
|
+
# synonym crackerjack itself uses.
|
|
296
|
+
for ns in ("hatch", "hatchling"):
|
|
297
|
+
wheel_cfg = (
|
|
298
|
+
data.get("tool", {})
|
|
299
|
+
.get(ns, {})
|
|
300
|
+
.get("build", {})
|
|
301
|
+
.get("targets", {})
|
|
302
|
+
.get("wheel", {})
|
|
303
|
+
)
|
|
304
|
+
for key in ("packages", "include"):
|
|
305
|
+
listed = wheel_cfg.get(key)
|
|
306
|
+
if not isinstance(listed, list) or not listed:
|
|
307
|
+
continue
|
|
308
|
+
for entry in listed:
|
|
309
|
+
if not isinstance(entry, str):
|
|
310
|
+
continue
|
|
311
|
+
# Hatch glob patterns like ``crackerjack/**/*.py``
|
|
312
|
+
# reduce to the package directory itself.
|
|
313
|
+
pkg_name = entry.split("/", 1)[0] if "/" in entry else entry
|
|
314
|
+
if not pkg_name or "*" in pkg_name:
|
|
315
|
+
continue
|
|
316
|
+
candidate = root / pkg_name
|
|
317
|
+
if candidate.is_dir():
|
|
318
|
+
return candidate
|
|
319
|
+
project_name = data.get("project", {}).get("name")
|
|
320
|
+
if isinstance(project_name, str) and project_name:
|
|
321
|
+
candidate = root / project_name
|
|
322
|
+
if candidate.is_dir():
|
|
323
|
+
return candidate
|
|
324
|
+
return root
|
|
325
|
+
|
|
256
326
|
def _guard_ruff_fix_invocation(
|
|
257
327
|
self,
|
|
258
328
|
tool: str,
|
|
@@ -520,11 +520,10 @@ ______________________________________________________________________
|
|
|
520
520
|
|
|
521
521
|
- [MCP Specification](https://modelcontextprotocol.io/) - Official protocol docs
|
|
522
522
|
- [FastMCP](https://github.com/jlowin/fastmcp) - Python MCP server framework
|
|
523
|
-
- [Claude Code MCP Docs](https://
|
|
523
|
+
- [Claude Code MCP Docs](https://code.claude.com/docs/en/mcp) - Official Claude Code integration
|
|
524
524
|
|
|
525
525
|
### Community
|
|
526
526
|
|
|
527
|
-
- [r/MCP subreddit](../.cache/crackerjack/uv/archive-v0/ctwDt0rtppTBnmtDq5Hrz/bin/mcp) - MCP discussions & tools
|
|
528
527
|
- [MCP Discord](https://discord.gg/mcp) - Real-time chat (if exists)
|
|
529
528
|
|
|
530
529
|
______________________________________________________________________
|
|
@@ -138,7 +138,7 @@ Two open questions were resolved before migration began. Both are binding for Ph
|
|
|
138
138
|
|
|
139
139
|
- [`docs/schemas/topic-vocabulary-v1.md`](./topic-vocabulary-v1.md) — controlled topic list (seed + amendment rule).
|
|
140
140
|
- [`docs/plans/PLAN_INDEX.md`](../plans/PLAN_INDEX.md) — the index regenerated from frontmatter in Phase P6.
|
|
141
|
-
-
|
|
141
|
+
- `.claude/decisions/README.md` — the decision index (gitignored; refer to local repo for content); Status column re-derived from per-decision frontmatter in Phase P5.
|
|
142
142
|
|
|
143
143
|
## Change History
|
|
144
144
|
|
|
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "crackerjack"
|
|
9
|
-
version = "0.76.
|
|
9
|
+
version = "0.76.2"
|
|
10
10
|
description = "Crackerjack Python project management tool"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
authors = [
|
|
@@ -45,7 +45,7 @@ dependencies = [
|
|
|
45
45
|
"mdformat>=1.0.0",
|
|
46
46
|
"mdformat-ruff>=0.1.3",
|
|
47
47
|
"numpy>=2.5.0",
|
|
48
|
-
"oneiric>=0.
|
|
48
|
+
"oneiric>=0.19.1",
|
|
49
49
|
"pip-audit>=2.10.1",
|
|
50
50
|
"pyleak>=0.2.0",
|
|
51
51
|
"pyscn==1.5.0",
|
|
@@ -95,6 +95,11 @@ text = "BSD-3-CLAUSE"
|
|
|
95
95
|
[project.scripts]
|
|
96
96
|
crackerjack = "crackerjack.__main__:cli"
|
|
97
97
|
|
|
98
|
+
# Bodai umbrella entry-point (Phase 5.1). Discovered by the bodai CLI
|
|
99
|
+
# dispatcher via importlib.metadata under the "bodai.apps" group.
|
|
100
|
+
[project.entry-points."bodai.apps"]
|
|
101
|
+
crackerjack = "crackerjack.cli:app"
|
|
102
|
+
|
|
98
103
|
[project.urls]
|
|
99
104
|
documentation = "https://github.com/lesleslie/crackerjack"
|
|
100
105
|
homepage = "https://github.com/lesleslie/crackerjack"
|