import os
import re
from pathlib import Path
def fix_backslashes_in_file(file_path):
try:
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
fixes = [
(r'fn basic_property_stability\\\(_input in', r'fn basic_property_stability(_input in'),
(r'fn module_consistency_check\\\(_x in', r'fn module_consistency_check(_x in'),
]
fixed_content = content
changed = False
for old_pattern, new_pattern in fixes:
if re.search(old_pattern, fixed_content):
fixed_content = re.sub(old_pattern, new_pattern, fixed_content)
changed = True
if changed:
with open(file_path, 'w', encoding='utf-8') as f:
f.write(fixed_content)
return True
return False
except Exception as e:
print(f"Error fixing {file_path}: {e}")
return False
def main():
print("๐ง Sprint 92: Fixing Proptest Backslash Syntax Errors")
print("=" * 55)
os.chdir("/home/noah/src/paiml-mcp-agent-toolkit")
server_dir = Path("server/src")
files_fixed = 0
for rust_file in server_dir.rglob("*.rs"):
try:
with open(rust_file, 'r', encoding='utf-8') as f:
content = f.read()
if "fn basic_property_stability\\(_input" in content or "fn module_consistency_check\\(_x" in content:
if fix_backslashes_in_file(rust_file):
files_fixed += 1
print(f" โ
Fixed: {rust_file}")
except Exception as e:
print(f" โ Error reading {rust_file}: {e}")
continue
print(f"\n๐ Sprint 92 Backslash Fix Results:")
print(f" โข Files fixed: {files_fixed}")
print(f"\n๐งช Testing compilation...")
import subprocess
result = subprocess.run(["cargo", "check", "--package", "pmat", "--quiet"],
capture_output=True, text=True)
if result.returncode == 0:
print(" โ
Compilation successful!")
warn_result = subprocess.run(["cargo", "check", "--package", "pmat"],
capture_output=True, text=True)
stderr_lines = warn_result.stderr.strip().split('\n')
warning_lines = [line for line in stderr_lines if 'warning:' in line and 'pmat@' not in line]
warning_count = len(warning_lines)
print(f" ๐ Code warnings: {warning_count}")
if warning_count == 0:
print(" ๐ ZERO CODE WARNINGS ACHIEVED!")
elif warning_count < 10:
print(f" ๐ Remaining warnings: {warning_count} (good progress)")
for warning in warning_lines[:5]: print(f" {warning}")
else:
print(f" โ Compilation failed:")
print(result.stderr[:1000])
print(f"\n๐ฏ Sprint 92 Status: Backslash syntax errors fixed")
if __name__ == "__main__":
main()