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.
Files changed (1600) hide show
  1. {crackerjack-0.76.0 → crackerjack-0.76.2}/CHANGELOG.md +30 -0
  2. {crackerjack-0.76.0 → crackerjack-0.76.2}/PKG-INFO +3 -3
  3. {crackerjack-0.76.0 → crackerjack-0.76.2}/README.md +1 -1
  4. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/__main__.py +27 -44
  5. crackerjack-0.76.2/crackerjack/cli/__init__.py +34 -0
  6. crackerjack-0.76.2/crackerjack/cli/base.py +163 -0
  7. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/preflight.py +71 -1
  8. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_parsers.py +1 -1
  9. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_SERVER_AUDIT.md +1 -2
  10. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/schemas/document-frontmatter-v1.md +1 -1
  11. {crackerjack-0.76.0 → crackerjack-0.76.2}/pyproject.toml +7 -2
  12. crackerjack-0.76.2/tests/cli/test_base.py +145 -0
  13. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_preflight.py +81 -0
  14. crackerjack-0.76.2/tests/unit/test_bodai_build_system_guard.py +225 -0
  15. {crackerjack-0.76.0 → crackerjack-0.76.2}/uv.lock +8 -8
  16. crackerjack-0.76.0/crackerjack/cli/__init__.py +0 -18
  17. {crackerjack-0.76.0 → crackerjack-0.76.2}/.betterleaks.toml +0 -0
  18. {crackerjack-0.76.0 → crackerjack-0.76.2}/.claude/workflows/ai-fix-loop.js +0 -0
  19. {crackerjack-0.76.0 → crackerjack-0.76.2}/.claude-plugin/plugin.json +0 -0
  20. {crackerjack-0.76.0 → crackerjack-0.76.2}/.codespell-ignore +0 -0
  21. {crackerjack-0.76.0 → crackerjack-0.76.2}/.cov_test +0 -0
  22. {crackerjack-0.76.0 → crackerjack-0.76.2}/.crackerjack.example.yaml +0 -0
  23. {crackerjack-0.76.0 → crackerjack-0.76.2}/.envrc +0 -0
  24. {crackerjack-0.76.0 → crackerjack-0.76.2}/.github/FUNDING.yml +0 -0
  25. {crackerjack-0.76.0 → crackerjack-0.76.2}/.gitignore +0 -0
  26. {crackerjack-0.76.0 → crackerjack-0.76.2}/.gitleaks.toml +0 -0
  27. {crackerjack-0.76.0 → crackerjack-0.76.2}/.gitleaksignore +0 -0
  28. {crackerjack-0.76.0 → crackerjack-0.76.2}/.lycheeignore +0 -0
  29. {crackerjack-0.76.0 → crackerjack-0.76.2}/.mdformat.toml +0 -0
  30. {crackerjack-0.76.0 → crackerjack-0.76.2}/.pyscn.toml +0 -0
  31. {crackerjack-0.76.0 → crackerjack-0.76.2}/.python-version +0 -0
  32. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/.gitignore +0 -0
  33. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/review-21df2d4c..e622e78f.diff +0 -0
  34. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/review-6c99b9e8..ccc1778a.diff +0 -0
  35. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/review-ccc1778a..21df2d4c.diff +0 -0
  36. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/task-2-brief.md +0 -0
  37. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-followups/task-6-brief.md +0 -0
  38. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/progress.md +0 -0
  39. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-1.diff +0 -0
  40. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-10.diff +0 -0
  41. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-11.diff +0 -0
  42. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-2.diff +0 -0
  43. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-6.diff +0 -0
  44. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-7.diff +0 -0
  45. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-8.diff +0 -0
  46. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/review-task-9.diff +0 -0
  47. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-1-brief.md +0 -0
  48. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-1-report.md +0 -0
  49. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-10-brief.md +0 -0
  50. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-10-report.md +0 -0
  51. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-11-brief.md +0 -0
  52. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-11-report.md +0 -0
  53. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-2-brief.md +0 -0
  54. {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
  55. {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
  56. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-2-report.md +0 -0
  57. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-3-brief.md +0 -0
  58. {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
  59. {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
  60. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-3-report.md +0 -0
  61. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-4-brief.md +0 -0
  62. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-4-report.md +0 -0
  63. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-5-brief.md +0 -0
  64. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-5-report.md +0 -0
  65. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-6-brief.md +0 -0
  66. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-6-report.md +0 -0
  67. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-7-brief.md +0 -0
  68. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-7-report.md +0 -0
  69. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-8-brief.md +0 -0
  70. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-8-report.md +0 -0
  71. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-9-brief.md +0 -0
  72. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/task-9-report.md +0 -0
  73. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-11-bodai-coverage-ratchet-standard/whole-branch-crackerjack.diff +0 -0
  74. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-18-mcp-tool-profile-adoption/review-a83b3101..cee43e9a.diff +0 -0
  75. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-18-mcp-tool-profile-adoption/review-a83b3101..f1d396a7.diff +0 -0
  76. {crackerjack-0.76.0 → crackerjack-0.76.2}/.superpowers/sdd/2026-08-18-mcp-tool-profile-adoption/task-7-brief.md +0 -0
  77. {crackerjack-0.76.0 → crackerjack-0.76.2}/AGENTS.md +0 -0
  78. {crackerjack-0.76.0 → crackerjack-0.76.2}/CLAUDE.md +0 -0
  79. {crackerjack-0.76.0 → crackerjack-0.76.2}/CONTRIBUTING.md +0 -0
  80. {crackerjack-0.76.0 → crackerjack-0.76.2}/LICENSE +0 -0
  81. {crackerjack-0.76.0 → crackerjack-0.76.2}/QUICKSTART.md +0 -0
  82. {crackerjack-0.76.0 → crackerjack-0.76.2}/QWEN.md +0 -0
  83. {crackerjack-0.76.0 → crackerjack-0.76.2}/RULES.md +0 -0
  84. {crackerjack-0.76.0 → crackerjack-0.76.2}/SECURITY.md +0 -0
  85. {crackerjack-0.76.0 → crackerjack-0.76.2}/anthropic/__init__.py +0 -0
  86. {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_favicon.png +0 -0
  87. {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_github.png +0 -0
  88. {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_icon.png +0 -0
  89. {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_medium.png +0 -0
  90. {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_small.png +0 -0
  91. {crackerjack-0.76.0 → crackerjack-0.76.2}/assets/crackerjack_logo_tiny.png +0 -0
  92. {crackerjack-0.76.0 → crackerjack-0.76.2}/commands/crackerjack-init.md +0 -0
  93. {crackerjack-0.76.0 → crackerjack-0.76.2}/commands/crackerjack-run.md +0 -0
  94. {crackerjack-0.76.0 → crackerjack-0.76.2}/commands/crackerjack-status.md +0 -0
  95. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/README.md +0 -0
  96. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/__init__.py +0 -0
  97. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/README.md +0 -0
  98. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/__init__.py +0 -0
  99. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/_output_paths.py +0 -0
  100. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/_qa_adapter_base.py +0 -0
  101. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/_tool_adapter_base.py +0 -0
  102. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/README.md +0 -0
  103. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/__init__.py +0 -0
  104. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/base.py +0 -0
  105. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/registry.py +0 -0
  106. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/ai/unified.py +0 -0
  107. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/benchmark/__init__.py +0 -0
  108. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/benchmark/adapter.py +0 -0
  109. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/benchmark/baseline.py +0 -0
  110. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/README.md +0 -0
  111. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/__init__.py +0 -0
  112. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/complexipy.py +0 -0
  113. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/complexity/pymetrica.py +0 -0
  114. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/dependency/__init__.py +0 -0
  115. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/dependency/pip_audit.py +0 -0
  116. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/factory.py +0 -0
  117. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/README.md +0 -0
  118. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/__init__.py +0 -0
  119. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/mdformat.py +0 -0
  120. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/format/ruff.py +0 -0
  121. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/health_mixin.py +0 -0
  122. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lint/README.md +0 -0
  123. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lint/__init__.py +0 -0
  124. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lint/codespell.py +0 -0
  125. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/README.md +0 -0
  126. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/__init__.py +0 -0
  127. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/_base.py +0 -0
  128. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/_client.py +0 -0
  129. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/_manager.py +0 -0
  130. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/skylos.py +0 -0
  131. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/lsp/zuban.py +0 -0
  132. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/move_plan.txt +0 -0
  133. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/performance/__init__.py +0 -0
  134. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/performance/scalene.py +0 -0
  135. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/README.md +0 -0
  136. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/__init__.py +0 -0
  137. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/cohesion.py +0 -0
  138. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/creosote.py +0 -0
  139. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/refurb.py +0 -0
  140. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/skylos.py +0 -0
  141. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/refactor/vulture.py +0 -0
  142. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/registry.py +0 -0
  143. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/README.md +0 -0
  144. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/__init__.py +0 -0
  145. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/_base.py +0 -0
  146. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/bandit.py +0 -0
  147. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/pyscn.py +0 -0
  148. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/sast/semgrep.py +0 -0
  149. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/README.md +0 -0
  150. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/__init__.py +0 -0
  151. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/betterleaks.py +0 -0
  152. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/security/gitleaks.py +0 -0
  153. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/test/__init__.py +0 -0
  154. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/test/syrupy.py +0 -0
  155. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/treesitter/README.md +0 -0
  156. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/treesitter/__init__.py +0 -0
  157. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/treesitter/treesitter.py +0 -0
  158. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/README.md +0 -0
  159. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/__init__.py +0 -0
  160. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/pyrefly.py +0 -0
  161. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/pyright.py +0 -0
  162. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/ty.py +0 -0
  163. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/type/zuban.py +0 -0
  164. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/utility/README.md +0 -0
  165. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/utility/__init__.py +0 -0
  166. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/adapters/utility/checks.py +0 -0
  167. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/agents/README.md +0 -0
  168. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/agents/base.py +0 -0
  169. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/api.py +0 -0
  170. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/bin/validate-mermaid.mjs +0 -0
  171. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/ci_feedback.py +0 -0
  172. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/README.md +0 -0
  173. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/_rich_utils.py +0 -0
  174. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/anti_ai_flavor_cli.py +0 -0
  175. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/audit_cli.py +0 -0
  176. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/cache_handlers.py +0 -0
  177. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/clone_cli.py +0 -0
  178. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/constants.py +0 -0
  179. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/coverage_ratchet_cli.py +0 -0
  180. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/docs_cli.py +0 -0
  181. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/facade.py +0 -0
  182. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/formatting.py +0 -0
  183. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/__init__.py +0 -0
  184. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/advanced.py +0 -0
  185. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/ai_features.py +0 -0
  186. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/analytics.py +0 -0
  187. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/changelog.py +0 -0
  188. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/config_handlers.py +0 -0
  189. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/coverage.py +0 -0
  190. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/docs_commands.py +0 -0
  191. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/documentation.py +0 -0
  192. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/health.py +0 -0
  193. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/main_handlers.py +0 -0
  194. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/handlers/provider_selection.py +0 -0
  195. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/hypothesis_lock_cli.py +0 -0
  196. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/interactive.py +0 -0
  197. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/lifecycle_handlers.py +0 -0
  198. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/mcp_cli.py +0 -0
  199. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/options.py +0 -0
  200. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/profile_handlers.py +0 -0
  201. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/replay.py +0 -0
  202. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/semantic_handlers.py +0 -0
  203. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/skills_cli.py +0 -0
  204. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/cli/version.py +0 -0
  205. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/__init__.py +0 -0
  206. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/classifier.py +0 -0
  207. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/grouper.py +0 -0
  208. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/clone/refactor_engine.py +0 -0
  209. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/code_cleaner.py +0 -0
  210. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/README.md +0 -0
  211. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/__init__.py +0 -0
  212. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/global_lock_config.py +0 -0
  213. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/hooks.py +0 -0
  214. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/loader.py +0 -0
  215. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/mcp_settings_adapter.py +0 -0
  216. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/pip_audit_ignores.py +0 -0
  217. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/profile_loader.py +0 -0
  218. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/settings.py +0 -0
  219. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/config/tool_commands.py +0 -0
  220. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/contracts.py +0 -0
  221. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/README.md +0 -0
  222. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/__init__.py +0 -0
  223. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/ai_fix_event_bus.py +0 -0
  224. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/ai_fix_events.py +0 -0
  225. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/ai_fix_sinks.py +0 -0
  226. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/async_workflow_orchestrator.py +0 -0
  227. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/autofix_coordinator.py +0 -0
  228. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/console.py +0 -0
  229. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/defaults.py +0 -0
  230. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/eventbridge_adapter.py +0 -0
  231. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/eventbridge_publisher.py +0 -0
  232. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/eventbridge_resolver.py +0 -0
  233. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/file_lifecycle.py +0 -0
  234. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/hypothesis_lock.py +0 -0
  235. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/performance.py +0 -0
  236. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/performance_monitor.py +0 -0
  237. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/phase_coordinator.py +0 -0
  238. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/proactive_workflow.py +0 -0
  239. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/resource_manager.py +0 -0
  240. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/retry.py +0 -0
  241. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/__init__.py +0 -0
  242. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/l1_retry.py +0 -0
  243. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/l2_noop.py +0 -0
  244. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/self_heal/l3_rule_store.py +0 -0
  245. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/service_watchdog.py +0 -0
  246. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/session_coordinator.py +0 -0
  247. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/timeout_manager.py +0 -0
  248. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/core/workflow_orchestrator.py +0 -0
  249. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/README.md +0 -0
  250. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/__init__.py +0 -0
  251. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/models.py +0 -0
  252. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/data/repository.py +0 -0
  253. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/README.md +0 -0
  254. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/__init__.py +0 -0
  255. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/error_handling.py +0 -0
  256. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/error_handling_decorators.py +0 -0
  257. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/helpers.py +0 -0
  258. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/decorators/patterns.py +0 -0
  259. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/INDEX.md +0 -0
  260. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/README.md +0 -0
  261. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/API_REFERENCE.md +0 -0
  262. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/CLI_REFERENCE.md +0 -0
  263. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/CROSS_REFERENCES.md +0 -0
  264. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/PROTOCOLS.md +0 -0
  265. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/docs/generated/api/SERVICES.md +0 -0
  266. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/README.md +0 -0
  267. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/__init__.py +0 -0
  268. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/ai_templates.py +0 -0
  269. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/docstring_enricher.py +0 -0
  270. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/docstring_extractor.py +0 -0
  271. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/dual_output_generator.py +0 -0
  272. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/mkdocs_integration.py +0 -0
  273. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/documentation/reference_generator.py +0 -0
  274. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/errors.py +0 -0
  275. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/README.md +0 -0
  276. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/__init__.py +0 -0
  277. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/config.py +0 -0
  278. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/plugin_trust_error.py +0 -0
  279. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/exceptions/tool_execution_error.py +0 -0
  280. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/README.md +0 -0
  281. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/__init__.py +0 -0
  282. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/async_hook_executor.py +0 -0
  283. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/cached_hook_executor.py +0 -0
  284. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/hook_executor.py +0 -0
  285. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/hook_lock_manager.py +0 -0
  286. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/individual_hook_executor.py +0 -0
  287. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/lsp_aware_hook_executor.py +0 -0
  288. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/process_monitor.py +0 -0
  289. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/progress_hook_executor.py +0 -0
  290. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/executors/tool_proxy.py +0 -0
  291. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/__init__.py +0 -0
  292. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/anti_pattern.py +0 -0
  293. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/architecture.py +0 -0
  294. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/__init__.py +0 -0
  295. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/engine.py +0 -0
  296. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/exceptions.py +0 -0
  297. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/pattern_matcher.py +0 -0
  298. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/__init__.py +0 -0
  299. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/data_processing.py +0 -0
  300. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/decompose_conditional.py +0 -0
  301. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/early_return.py +0 -0
  302. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/extract_method.py +0 -0
  303. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/patterns/guard_clause.py +0 -0
  304. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/__init__.py +0 -0
  305. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/base.py +0 -0
  306. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/libcst_surgeon.py +0 -0
  307. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/surgeons/redbaron_surgeon.py +0 -0
  308. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/ast_transform/validator.py +0 -0
  309. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/dead_code.py +0 -0
  310. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/dependency.py +0 -0
  311. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/documentation.py +0 -0
  312. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/dry.py +0 -0
  313. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/formatting.py +0 -0
  314. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/import_optimization.py +0 -0
  315. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/performance.py +0 -0
  316. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/planning.py +0 -0
  317. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/refactoring.py +0 -0
  318. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/refurb.py +0 -0
  319. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/security.py +0 -0
  320. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/semantic.py +0 -0
  321. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/test_creation.py +0 -0
  322. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/test_specialist.py +0 -0
  323. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/fixers/type_errors.py +0 -0
  324. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/hooks/README.md +0 -0
  325. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/hooks/__init__.py +0 -0
  326. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/__init__.py +0 -0
  327. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/akosha_learning.py +0 -0
  328. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/dhara_integration.py +0 -0
  329. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/dhara_mcp_client.py +0 -0
  330. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/git_metrics_integration.py +0 -0
  331. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/mahavishnu_integration.py +0 -0
  332. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/mahavishnu_learning.py +0 -0
  333. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/oneiric_learning.py +0 -0
  334. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/session_buddy_integration.py +0 -0
  335. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/session_buddy_mcp.py +0 -0
  336. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/session_buddy_skills_compat.py +0 -0
  337. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/integration/skills_tracking.py +0 -0
  338. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/intelligence/README.md +0 -0
  339. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/interactive.py +0 -0
  340. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/__init__.py +0 -0
  341. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/mcp/__init__.py +0 -0
  342. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/mcp/tools/__init__.py +0 -0
  343. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/mcp/tools/git_analytics.py +0 -0
  344. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/observability/__init__.py +0 -0
  345. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/observability/adapter_runtime.py +0 -0
  346. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/tenancy/__init__.py +0 -0
  347. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/tenancy/context_packs.py +0 -0
  348. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/workflows/__init__.py +0 -0
  349. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mahavishnu/workflows/progress.py +0 -0
  350. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/README.md +0 -0
  351. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/__init__.py +0 -0
  352. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/async_hook_manager.py +0 -0
  353. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/constants.py +0 -0
  354. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/hook_manager.py +0 -0
  355. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/publish_manager.py +0 -0
  356. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_command_builder.py +0 -0
  357. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_executor.py +0 -0
  358. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_manager.py +0 -0
  359. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/managers/test_progress.py +0 -0
  360. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/README.md +0 -0
  361. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/__init__.py +0 -0
  362. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/cache.py +0 -0
  363. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/client_runner.py +0 -0
  364. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/context.py +0 -0
  365. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/rate_limiter.py +0 -0
  366. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/server_core.py +0 -0
  367. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/service_watchdog.py +0 -0
  368. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/state.py +0 -0
  369. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/task_manager.py +0 -0
  370. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/README.md +0 -0
  371. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/__init__.py +0 -0
  372. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/core_tools.py +0 -0
  373. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/discover_query.py +0 -0
  374. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/doc_tools.py +0 -0
  375. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/error_analyzer.py +0 -0
  376. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/eventbridge_tools.py +0 -0
  377. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/eventbridge_tools_wrapper.py +0 -0
  378. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/execution_tools.py +0 -0
  379. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/health_tools_wrapper.py +0 -0
  380. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/mahavishnu_tools.py +0 -0
  381. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/monitoring_tools.py +0 -0
  382. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/otel_tools.py +0 -0
  383. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/proactive_tools.py +0 -0
  384. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/profiles.py +0 -0
  385. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/progress_tools.py +0 -0
  386. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/pycharm_tools.py +0 -0
  387. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/semantic_tools.py +0 -0
  388. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/utility_tools.py +0 -0
  389. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/workflow_executor.py +0 -0
  390. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/mcp/tools/workspace_tools.py +0 -0
  391. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/memory/__init__.py +0 -0
  392. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/memory/git_metrics_collector.py +0 -0
  393. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/README.md +0 -0
  394. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/__init__.py +0 -0
  395. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/adapter_metadata.py +0 -0
  396. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/config.py +0 -0
  397. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/config_adapter.py +0 -0
  398. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/enums.py +0 -0
  399. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/fix_plan.py +0 -0
  400. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/git_analytics.py +0 -0
  401. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/health_check.py +0 -0
  402. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/issues.py +0 -0
  403. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/protocols.py +0 -0
  404. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/pydantic_models.py +0 -0
  405. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/qa_config.py +0 -0
  406. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/qa_results.py +0 -0
  407. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/resource_protocols.py +0 -0
  408. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/results.py +0 -0
  409. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/semantic_models.py +0 -0
  410. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/session_metrics.py +0 -0
  411. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/task.py +0 -0
  412. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/test_models.py +0 -0
  413. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/tool_config.py +0 -0
  414. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/models/validation_contracts.py +0 -0
  415. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/__init__.py +0 -0
  416. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/base.py +0 -0
  417. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/factory.py +0 -0
  418. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/json_parsers.py +0 -0
  419. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/lychee_parser.py +0 -0
  420. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/parsers/regex_parsers.py +0 -0
  421. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/README.md +0 -0
  422. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/__init__.py +0 -0
  423. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/base.py +0 -0
  424. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/hooks.py +0 -0
  425. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/loader.py +0 -0
  426. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/plugins/managers.py +0 -0
  427. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/py313.py +0 -0
  428. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/runtime/__init__.py +0 -0
  429. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/runtime/health_snapshot.py +0 -0
  430. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/runtime/oneiric_workflow.py +0 -0
  431. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/security/README.md +0 -0
  432. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/security/__init__.py +0 -0
  433. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/security/audit.py +0 -0
  434. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/server.py +0 -0
  435. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/README.md +0 -0
  436. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/__init__.py +0 -0
  437. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/README.md +0 -0
  438. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/__init__.py +0 -0
  439. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/advanced_optimizer.py +0 -0
  440. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/contextual_ai_assistant.py +0 -0
  441. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/embeddings.py +0 -0
  442. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/intelligent_commit.py +0 -0
  443. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai/predictive_analytics.py +0 -0
  444. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ai_fix_progress.py +0 -0
  445. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/anomaly_detector.py +0 -0
  446. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/api_extractor.py +0 -0
  447. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/async_file_io.py +0 -0
  448. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/backup_service.py +0 -0
  449. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/bounded_status_operations.py +0 -0
  450. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/cache.py +0 -0
  451. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/changelog_automation.py +0 -0
  452. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/command_execution_service.py +0 -0
  453. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_cleanup.py +0 -0
  454. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_integrity.py +0 -0
  455. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_merge.py +0 -0
  456. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_service.py +0 -0
  457. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/config_template.py +0 -0
  458. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/connection_pool.py +0 -0
  459. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/constants.py +0 -0
  460. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/constitution.py +0 -0
  461. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/coverage_badge_service.py +0 -0
  462. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/coverage_ratchet.py +0 -0
  463. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/debug.py +0 -0
  464. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/dependency_analyzer.py +0 -0
  465. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/doc_categorizer.py +0 -0
  466. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/doc_update_service.py +0 -0
  467. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/documentation_cleanup.py +0 -0
  468. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/documentation_generator.py +0 -0
  469. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/documentation_service.py +0 -0
  470. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/enhanced_filesystem.py +0 -0
  471. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/failure_metrics_repository.py +0 -0
  472. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/failure_recorder.py +0 -0
  473. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_chunker.py +0 -0
  474. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_filter.py +0 -0
  475. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_hasher.py +0 -0
  476. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_io_service.py +0 -0
  477. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/file_modifier.py +0 -0
  478. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/filesystem.py +0 -0
  479. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/frontmatter.py +0 -0
  480. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/frontmatter_validator.py +0 -0
  481. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/git.py +0 -0
  482. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/git_cleanup_service.py +0 -0
  483. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/heatmap_generator.py +0 -0
  484. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/import_resolution.py +0 -0
  485. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/improvement_generator.py +0 -0
  486. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/improvement_overseer.py +0 -0
  487. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/incremental_executor.py +0 -0
  488. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/incremental_scanner.py +0 -0
  489. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/initialization.py +0 -0
  490. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/input_validator.py +0 -0
  491. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/intelligent_commit.py +0 -0
  492. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/log_manager.py +0 -0
  493. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/logging.py +0 -0
  494. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/lsp_client.py +0 -0
  495. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/marker_tracker.py +0 -0
  496. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/memory_aware_scanner.py +0 -0
  497. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/memory_optimizer.py +0 -0
  498. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/mermaid_renderer.py +0 -0
  499. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/message_deduplicator.py +0 -0
  500. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/metrics.py +0 -0
  501. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/metrics_old.py.bak4 +0 -0
  502. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/parallel_executor.py +0 -0
  503. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pattern_cache.py +0 -0
  504. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pattern_detector.py +0 -0
  505. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/__init__.py +0 -0
  506. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/agents.py +0 -0
  507. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/__init__.py +0 -0
  508. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/detection.py +0 -0
  509. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/imports.py +0 -0
  510. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/paths.py +0 -0
  511. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/performance.py +0 -0
  512. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/code/replacement.py +0 -0
  513. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/core.py +0 -0
  514. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/__init__.py +0 -0
  515. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/badges_markdown.py +0 -0
  516. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/comments_blocks.py +0 -0
  517. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/documentation/docstrings.py +0 -0
  518. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/formatting.py +0 -0
  519. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/operations.py +0 -0
  520. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/__init__.py +0 -0
  521. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/code_injection.py +0 -0
  522. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/credentials.py +0 -0
  523. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/path_traversal.py +0 -0
  524. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/security/unsafe_operations.py +0 -0
  525. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/templates.py +0 -0
  526. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/testing/__init__.py +0 -0
  527. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/testing/error_patterns.py +0 -0
  528. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/testing/pytest_output.py +0 -0
  529. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/__init__.py +0 -0
  530. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/bandit.py +0 -0
  531. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/other.py +0 -0
  532. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/pyright.py +0 -0
  533. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/tool_output/ruff.py +0 -0
  534. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/url_sanitization.py +0 -0
  535. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/utilities.py +0 -0
  536. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/validation.py +0 -0
  537. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/patterns/versioning.py +0 -0
  538. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_client.py +0 -0
  539. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_orchestrator.py +0 -0
  540. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_router.py +0 -0
  541. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pool_scaler.py +0 -0
  542. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/predictive_analytics.py +0 -0
  543. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/profiler.py +0 -0
  544. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/prompt_evolution.py +0 -0
  545. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pycharm_mcp_integration.py +0 -0
  546. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/__init__.py +0 -0
  547. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_auth.py +0 -0
  548. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_keyring.py +0 -0
  549. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_providers.py +0 -0
  550. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypi_auth/_trusted_publishing.py +0 -0
  551. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/pypistats_service.py +0 -0
  552. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/__init__.py +0 -0
  553. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/anti_ai_flavor.py +0 -0
  554. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/anti_ai_flavor_adapter.py +0 -0
  555. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/pattern_cache.py +0 -0
  556. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/quality_baseline_enhanced.py +0 -0
  557. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/quality/quality_intelligence.py +0 -0
  558. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/refurb_fixer.py +0 -0
  559. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/regex_patterns.py +0 -0
  560. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/regex_utils.py +0 -0
  561. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/safe_code_modifier.py +0 -0
  562. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/secure_path_utils.py +0 -0
  563. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/secure_status_formatter.py +0 -0
  564. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/secure_subprocess.py +0 -0
  565. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/security.py +0 -0
  566. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/security_logger.py +0 -0
  567. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/self_patcher.py +0 -0
  568. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/server_manager.py +0 -0
  569. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/smart_file_filter_v2.py +0 -0
  570. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/smart_scheduling.py +0 -0
  571. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/status_authentication.py +0 -0
  572. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/status_security_manager.py +0 -0
  573. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/swarm_client.py +0 -0
  574. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/template_applicator.py +0 -0
  575. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/template_detector.py +0 -0
  576. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/terminal_utils.py +0 -0
  577. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/__init__.py +0 -0
  578. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/coverage_manager.py +0 -0
  579. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/test_result_parser.py +0 -0
  580. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/testing/test_result_renderer.py +0 -0
  581. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/thread_safe_status_collector.py +0 -0
  582. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/tool_filter.py +0 -0
  583. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/tool_version_service.py +0 -0
  584. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/ulid_generator.py +0 -0
  585. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/unified_config.py +0 -0
  586. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/validation_rate_limiter.py +0 -0
  587. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/vector_store.py +0 -0
  588. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/version_analyzer.py +0 -0
  589. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/version_checker.py +0 -0
  590. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/workflow_optimization.py +0 -0
  591. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/services/zuban_lsp_service.py +0 -0
  592. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/shell/__init__.py +0 -0
  593. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/shell/adapter.py +0 -0
  594. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/shell/session_compat.py +0 -0
  595. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/skills/__init__.py +0 -0
  596. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/skills/health.py +0 -0
  597. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/slash_commands/__init__.py +0 -0
  598. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/__init__.py +0 -0
  599. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/cli.py +0 -0
  600. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/evolution.py +0 -0
  601. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/models.py +0 -0
  602. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/sop/persisters.py +0 -0
  603. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V5__ulid_migration__down.sql +0 -0
  604. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V5__ulid_migration__up.sql +0 -0
  605. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V6__ulid_contract__down.sql +0 -0
  606. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/storage/migrations/V6__ulid_contract__up.sql +0 -0
  607. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/test_selection.py +0 -0
  608. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/README.md +0 -0
  609. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/__init__.py +0 -0
  610. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/_git_utils.py +0 -0
  611. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_added_large_files.py +0 -0
  612. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_ast.py +0 -0
  613. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_json.py +0 -0
  614. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_jsonschema.py +0 -0
  615. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_toml.py +0 -0
  616. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/check_yaml.py +0 -0
  617. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/codespell_wrapper.py +0 -0
  618. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/end_of_file_fixer.py +0 -0
  619. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/fix_terminal.sh +0 -0
  620. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/format_json.py +0 -0
  621. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/linkcheckmd_wrapper.py +0 -0
  622. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/local_link_checker.py +0 -0
  623. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/mdformat_wrapper.py +0 -0
  624. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/trailing_whitespace.py +0 -0
  625. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_audit.py +0 -0
  626. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_classify.py +0 -0
  627. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_cleanup.py +0 -0
  628. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_ignore_syntax.py +0 -0
  629. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_imports.py +0 -0
  630. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_narrow.py +0 -0
  631. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/ty_ratchet.py +0 -0
  632. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/validate_input_validator_patterns.py +0 -0
  633. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/tools/validate_regex_patterns.py +0 -0
  634. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/ui/README.md +0 -0
  635. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/ui/__init__.py +0 -0
  636. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/console_utils.py +0 -0
  637. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/error_handling.py +0 -0
  638. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/issue_detection.py +0 -0
  639. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/python_fixups.py +0 -0
  640. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/retry_utils.py +0 -0
  641. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/utils/temp_file_cleanup.py +0 -0
  642. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/__init__.py +0 -0
  643. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/auth.py +0 -0
  644. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/server.py +0 -0
  645. {crackerjack-0.76.0 → crackerjack-0.76.2}/crackerjack/websocket/tls_config.py +0 -0
  646. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ADAPTER_PROTOCOL_FIX_PLAN.md +0 -0
  647. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ADAPTER_TEST_COVERAGE_PLAN.md +0 -0
  648. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ADMIN_SHELL.md +0 -0
  649. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_B_IMPORT_UNION_FIXES.md +0 -0
  650. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_COORDINATION_ARCHITECTURE_ANALYSIS.md +0 -0
  651. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_COORDINATION_FIX_PLAN.md +0 -0
  652. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_TEST_COVERAGE_PLAN.md +0 -0
  653. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AGENT_TEST_DELIVERY.md +0 -0
  654. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ADAPTER_FIX.md +0 -0
  655. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ARCHITECTURAL_FIX.md +0 -0
  656. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_BROKEN_PATTERNS.md +0 -0
  657. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_BUGS.md +0 -0
  658. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_DOCUMENTATION_LINKS.md +0 -0
  659. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_EXECUTION_TRACE.md +0 -0
  660. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_EXPECTED_BEHAVIOR.md +0 -0
  661. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_FAILURE_ANALYSIS.md +0 -0
  662. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_INVESTIGATION.md +0 -0
  663. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ISSUES_RESOLUTION.md +0 -0
  664. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_METRICS_REVIEW.md +0 -0
  665. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_PRODUCTION_TEST_DEBUG.md +0 -0
  666. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_REFACTOR_PLAN.md +0 -0
  667. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_REGRESSION_CORPUS.md +0 -0
  668. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_ROOT_CAUSE_ANALYSIS.md +0 -0
  669. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_SAFETY_VALIDATION_IMPLEMENTED.md +0 -0
  670. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_SHADOWING_DAMAGE.md +0 -0
  671. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_TEST_FAILURE_IMPLEMENTATION_PLAN.md +0 -0
  672. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AI_FIX_VALIDATION_ISSUES.md +0 -0
  673. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ARCHITECTURE.md +0 -0
  674. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ASYNC_ADAPTER_FALLBACK_ANALYSIS.md +0 -0
  675. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AUDIT_HOOKS_TOOLS.md +0 -0
  676. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/AUDIT_RESULTS.md +0 -0
  677. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/BATCHPROCESSOR_TROUBLESHOOTING.md +0 -0
  678. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/BATCHPROCESSOR_USER_GUIDE.md +0 -0
  679. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CHECKPOINT_2026-02-05_FINAL.md +0 -0
  680. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CHECKPOINT_ANALYSIS_2026-02-05.md +0 -0
  681. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CHECK_YAML_AI_FIX_BUG_FIX.md +0 -0
  682. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CLI_OPTIONS_AUDIT.md +0 -0
  683. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CLI_REFERENCE.md +0 -0
  684. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPLEXIPY_PARSER_FIX.md +0 -0
  685. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPLEXITY_REFACTORING_PLAN_2025-12-31.md +0 -0
  686. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPLEXITY_REFACTORING_PLAN_GAMMA.md +0 -0
  687. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMPREHENSIVE_REMEDIATION_PLAN.md +0 -0
  688. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/COMP_HOOKS_OPTIMIZATION_PLAN.md +0 -0
  689. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CONFIG_CONSOLIDATION_AUDIT.md +0 -0
  690. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/CROSS_PROJECT_CONFIG_AUDIT.md +0 -0
  691. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/DOCS_CLEANUP_GUIDELINES.md +0 -0
  692. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/DOCS_ORGANIZATION.md +0 -0
  693. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ERROR_DETAILS_DISPLAY_FIX.md +0 -0
  694. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ERROR_HANDLING_MIGRATION_GUIDE.md +0 -0
  695. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ERROR_HANDLING_STANDARD.md +0 -0
  696. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/FAST_HOOKS_OPTIMIZATION_PLAN.md +0 -0
  697. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/FINAL_ZUBAN_CONQUEST_PLAN.md +0 -0
  698. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/HOOK_ISSUE_COUNT_DISPLAY_OPTIONS.md +0 -0
  699. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/HOOK_ISSUE_COUNT_ROOT_CAUSE.md +0 -0
  700. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/IMPLEMENTATION_STATUS.md +0 -0
  701. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/INTEGRAL_SCANNING_OPTIONS.md +0 -0
  702. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ISSUE_COUNT_BUGFIX.md +0 -0
  703. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/JSON_PARSING_ARCHITECTURE.md +0 -0
  704. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/JSON_PARSING_IMPLEMENTATION.md +0 -0
  705. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/JSON_PARSING_PERFORMANCE.md +0 -0
  706. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MAHAVISHNU_POOL_INTEGRATION.md +0 -0
  707. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MAHAVISHNU_POOL_QUICKSTART.md +0 -0
  708. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MANAGER_TEST_IMPLEMENTATION_PLAN.md +0 -0
  709. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_GLOBAL_MIGRATION_GUIDE.md +0 -0
  710. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_SERVER_INVESTIGATION.md +0 -0
  711. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MCP_TOOLS_SPECIFICATION.md +0 -0
  712. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MIGRATION_GUIDE.md +0 -0
  713. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/MIGRATION_GUIDE_0.47.0.md +0 -0
  714. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PERFORMANCE_DIAGRAMS.md +0 -0
  715. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PERFORMANCE_OPTIMIZATION_PLAN.md +0 -0
  716. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PERFORMANCE_PHASE_2_1_REGEX_PRECOMPILATION.md +0 -0
  717. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PHASE_5-7_IMPLEMENTATION_PLAN.md +0 -0
  718. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PROFILES_QUICK_REFERENCE.md +0 -0
  719. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PROTOCOL_DOCUMENTATION_PLAN.md +0 -0
  720. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PROTOCOL_DX_ASSESSMENT.md +0 -0
  721. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/PYPROJECT_TIMEOUT_IMPLEMENTATION.md +0 -0
  722. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/QUALITY_SCANNING_STRATEGY.md +0 -0
  723. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/QUICK_START.md +0 -0
  724. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/README.md +0 -0
  725. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/REMEDIATION_PLAN_2026-02-05.md +0 -0
  726. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/RUFF_CHECK_AI_FIX_BUG_FIX.md +0 -0
  727. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SESSION_CHECKPOINT_2025-01-22.md +0 -0
  728. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SESSION_CHECKPOINT_2025-01-22_PT2.md +0 -0
  729. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SESSION_CHECKPOINT_2025-01-30.md +0 -0
  730. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SHELL_ADAPTER_FIX.md +0 -0
  731. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/SKILL_SYSTEM.md +0 -0
  732. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/STRUCTURED_LOGGING.md +0 -0
  733. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEAM_COORDINATION_DIAGRAM.md +0 -0
  734. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_AI_FIX_IMPLEMENTATION_JAN_2025.md +0 -0
  735. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_AI_STAGE_IMPLEMENTATION.md +0 -0
  736. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_COVERAGE_PLAN_CORE.md +0 -0
  737. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_COVERAGE_RESULTS.md +0 -0
  738. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_COVERAGE_SERVICES_LAYER.md +0 -0
  739. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TEST_PARSING_FIX.md +0 -0
  740. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TOOLS_PARSERS_TEST_PLAN.md +0 -0
  741. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/TOOLS_PARSERS_TEST_STATUS.md +0 -0
  742. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ULID_MIGRATION_ANALYSIS.md +0 -0
  743. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/WARNING_AGENT_INTEGRATION.md +0 -0
  744. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/WARNING_SUPPRESSION_AGENT_DESIGN.md +0 -0
  745. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/ZUBAN_TYPE_CHECKING_FIXES.md +0 -0
  746. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-001-mcp-first-architecture.md +0 -0
  747. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-002-multi-agent-orchestration.md +0 -0
  748. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-003-property-based-testing.md +0 -0
  749. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-004-quality-gate-thresholds.md +0 -0
  750. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-005-agent-skill-routing.md +0 -0
  751. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/adr/ADR-025-complexity-scanning-defaults.md +0 -0
  752. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/api/reference.md +0 -0
  753. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/architecture/MEMORY_ARCHITECTURE.md +0 -0
  754. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/architecture/protocols.md +0 -0
  755. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/architecture/tool-profile-rationale.md +0 -0
  756. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-06-12-furb-handler-audit-driver.py +0 -0
  757. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-06-12-furb-handler-audit.md +0 -0
  758. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-06-28-tests-ty-audit.md +0 -0
  759. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/audits/2026-08-03-crackerjack-orphan-stashes.md +0 -0
  760. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/bandit-performance-investigation.md +0 -0
  761. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/complexipy_adapter_fix.md +0 -0
  762. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/complexity_refactoring_plan.md +0 -0
  763. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/comprehensive_hooks_audit.md +0 -0
  764. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/decisions/SKILLS_METRICS_ARCHITECTURE.md +0 -0
  765. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/FIX_STRATEGY_MEMORY.md +0 -0
  766. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_IMPLEMENTATION.md +0 -0
  767. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_MIGRATION_GUIDE.md +0 -0
  768. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_QUICK_REFERENCE.md +0 -0
  769. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_STORAGE_SCHEMA.md +0 -0
  770. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/design/SKILL_METRICS_TRANSACTION_PATTERNS.md +0 -0
  771. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/development/STRUCTURED_LOGGING.md +0 -0
  772. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/development/SYMBOL_DISPLAY_CRITICAL_FIX.md +0 -0
  773. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/development/SYMBOL_DISPLAY_IMPLEMENTATION.md +0 -0
  774. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/README.md +0 -0
  775. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/adapter-taxonomy.png +0 -0
  776. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/ai-agent-orchestration.png +0 -0
  777. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/oneiric-workflow-dag.png +0 -0
  778. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/pattern-management.png +0 -0
  779. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/quality-hooks.png +0 -0
  780. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/diagrams/security-threat-model.png +0 -0
  781. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/error_handling_refactoring_plan.md +0 -0
  782. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/examples/PROTOCOL_EXAMPLES.md +0 -0
  783. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/examples/git_semantic_search_examples.md +0 -0
  784. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/feature-tracking/TEMPLATE.md +0 -0
  785. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/AGENT_PERFORMANCE_TRACKING.md +0 -0
  786. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/AI_FIX_PROGRESS_BAR_REDESIGN.md +0 -0
  787. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/GIT_SEMANTIC_SEARCH_MCP_TOOLS.md +0 -0
  788. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/MAHAVISHNU_INTEGRATION.md +0 -0
  789. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/OLLAMA_EMBEDDINGS.md +0 -0
  790. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/OLLAMA_PROVIDER.md +0 -0
  791. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PARALLEL_EXECUTION.md +0 -0
  792. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PHASE2_OPTIMIZATION_PLAN.md +0 -0
  793. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PHASE_3_LEARNING_QUICK_REFERENCE.md +0 -0
  794. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/PROVIDER_ARCHITECTURE.md +0 -0
  795. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/QA_RESULT_INTEGRATION.md +0 -0
  796. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/QWEN_PROVIDER.md +0 -0
  797. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/SKILLS_INTEGRATION.md +0 -0
  798. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/SYMBIOTIC_ECOSYSTEM_INTEGRATION.md +0 -0
  799. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/features/WORKFLOW_OPTIMIZATION_USER_GUIDE.md +0 -0
  800. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/fixes/test-executor-working-directory-fix.md +0 -0
  801. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/followups/2026-07-04-tier3-implementation-plan.md +0 -0
  802. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/AGENTS.md +0 -0
  803. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/CLAUDE.md +0 -0
  804. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/contributing.md +0 -0
  805. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/progressive-complexity.md +0 -0
  806. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/test-coverage.md +0 -0
  807. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/guides/testing.md +0 -0
  808. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/health_check_implementation_plan.md +0 -0
  809. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/ARGUMENT_LIST_TOO_LONG_FIX.md +0 -0
  810. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/AUDIT_HOOKS_TOOLS.md +0 -0
  811. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/CONFIG_CONSOLIDATION_AUDIT.md +0 -0
  812. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/CROSS_PROJECT_CONFIG_AUDIT.md +0 -0
  813. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/ERROR_DETAILS_DISPLAY_FIX.md +0 -0
  814. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/FINAL_IMPLEMENTATION_SUMMARY.md +0 -0
  815. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_ISSUE_COUNT_DISPLAY_OPTIONS.md +0 -0
  816. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_ISSUE_COUNT_FIX_SUMMARY.md +0 -0
  817. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_ISSUE_COUNT_ROOT_CAUSE.md +0 -0
  818. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_REPORTING_ANALYSIS.md +0 -0
  819. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/HOOK_REPORTING_FIX_SUMMARY.md +0 -0
  820. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/IMPLEMENTATION_PLAN_ALL_FILES.md +0 -0
  821. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/ISSUE_COUNT_SUMMARY_TOTAL_FIX.md +0 -0
  822. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/PHASE5_SERVICE_CONSOLIDATION_AUDIT.md +0 -0
  823. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/README_AUDIT_REPORT.md +0 -0
  824. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/TEST_IMPROVEMENT_PLAN.md +0 -0
  825. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/UNIFIED_IMPLEMENTATION_PLAN.md +0 -0
  826. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation/git_semantic_search_implementation.md +0 -0
  827. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation-plan-logging-progress-fixes.md +0 -0
  828. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation-plans/enhanced-test-error-reporting.md +0 -0
  829. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/implementation-status.md +0 -0
  830. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/index.md +0 -0
  831. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/patterns/ONEIRIC_SKILLS_INTEGRATION.md +0 -0
  832. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance/CONNECTION_POOL_IMPLEMENTATION.md +0 -0
  833. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance/PHASE_2.2_COMPLETION_REPORT.md +0 -0
  834. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance-baseline.json +0 -0
  835. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/performance-baseline.md +0 -0
  836. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2025-02-12-multi-agent-ai-fix-quality-system-design.md +0 -0
  837. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2025-02-12-multi-agent-ai-fix-quality-system.md +0 -0
  838. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-02-12-v2-multi-agent-quality-system.md +0 -0
  839. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-02-22-ast-transform-engine-design.md +0 -0
  840. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-05-30-ai-fix-dashboard-wiring.md +0 -0
  841. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-06-27-ty-cleanup-and-ai-fix.md +0 -0
  842. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/2026-07-06-ai-fix-tier-architecture.md +0 -0
  843. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/AI_FIX_IMPROVEMENT_PLAN.md +0 -0
  844. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/PLAN_INDEX.md +0 -0
  845. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/plans/swarm-autofix-integration.md +0 -0
  846. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/profile_batch_processor.py +0 -0
  847. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/progress-bar-implementation.md +0 -0
  848. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/progress-indicator-analysis.md +0 -0
  849. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/prompts/symbiotic-ecosystem-integration.md +0 -0
  850. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/pytest_warning_parser_example.py +0 -0
  851. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/python-improvements-summary.md +0 -0
  852. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/python-review-logging-progress-implementation.md +0 -0
  853. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/quality/gates.md +0 -0
  854. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/refactoring/TASK_4.3_NAMING_CONVENTIONS.md +0 -0
  855. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/refactoring-plan-complexity-violations.md +0 -0
  856. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/ADAPTER_UUID_REGISTRY.md +0 -0
  857. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/AI_FIX_QUALITY_QUICKSTART.md +0 -0
  858. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/BREAKING_CHANGES.md +0 -0
  859. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/CHANGELOG.md +0 -0
  860. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/CONFIGURATION.md +0 -0
  861. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/COVERAGE_POLICY.md +0 -0
  862. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/PROTOCOL_DOCUMENTATION_REVIEW.md +0 -0
  863. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/PROTOCOL_QUICK_REFERENCE.md +0 -0
  864. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/PROTOCOL_REFERENCE_GUIDE.md +0 -0
  865. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/SECURITY.md +0 -0
  866. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/admin-shell.md +0 -0
  867. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reference/service-dependencies.md +0 -0
  868. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/refurb_creosote_behavior.md +0 -0
  869. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reporting_tools_fix.md +0 -0
  870. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reporting_tools_investigation.md +0 -0
  871. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/EXECUTIVE-SUMMARY.md +0 -0
  872. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-1-cli-handlers.md +0 -0
  873. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-2-services.md +0 -0
  874. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-3-managers.md +0 -0
  875. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-4-coordinators.md +0 -0
  876. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-5-orchestration.md +0 -0
  877. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-6-agent-system.md +0 -0
  878. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-7-adapters.md +0 -0
  879. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/reviews/layer-8-mcp-integration.md +0 -0
  880. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/run_agent_tests.sh +0 -0
  881. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/runbooks/H11_self_patcher_deny_paths.md +0 -0
  882. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/schemas/topic-vocabulary-v1.md +0 -0
  883. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-05-20-phase-0-event-bus-plan.md +0 -0
  884. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-06-02-ai-fix-display-loop-bugs.md +0 -0
  885. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-06-03-dhara-mcp-migration.md +0 -0
  886. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-06-29-ty-ratchet-cleanup.md +0 -0
  887. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-08-fix-sandbox-integration.md +0 -0
  888. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-10-libcst-surgeon-extract-method-fallback.md +0 -0
  889. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-10-output-validator-traceback-details.md +0 -0
  890. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-10-validation-coordinator-serialization.md +0 -0
  891. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-11-ai-fix-e501-post-processor.md +0 -0
  892. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-11-ai-fix-no-op-circuit-breaker.md +0 -0
  893. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-11-ai-fix-regen-timeout.md +0 -0
  894. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-07-12-eventbridge-publisher.md +0 -0
  895. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-06-ai-fix-external-loop.md +0 -0
  896. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-06-ai-fix-removal-extraction.md +0 -0
  897. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-06-crackerjack-ruff-fix-policy.md +0 -0
  898. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-10-ai-fix-loop-task-1-kickoff.md +0 -0
  899. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-bodai-coverage-ratchet-followups.md +0 -0
  900. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-bodai-coverage-ratchet-standard.md +0 -0
  901. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-darnlink-replaces-check-local-links.md +0 -0
  902. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/plans/2026-08-11-skill-coverage-out-of-fast-hooks.md +0 -0
  903. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-05-20-ai-fix-comprehensive-overhaul-design.md +0 -0
  904. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-06-03-dhara-mcp-migration-design.md +0 -0
  905. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-06-29-ty-ratchet-cleanup-design.md +0 -0
  906. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-07-ai-fix-improvement-design.md +0 -0
  907. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-08-fix-sandbox-integration-design.md +0 -0
  908. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-10-libcst-surgeon-extract-method-fallback-design.md +0 -0
  909. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-10-output-validator-traceback-details-design.md +0 -0
  910. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-10-validation-coordinator-serialization-design.md +0 -0
  911. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-11-ai-fix-e501-post-processor-design.md +0 -0
  912. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-11-ai-fix-no-op-circuit-breaker-design.md +0 -0
  913. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-07-11-ai-fix-regen-timeout-design.md +0 -0
  914. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-08-06-ai-fix-removal-external-loop-design.md +0 -0
  915. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-08-06-crackerjack-ruff-fix-policy-design.md +0 -0
  916. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/specs/2026-08-11-bodai-coverage-ratchet-standard-design.md +0 -0
  917. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/triage/2026-07-10-output-validator-import-check.md +0 -0
  918. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/triage/2026-07-10-refactoring-agent-ast-fallback.md +0 -0
  919. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/superpowers/triage/2026-07-10-validation-coordinator-concurrency.md +0 -0
  920. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/symbiotic-ecosystem-quick-start.md +0 -0
  921. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/task-breakdown.md +0 -0
  922. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/test_dead_code_agent_validation.py +0 -0
  923. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/test_selection.md +0 -0
  924. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/workflow_orchestrator_refactoring_plan.md +0 -0
  925. {crackerjack-0.76.0 → crackerjack-0.76.2}/docs/zensical.yaml +0 -0
  926. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/README.md +0 -0
  927. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/__init__.py +0 -0
  928. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/akosha_git_search_demo.py +0 -0
  929. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/backup_system_demo.py +0 -0
  930. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/custom_hook_plugin.py +0 -0
  931. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/decorator_usage.py +0 -0
  932. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/enhanced_monitor_demo.py +0 -0
  933. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/enhanced_monitor_demo_fixed.py +0 -0
  934. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/enhanced_progress_example.py +0 -0
  935. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/mcp_client_example.py +0 -0
  936. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/plugin_config.json +0 -0
  937. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/README.md +0 -0
  938. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_1_basic_tracking.py +0 -0
  939. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_2_recommendations.py +0 -0
  940. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_3_workflow_aware.py +0 -0
  941. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/skills_tracking/example_4_error_handling.py +0 -0
  942. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/slash_command_progress_example.py +0 -0
  943. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/test_progress_display.py +0 -0
  944. {crackerjack-0.76.0 → crackerjack-0.76.2}/examples/timeout_handling_example.py +0 -0
  945. {crackerjack-0.76.0 → crackerjack-0.76.2}/mahavishnu/core/events/confidence_ceiling.py +0 -0
  946. {crackerjack-0.76.0 → crackerjack-0.76.2}/mahavishnu/tests/unit/test_confidence_ceiling.py +0 -0
  947. {crackerjack-0.76.0 → crackerjack-0.76.2}/mypy.ini +0 -0
  948. {crackerjack-0.76.0 → crackerjack-0.76.2}/node_modules/.gitkeep +0 -0
  949. {crackerjack-0.76.0 → crackerjack-0.76.2}/ops/crontab.example +0 -0
  950. {crackerjack-0.76.0 → crackerjack-0.76.2}/package-lock.json +0 -0
  951. {crackerjack-0.76.0 → crackerjack-0.76.2}/package.json +0 -0
  952. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/README.md +0 -0
  953. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/__init__.py +0 -0
  954. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/_frontmatter_apply_C1.py +0 -0
  955. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/_frontmatter_restore_C2.py +0 -0
  956. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/audit_command_consistency.py +0 -0
  957. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/benchmark_performance.py +0 -0
  958. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/benchmark_regex_precompilation.py +0 -0
  959. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/create_test_templates.py +0 -0
  960. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/docs_cleanup.py +0 -0
  961. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/integrate_resource_management.py +0 -0
  962. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/migrate_skills_to_sessionbuddy.py +0 -0
  963. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/migrate_ulids.py +0 -0
  964. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/migrate_ulids_v2.py +0 -0
  965. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/performance_benchmark.py +0 -0
  966. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/precompile_regex_parsers.py +0 -0
  967. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/precompile_regex_test_manager.py +0 -0
  968. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/profile_hooks.py +0 -0
  969. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/quick_fix_type_errors.py +0 -0
  970. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/regenerate_plan_index.py +0 -0
  971. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/rollback_skills_migration.py +0 -0
  972. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_coverage_audit.sh +0 -0
  973. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_ulid_contract_migration.py +0 -0
  974. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_ulid_migration.py +0 -0
  975. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/run_ulid_migration.py.bak3 +0 -0
  976. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/session_cleanup.sh +0 -0
  977. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/update_test_manager_regex_usage.py +0 -0
  978. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/validate_imports.py +0 -0
  979. {crackerjack-0.76.0 → crackerjack-0.76.2}/scripts/validate_skills_migration.py +0 -0
  980. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/README.md +0 -0
  981. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/adapters.yaml +0 -0
  982. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/crackerjack.yaml +0 -0
  983. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/local.yaml.example +0 -0
  984. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/minimax.example.yaml +0 -0
  985. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/profiles/comprehensive.yaml +0 -0
  986. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/profiles/quick.yaml +0 -0
  987. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/profiles/standard.yaml +0 -0
  988. {crackerjack-0.76.0 → crackerjack-0.76.2}/settings/qwen.example.yaml +0 -0
  989. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/README.md +0 -0
  990. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/api_reference.md.template +0 -0
  991. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/changelog_entry.md.template +0 -0
  992. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/pyproject-full.toml +0 -0
  993. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/pyproject-library.toml +0 -0
  994. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/pyproject-minimal.toml +0 -0
  995. {crackerjack-0.76.0 → crackerjack-0.76.2}/templates/user_guide.md.template +0 -0
  996. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/README.md +0 -0
  997. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/TESTING_GUIDELINES.md +0 -0
  998. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/__init__.py +0 -0
  999. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/README.md +0 -0
  1000. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_base.py +0 -0
  1001. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_client.py +0 -0
  1002. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_manager.py +0 -0
  1003. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_lsp_skylos.py +0 -0
  1004. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/lsp/test_zuban.py +0 -0
  1005. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_adapter_registry.py +0 -0
  1006. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_ai_adapter.py +0 -0
  1007. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_ai_registry.py +0 -0
  1008. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_bandit.py +0 -0
  1009. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_benchmark_adapter.py +0 -0
  1010. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_codespell.py +0 -0
  1011. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_complexipy.py +0 -0
  1012. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_creosote.py +0 -0
  1013. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_factory.py +0 -0
  1014. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_health_mixin.py +0 -0
  1015. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_mdformat.py +0 -0
  1016. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_output_paths.py +0 -0
  1017. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pip_audit.py +0 -0
  1018. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pip_audit_adapter.py +0 -0
  1019. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_provider_chain.py +0 -0
  1020. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pyscn.py +0 -0
  1021. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_pyscn_adapter.py +0 -0
  1022. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_refurb_adapter.py +0 -0
  1023. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_ruff.py +0 -0
  1024. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_scalene.py +0 -0
  1025. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_semgrep.py +0 -0
  1026. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_skylos.py +0 -0
  1027. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_tool_adapter_base.py +0 -0
  1028. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_treesitter_adapter.py +0 -0
  1029. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_type_adapters.py +0 -0
  1030. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_vulture.py +0 -0
  1031. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/adapters/test_zuban_adapter.py +0 -0
  1032. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/base_test.py +0 -0
  1033. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/README.md +0 -0
  1034. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/handlers/test_health_handler.py +0 -0
  1035. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_cache_handlers.py +0 -0
  1036. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_coverage_ratchet_cli.py +0 -0
  1037. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_profile_handlers.py +0 -0
  1038. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/cli/test_semantic_handlers.py +0 -0
  1039. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/README.md +0 -0
  1040. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/test_loader.py +0 -0
  1041. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/test_pip_audit_ignores.py +0 -0
  1042. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/config/test_tool_commands.py +0 -0
  1043. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/conftest.py +0 -0
  1044. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/conftest_extensions.py +0 -0
  1045. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/conftest_reset.py +0 -0
  1046. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/README.md +0 -0
  1047. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_async_workflow_orchestrator.py +0 -0
  1048. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_console.py +0 -0
  1049. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_file_lifecycle.py +0 -0
  1050. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_proactive_workflow.py +0 -0
  1051. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_retry.py +0 -0
  1052. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_safe_directory_creator_unit.py +0 -0
  1053. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_self_heal.py +0 -0
  1054. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_session_controller.py +0 -0
  1055. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_timeout_manager.py +0 -0
  1056. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/core/test_workflow_orchestrator.py +0 -0
  1057. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/README.md +0 -0
  1058. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/__init__.py +0 -0
  1059. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/comments_sample.txt +0 -0
  1060. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/docstrings_sample.txt +0 -0
  1061. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/expected_comments_sample.txt +0 -0
  1062. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/init.py +0 -0
  1063. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/data/test_repository.py +0 -0
  1064. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/docs/HEALTH_METRICS_TESTING_SUMMARY.md +0 -0
  1065. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/docs/README.md +0 -0
  1066. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/docs/TEST_IMPLEMENTATION_PLAN.md +0 -0
  1067. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/e2e/__init__.py +0 -0
  1068. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/e2e/test_bodai_ratchet_adoption.py +0 -0
  1069. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/README.md +0 -0
  1070. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/__init__.py +0 -0
  1071. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/test_config.py +0 -0
  1072. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/exceptions/test_tool_execution_error.py +0 -0
  1073. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/README.md +0 -0
  1074. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/test_hook_executor_coverage.py +0 -0
  1075. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/test_no_issues_for_failed_hook.py +0 -0
  1076. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/executors/test_progress_hook_executor.py +0 -0
  1077. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/ast_transform/surgeons/test_libcst_surgeon.py +0 -0
  1078. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_anti_pattern.py +0 -0
  1079. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_architecture.py +0 -0
  1080. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_dead_code.py +0 -0
  1081. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_dependency.py +0 -0
  1082. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_documentation.py +0 -0
  1083. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_dry.py +0 -0
  1084. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_formatting.py +0 -0
  1085. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_import_optimization.py +0 -0
  1086. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_performance.py +0 -0
  1087. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_planning.py +0 -0
  1088. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_refactoring.py +0 -0
  1089. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_refurb.py +0 -0
  1090. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_security.py +0 -0
  1091. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_semantic.py +0 -0
  1092. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_test_creation.py +0 -0
  1093. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_test_specialist.py +0 -0
  1094. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixers/test_type_errors.py +0 -0
  1095. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixtures/_tool_groups_mapping.json +0 -0
  1096. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixtures/_tool_registry_keys.json +0 -0
  1097. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/fixtures/full/tool_names.json +0 -0
  1098. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/README.md +0 -0
  1099. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/__init__.py +0 -0
  1100. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/adapters/__init__.py +0 -0
  1101. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/adapters/test_adapter_parser_integration.py +0 -0
  1102. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/__init__.py +0 -0
  1103. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/test_performance_monitor.py +0 -0
  1104. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/test_phase_coordinator.py +0 -0
  1105. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/core/test_resource_manager.py +0 -0
  1106. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/dhara_mcp_adapter_learner_test.py +0 -0
  1107. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/dhara_mcp_client_test.py +0 -0
  1108. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_ai_fix_loop_acceptance.md +0 -0
  1109. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_aio_thread_leak_regression.py +0 -0
  1110. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_dhara_integration.py +0 -0
  1111. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_eventbridge_e2e.py +0 -0
  1112. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_migration.py +0 -0
  1113. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_oneiric_transport_roundtrip.py +0 -0
  1114. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_phase8_direct_invocation.py +0 -0
  1115. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_phase_coordinator_integration.py +0 -0
  1116. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_sandboxed_fix.py +0 -0
  1117. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_session_buddy_integration.py +0 -0
  1118. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_skills_cli_e2e.py +0 -0
  1119. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/test_tier_architecture_e2e.py +0 -0
  1120. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/tools/__init__.py +0 -0
  1121. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/integration/tools/test_tool_parser_integration.py +0 -0
  1122. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/README.md +0 -0
  1123. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/test_managers_constants.py +0 -0
  1124. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/test_test_executor_regex.py +0 -0
  1125. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/managers/test_test_manager_ratchet.py +0 -0
  1126. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp/test_client_runner.py +0 -0
  1127. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp/test_error_analyzer.py +0 -0
  1128. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp/test_task_manager.py +0 -0
  1129. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/__init__.py +0 -0
  1130. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/__init__.py +0 -0
  1131. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_execution_tools.py +0 -0
  1132. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_monitoring_tools.py +0 -0
  1133. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_pycharm_tools.py +0 -0
  1134. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_semantic_tools.py +0 -0
  1135. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/mcp_test_helpers/tools/test_workflow_executor.py +0 -0
  1136. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_adapter_metadata.py +0 -0
  1137. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_config.py +0 -0
  1138. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_config_adapter.py +0 -0
  1139. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_enums.py +0 -0
  1140. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_fix_plan.py +0 -0
  1141. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_git_analytics.py +0 -0
  1142. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_health_check.py +0 -0
  1143. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_protocols.py +0 -0
  1144. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_pydantic_models.py +0 -0
  1145. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_qa_config.py +0 -0
  1146. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_qa_results.py +0 -0
  1147. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_resource_protocols.py +0 -0
  1148. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_results.py +0 -0
  1149. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_semantic_models.py +0 -0
  1150. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_session_metrics.py +0 -0
  1151. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_task.py +0 -0
  1152. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_test_models.py +0 -0
  1153. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_tool_config.py +0 -0
  1154. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/models/test_validation_contracts.py +0 -0
  1155. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_complexipy_parser.py +0 -0
  1156. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_json_parsers.py +0 -0
  1157. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_json_parsers_extended.py +0 -0
  1158. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_json_parsers_gaps.py +0 -0
  1159. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_lychee_parser.py +0 -0
  1160. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_parser_factory.py +0 -0
  1161. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_regex_parsers.py +0 -0
  1162. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/parsers/test_ruff_parser_edge_cases.py +0 -0
  1163. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/performance/README.md +0 -0
  1164. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/performance/test_core_performance.py +0 -0
  1165. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/property/test_quality_property.py.disabled +0 -0
  1166. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/run_tests.py +0 -0
  1167. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/scripts/README.md +0 -0
  1168. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/scripts/__init__.py +0 -0
  1169. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/scripts/run_test_suite.py +0 -0
  1170. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/README.md +0 -0
  1171. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/patterns/core_test.py +0 -0
  1172. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_async_file_io.py +0 -0
  1173. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_cache.py +0 -0
  1174. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_config_integrity.py +0 -0
  1175. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_coverage_badge_service.py +0 -0
  1176. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_coverage_ratchet.py +0 -0
  1177. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_chunker.py +0 -0
  1178. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_filter.py +0 -0
  1179. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_hasher.py +0 -0
  1180. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_io_service.py +0 -0
  1181. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_file_modifier.py +0 -0
  1182. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_filesystem.py +0 -0
  1183. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_git.py +0 -0
  1184. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_incremental_scanner.py +0 -0
  1185. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_input_validator.py +0 -0
  1186. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_intelligent_commit.py +0 -0
  1187. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_logging.py +0 -0
  1188. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_marker_tracker.py +0 -0
  1189. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_memory_aware_scanner.py +0 -0
  1190. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_client.py +0 -0
  1191. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_orchestrator.py +0 -0
  1192. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_router.py +0 -0
  1193. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_pool_scaler.py +0 -0
  1194. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_regex_patterns.py +0 -0
  1195. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_safe_code_modifier.py +0 -0
  1196. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_secure_subprocess.py +0 -0
  1197. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_smart_file_filter_v2.py +0 -0
  1198. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_swarm_client.py +0 -0
  1199. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_thread_safe_status_collector.py +0 -0
  1200. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/services/test_ulid_generator.py +0 -0
  1201. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test___main__.py +0 -0
  1202. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test__git_utils.py +0 -0
  1203. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_actual_semgrep.py +0 -0
  1204. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_api.py +0 -0
  1205. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor.py +0 -0
  1206. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_concurrency.py +0 -0
  1207. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_parsing.py +0 -0
  1208. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_process_tracking.py +0 -0
  1209. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_hook_executor_ty.py +0 -0
  1210. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_async_semgrep.py +0 -0
  1211. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_autofix_coordinator.py +0 -0
  1212. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_base.py +0 -0
  1213. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_changelog_generation.py +0 -0
  1214. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_changelog_preview_escape.py +0 -0
  1215. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_added_large_files.py +0 -0
  1216. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_ast.py +0 -0
  1217. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_json.py +0 -0
  1218. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_toml.py +0 -0
  1219. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_check_yaml.py +0 -0
  1220. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_ci_feedback.py +0 -0
  1221. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_claude_simple.py +0 -0
  1222. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli/README.md +0 -0
  1223. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli/__init__.py +0 -0
  1224. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli/test_global_lock_options.py +0 -0
  1225. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_cli_entry_point.py +0 -0
  1226. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_code_cleaner_comprehensive.py +0 -0
  1227. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_command_execution_service.py +0 -0
  1228. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_config_cleanup.py +0 -0
  1229. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_config_cleanup_drift_repair.py +0 -0
  1230. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_config_service.py +0 -0
  1231. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_console.py +0 -0
  1232. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_core_performance.py +0 -0
  1233. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_data_models.py +0 -0
  1234. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_decorators.py +0 -0
  1235. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_decorators_utils.py +0 -0
  1236. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_doc_drift.py +0 -0
  1237. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_doc_updates.py +0 -0
  1238. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/README.md +0 -0
  1239. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/README.md +0 -0
  1240. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/README.md +0 -0
  1241. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/api-reference.md +0 -0
  1242. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/getting-started.md +0 -0
  1243. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/index.md +0 -0
  1244. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/stylesheets/README.md +0 -0
  1245. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/docs/stylesheets/extra.css +0 -0
  1246. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docs_site/site/mkdocs.yml +0 -0
  1247. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_docstring_conversion.py +0 -0
  1248. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_documentation_cleanup.py +0 -0
  1249. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_dual_output_generator.py +0 -0
  1250. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_edge_cases.py +0 -0
  1251. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_filesystem.py +0 -0
  1252. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_filesystem_comprehensive.py +0 -0
  1253. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_filesystem_coverage.py +0 -0
  1254. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_enhanced_reporting.py +0 -0
  1255. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_error_handling.py +0 -0
  1256. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_error_handling_decorators.py +0 -0
  1257. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_errors.py +0 -0
  1258. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_executors/README.md +0 -0
  1259. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_executors/__init__.py +0 -0
  1260. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_executors/test_lock_integration.py +0 -0
  1261. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_fast_hooks_behavior.py +0 -0
  1262. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_fast_iteration_mode.py +0 -0
  1263. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_file_io_service.py +0 -0
  1264. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_file_lifecycle.py +0 -0
  1265. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_filesystem_coverage.py +0 -0
  1266. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_final_validation.py +0 -0
  1267. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_git_cleanup.py +0 -0
  1268. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_global_lock_config.py +0 -0
  1269. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_health_check.py +0 -0
  1270. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_hook_executor.py +0 -0
  1271. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_hook_lock_manager.py +0 -0
  1272. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_hook_manager_simple.py +0 -0
  1273. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_incremental_executor.py +0 -0
  1274. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_individual_hook_executor.py +0 -0
  1275. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_initialization_precommit_integration.py +0 -0
  1276. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_initialization_service.py +0 -0
  1277. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_input_validation.py +0 -0
  1278. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_integration_new_hooks.py +0 -0
  1279. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_interactive.py +0 -0
  1280. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_json_hooks.py +0 -0
  1281. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_large_modules_coverage.py +0 -0
  1282. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_lsp_aware_hook_executor.py +0 -0
  1283. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_core_tools.py +0 -0
  1284. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_monitoring_tools.py +0 -0
  1285. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_semantic_tools.py +0 -0
  1286. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_server.py +0 -0
  1287. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_server_handlers.py +0 -0
  1288. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_utility_tools.py +0 -0
  1289. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mcp_workflow_executor.py +0 -0
  1290. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_mkdocs_integration.py +0 -0
  1291. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_comprehensive.py +0 -0
  1292. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_config_adapter_coverage.py +0 -0
  1293. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_focused.py +0 -0
  1294. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_models_task_coverage.py +0 -0
  1295. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_modernized_code.py +0 -0
  1296. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_performance.py +0 -0
  1297. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_performance_monitor.py +0 -0
  1298. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_phase2_scenarios.py +0 -0
  1299. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_phase_coordinator.py +0 -0
  1300. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_plugins_coverage.py +0 -0
  1301. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_proactive_workflow.py +0 -0
  1302. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_profiler.py +0 -0
  1303. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_profiler_integration.py +0 -0
  1304. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_property_based.py +0 -0
  1305. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_publish_manager_coverage.py +0 -0
  1306. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_publish_workflow.py +0 -0
  1307. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_py313.py +0 -0
  1308. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_adapters_protocol_compliance.py +0 -0
  1309. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_config_models.py +0 -0
  1310. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_tool_adapters.py +0 -0
  1311. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_qa_utility_check_adapter.py +0 -0
  1312. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_reference_generator.py +0 -0
  1313. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_regex_patterns.py +0 -0
  1314. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_resource_manager.py +0 -0
  1315. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_retry.py +0 -0
  1316. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_secure_path_utils.py +0 -0
  1317. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_security_audit.py +0 -0
  1318. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_security_hardening.py +0 -0
  1319. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_semgrep_parsing.py +0 -0
  1320. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_semgrep_parsing_after_refactor.py +0 -0
  1321. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_server_panels.py +0 -0
  1322. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_service_watchdog.py +0 -0
  1323. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_services_coverage.py +0 -0
  1324. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_buddy_git_metrics.py +0 -0
  1325. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_coordinator.py +0 -0
  1326. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_coordinator_comprehensive.py +0 -0
  1327. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_session_coordinator_coverage.py +0 -0
  1328. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_shared_contracts.py +0 -0
  1329. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_simple_workflow.py +0 -0
  1330. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_skip_hooks_functionality.py +0 -0
  1331. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_skip_hooks_simple.py +0 -0
  1332. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_skylos_adapter.py +0 -0
  1333. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_structured_logging.py +0 -0
  1334. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_syntax_validation.py +0 -0
  1335. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_terminal_restoration.py +0 -0
  1336. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_terminal_state.py +0 -0
  1337. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_test_command_builder_workers.py +0 -0
  1338. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_test_selection.py +0 -0
  1339. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_timeout_manager.py +0 -0
  1340. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_timeout_system.py +0 -0
  1341. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_tool_filter.py +0 -0
  1342. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_updated_semgrep.py +0 -0
  1343. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_validate_input_validator_patterns.py +0 -0
  1344. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_validate_regex_patterns.py +0 -0
  1345. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_validate_regex_patterns_tool.py +0 -0
  1346. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_version_analyzer.py +0 -0
  1347. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_version_bump_analyzer.py +0 -0
  1348. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_websocket_auth.py +0 -0
  1349. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_workflow_fast_hooks.py +0 -0
  1350. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_workflow_integration.py +0 -0
  1351. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/test_workflow_orchestrator.py +0 -0
  1352. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/README.md +0 -0
  1353. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/__init__.py +0 -0
  1354. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_added_large_files.py +0 -0
  1355. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_ast.py +0 -0
  1356. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_json.py +0 -0
  1357. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_jsonschema.py +0 -0
  1358. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_toml.py +0 -0
  1359. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_check_yaml.py +0 -0
  1360. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_codespell_wrapper.py +0 -0
  1361. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_end_of_file_fixer.py +0 -0
  1362. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_format_json.py +0 -0
  1363. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_linkcheckmd_wrapper.py +0 -0
  1364. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_local_link_checker.py +0 -0
  1365. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_mdformat_wrapper.py +0 -0
  1366. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_trailing_whitespace.py +0 -0
  1367. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_audit.py +0 -0
  1368. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_classify.py +0 -0
  1369. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_imports.py +0 -0
  1370. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_narrow.py +0 -0
  1371. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_ty_ratchet.py +0 -0
  1372. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/tools/test_validate_input_validator_patterns.py +0 -0
  1373. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/README.md +0 -0
  1374. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/__init__.py +0 -0
  1375. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/__init__.py +0 -0
  1376. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/complexity/__init__.py +0 -0
  1377. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/complexity/test_complexipy.py +0 -0
  1378. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/performance/__init__.py +0 -0
  1379. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/performance/test_scalene_adapter.py +0 -0
  1380. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/refactor/__init__.py +0 -0
  1381. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/refactor/test_refurb.py +0 -0
  1382. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_bandit_adapter.py +0 -0
  1383. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_betterleaks_adapter.py +0 -0
  1384. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_cohesion_adapter.py +0 -0
  1385. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_factory.py +0 -0
  1386. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_pymetrica_adapter.py +0 -0
  1387. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_pyrefly_adapter.py +0 -0
  1388. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_pyscn_cc_suppression.py +0 -0
  1389. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_refurb_adapter.py +0 -0
  1390. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_ruff_adapter.py +0 -0
  1391. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_sast_base_direct.py +0 -0
  1392. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_semgrep_adapter.py +0 -0
  1393. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_skylos_adapter.py +0 -0
  1394. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_syrupy_adapter.py +0 -0
  1395. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/adapters/test_zuban_adapter.py +0 -0
  1396. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/__init__.py +0 -0
  1397. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/handlers/__init__.py +0 -0
  1398. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/handlers/test_analytics.py +0 -0
  1399. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_anti_ai_flavor_cli.py +0 -0
  1400. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_audit_skills.py +0 -0
  1401. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_docs_cli.py +0 -0
  1402. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_facade.py +0 -0
  1403. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_options_allow_unsafe.py +0 -0
  1404. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_pr0_replay.py +0 -0
  1405. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_rich_utils.py +0 -0
  1406. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_skills_refresh.py +0 -0
  1407. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/cli/test_version.py +0 -0
  1408. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/clone/test_clone_grouper.py +0 -0
  1409. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/clone/test_extraction_classifier.py +0 -0
  1410. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/clone/test_refactor_engine.py +0 -0
  1411. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/__init__.py +0 -0
  1412. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_ai_settings.py +0 -0
  1413. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_eventbridge_settings.py +0 -0
  1414. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_hook_definition_allow_unsafe.py +0 -0
  1415. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_hook_settings_ruff_unsafe.py +0 -0
  1416. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_hooks_config.py +0 -0
  1417. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/config/test_tool_commands_ruff_unsafe.py +0 -0
  1418. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/conftest.py +0 -0
  1419. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/__init__.py +0 -0
  1420. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_adapter_learning_integration.py +0 -0
  1421. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_autofix_coordinator.py +0 -0
  1422. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_eventbridge_resolver.py +0 -0
  1423. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator.py +0 -0
  1424. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator_additional.py +0 -0
  1425. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator_flows.py +0 -0
  1426. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_phase_coordinator_set_event_publisher.py +0 -0
  1427. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_pr0_crash_recovery.py +0 -0
  1428. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_resource_manager.py +0 -0
  1429. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_session_coordinator.py +0 -0
  1430. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_session_coordinator_enhanced.py +0 -0
  1431. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_structured_data_parser.py +0 -0
  1432. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/core/test_workflow_pipeline_eventbridge_wiring.py +0 -0
  1433. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/crackerjack/__init__.py +0 -0
  1434. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/crackerjack/hooks/__init__.py +0 -0
  1435. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/documentation/__init__.py +0 -0
  1436. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/documentation/test_docstring_enricher.py +0 -0
  1437. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/handlers/__init__.py +0 -0
  1438. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/integration/__init__.py +0 -0
  1439. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mahavishnu/tenancy/__init__.py +0 -0
  1440. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mahavishnu/tenancy/test_tenant_context_packs.py +0 -0
  1441. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/__init__.py +0 -0
  1442. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_async_orchestration.py +0 -0
  1443. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_failure_parsing.py +0 -0
  1444. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_hook_manager.py +0 -0
  1445. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_hook_manager_extended.py +0 -0
  1446. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager.py +0 -0
  1447. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager_extended.py +0 -0
  1448. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager_gaps.py +0 -0
  1449. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_publish_manager_pyi_auth.py +0 -0
  1450. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_quality_execution.py +0 -0
  1451. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_executor.py +0 -0
  1452. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_manager.py +0 -0
  1453. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_manager_coverage.py +0 -0
  1454. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_test_progress.py +0 -0
  1455. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/managers/test_xdist_fallback.py +0 -0
  1456. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/__init__.py +0 -0
  1457. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_mcp_tool_drift.py +0 -0
  1458. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_otel_tools_query_local_traces.py +0 -0
  1459. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_rate_limiter.py +0 -0
  1460. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/test_state.py +0 -0
  1461. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/tools/__init__.py +0 -0
  1462. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/mcp/tools/test_workspace_tools.py +0 -0
  1463. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/models/__init__.py +0 -0
  1464. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/models/fixtures/json_output_v1.json +0 -0
  1465. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/models/test_issues.py +0 -0
  1466. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/__init__.py +0 -0
  1467. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_base.py +0 -0
  1468. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_factory.py +0 -0
  1469. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_json_parsers.py +0 -0
  1470. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_lychee_parser.py +0 -0
  1471. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_regex_parsers.py +0 -0
  1472. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/parsers/test_regex_parsers_property.py +0 -0
  1473. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/qa/__init__.py +0 -0
  1474. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/qa/test_quality_metrics.py.disabled +0 -0
  1475. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/runtime/__init__.py +0 -0
  1476. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/runtime/test_oneiric_workflow.py +0 -0
  1477. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/__init__.py +0 -0
  1478. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/__init__.py +0 -0
  1479. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_advanced_optimizer.py +0 -0
  1480. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_contextual_assistant.py +0 -0
  1481. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_embeddings.py +0 -0
  1482. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_intelligent_commit.py +0 -0
  1483. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/ai/test_ai_predictive_analytics.py +0 -0
  1484. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/__init__.py +0 -0
  1485. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_anti_ai_flavor.py +0 -0
  1486. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_anti_ai_flavor_adapter.py +0 -0
  1487. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_quality_baseline_enhanced.py +0 -0
  1488. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/quality/test_quality_intelligence.py +0 -0
  1489. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_api_extractor.py +0 -0
  1490. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_parsers_coverage.py +0 -0
  1491. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_service.py +0 -0
  1492. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_service_coverage.py +0 -0
  1493. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_template_coverage.py +0 -0
  1494. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_config_template_ruff_unsafe.py +0 -0
  1495. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_connection_pool_coverage.py +0 -0
  1496. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_coverage_ratchet.py +0 -0
  1497. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_debug.py +0 -0
  1498. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_dependency_analyzer.py +0 -0
  1499. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_documentation_service.py +0 -0
  1500. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_enhanced_filesystem.py +0 -0
  1501. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_failure_recorder.py +0 -0
  1502. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_failure_trend_noise_gate.py +0 -0
  1503. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_filesystem.py +0 -0
  1504. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_git.py +0 -0
  1505. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_git_cleanup.py +0 -0
  1506. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_heatmap_generator.py +0 -0
  1507. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_import_resolution.py +0 -0
  1508. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_import_resolution_direct.py +0 -0
  1509. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_improvement_generator.py +0 -0
  1510. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_input_validator.py +0 -0
  1511. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_keyring_raw.py +0 -0
  1512. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_log_manager.py +0 -0
  1513. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_lsp_client.py +0 -0
  1514. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_memory_optimizer.py +0 -0
  1515. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_message_deduplicator.py +0 -0
  1516. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_parallel_executor.py +0 -0
  1517. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pattern_detector.py +0 -0
  1518. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_predictive_analytics.py +0 -0
  1519. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pypi_auth.py +0 -0
  1520. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pypi_auth_providers.py +0 -0
  1521. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_pypistats_service.py +0 -0
  1522. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_regex_utils.py +0 -0
  1523. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_safe_code_modifier.py +0 -0
  1524. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_secure_status_formatter.py +0 -0
  1525. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_secure_subprocess.py +0 -0
  1526. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_security.py +0 -0
  1527. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_security_logger.py +0 -0
  1528. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_self_patcher.py +0 -0
  1529. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_self_patcher_deny_paths.py +0 -0
  1530. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_smart_scheduling_coverage.py +0 -0
  1531. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_status_security.py +0 -0
  1532. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_thread_safe_status_collector.py +0 -0
  1533. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_tool_version_service.py +0 -0
  1534. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_tool_version_service_direct.py +0 -0
  1535. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_ulid_generator.py +0 -0
  1536. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_ulid_generator_direct.py +0 -0
  1537. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_validation_rate_limiter.py +0 -0
  1538. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_vector_store.py +0 -0
  1539. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_vector_store_coverage.py +0 -0
  1540. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_version_analyzer.py +0 -0
  1541. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/test_version_checker_coverage.py +0 -0
  1542. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/__init__.py +0 -0
  1543. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/test_coverage_manager.py +0 -0
  1544. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/test_test_result_parser_statistics.py +0 -0
  1545. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/services/testing/test_test_result_renderer.py +0 -0
  1546. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/__init__.py +0 -0
  1547. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/test_adapter.py +0 -0
  1548. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/test_adapter_runners.py +0 -0
  1549. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/shell/test_session_compat.py +0 -0
  1550. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/skills/__init__.py +0 -0
  1551. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/skills/test_health.py +0 -0
  1552. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_adapter_observability.py +0 -0
  1553. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_api.py +0 -0
  1554. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_cli_comprehensive.py +0 -0
  1555. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_code_cleaner.py +0 -0
  1556. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_comprehensive_type_hooks.py +0 -0
  1557. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_config_settings.py +0 -0
  1558. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_constants.py +0 -0
  1559. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_contracts.py +0 -0
  1560. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_coverage_targets.py +0 -0
  1561. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_defaults.py +0 -0
  1562. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_discover_query.py +0 -0
  1563. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_discover_tools_deletion.py +0 -0
  1564. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_doc_cli.py +0 -0
  1565. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_error_scenarios.py.disabled +0 -0
  1566. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_eventbridge_adapter.py +0 -0
  1567. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_eventbridge_publisher.py +0 -0
  1568. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_frontmatter_validator.py +0 -0
  1569. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_hook_executor.py +0 -0
  1570. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_hypothesis_lock.py +0 -0
  1571. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_lychee_hook.py +0 -0
  1572. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_mermaid_renders.py +0 -0
  1573. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_model_helpers.py +0 -0
  1574. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_parallel_workflow.py +0 -0
  1575. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_phase_task_verbose.py +0 -0
  1576. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_process_monitor.py +0 -0
  1577. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_profile_loader.py +0 -0
  1578. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_progress_snapshots.py +0 -0
  1579. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_safe_typer_loader.py +0 -0
  1580. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_sop_evolution.py +0 -0
  1581. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_timeout_manager_enhanced.py +0 -0
  1582. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_tool_profile.py +0 -0
  1583. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_uuid_utils.py +0 -0
  1584. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_validate_frontmatter.py +0 -0
  1585. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_websocket_auth.py +0 -0
  1586. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/test_websocket_server.py +0 -0
  1587. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/__init__.py +0 -0
  1588. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_check_json.py +0 -0
  1589. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_check_toml.py +0 -0
  1590. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_check_yaml.py +0 -0
  1591. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_codespell_wrapper.py +0 -0
  1592. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_git_utils.py +0 -0
  1593. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_mdformat_wrapper.py +0 -0
  1594. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_tools_coverage.py +0 -0
  1595. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/tools/test_ty_ignore_syntax.py +0 -0
  1596. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/utils/__init__.py +0 -0
  1597. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/unit/utils/test_issue_detection.py +0 -0
  1598. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/utils/issue_detection_test.py +0 -0
  1599. {crackerjack-0.76.0 → crackerjack-0.76.2}/tests/websocket/test_server.py +0 -0
  1600. {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.0
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.16.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
  [![Runtime: oneiric](https://img.shields.io/badge/runtime-oneiric-6e5494)](https://github.com/lesleslie/oneiric)
89
89
  [![Framework: FastMCP](https://img.shields.io/badge/framework-FastMCP-0ea5e9)](https://github.com/jlowin/fastmcp)
90
90
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
91
- [![Python: 3.13+](https://img.shields.io/badge/python-3.13%2B-green)](https://www.python.org/downloads/)
91
+ [![Python: 3.14+](https://img.shields.io/badge/python-3.14%2B-green)](https://www.python.org/downloads/)
92
92
 
93
93
  ## Bodai Ecosystem Role
94
94
 
@@ -4,7 +4,7 @@
4
4
  [![Runtime: oneiric](https://img.shields.io/badge/runtime-oneiric-6e5494)](https://github.com/lesleslie/oneiric)
5
5
  [![Framework: FastMCP](https://img.shields.io/badge/framework-FastMCP-0ea5e9)](https://github.com/jlowin/fastmcp)
6
6
  [![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv)
7
- [![Python: 3.13+](https://img.shields.io/badge/python-3.13%2B-green)](https://www.python.org/downloads/)
7
+ [![Python: 3.14+](https://img.shields.io/badge/python-3.14%2B-green)](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
- mcp_settings = CrackerjackMCPSettings.load_for_crackerjack()
93
+ # MCPServerCLIFactory was replaced by CrackerjackCLI (oneiric 0.19
94
+ # BodaiCLIBase). mcp_settings is no longer needed at module level.
95
95
 
96
- factory = MCPServerCLIFactory(
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
- @app.callback(invoke_without_command=True)
139
- def version_option(
140
- version: bool = typer.Option(False, "--version", help="Show version and exit"),
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
- @app.command("health")
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 = typer.Option(
777
- None,
778
- "--component",
779
- "-c",
780
- help="Specific component to check (adapters, managers, services, all)",
781
- ),
782
- json_output: bool = typer.Option(
783
- False,
784
- "--json",
785
- help="Output results as JSON",
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 = Path.cwd()
805
- exit_code = handle_health_check(
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
- return ["uv", "run", "refurb", "."]
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,
@@ -104,7 +104,7 @@ class TOMLParser:
104
104
  return tomli_w.dumps(config)
105
105
 
106
106
  try:
107
- import toml
107
+ import toml # ty: ignore[unresolved-import]
108
108
 
109
109
  return t.cast(str, toml.dumps(config))
110
110
  except ImportError:
@@ -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://docs.anthropic.com/claude-code/mcp) - Official Claude Code integration
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
- - [`.claude/decisions/README.md`](../../.claude/decisions/README.md) — the decision index; Status column re-derived from per-decision frontmatter in Phase P5.
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.0"
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.16.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"