{
  "schema_version": "mnemos.eval.fixture.v1",
  "scenario": {
    "id": "longitudinal-document-length-001",
    "title": "Recover a superseding document-length decision across conversations",
    "user_id": "user-akhilesh-synthetic",
    "history_start": "2026-07-02T09:00:00-07:00",
    "history_end": "2026-07-20T17:06:00-07:00",
    "evaluation_time": "2026-07-29T10:00:00-07:00",
    "agent": {
      "harness": "openharness",
      "model": "anthropic/claude-sonnet-4.6",
      "tool_mode": "built-in plus mocked MCP"
    }
  },
  "conversations": [
    {
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "title": "Prepare for the Paul onboarding meeting",
      "event_ids": ["evt-001", "evt-002", "evt-003", "evt-004", "evt-005", "evt-006"]
    },
    {
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "title": "Meeting day and the superseding decision",
      "event_ids": ["evt-007", "evt-008", "evt-009", "evt-010", "evt-011", "evt-012", "evt-013", "evt-014", "evt-015"]
    },
    {
      "conversation_id": "conv-20260707-brief-v3",
      "session_id": "session-03",
      "title": "Inspect the unchanged old draft",
      "event_ids": ["evt-016", "evt-017", "evt-018", "evt-019", "evt-020"]
    },
    {
      "conversation_id": "conv-20260711-launch-spec",
      "session_id": "session-04",
      "title": "Unrelated 12-page launch specification",
      "event_ids": ["evt-021", "evt-022", "evt-023", "evt-024", "evt-025"]
    },
    {
      "conversation_id": "conv-20260715-board-summary",
      "session_id": "session-05",
      "title": "Unrelated 3-page board summary",
      "event_ids": ["evt-026", "evt-027", "evt-028", "evt-029"]
    },
    {
      "conversation_id": "conv-20260720-doc-recap",
      "session_id": "session-06",
      "title": "Recent-document recap with stale file metadata",
      "event_ids": ["evt-030", "evt-031", "evt-032", "evt-033", "evt-034"]
    }
  ],
  "trace": [
    {
      "id": "evt-001",
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "seq": 1,
      "timestamp": "2026-07-02T09:00:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Find my next meeting with Paul about the onboarding document. I want to prepare before we talk.",
      "memory_signal": "context"
    },
    {
      "id": "evt-002",
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "seq": 2,
      "timestamp": "2026-07-02T09:00:04-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "mcp__google_calendar__search_events",
      "tool_call_id": "call-cal-001",
      "exec_type": "mocked_mcp",
      "input": {
        "query": "Paul onboarding",
        "time_min": "2026-07-02T00:00:00-07:00",
        "time_max": "2026-07-16T23:59:59-07:00"
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-003",
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "seq": 3,
      "timestamp": "2026-07-02T09:00:05-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "mcp__google_calendar__search_events",
      "tool_call_id": "call-cal-001",
      "ok": true,
      "output": {
        "events": [
          {
            "event_id": "cal-paul-0706",
            "title": "Onboarding brief cleanup",
            "start": "2026-07-06T14:00:00-07:00",
            "end": "2026-07-06T14:30:00-07:00",
            "attendees": ["akhilesh@example.com", "paul@macpaw.example"],
            "description": "Review brief length, examples, and appendix."
          }
        ]
      },
      "memory_signal": "evidence"
    },
    {
      "id": "evt-004",
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "seq": 4,
      "timestamp": "2026-07-02T09:00:08-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "Your meeting with Paul is Monday, July 6 at 2:00 PM. It is titled \"Onboarding brief cleanup\" and the agenda includes the brief length, examples, and appendix.",
      "memory_signal": "context"
    },
    {
      "id": "evt-005",
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "seq": 5,
      "timestamp": "2026-07-02T09:01:12-07:00",
      "kind": "message",
      "role": "user",
      "content": "The current onboarding brief is 12 pages. I want to discuss trimming it, but Paul and I have not agreed on a new length yet.",
      "memory_signal": "stale_candidate"
    },
    {
      "id": "evt-006",
      "conversation_id": "conv-20260702-paul-prep",
      "session_id": "session-01",
      "seq": 6,
      "timestamp": "2026-07-02T09:01:16-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "Understood. Twelve pages is the current draft length, not an agreed future target.",
      "memory_signal": "stale_candidate"
    },
    {
      "id": "evt-007",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 1,
      "timestamp": "2026-07-06T13:42:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Before the Paul call, open my prep note and confirm the meeting details.",
      "memory_signal": "none"
    },
    {
      "id": "evt-008",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 2,
      "timestamp": "2026-07-06T13:42:03-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "Read",
      "tool_call_id": "call-read-001",
      "exec_type": "real_builtin",
      "input": {
        "file_path": "/Users/akhilesh/Documents/Onboarding/paul-meeting-prep.md"
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-009",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 3,
      "timestamp": "2026-07-06T13:42:04-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "Read",
      "tool_call_id": "call-read-001",
      "ok": true,
      "output": "# Paul meeting prep\n\nCurrent draft: 12 pages\nOpen questions:\n- final target length\n- keep customer examples?\n- move implementation appendix elsewhere?\n",
      "memory_signal": "stale_candidate"
    },
    {
      "id": "evt-010",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 4,
      "timestamp": "2026-07-06T13:42:06-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "mcp__google_calendar__get_event",
      "tool_call_id": "call-cal-002",
      "exec_type": "mocked_mcp",
      "input": {
        "event_id": "cal-paul-0706"
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-011",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 5,
      "timestamp": "2026-07-06T13:42:07-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "mcp__google_calendar__get_event",
      "tool_call_id": "call-cal-002",
      "ok": true,
      "output": {
        "event_id": "cal-paul-0706",
        "title": "Onboarding brief cleanup",
        "start": "2026-07-06T14:00:00-07:00",
        "attendees": ["Akhilesh", "Paul"],
        "description": "Review brief length, examples, and appendix."
      },
      "memory_signal": "evidence"
    },
    {
      "id": "evt-012",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 6,
      "timestamp": "2026-07-06T14:38:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Just finished with Paul. We agreed the onboarding brief should be 6-8 pages, not the old 12-page draft. Keep the two customer examples and move the implementation appendix to a separate technical note.",
      "memory_signal": "durable_update"
    },
    {
      "id": "evt-013",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 7,
      "timestamp": "2026-07-06T14:38:05-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "Got it. The current target is 6-8 pages for the onboarding brief; that supersedes the 12-page draft. The two customer examples stay, and the implementation appendix moves to a separate technical note.",
      "memory_signal": "durable_update"
    },
    {
      "id": "evt-014",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 8,
      "timestamp": "2026-07-06T14:38:08-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "mcp__slack__create_draft",
      "tool_call_id": "call-slack-001",
      "exec_type": "mocked_mcp",
      "input": {
        "channel": "#onboarding-project",
        "text": "Paul and I aligned on a 6-8 page onboarding brief. Keep both customer examples; move the implementation appendix into a separate technical note."
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-015",
      "conversation_id": "conv-20260706-paul-decision",
      "session_id": "session-02",
      "seq": 9,
      "timestamp": "2026-07-06T14:38:09-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "mcp__slack__create_draft",
      "tool_call_id": "call-slack-001",
      "ok": true,
      "output": {
        "draft_id": "draft-onboarding-0706",
        "status": "created_not_sent",
        "channel": "#onboarding-project"
      },
      "memory_signal": "supporting_evidence"
    },
    {
      "id": "evt-016",
      "conversation_id": "conv-20260707-brief-v3",
      "session_id": "session-03",
      "seq": 1,
      "timestamp": "2026-07-07T10:15:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Open Onboarding Brief v3 and tell me how long the file is right now.",
      "memory_signal": "none"
    },
    {
      "id": "evt-017",
      "conversation_id": "conv-20260707-brief-v3",
      "session_id": "session-03",
      "seq": 2,
      "timestamp": "2026-07-07T10:15:03-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "mcp__google_drive__get_file",
      "tool_call_id": "call-drive-001",
      "exec_type": "mocked_mcp",
      "input": {
        "file_id": "drive-onboarding-v3",
        "include_metadata": true
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-018",
      "conversation_id": "conv-20260707-brief-v3",
      "session_id": "session-03",
      "seq": 3,
      "timestamp": "2026-07-07T10:15:04-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "mcp__google_drive__get_file",
      "tool_call_id": "call-drive-001",
      "ok": true,
      "output": {
        "name": "Onboarding Brief v3",
        "mime_type": "application/vnd.google-apps.document",
        "page_count": 12,
        "modified_time": "2026-07-05T16:22:00-07:00",
        "revision": "v3"
      },
      "memory_signal": "stale_state"
    },
    {
      "id": "evt-019",
      "conversation_id": "conv-20260707-brief-v3",
      "session_id": "session-03",
      "seq": 4,
      "timestamp": "2026-07-07T10:15:08-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "The file is still 12 pages. That is the unchanged v3 file state; your agreed target with Paul is 6-8 pages.",
      "memory_signal": "conflict_resolution"
    },
    {
      "id": "evt-020",
      "conversation_id": "conv-20260707-brief-v3",
      "session_id": "session-03",
      "seq": 5,
      "timestamp": "2026-07-07T10:15:30-07:00",
      "kind": "message",
      "role": "user",
      "content": "Do not edit it yet. Just retain the 6-8 page target for when we revise it.",
      "memory_signal": "durable_update"
    },
    {
      "id": "evt-021",
      "conversation_id": "conv-20260711-launch-spec",
      "session_id": "session-04",
      "seq": 1,
      "timestamp": "2026-07-11T11:05:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Search Slack for the latest launch specification requirements from the design review.",
      "memory_signal": "none"
    },
    {
      "id": "evt-022",
      "conversation_id": "conv-20260711-launch-spec",
      "session_id": "session-04",
      "seq": 2,
      "timestamp": "2026-07-11T11:05:03-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "mcp__slack__search",
      "tool_call_id": "call-slack-002",
      "exec_type": "mocked_mcp",
      "input": {
        "query": "\"launch spec\" \"pages\" after:2026-07-08",
        "channels": ["#design-review", "#launch"]
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-023",
      "conversation_id": "conv-20260711-launch-spec",
      "session_id": "session-04",
      "seq": 3,
      "timestamp": "2026-07-11T11:05:04-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "mcp__slack__search",
      "tool_call_id": "call-slack-002",
      "ok": true,
      "output": {
        "messages": [
          {
            "channel": "#design-review",
            "author": "Mira",
            "timestamp": "2026-07-10T16:20:00-07:00",
            "text": "For the launch specification, use the full 12-page format so QA and release criteria remain in one document."
          }
        ]
      },
      "memory_signal": "distractor"
    },
    {
      "id": "evt-024",
      "conversation_id": "conv-20260711-launch-spec",
      "session_id": "session-04",
      "seq": 4,
      "timestamp": "2026-07-11T11:05:08-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "The launch specification should use the full 12-page format. This is the launch document, not the onboarding brief.",
      "memory_signal": "distractor"
    },
    {
      "id": "evt-025",
      "conversation_id": "conv-20260711-launch-spec",
      "session_id": "session-04",
      "seq": 5,
      "timestamp": "2026-07-11T11:05:16-07:00",
      "kind": "message",
      "role": "user",
      "content": "Correct, the launch spec is a separate project from the onboarding brief.",
      "memory_signal": "entity_boundary"
    },
    {
      "id": "evt-026",
      "conversation_id": "conv-20260715-board-summary",
      "session_id": "session-05",
      "seq": 1,
      "timestamp": "2026-07-15T09:30:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Open the quarterly board memo and help me turn it into a 3-page executive summary.",
      "memory_signal": "distractor"
    },
    {
      "id": "evt-027",
      "conversation_id": "conv-20260715-board-summary",
      "session_id": "session-05",
      "seq": 2,
      "timestamp": "2026-07-15T09:30:03-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "Read",
      "tool_call_id": "call-read-002",
      "exec_type": "real_builtin",
      "input": {
        "file_path": "/Users/akhilesh/Documents/Board/Q3-board-memo.md"
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-028",
      "conversation_id": "conv-20260715-board-summary",
      "session_id": "session-05",
      "seq": 3,
      "timestamp": "2026-07-15T09:30:04-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "Read",
      "tool_call_id": "call-read-002",
      "ok": true,
      "output": "# Q3 board memo\n\nRevenue grew 18% quarter over quarter. Retention improved to 94%. The next-quarter focus is enterprise onboarding and support automation.\n",
      "memory_signal": "distractor"
    },
    {
      "id": "evt-029",
      "conversation_id": "conv-20260715-board-summary",
      "session_id": "session-05",
      "seq": 4,
      "timestamp": "2026-07-15T09:30:09-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "I can produce a 3-page executive summary of the board memo. This length applies only to the board summary.",
      "memory_signal": "distractor"
    },
    {
      "id": "evt-030",
      "conversation_id": "conv-20260720-doc-recap",
      "session_id": "session-06",
      "seq": 1,
      "timestamp": "2026-07-20T17:05:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Give me a quick inventory of the documents we touched recently. Do not modify anything.",
      "memory_signal": "none"
    },
    {
      "id": "evt-031",
      "conversation_id": "conv-20260720-doc-recap",
      "session_id": "session-06",
      "seq": 2,
      "timestamp": "2026-07-20T17:05:03-07:00",
      "kind": "tool_call",
      "role": "assistant",
      "tool_name": "mcp__google_drive__search_files",
      "tool_call_id": "call-drive-002",
      "exec_type": "mocked_mcp",
      "input": {
        "query": "modifiedTime >= '2026-07-01'",
        "names": ["Onboarding Brief v3", "Launch Specification", "Q3 Board Memo"]
      },
      "memory_signal": "none"
    },
    {
      "id": "evt-032",
      "conversation_id": "conv-20260720-doc-recap",
      "session_id": "session-06",
      "seq": 3,
      "timestamp": "2026-07-20T17:05:04-07:00",
      "kind": "tool_result",
      "role": "tool",
      "tool_name": "mcp__google_drive__search_files",
      "tool_call_id": "call-drive-002",
      "ok": true,
      "output": {
        "files": [
          {"name": "Onboarding Brief v3", "page_count": 12, "modified": "2026-07-05T16:22:00-07:00"},
          {"name": "Launch Specification", "page_count": 12, "modified": "2026-07-12T12:10:00-07:00"},
          {"name": "Q3 Board Memo", "page_count": 9, "modified": "2026-07-15T08:40:00-07:00"}
        ]
      },
      "memory_signal": "stale_state"
    },
    {
      "id": "evt-033",
      "conversation_id": "conv-20260720-doc-recap",
      "session_id": "session-06",
      "seq": 4,
      "timestamp": "2026-07-20T17:05:09-07:00",
      "kind": "message",
      "role": "assistant",
      "content": "Recent files: Onboarding Brief v3 is still 12 pages, the Launch Specification is 12 pages, and the Q3 Board Memo is 9 pages. I made no changes.",
      "memory_signal": "stale_state"
    },
    {
      "id": "evt-034",
      "conversation_id": "conv-20260720-doc-recap",
      "session_id": "session-06",
      "seq": 5,
      "timestamp": "2026-07-20T17:06:00-07:00",
      "kind": "message",
      "role": "user",
      "content": "Thanks. Leave all three files as-is for now.",
      "memory_signal": "none"
    }
  ],
  "memory_pipeline": {
    "input": {
      "source": "six OpenHarness conversation executions",
      "normalization": "flatten toolTraces across conversations, preserve conversation and tool-call IDs, then sort by timestamp",
      "event_count": 34
    },
    "write_candidates": [
      {
        "memory_id": "mem-onboarding-target",
        "status": "write",
        "text": "On July 6, Akhilesh and Paul agreed that the onboarding brief target is 6-8 pages. This supersedes the old 12-page draft. Keep two customer examples and move the implementation appendix to a separate technical note.",
        "valid_from": "2026-07-06T14:38:00-07:00",
        "evidence_ids": ["evt-003", "evt-012", "evt-013", "evt-020"],
        "supersedes_evidence_ids": ["evt-005", "evt-006", "evt-009"],
        "entities": ["Akhilesh", "Paul", "Onboarding Brief"]
      },
      {
        "memory_id": "mem-onboarding-file-state",
        "status": "write",
        "text": "Onboarding Brief v3 remained 12 pages as of July 7, but 12 pages is stale file state rather than the agreed target.",
        "valid_from": "2026-07-07T10:15:04-07:00",
        "evidence_ids": ["evt-018", "evt-019"],
        "entities": ["Onboarding Brief v3"]
      },
      {
        "memory_id": "mem-launch-spec",
        "status": "write",
        "text": "The separate launch specification uses a 12-page format.",
        "valid_from": "2026-07-11T11:05:04-07:00",
        "evidence_ids": ["evt-023", "evt-024", "evt-025"],
        "entities": ["Launch Specification"]
      },
      {
        "memory_id": "mem-board-summary",
        "status": "write",
        "text": "Akhilesh requested a 3-page executive summary of the Q3 board memo.",
        "valid_from": "2026-07-15T09:30:00-07:00",
        "evidence_ids": ["evt-026", "evt-029"],
        "entities": ["Q3 Board Memo"]
      }
    ],
    "rejected_candidates": [
      {
        "reason": "transient tool navigation",
        "event_ids": ["evt-002", "evt-008", "evt-010", "evt-014", "evt-017", "evt-022", "evt-027", "evt-031"]
      },
      {
        "reason": "acknowledgement without durable information",
        "event_ids": ["evt-034"]
      }
    ]
  },
  "question_runs": [
    {
      "id": "question-01",
      "query": "What was the document length I discussed with Paul two weeks back?",
      "reference_answer": "The onboarding brief target was 6-8 pages.",
      "retrieved_memories": [
        {"rank": 1, "memory_id": "mem-onboarding-target", "score": 0.92},
        {"rank": 2, "memory_id": "mem-onboarding-file-state", "score": 0.71},
        {"rank": 3, "memory_id": "mem-launch-spec", "score": 0.38}
      ],
      "agent_answer": "You and Paul agreed on a 6-8 page target for the onboarding brief, replacing the old 12-page draft.",
      "required_evidence_ids": ["evt-012", "evt-013"],
      "graders": {
        "ingestion": {"score": 1, "passed": true, "reason": "The superseding Paul/onboarding/6-8 page fact was written."},
        "retrieval": {"score": 1, "passed": true, "reason": "The current target ranked above stale and unrelated 12-page memories."},
        "agent": {"score": 1, "passed": true, "reason": "The final answer is correct, scoped to the onboarding brief, and resolves the conflict."}
      }
    },
    {
      "id": "question-02",
      "query": "Was the 12-page length still the plan?",
      "reference_answer": "No. Twelve pages was the old draft and stale file state; the agreed target was 6-8 pages.",
      "retrieved_memories": [
        {"rank": 1, "memory_id": "mem-onboarding-target", "score": 0.89},
        {"rank": 2, "memory_id": "mem-onboarding-file-state", "score": 0.85}
      ],
      "agent_answer": "No. The file was still 12 pages, but that was stale draft state. Your current agreement with Paul was to revise it to 6-8 pages.",
      "required_evidence_ids": ["evt-005", "evt-012", "evt-018", "evt-019"],
      "graders": {
        "ingestion": {"score": 1, "passed": true, "reason": "Both the old state and superseding decision were represented with timestamps."},
        "retrieval": {"score": 1, "passed": true, "reason": "Both sides of the conflict were returned together."},
        "agent": {"score": 1, "passed": true, "reason": "The answer distinguishes file state from intended target."}
      }
    },
    {
      "id": "question-03",
      "query": "Which document was that discussion about?",
      "reference_answer": "The onboarding brief.",
      "retrieved_memories": [
        {"rank": 1, "memory_id": "mem-onboarding-target", "score": 0.88},
        {"rank": 2, "memory_id": "mem-launch-spec", "score": 0.29},
        {"rank": 3, "memory_id": "mem-board-summary", "score": 0.21}
      ],
      "agent_answer": "It was about the onboarding brief.",
      "required_evidence_ids": ["evt-003", "evt-012"],
      "graders": {
        "ingestion": {"score": 1, "passed": true, "reason": "The memory preserved the document entity and Paul relationship."},
        "retrieval": {"score": 1, "passed": true, "reason": "The onboarding memory ranked above document-length distractors."},
        "agent": {"score": 1, "passed": true, "reason": "The answer identifies the correct document without over-answering."}
      }
    }
  ]
}
