{% extends "base.html" %} {% block title %}{{ task.title }} · Cascade{% endblock %} {% block content %}
← Project

{{ task.title }}

{{ task.type }} {{ task.status }} assigned: {{ task.assignee }} {% if completion_verified %}✓ completion verified{% endif %}
{# --- Conversation log --- #}

Conversation

{% for msg in messages %}
{{ msg.author }} {{ msg.message_type }} {{ msg.created_at.strftime('%H:%M') }}

{{ msg.content }}

{% else %}
No messages yet.
{% endfor %}
{% set transitions = {'ongoing':'Start','completed':'Complete','blocked':'Block','rejected':'Reject','not_started':'Re-queue'} %} {% for key, label in transitions.items() %} {% if key != task.status %} {% endif %} {% endfor %}
{# --- Sidebar: coherence + dependencies --- #}

Coherence

Goal {{ task.goal_id or '—' }}
Milestone {{ task.milestone_id or '—' }}
Parent {{ task.parent_id or '—' }}
Priority{{ task.priority }}
Story points{{ task.story_points or '—' }}

Dependencies

Depends on ({{ dependencies.depends_on|length }})
{% for d in dependencies.depends_on %} {{ d.title }} {{ d.status }} {% else %}none{% endfor %}
Blocks ({{ dependencies.blocks|length }})
{% for b in dependencies.blocks %} {{ b.title }} {% else %}none{% endfor %}
{% if dependencies.depends_on %}
{% if dependencies.all_deps_completed %}✓ ready to start{% else %}⏳ waiting on deps{% endif %}
{% endif %}
{% if children %}

Subtasks

{% for c in children %} {{ c.title }} {{ c.status }} {% endfor %}
{% endif %}
{% endblock %} {% block scripts %} {% endblock %}