{% extends "base.html" %} {% block title %}{{ task.title }} | Issueforge Task Detail{% endblock %} {% block head %} {% endblock %} {% block content %}
Back to Dashboard
{{ task.id }} {{ task.platform.value }} {{ task.task_type.value }} {% if task.priority %} {{ task.priority }} {% endif %}

{{ task.title }}

Repo: {{ task.repo_name }} • Branch: {{ task.working_branch }} • Target: {{ task.selected_target_branch or task.base_branch }}
{% if task.status.value == "PENDING_APPROVAL" %}
Target:
{% elif task.status.value == "AWAITING_INPUT" %} Awaiting Your Clarification Below {% elif task.status.value in ["APPROVED", "PLANNING", "CODING", "TESTING", "PUSHING", "REVISION_REQUESTED"] %} {% elif task.status.value in ["AWAITING_CONFIRMATION", "AWAITING_BRANCH_SELECTION"] %} {% if task.status.value == "AWAITING_BRANCH_SELECTION" %} Paused — choose a target branch to start {% endif %}
Target:
{% if task.status.value == "AWAITING_BRANCH_SELECTION" %} {% else %} {% endif %} {% elif task.status.value == "COMPLETED" and task.pr_url %} View Pull Request {% elif task.status.value in ["CANCELLED", "FAILED"] %} {% endif %} Task Folder Canvas in Obsidian Canvas JSON
Status: {{ task.status.value }}
{% if questions %} {% for q in questions %}
Supervisory Orchestrator Question
{% if q.status.value == 'PENDING' %} Awaiting Input {% else %} Answered {% endif %}

{{ q.question }}

{% if q.context %}

{{ q.context }}

{% endif %} {% if q.status.value == 'PENDING' %}
{% if q.options %}
{% for opt in q.options %} {% endfor %}
{% endif %}
{% else %}
✓ Recorded Answer: {{ q.answer or q.selected_option }}
{% endif %}
{% endfor %} {% endif %} {% if task.error_message %}
Execution Halted / Error:

{{ task.error_message }}

{% endif %}
Pipeline Execution Runs {{ task.runs|length if task.runs else 1 }} Run{% if task.runs and task.runs|length > 1 %}s{% endif %}
Active Run Workspace: {{ active_run }}
{% if task.runs and task.runs|length > 0 %} {% for r in task.runs %} {% endfor %} {% else %}
#1 {{ active_run }} {{ task.status.value }}
{% endif %}
{% if task.runs and task.runs|length > 1 %}

Click any run above to inspect its sandbox terminal logs, bash commands, and failure diagnosis.

{% endif %}
Jetson Sandbox Execution Stream 4-Agent Pipeline
Live AGY PTY
Open Agent Codespace ↗
Live Execution DAG

Queued, not injected — agy runs one-shot, so a directive applies at the next planner/coder/tester turn, not to the agent currently running.

Architecture Blueprint & Implementation Plan
Rendering architecture blueprint...
{% if task.diff_content %}
Git Diff & Code Modifications
{{ task.diff_stat or '' }}
{{ task.diff_content }}
{% endif %}
{% if task.review_summary %}
Reviewer & Security Evaluation
Risk Level: {{ task.review_summary.risk_assessment }}
Summary:

{{ task.review_summary.summary }}

Suggested Commit Message:
{{ task.review_summary.suggested_commit_message }}
{% endif %} {% if learnings %}
Harness Learned Skills
{% for l in learnings %}
{{ l.topic }}

{{ l.summary }}

{% endfor %}
{% endif %}
Test Suite Verification

{{ task.test_summary or "Test suite has not run yet." }}

Git Remote Discussion
0
Loading discussion...
Task Dossier & Team
{{ task.created_at.strftime('%b %d, %H:%M') if task.created_at else 'Recent' }}
{{ (task.collaborators.author if task.collaborators and task.collaborators.author else (task.sender or "OP"))[:2]|upper }}
Author: @{{ task.collaborators.author if task.collaborators and task.collaborators.author else (task.sender or "operator") }}
{{ task.platform.value }}
{% if task.collaborators and task.collaborators.participants %}
Participants ({{ task.collaborators.participants|length }}):
{% for p in task.collaborators.participants %} {{ p }} {% endfor %}
{% endif %} {% if task.subtasks %}
Checklist & Subtasks {% set completed_count = task.subtasks|selectattr('completed')|list|length %} {% set total_count = task.subtasks|length %} {% set pct = (completed_count / total_count * 100)|round|int if total_count > 0 else 0 %} {{ completed_count }}/{{ total_count }} ({{ pct }}%)
{% for st in task.subtasks %}
{{ st.title }}
{% endfor %}
{% endif %}
{% if task.runs %}
Pipeline Runs ({{ task.runs|length }})
Active: {{ active_run }}
{% for r in task.runs %}
#{{ r.attempt_number }} {{ r.run_id }} {{ r.status.value }}
{% if r.duration_seconds %}{{ r.duration_seconds|round(1) }}s{% else %}Running{% endif %}
{% if r.error_message %}

⚠️ {{ r.failure_stage or 'Error' }}: {{ r.error_message }}

{% elif r.test_summary %}

{{ r.test_summary }}

{% endif %}
{{ r.sandbox_dir or 'sandboxes/' ~ r.run_id }}
{% endfor %}
{% endif %}
Sandbox Workspace ({{ active_run }})
LIVE
Path {{ sandbox_stats.workspace_path if sandbox_stats else '.issueforge/tasks/' ~ task.id ~ '/sandboxes/' ~ active_run }}
Disk Size {{ sandbox_stats.size_formatted if sandbox_stats else '0 B' }}
Files {{ sandbox_stats.file_count if sandbox_stats else 0 }} files
Commands Run {{ sandbox_stats.command_count if sandbox_stats else 0 }}
View Log Stream
Architectural Plan
{{ task.plan or "Plan generation in progress..." }}
Original Description
{{ task.description }}
{% endblock %} {% block scripts %} {% endblock %}