refactorai-core 3.2.3__tar.gz → 3.2.6__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 (55) hide show
  1. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/PKG-INFO +1 -1
  2. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/pyproject.toml +1 -1
  3. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/__init__.py +1 -1
  4. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/refactor_requests.py +18 -0
  5. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactorai_core.egg-info/PKG-INFO +1 -1
  6. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/README.md +0 -0
  7. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/apply.py +0 -0
  8. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/budgeting.py +0 -0
  9. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/capabilities.py +0 -0
  10. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/__init__.py +0 -0
  11. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/detectors.py +0 -0
  12. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/evidence.py +0 -0
  13. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/loader.py +0 -0
  14. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/models.py +0 -0
  15. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/packs/__init__.py +0 -0
  16. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/packs/hipaa-ephi.json +0 -0
  17. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/packs/iso27001-sdlc.json +0 -0
  18. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/packs/pci-payments.json +0 -0
  19. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/packs/privacy-gdpr.json +0 -0
  20. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/packs/soc2-core.json +0 -0
  21. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance/projection.py +0 -0
  22. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/compliance_settings.py +0 -0
  23. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/constitution.py +0 -0
  24. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/gate.py +0 -0
  25. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/host_toolchain.py +0 -0
  26. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/indexing.py +0 -0
  27. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/intent/__init__.py +0 -0
  28. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/intent/capture.py +0 -0
  29. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/intent/contract.py +0 -0
  30. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/merge_gate.py +0 -0
  31. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/model_catalog.py +0 -0
  32. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/models.py +0 -0
  33. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/op_classifier.py +0 -0
  34. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/op_feasibility.py +0 -0
  35. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/paths.py +0 -0
  36. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/refactor_ops.py +0 -0
  37. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/__init__.py +0 -0
  38. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/injection.py +0 -0
  39. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/loader.py +0 -0
  40. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/matcher.py +0 -0
  41. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/models.py +0 -0
  42. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/resolver.py +0 -0
  43. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/rules/system_rules.json +0 -0
  44. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/security/__init__.py +0 -0
  45. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/security/finding_merge.py +0 -0
  46. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/security/semgrep_parser.py +0 -0
  47. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/security/semgrep_runner.py +0 -0
  48. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/security/suppression.py +0 -0
  49. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/store.py +0 -0
  50. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactor_core/testcmd.py +0 -0
  51. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactorai_core.egg-info/SOURCES.txt +0 -0
  52. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactorai_core.egg-info/dependency_links.txt +0 -0
  53. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactorai_core.egg-info/requires.txt +0 -0
  54. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/refactorai_core.egg-info/top_level.txt +0 -0
  55. {refactorai_core-3.2.3 → refactorai_core-3.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: refactorai-core
3
- Version: 3.2.3
3
+ Version: 3.2.6
4
4
  Summary: Public client core for the refactor platform: indexing, constitution parsing, models, gate evaluation, rules, security prefilter, RR/compliance classification. Contains no proprietary inference engine.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "refactorai-core"
3
- version = "3.2.3"
3
+ version = "3.2.6"
4
4
  description = "Public client core for the refactor platform: indexing, constitution parsing, models, gate evaluation, rules, security prefilter, RR/compliance classification. Contains no proprietary inference engine."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -24,4 +24,4 @@ __all__ = [
24
24
  "__version__",
25
25
  ]
26
26
 
27
- __version__ = "3.2.3"
27
+ __version__ = "3.2.6"
@@ -60,6 +60,8 @@ APPLIED = "applied"
60
60
  DENIED = "denied"
61
61
  FAILED = "failed"
62
62
  DEFERRED = "deferred"
63
+ # R29: an applied RR whose per-request commit was reverted via ``git revert``.
64
+ REVERTED = "reverted"
63
65
 
64
66
  MAX_ATTEMPTS = 3
65
67
  _RENAME_WITH_KIND_RE = re.compile(
@@ -459,6 +461,13 @@ class RefactorRequest:
459
461
  attempts: list[RefactorAttempt] = field(default_factory=list)
460
462
  created_by_run: str = ""
461
463
  resolved_in_run: str = ""
464
+ # R29 (local refactor branch): the per-request git commit recorded on the
465
+ # isolated ``refactor/*`` branch, the branch it lives on, and whether that
466
+ # commit has since been reverted. Empty/False for requests resolved without
467
+ # the branch/auto-commit flow.
468
+ commit_sha: str = ""
469
+ refactor_branch: str = ""
470
+ reverted: bool = False
462
471
  created_at: str = field(default_factory=_now_iso)
463
472
  updated_at: str = field(default_factory=_now_iso)
464
473
 
@@ -515,6 +524,9 @@ class RefactorRequest:
515
524
  "attempts": [a.to_dict() for a in self.attempts],
516
525
  "created_by_run": self.created_by_run,
517
526
  "resolved_in_run": self.resolved_in_run,
527
+ "commit_sha": self.commit_sha,
528
+ "refactor_branch": self.refactor_branch,
529
+ "reverted": self.reverted,
518
530
  "created_at": self.created_at,
519
531
  "updated_at": self.updated_at,
520
532
  }
@@ -550,6 +562,9 @@ class RefactorRequest:
550
562
  attempts=[RefactorAttempt.from_dict(a) for a in data.get("attempts", [])],
551
563
  created_by_run=str(data.get("created_by_run", "")),
552
564
  resolved_in_run=str(data.get("resolved_in_run", "")),
565
+ commit_sha=str(data.get("commit_sha", "")),
566
+ refactor_branch=str(data.get("refactor_branch", "")),
567
+ reverted=bool(data.get("reverted", False)),
553
568
  created_at=str(data.get("created_at", _now_iso())),
554
569
  updated_at=str(data.get("updated_at", _now_iso())),
555
570
  )
@@ -852,6 +867,9 @@ def _update_index(project_root: Path | str, rr: RefactorRequest) -> None:
852
867
  "severity": rr.severity,
853
868
  "category": rr.category,
854
869
  "attempt_count": rr.attempt_count,
870
+ "commit_sha": rr.commit_sha,
871
+ "refactor_branch": rr.refactor_branch,
872
+ "reverted": rr.reverted,
855
873
  "updated_at": rr.updated_at,
856
874
  }
857
875
  index["requests"] = entries
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: refactorai-core
3
- Version: 3.2.3
3
+ Version: 3.2.6
4
4
  Summary: Public client core for the refactor platform: indexing, constitution parsing, models, gate evaluation, rules, security prefilter, RR/compliance classification. Contains no proprietary inference engine.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown