Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion agents/s11_autonomous_agents.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ def claim_task(task_id: int, owner: str) -> str:
if not path.exists():
return f"Error: Task {task_id} not found"
task = json.loads(path.read_text())
if task.get("owner") or task.get("status") != "pending":
return f"Error: Task {task_id} has already been claimed by someone else"
task["owner"] = owner
task["status"] = "in_progress"
path.write_text(json.dumps(task, indent=2))
Expand Down Expand Up @@ -274,7 +276,9 @@ def _loop(self, name: str, role: str, prompt: str):
unclaimed = scan_unclaimed_tasks()
if unclaimed:
task = unclaimed[0]
claim_task(task["id"], name)
result = claim_task(task["id"], name)
if result.startswith("Error"):
continue
task_prompt = (
f"<auto-claimed>Task #{task['id']}: {task['subject']}\n"
f"{task.get('description', '')}</auto-claimed>"
Expand Down
Loading