refactor(memory): keep session summaries structured

This commit is contained in:
chengyongru
2026-08-19 18:40:20 +08:00
committed by chengyongru
parent fa0605abd0
commit b162019271
10 changed files with 172 additions and 118 deletions
+14 -2
View File
@@ -1,11 +1,13 @@
"""Tests for ContextBuilder — system prompt and message assembly."""
from datetime import datetime
from pathlib import Path
import pytest
from nanobot.agent.context import ContextBuilder
from nanobot.runtime_context import RuntimeContextBlock
from nanobot.session.summary import SessionSummary
# ---------------------------------------------------------------------------
# Helpers
@@ -330,14 +332,24 @@ class TestBuildSystemPrompt:
def test_includes_session_summary(self, tmp_path):
builder = _builder(tmp_path)
result = builder.build_system_prompt(session_summary="Previous chat about Python.")
result = builder.build_system_prompt(
session_summary=SessionSummary(
text="Previous chat about Python.",
last_active=datetime(2026, 8, 19, 10, 0),
)
)
assert "Previous chat about Python." in result
assert "[Archived Context Summary]" in result
def test_sections_separated_by_separator(self, tmp_path):
(tmp_path / "AGENTS.md").write_text("Rules.", encoding="utf-8")
builder = _builder(tmp_path)
result = builder.build_system_prompt(session_summary="Summary.")
result = builder.build_system_prompt(
session_summary=SessionSummary(
text="Summary.",
last_active=datetime(2026, 8, 19, 10, 0),
)
)
assert "\n\n---\n\n" in result
def test_no_bootstrap_no_summary(self, tmp_path):