Human-readable summary for the orchestrator LLM.
(self)
| 117 | ) |
| 118 | |
| 119 | def get_summary(self) -> str: |
| 120 | """Human-readable summary for the orchestrator LLM.""" |
| 121 | if not self._tasks: |
| 122 | return "Task board is empty." |
| 123 | lines = ["Task Board:"] |
| 124 | for task in self._tasks.values(): |
| 125 | status_icon = { |
| 126 | TaskStatus.PENDING: "○", |
| 127 | TaskStatus.IN_PROGRESS: "◑", |
| 128 | TaskStatus.COMPLETED: "●", |
| 129 | TaskStatus.FAILED: "✗", |
| 130 | }.get(task.status, "?") |
| 131 | line = f" {status_icon} [{task.id}] {task.description}" |
| 132 | if task.plan_file: |
| 133 | line += f" (plan: {task.plan_file})" |
| 134 | if task.result_summary: |
| 135 | line += f" -> {task.result_summary[:100]}" |
| 136 | lines.append(line) |
| 137 | return "\n".join(lines) |
| 138 | |
| 139 | def get_results_summary(self) -> str: |
| 140 | """Detailed summary including full result_summaries for completed tasks. |
no test coverage detected