mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-03-17 22:13:08 +00:00
initial commit
This commit is contained in:
57
reference/progress.py
Normal file
57
reference/progress.py
Normal file
@@ -0,0 +1,57 @@
|
||||
"""
|
||||
Progress Tracking Utilities
|
||||
===========================
|
||||
|
||||
Functions for tracking and displaying progress of the autonomous coding agent.
|
||||
"""
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def count_passing_tests(project_dir: Path) -> tuple[int, int]:
|
||||
"""
|
||||
Count passing and total tests in feature_list.json.
|
||||
|
||||
Args:
|
||||
project_dir: Directory containing feature_list.json
|
||||
|
||||
Returns:
|
||||
(passing_count, total_count)
|
||||
"""
|
||||
tests_file = project_dir / "feature_list.json"
|
||||
|
||||
if not tests_file.exists():
|
||||
return 0, 0
|
||||
|
||||
try:
|
||||
with open(tests_file, "r") as f:
|
||||
tests = json.load(f)
|
||||
|
||||
total = len(tests)
|
||||
passing = sum(1 for test in tests if test.get("passes", False))
|
||||
|
||||
return passing, total
|
||||
except (json.JSONDecodeError, IOError):
|
||||
return 0, 0
|
||||
|
||||
|
||||
def print_session_header(session_num: int, is_initializer: bool) -> None:
|
||||
"""Print a formatted header for the session."""
|
||||
session_type = "INITIALIZER" if is_initializer else "CODING AGENT"
|
||||
|
||||
print("\n" + "=" * 70)
|
||||
print(f" SESSION {session_num}: {session_type}")
|
||||
print("=" * 70)
|
||||
print()
|
||||
|
||||
|
||||
def print_progress_summary(project_dir: Path) -> None:
|
||||
"""Print a summary of current progress."""
|
||||
passing, total = count_passing_tests(project_dir)
|
||||
|
||||
if total > 0:
|
||||
percentage = (passing / total) * 100
|
||||
print(f"\nProgress: {passing}/{total} tests passing ({percentage:.1f}%)")
|
||||
else:
|
||||
print("\nProgress: feature_list.json not yet created")
|
||||
Reference in New Issue
Block a user