overkill 0.5.0__tar.gz → 0.5.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 (87) hide show
  1. {overkill-0.5.0 → overkill-0.5.2}/PKG-INFO +8 -1
  2. {overkill-0.5.0 → overkill-0.5.2}/README.md +7 -0
  3. {overkill-0.5.0 → overkill-0.5.2}/pyproject.toml +1 -1
  4. overkill-0.5.2/src/mr_overkill/__init__.py +8 -0
  5. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/cli.py +2 -1
  6. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/models.py +3 -6
  7. {overkill-0.5.0 → overkill-0.5.2}/uv.lock +1 -1
  8. overkill-0.5.0/src/mr_overkill/__init__.py +0 -3
  9. {overkill-0.5.0 → overkill-0.5.2}/.github/workflows/publish.yml +0 -0
  10. {overkill-0.5.0 → overkill-0.5.2}/.github/workflows/test.yml +0 -0
  11. {overkill-0.5.0 → overkill-0.5.2}/.gitignore +0 -0
  12. {overkill-0.5.0 → overkill-0.5.2}/.overkillrc.example +0 -0
  13. {overkill-0.5.0 → overkill-0.5.2}/.python-version +0 -0
  14. {overkill-0.5.0 → overkill-0.5.2}/.refactorsuggestrc.example +0 -0
  15. {overkill-0.5.0 → overkill-0.5.2}/AGENTS.md +0 -0
  16. {overkill-0.5.0 → overkill-0.5.2}/CLAUDE.md +0 -0
  17. {overkill-0.5.0 → overkill-0.5.2}/GEMINI.md +0 -0
  18. {overkill-0.5.0 → overkill-0.5.2}/LICENSE +0 -0
  19. {overkill-0.5.0 → overkill-0.5.2}/install.sh +0 -0
  20. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-fix-execute.prompt.md +0 -0
  21. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-fix.prompt.md +0 -0
  22. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-refactor-fix-execute.prompt.md +0 -0
  23. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-refactor-fix.prompt.md +0 -0
  24. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-refactor-full.prompt.md +0 -0
  25. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-refactor-layer.prompt.md +0 -0
  26. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-refactor-micro.prompt.md +0 -0
  27. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-refactor-module.prompt.md +0 -0
  28. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-review.prompt.md +0 -0
  29. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/claude-self-review.prompt.md +0 -0
  30. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/codex-refactor-full.prompt.md +0 -0
  31. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/codex-refactor-layer.prompt.md +0 -0
  32. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/codex-refactor-micro.prompt.md +0 -0
  33. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/codex-refactor-module.prompt.md +0 -0
  34. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/codex-review.prompt.md +0 -0
  35. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/gemini-refactor-full.prompt.md +0 -0
  36. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/gemini-refactor-layer.prompt.md +0 -0
  37. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/gemini-refactor-micro.prompt.md +0 -0
  38. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/gemini-refactor-module.prompt.md +0 -0
  39. {overkill-0.5.0 → overkill-0.5.2}/prompts/active/gemini-review.prompt.md +0 -0
  40. {overkill-0.5.0 → overkill-0.5.2}/prompts/reference/claude-code-review-plugin.md +0 -0
  41. {overkill-0.5.0 → overkill-0.5.2}/prompts/reference/claude-security-review.md +0 -0
  42. {overkill-0.5.0 → overkill-0.5.2}/prompts/reference/codex-review-original.md +0 -0
  43. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/__main__.py +0 -0
  44. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/agents.py +0 -0
  45. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/budget/__init__.py +0 -0
  46. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/budget/claude.py +0 -0
  47. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/budget/codex.py +0 -0
  48. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/budget/gemini.py +0 -0
  49. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/budget_report.py +0 -0
  50. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/classify.py +0 -0
  51. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/data/__init__.py +0 -0
  52. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/git_ops.py +0 -0
  53. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/init.py +0 -0
  54. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/json_extract.py +0 -0
  55. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/loop_engine.py +0 -0
  56. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/refactor_suggest.py +0 -0
  57. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/reporting.py +0 -0
  58. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/resume.py +0 -0
  59. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/retry.py +0 -0
  60. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/review_loop.py +0 -0
  61. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/self_review.py +0 -0
  62. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/time_utils.py +0 -0
  63. {overkill-0.5.0 → overkill-0.5.2}/src/mr_overkill/two_step_fix.py +0 -0
  64. {overkill-0.5.0 → overkill-0.5.2}/tests/__init__.py +0 -0
  65. {overkill-0.5.0 → overkill-0.5.2}/tests/conftest.py +0 -0
  66. {overkill-0.5.0 → overkill-0.5.2}/tests/test_agents.py +0 -0
  67. {overkill-0.5.0 → overkill-0.5.2}/tests/test_budget_claude.py +0 -0
  68. {overkill-0.5.0 → overkill-0.5.2}/tests/test_budget_codex.py +0 -0
  69. {overkill-0.5.0 → overkill-0.5.2}/tests/test_budget_gemini.py +0 -0
  70. {overkill-0.5.0 → overkill-0.5.2}/tests/test_budget_policy.py +0 -0
  71. {overkill-0.5.0 → overkill-0.5.2}/tests/test_budget_report.py +0 -0
  72. {overkill-0.5.0 → overkill-0.5.2}/tests/test_classify.py +0 -0
  73. {overkill-0.5.0 → overkill-0.5.2}/tests/test_cli.py +0 -0
  74. {overkill-0.5.0 → overkill-0.5.2}/tests/test_git_ops.py +0 -0
  75. {overkill-0.5.0 → overkill-0.5.2}/tests/test_init.py +0 -0
  76. {overkill-0.5.0 → overkill-0.5.2}/tests/test_integration.py +0 -0
  77. {overkill-0.5.0 → overkill-0.5.2}/tests/test_json_extract.py +0 -0
  78. {overkill-0.5.0 → overkill-0.5.2}/tests/test_loop_engine.py +0 -0
  79. {overkill-0.5.0 → overkill-0.5.2}/tests/test_refactor_suggest.py +0 -0
  80. {overkill-0.5.0 → overkill-0.5.2}/tests/test_reporting.py +0 -0
  81. {overkill-0.5.0 → overkill-0.5.2}/tests/test_resume.py +0 -0
  82. {overkill-0.5.0 → overkill-0.5.2}/tests/test_retry.py +0 -0
  83. {overkill-0.5.0 → overkill-0.5.2}/tests/test_review_loop.py +0 -0
  84. {overkill-0.5.0 → overkill-0.5.2}/tests/test_self_review.py +0 -0
  85. {overkill-0.5.0 → overkill-0.5.2}/tests/test_time_utils.py +0 -0
  86. {overkill-0.5.0 → overkill-0.5.2}/tests/test_two_step_fix.py +0 -0
  87. {overkill-0.5.0 → overkill-0.5.2}/uninstall.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: overkill
3
- Version: 0.5.0
3
+ Version: 0.5.2
4
4
  Summary: AI-powered code review loop — automates Codex review + Claude fix cycles
5
5
  Project-URL: Repository, https://github.com/modocai/mr-overkill
6
6
  Project-URL: Issues, https://github.com/modocai/mr-overkill/issues
@@ -50,6 +50,13 @@ This tool is designed to:
50
50
  # Install the package
51
51
  pip install overkill # or: uv tool install overkill / pipx install overkill
52
52
 
53
+ # As a project dependency (uv)
54
+ uv add overkill
55
+
56
+ # Upgrade
57
+ pip install --upgrade overkill
58
+ uv lock --upgrade-package overkill # uv projects
59
+
53
60
  # Initialize your project
54
61
  overkill init /path/to/your-project
55
62
  ```
@@ -27,6 +27,13 @@ This tool is designed to:
27
27
  # Install the package
28
28
  pip install overkill # or: uv tool install overkill / pipx install overkill
29
29
 
30
+ # As a project dependency (uv)
31
+ uv add overkill
32
+
33
+ # Upgrade
34
+ pip install --upgrade overkill
35
+ uv lock --upgrade-package overkill # uv projects
36
+
30
37
  # Initialize your project
31
38
  overkill init /path/to/your-project
32
39
  ```
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "overkill"
3
- version = "0.5.0"
3
+ version = "0.5.2"
4
4
  description = "AI-powered code review loop — automates Codex review + Claude fix cycles"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -0,0 +1,8 @@
1
+ """Mr. Overkill — AI-powered code review loop."""
2
+
3
+ try:
4
+ from importlib.metadata import version as _v
5
+
6
+ __version__ = _v("overkill")
7
+ except Exception:
8
+ __version__ = "0.0.0-dev"
@@ -125,7 +125,8 @@ def _load_rc_file(rc_name: str) -> dict[str, str]:
125
125
  continue
126
126
  m = kv_re.match(line)
127
127
  if m and m.group(1) in allowed_keys:
128
- key, val = m.group(1), (m.group(2) or m.group(3) or m.group(4) or "").strip()
128
+ raw = m.group(2) or m.group(3) or m.group(4) or ""
129
+ key, val = m.group(1), raw.strip()
129
130
  if key in boolean_keys and val.lower() not in ("true", "false"):
130
131
  msg = f"{rc_path.name}: {key} must be 'true' or 'false', got '{val}'."
131
132
  raise SystemExit(f"Error: {msg}")
@@ -8,7 +8,7 @@ in Wave 2 (retry, two_step_fix, loop_engine) without mutual imports.
8
8
  from __future__ import annotations
9
9
 
10
10
  from dataclasses import dataclass, field
11
- from enum import Enum
11
+ from enum import StrEnum
12
12
  from pathlib import Path
13
13
  from typing import Protocol
14
14
 
@@ -22,11 +22,8 @@ class BudgetTimeoutError(Exception):
22
22
  # ── Enums ────────────────────────────────────────────────────────────
23
23
 
24
24
 
25
- class _StrEnum(str, Enum):
26
- """Python 3.10-compatible base that preserves StrEnum value-style str()."""
27
-
28
- def __str__(self) -> str:
29
- return self.value
25
+ class _StrEnum(StrEnum):
26
+ """Thin base so all project enums share a single parent."""
30
27
 
31
28
 
32
29
  class ErrorClass(_StrEnum):
@@ -247,7 +247,7 @@ wheels = [
247
247
 
248
248
  [[package]]
249
249
  name = "overkill"
250
- version = "0.4.1"
250
+ version = "0.5.0"
251
251
  source = { editable = "." }
252
252
 
253
253
  [package.dev-dependencies]
@@ -1,3 +0,0 @@
1
- """Mr. Overkill — AI-powered code review loop."""
2
-
3
- __version__ = "0.2.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes