agentic-ai-engineering/adw_modules/adw_plan_iso.py

42 lines
1.6 KiB
Python

"""ADW Phase: Plan — Analyze issue, generate spec, create implementation plan.
Connects to factory agents for research assistance."""
import sys, json, os
from pathlib import Path
def analyze_issue(issue_number, title, body):
plan = {
"issue": issue_number,
"title": title,
"type": "feature",
"spec_path": f"specs/adw-{issue_number}.md",
"tasks": [],
"factory_resources": [
"http://agent-site:8084/factory.html",
"http://git-proxy:8099/factory-status",
"http://git-proxy:8099/deploy"
]
}
body_lower = (title + " " + body).lower()
if any(w in body_lower for w in ["bug","fix","crash","error"]):
plan["type"] = "patch"
elif any(w in body_lower for w in ["refactor","clean"]):
plan["type"] = "refactor"
plan["tasks"] = [
{"step": "research", "description": f"Research {title}", "estimated": "5min"},
{"step": "design", "description": "Design solution approach", "estimated": "10min"},
{"step": "implement", "description": "Implement changes", "estimated": "30min"},
{"step": "test", "description": "Write and run tests", "estimated": "15min"},
]
return plan
if __name__ == "__main__":
issue = int(os.environ.get("ISSUE", sys.argv[sys.argv.index("--issue")+1] if "--issue" in sys.argv else "0"))
title = "ADW pipeline task"
body = ""
plan = analyze_issue(issue, title, body)
Path("specs").mkdir(exist_ok=True)
with open(plan["spec_path"], "w") as f:
f.write(f"# {plan['title']}\n\nType: {plan['type']}\n")
print(json.dumps(plan, indent=2))