{% extends "base.html" %} {% block title %}Admin Control Center - ThinkStorm{% endblock %} {% block content %}
Administrator

Orchestrator Command Center

Manage prompts, immutable versions, external service adapters, queues, moderation, and token metrics.

Prompt Catalog & Immutable Versioning

Editing a prompt creates a new version record. Historical runs remain immutably tied to their original version.

{% for p in prompts %}
{{ p.id }} v{{ p.current_version }} {{ p.stage }} Policy: {{ p.model_policy }}

{{ p.name }}

{{ p.description }}

View Current Prompts & Hash ({{ p.prompt_hash[:20] }}...)
System Prompt:
{{ p.system_prompt }}
User Prompt Template:
{{ p.user_prompt_template }}
{% endfor %}

Prompt Profiles

Prompt profiles group stage-specific prompts for different idea archetypes.

{% for prof in profiles %}

{{ prof.name }}

{% if prof.is_default %}Default{% endif %}

{{ prof.description }}

{% for stage, p_str in prof.prompt_assignments.items() %}
{{ stage }}: {{ p_str }}
{% endfor %}
{% endfor %}

External Service Adapters

Live health diagnostics and endpoints configuration for orchestrated services.

{% for s in services %}

{{ s.name }}

{{ s.health_status }}
Endpoint: {{ s.endpoint }}
{% if s.api_key_masked %}
API Key: {{ s.api_key_masked }}
{% endif %} {% if s.last_tested_at %}
Last Checked: {{ s.last_tested_at[:19] }}Z
{% endif %}
{% endfor %}

Job Queue & Provenance Observability

Foreground: {{ jobs_data.queue.foreground_queued }} Background: {{ jobs_data.queue.background_queued }} Active: {{ jobs_data.queue.active_jobs_count }}
{% for r in jobs_data.recent_runs %} {% endfor %}
Run ID Idea ID Processor Model Tokens Duration Status Action
{{ r.id }} {{ r.idea_id }} {{ r.processor_name }} {{ r.resolved_model }} {{ r.total_tokens }} {{ r.duration_ms }}ms {{ r.status }}

Quarantined Submissions & Moderation

Submissions flagged with malicious or suspicious URLs are held for administrative review before retrieval.

{% if quarantined and quarantined|length > 0 %}
{% for q in quarantined %}
{{ q.id }} QUARANTINED
Submitted: {{ q.submitted_at[:19] }}Z
Flagged URLs:
{% for u in q.urls %}
{{ u.url }} {{ u.safety_state }}
{% endfor %}
{% endfor %}
{% else %}

No quarantined ideas requiring review.

{% endif %}

Trash Bin & Idea Retention

Items moved to trash are withheld from incubation until restored or permanently emptied.

{% if trashed_ideas and trashed_ideas|length > 0 %} {% endif %}
{% if trashed_ideas and trashed_ideas|length > 0 %}
{% for t in trashed_ideas %}
{{ t.id }} TRASHED {% if t.previous_lifecycle_state %} Prev: {{ t.previous_lifecycle_state }} {% endif %}

{{ t.title or "Untitled Idea" }}

Submitted: {{ t.submitted_at[:19] }}Z {% if t.trashed_at %}• Trashed: {{ t.trashed_at[:19] }}Z{% endif %}
{% endfor %}
{% else %}

Trash is empty. No ideas are currently in the trash bin.

{% endif %}
Total Tokens
{{ metrics.overall.total_tokens }}
Input Tokens
{{ metrics.overall.input_tokens }}
Output Tokens
{{ metrics.overall.output_tokens }}
Processor Runs
{{ metrics.overall.runs_count }}

Recent Administrative Audit Log

{% for a in audit_logs %} {% endfor %}
Timestamp User Action Entity Details
{{ a.created_at[:19] }}Z {{ a.user_id }} {{ a.action }} {{ a.entity_type }}:{{ a.entity_id }} {{ a.details }}
{% endblock %}