from macg.llm import ManualLLM from macg.agents.coder import CoderAgent from macg.agents.reviewer import ReviewerAgent from macg.agents.tester import TesterAgent from macg.orchestrator import Orchestrator def main() -> None: llm = ManualLLM() coder = CoderAgent(llm) reviewer = ReviewerAgent(llm=None) # start small: static review only tester = TesterAgent(llm) orch = Orchestrator(coder, reviewer, tester) task = "Implement a function fizzbuzz(n: int) -> list[str] that returns 1..n with Fizz/Buzz rules." result = orch.run(task, max_iters=2) print("\n" + "="*80) print("PASSED:", result.passed) print("ITER:", result.iteration) print("-"*80) print("REVIEW NOTES:\n", result.review_notes) print("-"*80) print("CODE:\n", result.code) print("-"*80) print("TESTS:\n", result.tests) print("-"*80) print("TEST REPORT:\n", result.test_report) print("="*80) if __name__ == "__main__": main()