Reset both the recovered segments and retry budget whenever injected input starts a new logical answer. Cover fatal tool-error boundaries and rename the prompt test module so pytest can collect the full suite.
17 lines
650 B
Python
17 lines
650 B
Python
"""Tests for length-recovery prompt construction."""
|
|
|
|
from nanobot.utils.runtime import build_length_recovery_message
|
|
|
|
|
|
def test_length_recovery_message_anchors_the_existing_tail() -> None:
|
|
omitted_prefix = "OMITTED_PREFIX"
|
|
tail = "x" * 64
|
|
|
|
message = build_length_recovery_message(omitted_prefix + tail)
|
|
|
|
assert message["role"] == "user"
|
|
assert omitted_prefix not in message["content"]
|
|
assert f"<already_delivered_tail>\n{tail}\n</already_delivered_tail>" in message["content"]
|
|
assert "Output only new continuation text" in message["content"]
|
|
assert "Break remaining work into smaller steps" not in message["content"]
|