2026-07-23 17:40:08 +08:00
|
|
|
"""Tests for length-recovery prompt construction."""
|
|
|
|
|
|
2026-07-23 17:11:09 +08:00
|
|
|
from nanobot.utils.runtime import build_length_recovery_message
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_length_recovery_message_anchors_the_existing_tail() -> None:
|
|
|
|
|
omitted_prefix = "OMITTED_PREFIX"
|
2026-07-23 17:14:58 +08:00
|
|
|
tail = "x" * 64
|
2026-07-23 17:11:09 +08:00
|
|
|
|
|
|
|
|
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"]
|