Capabilities (Current “What the App Does”)
This document describes what ConverTA does today, independent of any past roadmap.
Modes
AI-to-AI
- Runs a simulated healthcare survey interview between:
- an automated Surveyor agent and
- a synthetic Patient agent.
- When the run completes normally, the app performs post-run analysis and seals the run.
- Runs a simulated healthcare survey interview between:
Human-to-AI
- Lets a human play one side of the conversation while the other side is generated by the LLM.
- Ending the session triggers the same post-run analysis and seals the run.
Upload Text
- Paste a transcript or upload a text/PDF file (best-effort PDF extraction).
- Runs the same analysis pipeline and seals the run.
History
- Lists sealed runs (shared/global) and allows read-only replay:
- transcript
- analysis output
- Exports from History use server-canonical run data.
- Lists sealed runs (shared/global) and allows read-only replay:
Configuration
- Review/edit system prompts and agent configuration.
- Create/duplicate/edit/delete user personas.
- Create/duplicate/edit/delete analysis frameworks (bottom-up + rubric + top-down); default framework is read-only and can be duplicated.
Persistence (Server-Canonical)
ConverTA uses SQLite for persistence.
DB_PATHcontrols the SQLite path.- Local Docker default:
.localdata/... - Hugging Face Spaces default: under
/data/...
- Local Docker default:
Persisted artifacts:
- Sealed runs (transcript + analysis + evidence catalog + config snapshots)
- Personas (defaults + user-created) with versioning
- Shared settings (system prompts + active analysis framework id)
- Analysis frameworks (bottom-up + rubric + top-down) with versioning
Notes:
- Sealed runs are immutable.
- “Stop/abort” during a live run does not produce a sealed run.
- If the resource agent fails (e.g., OpenRouter errors), the UI surfaces retry attempts and a failure notice.
Personas
There are two persona kinds:
Surveyor personas
- Editable fields (user personas):
- attribute list (bullet-style strings)
- question bank (list of target questions)
- Selection of which Surveyor is used for a run happens in the run panels (not in Configuration).
- Editable fields (user personas):
Patient personas
- Editable fields (user personas):
- attribute list (bullet-style strings)
- Selection of which Patient is used for a run happens in the run panels (not in Configuration).
- Editable fields (user personas):
Default personas:
- A small seeded set exists for each kind.
- Defaults are view-only in the UI (to prevent breaking the app by deleting/over-editing baseline personas).
System Prompts (Universal per agent type)
These are shared, DB-backed “universal” system prompts:
- Surveyor system prompt (applies to all surveyor personas)
- Patient system prompt (applies to all patient personas)
- Analysis agent system prompt (applies to all analyses)
The Configuration UI provides:
- “Apply defaults”
- A warning/acknowledgement gate before editing the system prompt text.
- Default analysis frameworks are read-only and must be duplicated to edit.
Analysis
Analysis runs post-conversation (or on uploaded text) and produces evidence-backed outputs:
- Bottom-up findings (emergent themes)
- Care experience rubric (fixed buckets: positive / mixed / negative / neutral)
- Includes a model-rated split across positive/mixed/negative (for a pie chart summary)
- Top-down codebook categories (template-driven)
Analysis execution (3-pass)
For reliability and smaller-model compatibility, the analysis pipeline runs as three sequential LLM calls:
- Bottom-up findings
- Care experience rubric
- Top-down codebook categories
In the UI, each column populates as its pass completes, while later passes show as pending/running.
Analysis frameworks
- An analysis framework defines:
- bottom-up instructions + attributes
- rubric instructions + attributes
- top-down instructions + attributes + codebook categories (optional per-category descriptions)
- Frameworks are managed in Configuration (create/duplicate/delete + edit the framework).
- The active framework is selected per run using the dropdown next to the 📊 Analysis header in:
- AI-to-AI
- Human-to-AI
- Upload Text
- Runs snapshot the selected framework so History replay and exports remain stable.
Exports
- Excel (
.xlsx) multi-sheet export and lossless JSON export are available after analysis completes. - When a run is sealed, exports are generated from server-canonical persisted data.
- There is a client-side fallback export for non-sealed sessions.
Access Control (Prototype)
If APP_PASSWORD is set:
- UI is gated behind a login overlay.
- API access requires the session cookie, or the internal header used by the UI WebSocket bridge.