Arcs

Multi-task workspaces grouping work by theme. Each arc has constituent tasks and an explicit closure decision. Run fw arc create to register one. See CLAUDE.md §Arc Completion Discipline for the closure check.

{# T-1910 Slice 4: filter chips + view toggle. #} {% set _focused_on = focused_only|default(false) %} {% set _stale_on = stale_only|default(false) %} {% set _view = view|default('board') %}
FILTERS: Focused only Stale only {% if _focused_on or _stale_on %} × clear {% endif %} VIEW: Kanban List
{% if kanban_mode %} {# T-1904: 4-column kanban — one column per lifecycle state. Replaces T-1853 tabs. #}

{{ all_arcs_count }} arc(s) total. Bold left border = currently focused.

{% for col in columns %}
{{ col.status }} {{ col.count }}
{% if col.arcs %} {% for a in col.arcs %}
{# T-1910 Slice 2: focus dot is a click-to-toggle htmx button #}
{{ a.id }} {# T-1910 Slice 1: status badge label + stale badge #} {% if a.status == 'in-progress' %}{{ a.status }} {% elif a.status == 'closed' %}closed {% elif a.status == 'draft' %}{{ a.status }} {% elif a.status == 'abandoned' %}{{ a.status }} {% endif %} {% if a.stale %}stale{% endif %}
{# T-1910 Slice 2: inline editable name #} {{ a.name }}
{{ a.task_count }} task(s){% if a.anchor_task %} · anchor: {{ a.anchor_task }}{% endif %}{% if a.created %} · {{ a.created[:10] }}{% endif %}
{# T-1910 Slice 1: decision snippet on closed arcs #} {% if a.status == 'closed' and a.decision %}
decision: {{ a.decision }}
{% endif %}
{% endfor %} {% else %}
none
{% endif %}
{% endfor %}
{% else %} {# Legacy flat-list — preserved for `?status=…` query-param callers (backward compat). #} {% if arcs %}

Showing {{ arcs|length }} of {{ all_arcs_count }} arc(s) — filter: {{ current_filter }}. ← back to kanban.

{% for a in arcs %}
{# T-1910: focus dot toggle in list view too #}
{{ a.id }}{{ a.name }} {% if a.stale %}stale{% endif %}
status: {% if a.status == 'in-progress' %}{{ a.status }} {% elif a.status == 'closed' %}{{ a.status }}{% if a.decision %} / {{ a.decision }}{% endif %} {% elif a.status == 'draft' %}{{ a.status }} {% elif a.status == 'abandoned' %}{{ a.status }} {% else %}{{ a.status }}{% endif %} · {{ a.task_count }} constituent task(s) {% if a.anchor_task %} · anchor: {{ a.anchor_task }}{% endif %} {% if a.created %} · created: {{ a.created[:10] }}{% endif %}
{% endfor %} {% else %}
{% if all_arcs_count == 0 %}

No arcs registered. Create one with:

cd {{ project_root }} && bin/fw arc create <id> --name "Description" --anchor T-XXXX
{% else %}

No arcs match filter {{ current_filter }}. Show all {{ all_arcs_count }}.

{% endif %}
{% endif %} {% endif %}

See also: /orchestrator for the orchestrator-arc-specific drill-down (MCP audit, live sessions, recent dispatches).