{% extends "base.html" %}{% block title %}{{ task.title }} · Work{% endblock %}{% block body %}

All work / {{ task.board_name }}{{ ' / General' if task.board_kind == 'general' }}

{{ task.title }}

{{ statuses[task.status] }} · Created by {{ task.creator }} · {{ task.created_at }} · Version {{ task.version }}

{% if task.source %}

GitHub source · #{{ task.source.number }}

Open on GitHub · {{ task.source.state }} {{ task.source.state_reason }} · {{ task.source.author }}

{% if task.source.state == 'closed' and task.status != 'done' %}

Closed on GitHub; local work still active. Review the source state reason, then use the local status control below if you want to reconcile.

{% elif task.source.state == 'open' and task.status == 'done' %}

Open on GitHub; local work is Done. Local completion does not close the issue.

{% endif %}

Source refreshed: {{ task.source.refreshed_at }} · Sync: {{ task.source.sync_status }}

{% if task.source.sync_error %}

{{ task.source.sync_error }}

{% endif %}

GitHub labels: {{ task.source.labels|join(', ') }} · GitHub assignees: {{ task.source.assignees|join(', ') }}

{{ task.source.body }}
{% if task.source.body_truncated %}

Source body truncated; open GitHub for the full content.

{% endif %}

GitHub discussion

Source text is shown without executing HTML or loading embedded images. Local notes and comments are kept separately.

{% endif %} {% if task.archived %}

This task is archived.

{% if not task.source %}

Description

{{ task.description }}
{% endif %}

Local notes

{{ task.notes }}

Acceptance criteria

{{ task.acceptance }}
{% else %}
{% if not task.source %} {% endif %}

Assign agents after granting them access to this board. Assignment does not start an agent.

{% endif %}
Move to another board

Moving transfers the task, comments, and activity to the destination audience. Repository and host permissions stay separate.

{% for board in boards if board.id != task.board_id %}

{{ board.name }}{{ ' / General' if board.kind == 'general' }}

Destination audience: owner{% for name in audiences[board.id] %}, {{ name }}{% endfor %}.

{% endfor %}

Local comments

{% for comment in task.comments %}

{{ comment.actor }} · {{ comment.created_at }}

{{ comment.body }}

{% else %}

No local comments.

{% endfor %} {% if task.comments_next_offset is not none %}Older comments{% endif %}

Activity

{% for entry in task.activity %}

{{ entry.actor }} · {{ entry.kind }} · {{ entry.created_at }}{% if entry.data.status %} · {{ statuses[entry.data.status.from] }} → {{ statuses[entry.data.status.to] }}{% elif entry.kind == 'source_state' %} · GitHub: {{ entry.data.from }} → {{ entry.data.to }} {{ entry.data.reason }}{% elif entry.data.fields %} · {{ entry.data.fields|join(', ') }}{% endif %}{% if entry.data.assignee %} · Assignee: {{ entry.data.assignee.from }} → {{ entry.data.assignee.to }}{% endif %}

{% endfor %} {% if task.activity_next_offset is not none %}Older activity{% endif %} {% endblock %}