{ "base_commit": "4501c76b0f44cc55af6332d65ac2e7f5311f71fd", "script": "backend/scripts/manual_task_continuity_check.py", "script_sha256": "763fdccdffd3bd9c2566638b5f199bb806a01951c48014ea9c63031b7765f548", "model": "qwen3.8-flash-next", "scope": "Synthetic controlled integration using the production compaction middleware, checkpoint state and tools; not a full DeerFlow Gateway or deployment benchmark.", "summary_condition": "The live summary is explicitly instructed to omit exact batch codes.", "acceptance": [ "source captured after compaction", "code absent from active messages and summary", "graph rebuilt using same checkpointer", "history_search and history_read called by the model", "cited task_note saved", "model wrote an exactly correct JSON manifest" ], "phases": { "environment-blocked.json": "Initial sandbox denied network access; three APIConnectionError outcomes retained.", "initial-network.json": "First integrated archive/notes implementation: 3/3 passed.", "pre-sync-network.json": "Notes consolidated into existing durable data channel: 3/3 passed.", "final-network.json": "Final sync/async tools and lazy optional state channels: 3/3 passed.", "review-network.json": "Final review implementation with validation on all task-note channel writes, including first writes and Overwrite: 3/3 passed. These remain controlled recovery cases, not a Gateway or production benchmark.", "review-initial-network.json": "First review integration rerun before the final state-channel refinement: 3/3 passed." }, "limitations": [ "No restart of the hosting process or deployment was exercised.", "InMemorySaver is reused across graph reconstruction; filesystem source storage is real SQLite.", "Tool instructions explicitly request search/read/note/write; these cases test execution and recovery mechanics, not spontaneous recall strategy.", "Artifact bytes were verified before temporary workspaces were cleaned; the metadata retains SHA-256 hashes." ], "review_initial_source_sha256": { "backend/packages/harness/deerflow/agents/task_continuity/archive.py": "ba821a6aa8d406d5fa2aeebe2108aee38f35b681412268bc7518b9c0ec61f428", "backend/packages/harness/deerflow/agents/task_continuity/state.py": "92c52527d5c846150c1ed481cda2b7e19e74aa50552651745ca5b76e6afb7ae9", "backend/packages/harness/deerflow/agents/task_continuity/tools.py": "d86570525feb805a15c862a1f4032f7e204282e3fd0e65966a36dbf5e20057f4", "backend/packages/harness/deerflow/agents/middlewares/summarization_middleware.py": "bf5e12d4ca44eae77e030fc7743ffeec3f1bf2538f9ee4cc606d7adcebe94325", "backend/packages/harness/deerflow/agents/middlewares/durable_context_middleware.py": "2adfe86b877fa207635d63a365711d5b5a87bfc0cf7e932fc7d4daec6f8f0833" }, "review_source_sha256": { "backend/packages/harness/deerflow/agents/task_continuity/archive.py": "ba821a6aa8d406d5fa2aeebe2108aee38f35b681412268bc7518b9c0ec61f428", "backend/packages/harness/deerflow/agents/task_continuity/state.py": "feb780e202d88a14d74d62d80067bcd7a3a9c119e83a050c9e564e59aabffc6e", "backend/packages/harness/deerflow/agents/task_continuity/tools.py": "d86570525feb805a15c862a1f4032f7e204282e3fd0e65966a36dbf5e20057f4", "backend/packages/harness/deerflow/agents/middlewares/summarization_middleware.py": "bf5e12d4ca44eae77e030fc7743ffeec3f1bf2538f9ee4cc606d7adcebe94325", "backend/packages/harness/deerflow/agents/middlewares/durable_context_middleware.py": "2adfe86b877fa207635d63a365711d5b5a87bfc0cf7e932fc7d4daec6f8f0833", "backend/packages/harness/deerflow/agents/thread_state.py": "04e10d910f721f6ff9996b0b8bdef09c9560ed4234678712c4ce3d514d7b796f" } }