{{ 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 %}
{% if workflows %}
Workflows
{% for wf in workflows %}
{{ wf.id }} {{ wf.feature }}
{{ wf.done_steps }}/{{ wf.total_steps }} ({{ wf.pct }}%)
{% for step in wf.steps %}
{% if not loop.first %}→{% endif %}
{{ step.name }}
{% endfor %}
{% if wf.current_step %}
Current: {{ wf.current_step }}
{% endif %}
{% endfor %}
{% endif %}
{% if knowledge_total > 0 %}
Knowledge Map
{% for cat, count in knowledge_by_category.items() %}
{% 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 %}