Orchestrator Dashboard

Connecting...

Attention Queue

{{ attention_items|length }}
    {% if attention_items %} {% for item in attention_items %}
  • {{ item.chunk }} {{ item.phase }}
    Blocks: {{ item.blocks_count }} Waiting: {{ item.time_waiting|round }}s
    {% if item.attention_reason %}
    {{ item.attention_reason }}
    {% endif %}
    {% if item.goal_summary %}
    {{ item.goal_summary }}
    {% endif %} {% if item.attention_reason and 'conflict' in item.attention_reason.lower() and item.blocked_by %}
    {{ item.chunk }} vs {{ item.blocked_by[0] }}
    {% elif item.attention_reason and 'merge to base failed' in item.attention_reason.lower() %}

    Resolve the git conflict manually, then retry:

    cd {{ item.worktree or '(worktree removed)' }} && git status
    {% else %}
    {% endif %}
  • {% endfor %} {% else %}
  • No items need attention
  • {% endif %}

Work Units

{{ work_units|length }}
{% set running_units = work_units|selectattr('status', 'equalto', 'RUNNING')|list %} {% set ready_units = work_units|selectattr('status', 'equalto', 'READY')|list %} {% set blocked_units = work_units|selectattr('status', 'equalto', 'BLOCKED')|list %} {% set attention_units = work_units|selectattr('status', 'equalto', 'NEEDS_ATTENTION')|list %} {% set done_units = work_units|selectattr('status', 'equalto', 'DONE')|list %} {% if running_units %}
Running ({{ running_units|length }})
{% for unit in running_units %} {% endfor %}
Log output
{% endif %} {% if ready_units %}
Ready ({{ ready_units|length }})
{% for unit in ready_units %}
{{ unit.chunk }}
{{ unit.status }} {{ unit.phase }}
{% endfor %} {% endif %} {% if attention_units %}
Needs Attention ({{ attention_units|length }})
{% for unit in attention_units %}
{{ unit.chunk }}
{{ unit.status.replace('_', ' ') }} {{ unit.phase }}
{% if unit.attention_reason %}
{{ unit.attention_reason[:50] }}{% if unit.attention_reason|length > 50 %}...{% endif %}
{% endif %}
{% endfor %} {% endif %} {% if blocked_units %}
Blocked ({{ blocked_units|length }})
{% for unit in blocked_units %}
{{ unit.chunk }}
{{ unit.status }} {{ unit.phase }}
{% if unit.blocked_by %}
Blocked by: {{ unit.blocked_by|join(', ') }}
{% endif %}
{% endfor %} {% endif %} {% if done_units %} {% set retained_units = done_units|selectattr('retain_worktree')|list %} {% set completed_units = done_units|rejectattr('retain_worktree')|list %} {% if retained_units %}
Retained ({{ retained_units|length }})
{% for unit in retained_units %}
{{ unit.chunk }}
RETAINED {{ unit.phase }}
Worktree preserved • Prune
{% endfor %} {% endif %} {% if completed_units %}
Done ({{ completed_units|length }})
{% for unit in completed_units %}
{{ unit.chunk }}
{{ unit.status }} {{ unit.phase }}
{% endfor %} {% endif %} {% endif %} {% if not work_units %}
No work units in the system
{% endif %}