diff --git a/backend/packages/harness/deerflow/runtime/journal.py b/backend/packages/harness/deerflow/runtime/journal.py index 360d904bb..7f5a28957 100644 --- a/backend/packages/harness/deerflow/runtime/journal.py +++ b/backend/packages/harness/deerflow/runtime/journal.py @@ -263,7 +263,7 @@ class RunJournal(BaseCallbackHandler): self._put( event_type="summary", category="message", - content=data_dict.get("summary", ""), + content={"role": "system", "content": data_dict.get("summary", "")}, metadata={"replaced_count": data_dict.get("replaced_count", 0)}, ) else: diff --git a/backend/tests/test_run_journal.py b/backend/tests/test_run_journal.py index 3b9cdea78..1fc272ef7 100644 --- a/backend/tests/test_run_journal.py +++ b/backend/tests/test_run_journal.py @@ -214,6 +214,7 @@ class TestCustomEvents: messages = await store.list_messages("t1") assert len(messages) == 1 assert messages[0]["event_type"] == "summary" + assert messages[0]["content"] == {"role": "system", "content": "Context was summarized."} @pytest.mark.anyio async def test_non_summarization_custom_event(self, journal_setup):