Live evidence case pipeline viewer with NVIS sentence markup and agent chat well. Shows gates firing, entity grounding, QRA evidence, and verdicts in real-time. Chat well connects to /subagent-service for human-agent course correction.
STOP. READ THIS ENTIRE SKILL.MD BEFORE CALLING ANY ENDPOINT.
KDE/QML app (EmbryStyle) that shows the evidence case pipeline running live, with an agent chat well for real-time human course correction.
# Open viewer (tail mode — watches for pipeline events)
./run.sh
# Open viewer and evaluate a question immediately
./run.sh -q "How does SV-AC-2 protect avionics bus from spoofing?"
# Connect to a specific subagent container
./run.sh --subagent-url http://localhost:8621
# Headless: run pipeline, write NDJSON events only
./run.sh --emit-only "How does X23-MUSTARD protect avionics?"
events.py NDJSON event emitter (pipeline wrapper)
↓ writes
/tmp/evidence-case-events.jsonl
↑ tails
bridge.py PySide6 QObject (signals + properties + chat client)
↓ binds ↕ SSE stream
qml/EvidenceCaseViewer.qml /subagent-service :8620
[Pipeline Panels] POST /chat/stream
[Agent Chat Well] GET /health
The chat well connects to a /subagent-service container (default localhost:8620).
The agent receives full pipeline context (current question, entity markup, gate
statuses, QRA results, verdict) with each message, so it can reason about the
evidence case being built.
Example interactions:
Start a subagent before launching the viewer:
/subagent-service run.sh start --port 8620
| Color | Hex | Meaning |
|---|---|---|
| RED | #e74c3c | Fabricated entity — not in corpus |
| AMBER | #e67e22 | Fuzzy match / misspelling |
| YELLOW | #f39c12 | Not found anywhere |
| GREEN | #2ecc71 | Confirmed entity |