Files
hermes-webui/tests/test_issue6571_identical_retry_settlement.py
nesquena-hermesandnesquena-hermes fcef6ba1af Release exp-v0.52.175: identical-prompt retry settlement regression (#6631) (#6845)
* test: pin identical-prompt retry settlement

* Release exp-v0.52.175: two-direction regression for identical-prompt retry settlement (#6631)

---------

Co-authored-by: nesquena-hermes <nesquena-hermes@users.noreply.github.com>
2026-08-07 20:05:49 -07:00

80 lines
2.2 KiB
Python

"""Regression coverage for #6571 identical-prompt retry settlement."""
from __future__ import annotations
from api import streaming
PROMPT = "Apply the two requested configuration updates."
def _previous_turns():
previous_display = [
{"role": "user", "content": "Earlier task", "id": 1},
{"role": "assistant", "content": "Earlier answer", "id": 2},
{"role": "user", "content": PROMPT, "id": 10},
]
return previous_display, previous_display[:2]
def _active_turn_identity():
return {
"token": "direct-stream:2",
"text": PROMPT,
"timestamp": 2.0,
"source": "webui",
"attachments": [],
"current_turn_user_idx": 2,
"turn_id": "turn-2",
}
def _lacks_final_answer(result_messages):
previous_display, previous_context = _previous_turns()
return streaming._merged_transcript_lacks_final_assistant_answer(
previous_display,
previous_context,
result_messages,
PROMPT,
source="webui",
drop_replayed_assistant=False,
active_turn_identity=_active_turn_identity(),
)
def test_successful_identical_prompt_retry_keeps_terminal_answer():
_previous_display, previous_context = _previous_turns()
result_messages = previous_context + [
{"role": "user", "content": PROMPT, "id": 11},
{"role": "assistant", "content": "Working on it.", "id": 12},
{
"role": "tool",
"content": "update succeeded",
"tool_call_id": "tool-1",
"id": 13,
},
{
"role": "assistant",
"content": "Both changes were applied and verified.",
"id": 14,
},
]
assert _lacks_final_answer(result_messages) is False
def test_failed_identical_prompt_retry_still_lacks_terminal_answer():
_previous_display, previous_context = _previous_turns()
result_messages = previous_context + [
{"role": "user", "content": PROMPT, "id": 11},
{"role": "assistant", "content": "Working on it.", "id": 12},
{
"role": "tool",
"content": "update failed",
"tool_call_id": "tool-1",
"id": 13,
},
]
assert _lacks_final_answer(result_messages) is True