{{ project.display_name or project.name }}
{{ project.status.value }} · v{{ project.version }} · {{ today }}
Total Tasks
{{ tasks|length }}
Todo
{{ status_counts.get('todo', 0) }}
In Progress
{{ status_counts.get('in_progress', 0) }}
Done
{{ status_counts.get('done', 0) }}
Blocked
{{ status_counts.get('blocked', 0) }}
{% if phases %}
Phases
{% for p in phases %}
{{ p.name }}
{{ p.done }}/{{ p.total }} ({{ p.pct }}%)
{% if p.target_date != '—' %}
Target: {{ p.target_date }}
{% endif %}
{% endfor %}
{% endif %}
{% if blocked %}
Blockers
| ID | Title | Blocked By |
{% for t in blocked %}
| {{ t.id }} | {{ t.title }} | {{ t.blocked_by|join(', ') or '—' }} |
{% endfor %}
{% endif %}
Velocity
Average: {{ velocity.average }} tasks/week · Trend: {{ velocity.trend }}
{% if risks %}
Risks & Issues
{% for r in risks %}
[{{ r.get('severity', 'medium') }}] {{ r.title }}
{% endfor %}
{% endif %}
{% if decisions %}
Architecture Decisions
{% for d in decisions %}
{{ d.id }} {{ d.title }} ({{ d.status.value }})
{% endfor %}
{% endif %}