{% extends "dashboard/base.html" %} {% block title %}Approvals - Cyborg Dashboard{% endblock %} {% block content %}

Pending Approvals

Review queued approval items and approve or reject them directly.

{{ pending_count }}
Pending
{{ approved_today }}
Approved Today
{{ rejected_today }}
Rejected Today
{{ avg_response_time }}
Avg Response Time
Filter by:

Approving or rejecting project plans here directly applies the decision to the project spec. Other approval types are tracked in this queue only.

{% for approval in approvals %}
{% if approval.approval_type == 'project_plan' %}◈ {% elif approval.approval_type == 'strategy_refinement' %}◇ {% elif approval.approval_type == 'task_creation' %}● {% else %}◆{% endif %}
{{ approval.type_label }}
{% if approval.priority == 'urgent' %}
URGENT
{% elif approval.priority == 'high' %}
HIGH
{% endif %}

{{ approval.title }}

{{ approval.description }}

{% if approval.approval_type == 'task_input' %}
{% if approval.proposal and approval.proposal.reason %}
REASON
{{ approval.proposal.reason|unescape_newlines }}
{% endif %} {% if approval.input_schema %}
QUESTION
{{ approval.input_schema.prompt }}
{% if approval.input_schema.type == 'text' %} {% elif approval.input_schema.type == 'multi_choice' %}
{% for option in approval.input_schema.options %} {% endfor %}
{% endif %}
{% endif %}
{% elif approval.approval_type == 'project_plan' and approval.proposal %}
{% if approval.proposal.aim %}
AIM
{{ approval.proposal.aim|unescape_newlines }}
{% endif %} {% if approval.proposal.method %}
METHOD
{{ approval.proposal.method|unescape_newlines }}
{% endif %} {% if approval.proposal.plan %}
PLAN
    {% for step in approval.proposal.plan %}
  1. {{ step.title }} {% if step.description %}
    {{ step.description|unescape_newlines }}
    {% endif %} {% if step.criteria %}
    Done when: {{ step.criteria }}
    {% endif %}
  2. {% endfor %}
{% endif %} {% if approval.proposal.success_criteria %}
SUCCESS CRITERIA
    {% for criterion in approval.proposal.success_criteria %}
  • {{ criterion.description or criterion.check }}
  • {% endfor %}
{% endif %}
{% elif approval.proposal %}
PROPOSAL DATA:
{{ approval.proposal_preview }}
{% endif %}
ID: {{ approval.id[:8] }} Requested: {{ approval.requested_at|relative_time }} {% if approval.requested_by %} By: {{ approval.requested_by }} {% endif %} {% if approval.entity_id %} Entity: {{ approval.entity_id[:8] }} {% endif %}
{% if approval.approval_type == 'task_input' %} {% if approval.input_schema %} {% else %} {% endif %} {% else %} {% if approval.review_href %} Review Context {% endif %} {% if approval.approval_type == 'project_plan' and approval.proposal and not approval.proposal.plan %}
Plan pending generation...
{% else %} {% endif %} {% endif %}
{% endfor %}
{% if not approvals %}

All caught up!

No pending approvals at this time

{% endif %} {% endblock %} {% block scripts %} {% endblock %}