{% extends "base.html" %} {% block content %}

Collaboration

Action-required items from the multi-LLM layer — deliberation threads awaiting your ruling, stale handoff packets, untriaged cross-reviews. Read-only by design: promotion happens in-session (/roundtable promote <thread>), never here.

{% if inbox.action_count == 0 %}
Nothing needs your attention
No threads pending promotion{% if not inbox.board_reachable %} (board unreachable — thread state unknown){% endif %}, no stale handoff packets, no untriaged cross-reviews. This page is meant to disappear from your attention when it looks like this.
{% else %} {% if inbox.threads %}

Threads pending promotion ({{ inbox.threads | length }})

{% for row in inbox.threads %} {% endfor %}
ThreadMessagesExpires Rule it
{{ row.thread }} {{ row.messages }} {% if row.ttl_hours is not none %} {{ row.ttl_hours }}h {% else %}—{% endif %} /roundtable promote {{ row.thread }}
{% elif not inbox.board_reachable %}

Board unreachable — pending-thread state unknown.

{% endif %} {% if inbox.stale_handoffs %}

Stale handoff packets ({{ inbox.stale_handoffs | length }})

{% for row in inbox.stale_handoffs %} {% endfor %}
PacketBranchWhy
docs/handoffs/{{ row.slug }}.md {{ row.branch }} {{ row.reason }}
{% endif %} {% if inbox.untriaged_reviews %}

Cross-review ledger

{{ inbox.untriaged_reviews }} run(s) still not-triaged in docs/specs/cross-review/receipts.md — record a disposition (real / noise) so the dogfood ledger stays admissible evidence.

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