import subprocess import os class RollbackService: def __init__(self, project_dir="src/devcore/sandbox/project_build"): self.project_dir = project_dir self._init_repo() def _init_repo(self): if not os.path.exists(os.path.join(self.project_dir, ".git")): subprocess.run(["git", "init"], cwd=self.project_dir) subprocess.run(["git", "config", "user.email", "fsi@vitalis.dev"], cwd=self.project_dir) subprocess.run(["git", "config", "user.name", "FSI Agent"], cwd=self.project_dir) subprocess.run(["git", "add", "."], cwd=self.project_dir) subprocess.run(["git", "commit", "-m", "Initial State"], cwd=self.project_dir) def create_checkpoint(self, message): """Snapshots the current state.""" subprocess.run(["git", "add", "."], cwd=self.project_dir) subprocess.run(["git", "commit", "-m", message], cwd=self.project_dir) def rollback(self): """Restores the previous stable state.""" subprocess.run(["git", "reset", "--hard", "HEAD~1"], cwd=self.project_dir) print("[+] ROLLBACK EXECUTED: State restored to previous commit.")