Mira conversation operability and spend
What runs
Each dataset row is one isolated ConversationSpec. The task drains every
mira.converse event stream, carries terminal counsel/Mira history, preserves the
session and channel origin, feeds a synthetic server-tool result into a non-terminal tool
turn, and continues with the resulting MemoryPack after an explicit
context_judge fold.
| Transcript | Seam exercised |
|---|---|
| follow-up | terminal history |
| cross-surface follow-up | channel origin |
| document request | non-terminal tool round trip |
| explicit barrier | context_judge fold → memory pack |
| warm start | pre-existing memory plus new history |
What is asserted
no crash recorded cost <= transcript ceiling wall latency <= transcript ceiling
There is no answer-quality evaluator and no quality score field in
ConversationRun. An empty reply can satisfy these mechanical facts; counsel UAT
remains the only answer-quality judgment.
pramaan-functions/src/clerk_worker/runner.py:1496 and require separate
cross-repo proof.
Failure semantics
A typed run.failed is returned as a ConversationRun with its
receipts and elapsed time intact. The no-crash assertion then fails the whole case; completed
earlier turns never become a partial pass. Cases run with max_concurrency=1, while
their matter and session fixtures remain unique.